The Adventures of the Elusive Malware, I. rész

The Adventures of the Elusive Malware, I. rész

Ezzel a cikkel a megfoghatatlan rosszindulatú programokról szóló publikációk sorozatát kezdjük. A fájl nélküli hackerprogramok, más néven fájl nélküli hackerprogramok, általában a PowerShellt használják Windows rendszereken, hogy csendben parancsokat futtassák az értékes tartalom keresésére és kibontására. A hackerek tevékenységének észlelése rosszindulatú fájlok nélkül nehéz feladat, mert... az antivírusok és sok más észlelő rendszer aláírás-elemzésen alapul. De a jó hír az, hogy létezik ilyen szoftver. Például, UBA rendszerek, amely képes észlelni a rosszindulatú tevékenységeket a fájlrendszerekben.

Amikor először elkezdtem kutatni a rosszindulatú hackerek témakörében, nem használ hagyományos fertőzési módszereket, hanem csak az áldozat számítógépén elérhető eszközök és szoftverek, nem is sejtettem, hogy ez hamarosan népszerű támadási módszerré válik. Biztonsági szakemberek mondhogy ez trenddé válik, és ijesztő cikkcímek - ennek megerősítése. Ezért úgy döntöttem, hogy kiadványsorozatot készítek erről a témáról.

A nagyszerű és erőteljes PowerShell

Néhány ilyen ötletről korábban már írtam PowerShell obfuszkációs sorozat, de inkább elméleti koncepción alapul. Később rábukkantam weboldal a hibrid elemzéshez, ahol a vadonban „elkapott” rosszindulatú programok mintái találhatók. Úgy döntöttem, hogy megpróbálom ezt a webhelyet fájl nélküli rosszindulatú programok mintáinak keresésére használni. És sikerült. Mellesleg, ha saját rosszindulatú programokra vadászó expedícióra szeretne indulni, ennek az oldalnak ellenőriznie kell, hogy tudja, hogy fehérkalap-specialistaként végzi a munkát. Biztonsági bloggerként kérdés nélkül teljesítettem. Biztos vagyok benne, hogy te is tudsz.

A mintákon kívül az oldalon megtekintheti, mit csinálnak ezek a programok. A hibrid elemzés a rosszindulatú programokat saját homokozójában futtatja, és figyeli a rendszerhívásokat, a futó folyamatokat és a hálózati tevékenységet, valamint kivonja a gyanús szöveges karakterláncokat. Bináris és egyéb futtatható fájlok esetén, pl. ahol rá sem lehet nézni a tényleges magas szintű kódra, ott a hibrid elemzés a futásidejű tevékenysége alapján dönti el, hogy a szoftver rosszindulatú-e vagy csak gyanús. És ezt követően a minta már kiértékelésre kerül.

A PowerShell és más minta szkriptek (Visual Basic, JavaScript stb.) esetében magát a kódot láttam. Például találkoztam ezzel a PowerShell-példánnyal:

The Adventures of the Elusive Malware, I. rész

Az észlelés elkerülése érdekében a PowerShellt base64 kódolásban is futtathatja. Vegye figyelembe a nem interaktív és a rejtett paraméterek használatát.

Ha elolvastad az obfuszkációval kapcsolatos bejegyzéseimet, akkor tudod, hogy az -e kapcsoló azt határozza meg, hogy a tartalom base64 kódolású. Ebben egyébként a hibrid elemzés is segít azzal, hogy mindent visszakódol. Ha saját maga szeretné kipróbálni a base64 PowerShell (a továbbiakban: PS) dekódolását, akkor ezt a parancsot kell futtatnia:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Menj mélyebbre

A PS-szkriptünket ezzel a módszerrel dekódoltam, alább látható a program szövege, bár kissé módosítottam:

The Adventures of the Elusive Malware, I. rész

Vegye figyelembe, hogy a szkript a 4. szeptember 2017-i dátumhoz volt kötve, és munkamenet-cookie-kat továbbított.

Ebben a támadási stílusról írtam PS obfuscation sorozat, amelyben maga a base64 kódolású szkript töltődik be hiányzó rosszindulatú program egy másik webhelyről, és a .Net Framework könyvtár WebClient objektumát használja a nehéz feladat elvégzésére.

Mit csinál?

A Windows eseménynaplóit vagy tűzfalait vizsgáló biztonsági szoftverek esetében a base64 kódolás megakadályozza, hogy a "WebClient" karakterláncot egy egyszerű szöveges minta észlelje, hogy megvédje az ilyen webes kéréseket. És mivel a rosszindulatú program összes „gonoszát” letölti és átadja a PowerShellünknek, ez a megközelítés lehetővé teszi számunkra, hogy teljesen elkerüljük az észlelést. Illetve ezt gondoltam először.

Kiderült, hogy ha a Windows PowerShell Advanced Logging engedélyezve van (lásd a cikkemet), akkor látni fogja a betöltött sort az eseménynaplóban. olyan vagyok és mások ) Szerintem a Microsoftnak alapértelmezés szerint engedélyeznie kellene ezt a naplózási szintet. Ezért, ha a kiterjesztett naplózás engedélyezve van, a Windows eseménynaplójában egy PS-szkriptből teljesített letöltési kérést fogunk látni a fent tárgyalt példa szerint. Ezért van értelme aktiválni, nem értesz egyet?

Adjunk hozzá további forgatókönyveket

A hackerek ügyesen elrejtik a PowerShell-támadásokat a Visual Basic és más szkriptnyelveken írt Microsoft Office makrókban. Az ötlet az, hogy az áldozat üzenetet kapjon, például egy kézbesítőtől, mellékelt jelentéssel .doc formátumban. Megnyitja ezt a makrót tartalmazó dokumentumot, és maga a rosszindulatú PowerShell elindítja.

Gyakran magát a Visual Basic szkriptet is elhomályosítják, így szabadon kikerüli a víruskeresőket és más rosszindulatú programokat. A fentiek szellemében úgy döntöttem, hogy gyakorlatként a fenti PowerShell-t JavaScriptben kódolom. Az alábbiakban bemutatom munkám eredményeit:

The Adventures of the Elusive Malware, I. rész

Az elhomályosított JavaScript elrejti a PowerShellünket. Az igazi hackerek ezt egyszer-kétszer megteszik.

Ez egy másik technika, amit láttam lebegni az interneten: a Wscript.Shell használata a kódolt PowerShell futtatására. Egyébként maga a JavaScript az eszközök rosszindulatú programok szállítása. A Windows számos verziója beépített Windows Script Host, amely maga is futtathatja a JS-t.
Esetünkben a rosszindulatú JS-szkript .doc.js kiterjesztésű fájlként van beágyazva. A Windows rendszerint csak az első utótagot jeleníti meg, tehát Word-dokumentumként jelenik meg az áldozat számára.

The Adventures of the Elusive Malware, I. rész

A JS ikon csak a görgetőikonban jelenik meg. Nem meglepő, hogy sokan úgy nyitják meg ezt a mellékletet, hogy azt gondolják, hogy ez egy Word-dokumentum.

Példámban módosítottam a fenti PowerShellt, hogy letöltsem a szkriptet a webhelyemről. A távoli PS-szkript csak kiírja az "Evil Malware"-t. Amint látja, egyáltalán nem gonosz. Természetesen az igazi hackerek abban érdekeltek, hogy hozzáférjenek egy laptophoz vagy szerverhez, mondjuk egy parancshéjon keresztül. A következő cikkben megmutatom, hogyan kell ezt megtenni a PowerShell Empire segítségével.

Remélem, hogy az első bevezető cikknél nem merültünk el túl mélyen a témában. Most hagyom, hogy vegyen egy lélegzetet, és legközelebb a fájl nélküli rosszindulatú programokat használó támadások valódi példáival fogunk foglalkozni, felesleges bevezető szavak és előkészületek nélkül.

Forrás: will.com

Hozzászólás