Vraag Zijn gecomprimeerde EXE-bestanden onschadelijk voor Linux-servers?


Ik had een malwarescanner op mijn site en het markeerde een aantal gecomprimeerde EXE-bestanden als potentiële risicobestanden (deze bestanden werden door gebruikers geüpload). Omdat ik de bestanden op mijn Mac kan decomprimeren, ga ik ervan uit dat dit echte ZIP-bestanden zijn en niet alleen maar iets als hernoemde PHP-bestanden.

Dus het ZIP-bestand zou geen enkel risico mogen vormen voor mijn webserver, toch?


49
2017-12-22 08:49


oorsprong


Klinkt als een malafide malwarescanner. - Nick T
U weet dat u kunt testen of ze in ZIP-formaat zijn met file foo.zip, of test zelfs of ze geldig zijn 7z t foo.zip om het te testen (dat wil zeggen, decomprimeer en verifieer de CRC-controlesommen, zonder uit te pakken naar lokale bestanden op schijf). (7z gebruikt een syntaxis die enigszins lijkt op tar.) Or unzip -l foo.zip om de inhoud te vermelden. Hoe dan ook, ik vond het gewoon raar dat je praat over het controleren van de bestanden op een andere computer als je ze gemakkelijk op de server had kunnen controleren. - Peter Cordes
Wat voor een website hink je? Het klinkt niet als een goed idee om door de gebruiker ingezonden inhoud en uw naar voren gerichte webserver op dezelfde doos te plaatsen. - oldmud0
@NickT Zelfuitpakkende ZIP-bestanden kunnen extra schadelijke code bevatten die is gekoppeld aan het uitvoerbare gedeelte. - chrylis


antwoorden:


Als het inderdaad ingesloten Windows exe-bestanden zijn, zouden ze onschadelijk moeten zijn voor je Linux-systeem, tenzij je iets als Wine op zijn plaats hebt dat zou kunnen proberen ze uit te voeren.

Maar als ze zich op uw webpad bevinden, kunnen ze malware zijn en vormen ze een groot risico voor de bezoekers van uw websites (en u beurtelings, als u wordt gemarkeerd als bron van malware en gebruikers lelijke waarschuwingen krijgen wanneer zij uw site proberen te bezoeken).


85
2017-12-22 08:55



Ik vraag me af of het hosten van dergelijke 'gebruiker'-geüploade garbage ertoe kan leiden dat Google uw site brandmerkt als' Deze site is mogelijk gehackt 'of dat Chrome een gigantische rode waarschuwingspagina laat zien. "Onschadelijk" is dan misschien een verkeerde naam. - Nick T
@NickT: Dat kan zeker, en dat is waar ik het in mijn tweede alinea over had. - Sven♦
In theorie kan iemand ook misvormd zijn .zip bestanden die proberen om fouten te richten in specifieke implementaties unzip. - jamesdlin
Mono is waarschijnlijker op een server geïnstalleerd dan Wine en kan CLR .exe-bestanden uitvoeren. - Rhymoid


Aangezien ik de bestanden op mijn mac kan decomprimeren, neem ik aan dat dit echte zip-bestanden zijn en niet zo maar iets als hernoemde php-bestanden.

Terwijl je bent waarschijnlijk in dit geval is uw aanname misschien niet altijd van toepassing. Een ZIP-archief blijft geldig, zelfs als u er willekeurige gegevens aan toevoegt, dus het is heel goed mogelijk om een ​​bestand te maken dat tegelijkertijd een geldig ZIP-archief is met onschuldige gegevens en ook een kwaadaardig PHP-script. Het is zelfs niet bijzonder moeilijk; gewoon de PHP-code en het ZIP-bestand samenvoegen en zorg ervoor (bijvoorbeeld met __halt_compiler()) dat PHP niet probeert de bijgevoegde ZIP-archiefgegevens te ontleden.

Deze truc wordt op legitieme wijze gebruikt om zelfuitpakkende ZIP-bestanden te maken, maar het is perfect mogelijk om andere verborgen gegevens of uitvoerbare code op dezelfde manier in een ZIP-bestand op te nemen. Sommige programma's weigeren dergelijke aangepaste ZIP-bestanden te openen (maar in dat geval schenden ze technisch gezien de specificatie van het ZIP-formaat), of ze kunnen het bestand standaard identificeren als iets anders dan een ZIP-bestand, maar in het algemeen, als je zo'n bestand in code die een ZIP-bestand verwacht, wordt het waarschijnlijk als één geaccepteerd.

Een meer algemeen kwaadaardig gebruik van dergelijke trucs is om exploitcode in een ZIP-gebaseerde container (bijvoorbeeld een JAR-bestand) te verbergen als iets onschuldigs (zoals een GIF-afbeelding, zoals in de Gifar exploit), maar er is geen reden waarom het ook niet in de andere richting zou kunnen worden gebruikt, bijvoorbeeld een naïef bestand-uploadfilter omzeilen dat het uploaden van PHP-scripts verbiedt, maar ZIP-bestanden toestaat, zonder te controleren of het geüploade bestand allebei tegelijkertijd is.


62
2017-12-22 15:00



+1 voor GIFAR, interessant om te weten over een specifiek voorbeeld van deze exploit in de praktijk. - caesay


Er zijn ten minste twee opvallende overwegingen waarmee u rekening moet houden:

  1. Als deze bestanden op uw website worden gedistribueerd, bent u mogelijk verantwoordelijk als iemand malware van uw site ontvangt. Uw site kan op zijn minst worden gemarkeerd als malware. Als u besluit malware-malwarewaarschuwingen te negeren, moet u de uploader en mogelijke downloaders op zijn minst laten weten dat het bestand schadelijk kan zijn (EXE's die soms van internet worden gedownload, zijn dit soms).
  2. Doet u een andere verwerking op deze bestanden dan de malware-scan? Automatische verwerking van bijlagen of andere dergelijke uploads is altijd potentieel gevaarlijk, omdat de inhoud van het bestand van alles kan zijn. U hoeft niet eens het EXE-bestand uit te voeren als uw hulpprogramma kwetsbaar is voor misbruik en de ogenschijnlijk mooie zip / exe schadelijke inhoud bevat die op uw hulpprogramma is gericht. Ik zou mijn server niets laten verwerken dat malware-scannen onmogelijk maakt.

Dus, afhankelijk van wat uw server doet, kan het bestand mogelijk schadelijk zijn voor uw server of andere gebruikers. Omdat ik nogal op mijn hoede ben voor EXE's die van internet zijn gedownload, zou ik zeggen dat mogelijke downloaders de meest potentiële gebruikers zijn die hier gevaar lopen.


11
2017-12-23 09:31





Omdat ik de bestanden op mijn Mac kan decomprimeren, ga ik ervan uit dat dit echte ZIP-bestanden zijn en niet alleen maar iets als hernoemde PHP-bestanden.

Er zijn aanvallen geweest die gegevens insluiten en nog steeds bestanden presenteren als geldig. In een onjuist geconfigureerde server of in een verkeerd gecodeerde app kunnen deze code ertoe leiden dat de code op uw server wordt uitgevoerd.

Dus, wees daar ook voorzichtig mee.


2
2017-12-24 03:03





U kunt controleren of de bestanden op uw Linux-server kunnen worden uitgevoerd door ze gewoon te checken file FILENAME.exe commando. Elf-binaries (het uitvoerbare formaat dat op Linux wordt gebruikt) kunnen een naam krijgen .exe uitbreiding om een ​​nietsvermoedende Linux-beheerder te verwarren, dus het is waarschijnlijk een goed idee om die controle te maken voordat je blindelings vertrouwt dat deze bestanden niet uitvoerbaar zijn.


2
2017-12-25 00:17





Het verbaast me dat niemand heeft gezegd dat gegevens schadelijk kunnen zijn (of gemaakt kunnen worden) voor een (buggy) programma. Dat is de basis van fuzzying. U zou bijvoorbeeld een JPEG- (of JPEG-achtig) bestand kunnen hebben dat een buffer overflow veroorzaakt op (specifieke?) JPEG-decoders, wat alles veroorzaakt, van een denial of service tot het uitvoeren van willekeurige code. Dit gaat over het ondermijnen van een bestaand gegevensverwerkingsprogramma; geen noodzaak om een ​​nieuw uitvoerbaar bestand binnen te halen! En dit is de reden waarom sandboxing, input-sanering en least-privilege-principes nodig zijn.

Dus in uw geval zou u een ZIP-bestand kunnen hebben dat problemen veroorzaakt met (specifiek?) ZIP-decodeermotoren. Het is niet nodig dat het ZIP-bestand een native uitvoerbaar bestand bevat om schadelijk te zijn.

Dat gezegd hebbende, werkt uw scanner op een ander, grover niveau. Als het soort risico waar ik het over had in die bestanden bestond, werd je al geraakt op het moment dat je ze verwerkte :).


2
2017-12-25 22:44





Een extra controle die u idealiter zou moeten uitvoeren is de php finfo-methode om te controleren of de bestanden die door de gebruikers worden geüpload feitelijk zijn wat je hebt toegestaan, en niet iets dat de gebruikers de bestanden hebben hernoemd om het systeem voor de gek te houden.


0
2017-12-26 04:57





Unzipped .exe is ook onschadelijk voor Linux-servers.


-6
2017-12-22 16:09



Niet noodzakelijk zo - .exe is niets meer dan een deel van de bestandsnaam en dit kan ook worden gekozen als de naam voor een ELF-binair bestand. - Sven♦
WIJN kan ook zijn geïnstalleerd. Toegegeven, de meeste Windows-gerichte malware werkt waarschijnlijk niet direct onder WINE, maar het risico is aanwezig. In het beste geval zijn uitgepakte .exes op Linux meestal onschadelijk. - Ray
@Ray Afhankelijk van de configuratie. Als om wat voor reden dan ook Mono of Wine is geïnstalleerd, dan binfmt_misc kan zo worden geconfigureerd dat .exe eigenlijk uitvoerbaar is. - Rhymoid