LoadLibrary, projekt za učitavanje DLL-ova u Linux kao da su izvorni kod

Load-knjižnica

JT Ormandy, Googleov istraživač sigurnosti, dao do znanja prije nekoliko dana razvoj projekta Učitaj knjižnicu, koji je namijenjen učitavanju Windows DLL knjižnica za upotrebu u Linux aplikacijama. Projekt nudi biblioteku s više slojeva pomoću koje možete učitati DLL u PE / COFF formatu i pozvati funkcije definirane u njemu.

Učitaj knjižnicu preuzima funkciju učitavanja knjižnice u memoriju i uvoza postojećih znakova, pružanje aplikaciji Linux API-ja u stilu dlopen. Kôd se može ispraviti pomoću gdb, ASAN i Valgrind. Izvršni kod možete podesiti tijekom izvođenja povezivanjem kuka i primjenom zakrpa (runtime zakrpa). Neželjene iznimke dopuštene su za C ++.

Projekt LoadLibrary nije namijenjen zamjeni tekućih projekata koji rade sličan posao, poput vina. LoadLibrary ima za cilj omogućiti učitavanje i pristup Windows knjižnicama DLL jer će to biti izvorni Linux kôd, ne pokušavajući pokrenuti Windows na Linuxu i drugim sličnim programima, već jednostavno učitavajući knjižnice.

Cilj projekta je organizirati skalabilne distribuirane fuzzing testove i učinkovite DLL datoteke u Linux okruženju.

U sustavu Windows testiranje fuzzinga i pokrivenosti ne dopušta odgovarajuće performanse i često zahtijeva pokretanje zasebne virtualizirane instance Windowsa, posebno kada je riječ o analizi sofisticiranih proizvoda, poput antivirusnog softvera, koji pokrivaju rad jezgre i korisničkog prostora.

Namjera je nastavka razvoja ovog projekta omogućiti skalabilno i učinkovito širenje samostalnih Windows knjižnica na Linuxu.

  • Otprema i odmotavanje iznimke za C ++.
  • Učitavanje dodatnih IDA simbola.
  • Otklanjanje pogrešaka s gdb-om (uključujući simbole), točkama prekida, tragovima stoga itd.
  • Vrijeme izvođenja zakačeno i zakrpljeno.
  • Podrška za ASAN i Valgrind za otkrivanje suptilnih pogrešaka u oštećenju memorije.
  • Ako trebate dodati podršku za bilo koji vanjski uvoz, pisanje kalupa obično je brzo i jednostavno.

Uz pomoć LoadLibrary, Googleovi istraživači traže ranjivosti u video kodecima, antivirusni skeneri, knjižnice za dekompresiju podataka, dekoderi slika itd.

„Distribuirano i skalabilno strujanje u prozorima može biti izazovno i neučinkovito, to se posebno odnosi na sigurnosne proizvode krajnjih točaka, koji koriste složene međusobno povezane komponente koje obuhvaćaju jezgru i korisnički prostor.

To obično zahtijeva rotiranje cijelog virtualiziranog Windows okruženja za emitiranje. ovo je manji problem na linuxu i otkrio sam da je često moguće prenijeti komponente s protuvirusnih proizvoda sustava Windows na linux, što mi omogućuje pokretanje koda koji testiram u minimalnim spremnicima s vrlo malo dodatnih troškova i lako proširivanje testova.

Npr. pomoću LoadLibrary bilo je moguće prenijeti antivirusni program Windows Defender za pokretanje na Linuxu. Studija mpengine.dll, koja čini osnovu Windows Defendera, omogućila nam je analizu velikog broja kompliciranih pokretačkih programa različitih formata, FS emulatora i interpretatora jezika koji potencijalno pružaju vektore za moguće napade.

Učitaj knjižnicu korišten je i za identificiranje udaljene ranjivosti u antivirusnom paketu Avast.

Proučavajući DLL ovog antivirusa, otkriveno je da ključni privilegirani postupak skeniranja uključuje cjeloviti JavaScript interpreter koji se koristi za oponašanje izvršavanja JavaScript koda treće strane.

Ovaj postupak nije izoliran u okruženju pješčanika, ne resetira privilegije i analizira neprovjerene vanjske FS podatke i presretnuti mrežni promet.

Budući da bi bilo koja ranjivost u ovom kompliciranom i nesigurnom procesu mogla dovesti do daljnjeg ugrožavanja cijelog sustava, na osnovi LoadLibrary razvijena je posebna ljuska avscript za skeniranje ranjivosti u antivirusnom skeneru Avast u okruženju zasnovanom na Linuxu.

Utovarivač PE / COFF temelji se na kodu ndiswrapper. Kôd projekta distribuira se pod licencom GPLv2. Kod se može pregledati U sljedećem linku. 


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Zip linije dijo

    Svima je sranje dll rečeno, ne zaboravite toaletni papir