Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Dit artikel maakt deel uit van de serie Fileless Malware. Alle andere delen van de serie:

Ik ben een fan van de site hybride analyse (hybride analyse, hierna HA). Dit is een soort malware-dierentuin waar je wilde "roofdieren" veilig vanaf een veilige afstand kunt observeren zonder aangevallen te worden. HA voert malware uit in beveiligde omgevingen, registreert systeemoproepen, gegenereerde bestanden en internetverkeer en levert u al deze resultaten voor elk monster dat het analyseert. U kunt dus uw tijd en moeite niet verspillen aan het zelf oplossen van de versluierde code, maar u begrijpt meteen alle bedoelingen van hackers.

De HA-voorbeelden die mijn aandacht trokken, gebruiken ofwel gecodeerde JavaScript- of Visual Basic for Applications-scripts (VBA) die als macro's zijn ingesloten in Word- of Excel-documenten en zijn toegevoegd aan phishing-e-mails. Wanneer ze worden geopend, starten deze macro's een PowerShell-sessie op de computer van het slachtoffer. Hackers sturen doorgaans een Base64-gecodeerde opdrachtstroom naar PowerShell. Dit wordt allemaal gedaan om de aanval moeilijk te detecteren door webfilters en antivirussoftware die op bepaalde trefwoorden reageren.
Gelukkig decodeert HA automatisch Base64 en toont meteen alles in leesbare vorm. In wezen hoeft u zich niet te concentreren op hoe deze scripts werken, omdat u de volledige uitvoer van de opdrachten voor lopende processen kunt zien in de overeenkomstige HA-sectie. Zie voorbeeld hieronder:

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Hybride parsing onderschept Base64-gecodeerde opdrachten die naar PowerShell worden verzonden:

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

... en decodeert ze vervolgens voor u. #magisch

Π’ vorige post Ik heb mijn eigen enigszins versluierde JavaScript-container gemaakt om een ​​PowerShell-sessie uit te voeren. Mijn script downloadt vervolgens, net als veel op PowerShell gebaseerde malware, het volgende PowerShell-script van een externe website. Vervolgens downloadde ik als voorbeeld een onschuldige PS die een bericht op het scherm drukte. Maar de tijden veranderen, en nu stel ik voor om het scenario ingewikkelder te maken.

PowerShell Empire en Reverse Shell

Een van de doelen van deze oefening is om te laten zien hoe (relatief) gemakkelijk het voor een hacker is om klassieke perimeterverdedigingen en antivirussen te omzeilen. Als een IT-blogger zonder programmeerkennis, zoals ik, in een paar avonden kan ondetecteerbare malware creΓ«ren (volledig onopgemerkt, FUD), stel je de mogelijkheden voor van een geΓ―nteresseerde jonge hacker!

En als u een IT-beveiligingspersoon bent, maar uw manager de mogelijke implicaties van deze bedreigingen niet begrijpt, laat hem dan dit artikel zien.

Hackers dromen ervan om rechtstreeks toegang te krijgen tot de laptop of server van een slachtoffer. Dat is heel eenvoudig: een hacker hoeft alleen maar een paar vertrouwelijke bestanden op de laptop van de CEO te bemachtigen.

Op de een of andere manier heb ik het al ik schreef over de PowerShell Empire-runtime na de productie. Laten we onthouden wat het is.

Het is in wezen een op PowerShell gebaseerde tool voor penetratietesten die het, naast vele andere functies, gemakkelijk maakt om een ​​omgekeerde shell uit te voeren. Je kunt het in meer detail bekijken op PSE-thuissite.

Laten we een klein experiment doen. Ik heb een beveiligde omgeving opgezet voor het testen van malware in de Amazon Web Services-cloud. U kunt mijn voorbeeld volgen om snel en veilig een werkend voorbeeld van deze kwetsbaarheid te laten zien (en niet te worden ontslagen vanwege het uitvoeren van virussen binnen de bedrijfsperimeter).

Als u de PowerShell Empire-console uitvoert, ziet u zoiets als dit:

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Eerst start u het luisterproces op uw hackermachine. Voer de opdracht "listener" in en specificeer het IP-adres van uw systeem met behulp van "set Host". Start vervolgens het luisteraarproces met de opdracht "uitvoeren" (hieronder). Dus aan jouw kant begin je te wachten op een netwerkverbinding vanaf een externe shell:

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Voor de andere kant moet u een agentcode genereren door de opdracht "launcher" in te voeren (zie hieronder). Hiermee wordt de PowerShell-code voor de externe agent gegenereerd. Merk op dat het Base64-gecodeerd is en de tweede fase van de payload vertegenwoordigt. Met andere woorden, mijn JavaScript-code zal deze agent nu ophalen om PowerShell uit te voeren in plaats van onschadelijk tekst op het scherm weer te geven en verbinding te maken met onze externe PSE-server om de omgekeerde shell uit te voeren.

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts
Omgekeerde shell-magie. Deze gecodeerde PowerShell-opdracht maakt verbinding met mijn luisteraar en start een externe shell.

Om je dit experiment te laten zien, nam ik de rol van een onschuldig slachtoffer op me en opende ik Evil.doc, waarmee we ons JavaScript uitvoerden. Herinner je je het eerste deel nog? PowerShell is zo geconfigureerd dat het niet verschijnt, zodat het slachtoffer niets ongewoons opmerkt. Als u echter Windows Taakbeheer opent, ziet u een PowerShell-proces op de achtergrond, dat voor de meesten nog steeds geen alarm zal veroorzaken. Omdat het gewone PowerShell is, toch?

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Wanneer u nu Evil.doc uitvoert, maakt een verborgen achtergrondproces verbinding met de server waarop PowerShell Empire draait. Ik zette de witte hoed van een pentester-hacker op, keerde terug naar de PowerShell Empire-console en nu zie ik een bericht dat mijn externe agent actief is.

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Daarna typte ik het commando "interact" om een ​​shell in PSE te openen - en hier ben ik! Kortom, ik heb de Taco-server gehackt die ik enige tijd geleden zelf heb opgezet.

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts

Wat ik zojuist heb aangetoond, vereist niet zoveel werk van u. Dit alles doe je gemakkelijk in een lunchpauze van een tot twee uur om je kennis over informatiebeveiliging te vergroten. Het is ook een geweldige manier om te begrijpen hoe hackers externe beveiligingsperimeterverdedigingen omzeilen en uw systemen binnensluipen.

IT-managers die denken dat ze een onbreekbare verdediging tegen elke vorm van inbraak hebben opgebouwd, zullen het waarschijnlijk ook leerzaam vinden - als je ze kunt overtuigen om lang genoeg naast je te blijven zitten natuurlijk.

Terug naar de realiteit

Zoals ik had verwacht, is de echte hack, onzichtbaar voor de gemiddelde gebruiker, slechts een variatie op wat ik zojuist heb beschreven. Om materiaal te verzamelen voor de volgende publicatie, ging ik op zoek naar een voorbeeld over HA, dat op dezelfde manier werkt als mijn verzonnen voorbeeld. En ik hoefde er niet lang naar te zoeken - er zijn veel opties voor een dergelijke aanvalstechniek op de site.

De malware die ik uiteindelijk op HA vond, is een VBA-script dat was ingesloten in een Word-document. Dat wil zeggen, ik hoef de doc-extensie niet eens te vervalsen, deze malware is echt het meest gewoon ogende Microsoft Word-document. Voor het geval je het je afvraagt, ik koos dit patroon genaamd rfq.doc.

Ik leerde al snel dat je kwaadaardige VBA-scripts vaak niet rechtstreeks uit een document kunt halen. Hackers comprimeren en verbergen ze, en ze zijn niet zichtbaar in de ingebouwde macrotools van Word. Je hebt een speciaal gereedschap nodig om het uit te pakken. Gelukkig kwam ik een scanner tegen KantoorMalScanner Frank Boudewijn. Dank je Frank.

Met behulp van deze tool kon ik een zwaar versluierde VBA-code eruit halen. Het zag er ongeveer zo uit:

Ongrijpbare malware-avonturen Deel II: verborgen VBA-scripts
Obfuscatie werd gedaan door professionals in hun vakgebied. Ik was onder de indruk!

De aanvallers zijn erg goed in het verdoezelen van code, niet zoals mijn inspanningen bij het maken van Evil.doc. OkΓ©, in het volgende deel zullen we onze VBA-foutopsporingsprogramma's gebruiken, wat dieper in deze code graven en onze analyse vergelijken met de HA-resultaten.

Bron: www.habr.com

Voeg een reactie