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,
Amikor először elkezdtem kutatni a rosszindulatú hackerek témakörében,
A nagyszerű és erőteljes PowerShell
Néhány ilyen ötletről korábban már írtam
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:
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:
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
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
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:
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
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.
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