LoadLibrary, et projekt til at indlæse DLL'er i Linux, som om de var native kode

Load-bibliotek

JT Ormandy, en Google-sikkerhedsforsker, gjort det kendt for et par dage siden udviklingen af ​​projektet Indlæs bibliotek, som er beregnet til at indlæse Windows DLL-biblioteker til brug i Linux-applikationer. Projektet giver et tværlagsbibliotek, som du kan indlæse en DLL i PE / COFF-format og kalde de funktioner, der er defineret i det.

Indlæs bibliotek overtager funktionen til at indlæse biblioteket i hukommelsen og importere eksisterende tegn, at give Linux-applikationen en API i dlopen-stil. Koden kan debugges ved hjælp af gdb, ASAN og Valgrind. Du kan indstille eksekverbar kode ved runtime ved at vedhæfte kroge og anvende patches (runtime patches). Uønskede undtagelser er tilladt for C ++.

LoadLibrary-projektet ikke beregnet til at erstatte aktuelle projekter der udfører lignende arbejde, såsom vin. LoadLibrary sigter mod at tillade Windows DLL-biblioteker at blive indlæst og få adgang til, da de vil være native Linux-kode og ikke forsøge at køre Windows på Linux og andre lignende programmer, men blot indlæse bibliotekerne.

Formålet med projektet er at organisere skalerbare distribuerede fuzzing-tests og effektive DLL-filer i et Linux-baseret miljø.

På Windows tillader fuzzing og dækningstest ikke tilstrækkelig ydeevne og kræver ofte lancering af en separat virtualiseret forekomst af Windows, især når det kommer til analyse af sofistikerede produkter, såsom antivirussoftware, der dækker arbejde i kernen og brugerområdet.

Hensigten med at fortsætte udviklingen af ​​dette projekt er at muliggøre skalerbar og effektiv formidling af enkeltstående Windows-biblioteker på Linux.

  • C ++ undtagelse forsendelse og afvikling.
  • Indlæser yderligere IDA-symboler.
  • Fejlfinding med gdb (inklusive symboler), breakpoints, stack-spor osv.
  • Runtime hooked og patched.
  • Støtte til ASAN og Valgrind til at opdage subtile hukommelseskorruptionsfejl.
  • Hvis du har brug for at tilføje support til ekstern import, er skrivestubber normalt hurtige og nemme.

Ved hjælp af LoadLibrary, Google-forskere leder efter sårbarheder i videokodecs, antivirusscannere, datadekomprimeringsbiblioteker, billedkodere osv.

”Distribueret og skalerbar streaming i windows kan være udfordrende og ineffektiv. Dette gælder især for slutpunktssikkerhedsprodukter, der bruger komplekse sammenkoblede komponenter, der spænder over kernen og brugerområdet.

Dette kræver generelt at rotere et helt virtualiseret Windows-miljø til udsendelse. dette er mindre et problem på linux, og jeg har fundet ud af, at det ofte er muligt at portere komponenter fra Windows antivirusprodukter til linux, så jeg kan køre den kode, jeg tester, i minimale containere med meget lidt overhead og nemt udvide testene .

Fx ved hjælp af LoadLibrary var det muligt at porte Windows Defender antivirus at køre på Linux. Undersøgelsen af ​​mpengine.dll, som danner grundlaget for Windows Defender, tillod os at analysere et stort antal komplicerede drivere i forskellige formater, FS-emulatorer og sprogfortolkere, der potentielt giver vektorer til mulige angreb.

Indlæs bibliotek det blev også brugt til at identificere en ekstern sårbarhed i Avast-antiviruspakken.

Ved at studere DLL for dette antivirus, blev det afsløret, at den nøgleprivilegerede scanningsproces inkluderer en fuld JavaScript-tolk, der bruges til at efterligne udførelsen af ​​tredjeparts JavaScript-kode.

Denne proces er ikke isoleret i sandkassemiljøet, nulstiller ikke privilegier og analyserer ubekræftede eksterne FS-data og opfanget netværkstrafik.

Da enhver sårbarhed i denne komplicerede og usikre proces kan føre til fjernkompromittering af hele systemet, blev en speciel avscript-shell udviklet på baggrund af LoadLibrary til at scanne sårbarheder i Avast-antivirus-scanneren i et Linux-baseret miljø.

PE / COFF-læsseren er baseret på ndiswrapper-koden. Projektkoden distribueres under GPLv2-licensen. Koden kan høres I det følgende link. 


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Lynlåse sagde han

    Alle til at lort dlls er blevet sagt, glem ikke toiletpapiret