Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Artikel iki ditulis adhedhasar pentest sing sukses banget sing ditindakake dening spesialis Group-IB sawetara taun kepungkur: crita kedadeyan sing bisa diadaptasi kanggo film ing Bollywood. Saiki, mesthine, reaksi sing maca bakal ngetutake: "Oh, artikel PR liyane, maneh iki digambarake, apik banget, aja lali tuku pentest." Inggih, ing tangan siji, iku. Nanging, ana sawetara alasan liyane ngapa artikel iki muncul. Aku pengin nuduhake apa sing ditindakake para pentesters, kepiye karya sing menarik lan ora pati penting, kahanan sing lucu bisa kedadeyan ing proyek, lan sing paling penting, nuduhake materi langsung kanthi conto nyata.

Kanggo mulihake keseimbangane kesederhanaan ing donya, sawise sawetara wektu kita bakal nulis babagan pentest sing ora apik. Kita bakal nuduhake carane proses sing dirancang kanthi apik ing perusahaan bisa nglindhungi saka macem-macem serangan, malah sing disiapake kanthi apik, mung amarga proses kasebut ana lan bener.

Kanggo pelanggan ing artikel iki, kabeh uga umume apik banget, paling ora luwih saka 95% pasar ing Federasi Rusia, miturut perasaan kita, nanging ana sawetara nuansa cilik sing mbentuk rantai acara sing dawa, sing pisanan. mimpin kanggo laporan dawa ing karya , lan banjur kanggo artikel iki.

Dadi, ayo tuku popcorn, lan sugeng rawuh ing crita detektif. Tembung- Pavel Suprunyuk, manajer teknis departemen "Audit lan Konsultasi" Group-IB.

Part 1. dhokter Pochkin

2018 Ana pelanggan - perusahaan IT teknologi dhuwur, sing nglayani akeh klien. Kepengin njaluk jawaban kanggo pitakonan: apa bisa, tanpa kawruh lan akses dhisikan, digunakake liwat Internet, kanggo njupuk hak administrator domain Active Directory? Aku ora kasengsem ing teknik sosial (oh, nanging muspra), dheweke ora arep ngganggu karya kanthi sengaja, nanging bisa uga ora sengaja - ngisi maneh server sing aneh, umpamane. Sasaran tambahan kanggo ngenali minangka akeh vektor serangan liyane sabisa marang keliling njaba. Perusahaan kasebut kanthi rutin nganakake tes kasebut, lan saiki tenggat wektu kanggo tes anyar wis teka. Kondisi kasebut meh khas, cukup, bisa dingerteni. Ayo dadi miwiti.

Ana jeneng pelanggan - supaya dadi "Perusahaan", karo situs web utama www.perusahaan.ru. Mesthine, pelanggan diarani beda, nanging ing artikel iki kabeh bakal dadi impersonal.
Aku nganakake pengintaian jaringan - temokake alamat lan domain sing didaftar karo pelanggan, tarik diagram jaringan, carane layanan disebarake menyang alamat kasebut. Aku entuk asil: luwih saka 4000 alamat IP langsung. Aku ndeleng domain ing jaringan kasebut: untunge, mayoritas jaringan sing dimaksudake kanggo klien pelanggan, lan kita ora kasengsem sacara resmi. Pelanggan mikir sing padha.

Ana siji jaringan kanthi 256 alamat, sing saiki wis ana pangerten babagan distribusi domain lan subdomain kanthi alamat IP, ana informasi babagan port sing dipindai, sing tegese sampeyan bisa ndeleng layanan sing menarik. Secara paralel, kabeh jinis scanner diluncurake ing alamat IP sing kasedhiya lan kanthi kapisah ing situs web.

Ana akeh layanan. Biasane iki bungah kanggo pentester lan nunggu kamenangan cepet, wiwit layanan liyane ana, sing luwih gedhe lapangan kanggo serangan lan luwih gampang kanggo nemokake artefak. Deleng cepet ing situs web kasebut nuduhake manawa umume minangka antarmuka web produk kondhang saka perusahaan global gedhe, sing kabeh katon ora ditampa. Dheweke njaluk jeneng pangguna lan sandhi, goyangake lapangan kanggo ngetik faktor kapindho, njaluk sertifikat klien TLS, utawa ngirim menyang Microsoft ADFS. Sawetara mung ora bisa diakses saka Internet. Kanggo sawetara, sampeyan kudu duwe klien mbayar khusus kanggo telung gaji utawa ngerti URL sing pas kanggo mlebu. Ayo nglewati minggu liyane kanthi rasa nesu bertahap ing proses nyoba "nerobos" versi piranti lunak kanggo kerentanan sing dikenal, nggoleki konten sing didhelikake ing jalur web lan akun bocor saka layanan pihak katelu kaya LinkedIn, nyoba ngira sandhi sing digunakake, uga minangka penggalian kerentanan ing situs web sing ditulis dhewe - kanthi cara, miturut statistik, iki minangka vektor serangan eksternal sing paling njanjeni saiki. Aku bakal langsung nyathet bedhil film sing banjur ditembakake.

Dadi, kita nemokake rong situs sing metu saka atusan layanan. Situs-situs kasebut nduweni siji bab sing padha: yen sampeyan ora melu pengintaian jaringan kanthi teliti miturut domain, nanging goleki port sing mbukak utawa target pemindai kerentanan nggunakake sawetara IP sing dikenal, mula situs kasebut bakal lolos saka pemindaian lan mung ora katon tanpa ngerti jeneng DNS. Mungkin dheweke ora kejawab sadurunge, paling ora, lan alat otomatis kita ora nemokake masalah karo dheweke, sanajan dikirim langsung menyang sumber kasebut.

Miturut cara, babagan apa sing sadurunge dibukak scanner ditemokaké ing umum. Ayo kula ngelingake sampeyan: kanggo sawetara wong, "pentest" padha karo "scan otomatis". Nanging scanner ing project iki ngandika apa-apa. Inggih, maksimum dituduhake dening kerentanan Sedheng (3 saka 5 ing syarat-syarat keruwetan): ing sawetara layanan sertifikat TLS ala utawa algoritma enkripsi outdated, lan ing paling situs Clickjacking. Nanging iki ora bakal nggawa sampeyan menyang tujuan sampeyan. Mungkin scanner bakal luwih migunani ing kene, nanging supaya aku ngelingake sampeyan: pelanggan dhewe bisa tuku program kasebut lan nyoba dhewe karo dheweke, lan, miturut asil sing ora apik, dheweke wis mriksa.

Ayo bali menyang situs "anomali". Kapisan kaya Wiki lokal ing alamat non-standar, nanging ing artikel iki supaya wiki.company[.]ru. Dheweke uga langsung njaluk login lan sandhi, nanging liwat NTLM ing browser. Kanggo pangguna, iki katon kaya jendhela pertapa sing njaluk ngetik jeneng pangguna lan sandhi. Lan iki laku ala.

Cathetan cilik. NTLM ing situs web perimeter ala amarga sawetara alasan. Alesan pisanan yaiku jeneng domain Active Directory dicethakaké. Ing conto kita, uga dadi company.ru, kaya jeneng DNS "eksternal". Ngerti iki, sampeyan bisa kanthi ati-ati nyiyapake soko angkoro supaya dieksekusi mung ing mesin domain organisasi, lan ora ing sawetara kothak wedhi. Kapindho, otentikasi langsung liwat pengontrol domain liwat NTLM (kaget, bener?), Kanthi kabeh fitur saka kabijakan jaringan "internal", kalebu mblokir akun supaya ora ngluwihi jumlah upaya entri tembung sandhi. Yen panyerang nemokake login, dheweke bakal nyoba sandhi kanggo dheweke. Yen sampeyan dikonfigurasi kanggo mblokir akun supaya ora ngetik sandhi sing salah, bakal bisa digunakake lan akun kasebut bakal diblokir. Katelu, ora bisa nambah faktor liya kanggo otentikasi kasebut. Yen ana sing maca isih ngerti carane, mugi kula ngerti, iku pancene menarik. Papat, kerentanan kanggo serangan pass-the-hash. ADFS diciptakake, ing antarane, kanggo nglindhungi kabeh iki.

Ana siji properti ala saka produk Microsoft: sanajan sampeyan ora nerbitake NTLM kasebut, bakal diinstal kanthi standar ing OWA lan Lync, paling ora.

Miturut cara, penulis artikel iki tau ora sengaja mblokir kira-kira 1000 akun karyawan saka siji bank gedhe ing mung siji jam nggunakake cara padha lan banjur katon rada pucet. Layanan IT bank uga pucet, nanging kabeh rampung kanthi apik lan cukup, kita malah dipuji amarga dadi sing pertama nemokake masalah iki lan nyebabake fix cepet lan nemtokake.

Situs nomer loro duwe alamat "jelas sawetara jeneng mburi.company.ru." Ditemokake liwat Google, kaya iki ing kaca 10. Desain kasebut wiwit awal pertengahan XNUMX-an, lan wong sing dihormati ndeleng saka kaca utama, kaya iki:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Ing kene aku njupuk gambar saka "Heart of a Dog", nanging pracaya kula, iku samar-samar padha, malah desain werna ing nada padha. Ayo situs kasebut diarani preobrazhensky.company.ru.

Iku situs web pribadi ... kanggo urologist. Aku kepingin weruh apa sing ditindakake situs web urologist ing subdomain perusahaan teknologi tinggi. Penggalian cepet menyang Google nuduhake manawa dhokter iki minangka salah sawijining pendiri salah sawijining entitas hukum pelanggan lan malah nyumbang udakara 1000 rubel ing ibukutha sing sah. Situs kasebut mbokmenawa digawe pirang-pirang taun kepungkur, lan sumber daya server pelanggan digunakake minangka hosting. Situs kasebut wis suwe ilang relevansi, nanging sakperangan alesan ditinggalake kanggo wektu sing suwe.

Ing babagan kerentanan, situs web kasebut dhewe aman. Looking ahead, aku bakal ngomong yen iki minangka set informasi statis - kaca html prasaja kanthi ilustrasi sing disisipake ing wangun ginjel lan kandung kemih. Ora ana gunane kanggo "break" situs kasebut.

Nanging server web ing ngisor iki luwih menarik. Miturut header HTTP Server, ana IIS 6.0, tegese nggunakake Windows 2003 minangka sistem operasi. Pemindai sadurunge wis nemtokake manawa situs web urologis tartamtu iki, ora kaya host virtual liyane ing server web sing padha, nanggapi prentah PROPFIND, tegese lagi mlaku WebDAV. Miturut cara, pemindai ngasilake informasi kasebut kanthi tandha Info (ing basa laporan pemindai, iki minangka bebaya paling murah) - perkara kasebut biasane dilewati. Ing kombinasi, iki menehi efek sing menarik, sing dicethakaké mung sawise digali liyane ing Google: kerentanan kebanjiran buffer langka sing digandhengake karo set Shadow Brokers, yaiku CVE-2017-7269, sing wis duwe eksploitasi sing wis siap. Ing tembung liyane, bakal ana alangan yen sampeyan duwe Windows 2003 lan WebDAV mlaku ing IIS. Senajan mlaku Windows 2003 ing produksi ing 2018 masalah dhewe.

Eksploitasi rampung ing Metasploit lan langsung diuji kanthi beban sing ngirim panjalukan DNS menyang layanan sing dikontrol - Burp Collaborator sacara tradisional digunakake kanggo nyekel panjalukan DNS. Aku kaget, kerjane pisanan: kalah DNS ditampa. Sabanjure, ana upaya kanggo nggawe backconnect liwat port 80 (yaiku, sambungan jaringan saka server menyang panyerang, kanthi akses menyang cmd.exe ing host korban), nanging banjur ana kegagalan. Sambungan ora teka liwat, lan sawise nyoba katelu kanggo nggunakake situs, bebarengan karo kabeh gambar menarik, ilang ing salawas-lawase.

Biasane iki diiringi huruf kanthi gaya "pelanggan, tangi, kita ngeculake kabeh." Nanging kita dikandhani manawa situs kasebut ora ana hubungane karo proses bisnis lan ora ana alesan, kaya kabeh server, lan kita bisa nggunakake sumber daya iki kaya sing dikarepake.
Udakara sedina, situs kasebut dumadakan bisa digunakake dhewe. Sawise dibangun bangku saka WebDAV ing IIS 6.0, Aku ketemu sing setelan gawan kanggo miwiti maneh pangolahan buruh IIS saben 30 jam. Yaiku, nalika kontrol metu saka shellcode, proses buruh IIS rampung, banjur miwiti maneh kaping pindho lan banjur ngaso 30 jam.

Wiwit backconnect kanggo tcp gagal pisanan, Aku lantaran masalah iki kanggo port ditutup. Yaiku, dheweke nganggep ana sawetara jinis firewall sing ora ngidini sambungan metu metu ing njaba. Aku miwiti mbukak shellcodes sing nggoleki liwat akeh tcp lan udp port, ora ana efek. Beban sambungan mbalikke liwat http(s) saka Metasploit ora bisa - meterpreter/reverse_http(s). Dumadakan, sambungan menyang port sing padha 80 diadegake, nanging langsung mudhun. Aku lantaran iki kanggo tumindak IPS isih maye, kang ora kaya lalu lintas meterpreter. Ing cahya saka kasunyatan sing sambungan tcp murni kanggo port 80 ora liwat, nanging sambungan http, Aku rampung sing proxy http Piye wae diatur ing sistem.

Aku malah nyoba meterpreter liwat DNS (matur nuwun d00 iki kanggo Panjenengan efforts , disimpen akeh proyèk), ngelingi sukses banget pisanan, nanging ora malah bisa ing ngadeg - shellcode banget voluminous kanggo kerentanan iki.

Ing kasunyatan, katon kaya iki: 3-4 nyoba serangan sajrone 5 menit, banjur ngenteni 30 jam. Lan sateruse nganti telung minggu berturut-turut. Aku malah nyetel pangeling supaya ora mbuwang wektu. Kajaba iku, ana prabédan ing prilaku lingkungan tes lan produksi: kanggo kerentanan iki ana rong eksploitasi sing padha, siji saka Metasploit, sing kapindho saka Internet, diowahi saka versi Shadow Brokers. Dadi, mung Metasploit sing diuji ing pertempuran, lan mung sing kapindho sing dites ing bangku, sing nggawe debugging luwih angel lan ngrusak otak.

Ing pungkasan, shellcode sing ndownload file exe saka server sing diwenehake liwat http lan diluncurake ing sistem target kabukten efektif. Shellcode cukup cilik kanggo pas, nanging paling ora bisa. Wiwit server ora kaya lalu lintas TCP ing kabeh lan http (s) dititi priksa kanggo ngarsane meterpreter, Aku mutusaké sing cara paling cepet download file exe sing ngemot DNS-meterpreter liwat shellcode iki.

Ing kene maneh ana masalah: nalika ndownload file exe lan, kaya sing dituduhake nyoba, ora preduli sing siji, download diganggu. Maneh, sawetara piranti keamanan ing antarane serverku lan ahli urologi ora seneng karo lalu lintas http kanthi exe ing njero. Solusi "cepet" ketoke kanggo ngganti shellcode supaya obfuscates lalu lintas http ing fly, supaya data biner abstrak ditransfer tinimbang exe. Pungkasan, serangan kasebut sukses, kontrol ditampa liwat saluran DNS tipis:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Langsung dadi cetha yen aku duwe hak alur kerja IIS sing paling dhasar, sing ngidini aku ora nindakake apa-apa. Iki katon kaya ing konsol Metasploit:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Kabeh metodologi pentest banget nyaranake sampeyan kudu nambah hak nalika entuk akses. Aku biasane ora nindakake iki lokal, wiwit akses banget pisanan katon mung minangka titik entri jaringan, lan kompromi mesin liyane ing jaringan padha biasane luwih gampang lan luwih cepet saka escalating hak istimewa ing host ana. Nanging iki ora kedadeyan ing kene, amarga saluran DNS sempit banget lan ora ngidini lalu lintas mbusak.

Assuming sing Windows 2003 server iki durung didandani kanggo kerentanan MS17-010 misuwur, Aku trowongan lalu lintas menyang port 445/TCP liwat meterpreter trowongan DNS kanggo localhost (ya, iki uga bisa) lan nyoba kanggo mbukak exe diundhuh sadurunge liwat. kerentanan kasebut. Serangan dianggo, aku nampa sambungan liya, nanging karo hak SYSTEM.

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor

Menarik yen dheweke isih nyoba nglindhungi server saka MS17-010 - layanan jaringan sing rawan dipateni ing antarmuka eksternal. Iki nglindhungi saka serangan liwat jaringan, nanging serangan saka ing localhost bisa, amarga sampeyan ora bisa mung cepet mateni SMB ing localhost.

Sabanjure, rincian menarik anyar dicethakaké:

  1. Duwe hak SISTEM, sampeyan bisa kanthi gampang nggawe backconnection liwat TCP. Temenan, mateni TCP langsung dadi masalah kanggo pangguna IIS sing winates. Spoiler: lalu lintas pangguna IIS piye wae kebungkus ing Proxy ISA lokal ing loro arah. Carane persis kerjane, Aku wis ora maleh.
  2. Aku ing "DMZ" tartamtu (lan iki dudu domain Active Directory, nanging WORKGROUP) - muni logis. Nanging tinimbang alamat IP pribadi ("abu-abu") sing dikarepake, aku duwe alamat IP sing "putih", persis padha karo sing aku serang sadurunge. Iki tegese perusahaan wis tuwa banget ing jagad alamat IPv4 sing bisa njaga zona DMZ kanggo 128 alamat "putih" tanpa NAT miturut skema kasebut, kaya sing digambarake ing manual Cisco saka 2005.

Wiwit server wis lawas, Mimikatz dijamin bisa langsung saka memori:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Aku njaluk sandi administrator lokal, lalu lintas RDP trowongan liwat TCP lan mlebu menyang desktop mulyo. Awit aku bisa nindakake apa wae aku wanted karo server, Aku dibusak antivirus lan ketemu sing server bisa diakses saka Internet mung liwat TCP bandar 80 lan 443, lan 443 ora sibuk. Aku nyiyapake server OpenVPN ing 443, nambah fungsi NAT kanggo lalu lintas VPN lan entuk akses langsung menyang jaringan DMZ ing wangun tanpa wates liwat OpenVPN. Wigati dimangerteni yen ISA, duwe sawetara fungsi IPS sing ora dipatèni, diblokir lalu lintasku kanthi pindai port, sing kudu diganti karo RRAS sing luwih prasaja lan tundhuk. Dadi pentesters kadhangkala isih kudu ngatur kabeh jinis.

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Pembaca sing ati-ati bakal takon: "Apa babagan situs nomer loro - wiki kanthi otentikasi NTLM, sing wis ditulis akeh?" Liyane babagan iki mengko.

Part 2. Isih ora enkripsi? Banjur kita wis teka ing kene

Dadi, ana akses menyang segmen jaringan DMZ. Sampeyan kudu pindhah menyang administrator domain. Babagan pisanan sing kudu dipikirake yaiku mriksa keamanan layanan kanthi otomatis ing segmen DMZ, utamane amarga akeh liyane sing saiki mbukak kanggo riset. Gambar khas sajrone tes penetrasi: perimeter njaba luwih dilindhungi tinimbang layanan internal, lan nalika entuk akses menyang infrastruktur gedhe, luwih gampang entuk hak tambahan ing domain mung amarga domain iki wiwit dadi. diakses kanggo alat, lan sareh, Ing infrastruktur karo sawetara ewu sarwa dumadi, bakal tansah dadi saperangan masalah kritis.

Aku ngisi scanner liwat DMZ liwat trowongan OpenVPN lan ngenteni. Aku mbukak laporan - maneh ora serius, ketoke wong liwat cara padha sadurunge kula. Langkah sabanjure kanggo nliti carane host ing jaringan DMZ komunikasi. Kanggo nindakake iki, bukak Wireshark sing biasa lan ngrungokake panjaluk siaran, utamane ARP. Paket ARP diklumpukake sedina muput. Pranyata sawetara gateway digunakake ing bagean iki. Iki bakal migunani mengko. Kanthi nggabungake data babagan panjalukan lan tanggapan ARP lan data pemindaian port, aku nemokake titik metu saka lalu lintas pangguna saka njero jaringan lokal saliyane layanan sing sadurunge dikenal, kayata web lan mail.

Wiwit saiki aku ora duwe akses menyang sistem liyane lan ora duwe akun siji kanggo layanan perusahaan, iki mutusaké kanggo Fishing metu paling sawetara akun saka lalu lintas nggunakake ARP Spoofing.

Kain & Abel diluncurake ing server urologist. Nganggep aliran lalu lintas sing diidentifikasi, pasangan sing paling njanjeni kanggo serangan man-in-the-middle dipilih, lan banjur sawetara lalu lintas jaringan ditampa kanthi peluncuran jangka pendek sajrone 5-10 menit, kanthi wektu kanggo urip maneh server. ing kasus pembekuan. Kaya ing lelucon, ana rong warta:

  1. Apik: akeh kredensial sing kejiret lan serangan kasebut bisa digunakake.
  2. Sing ala: kabeh kredensial saka klien dhewe. Nalika nyedhiyakake layanan dhukungan, spesialis pelanggan disambungake menyang layanan klien sing ora tansah duwe enkripsi lalu lintas dikonfigurasi.

Akibaté, aku entuk akeh kredensial sing ora ana gunane ing konteks proyek kasebut, nanging mesthi menarik minangka demonstrasi bebaya serangan kasebut. Router wates perusahaan gedhe kanthi telnet, nerusake port debug http menyang CRM internal kanthi kabeh data, akses langsung menyang RDP saka Windows XP ing jaringan lokal lan obscurantism liyane. Pranyata kaya mangkene Kompromi Rantai Pasokan miturut matriks MITRE.

Aku uga nemokake kesempatan lucu kanggo ngumpulake layang saka lalu lintas, kaya iki. Iki minangka conto surat sing wis siap sing dikirim saka pelanggan menyang port SMTP klien, maneh, tanpa enkripsi. A Andrey tartamtu njaluk jenenge kanggo ngirim maneh dokumentasi, lan diunggah menyang disk awan kanthi login, sandhi lan link ing siji layang tanggapan:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Iki minangka pangeling liyane kanggo ngenkripsi kabeh layanan. Ora dingerteni sapa lan kapan bakal maca lan nggunakake data sampeyan kanthi khusus - panyedhiya, administrator sistem perusahaan liya, utawa pentester kasebut. Aku meneng babagan kasunyatan manawa akeh wong mung bisa nyegat lalu lintas sing ora dienkripsi.

Sanajan sukses sing katon, iki ora nggawa kita luwih cedhak karo tujuan kasebut. Sampeyan bisa, mesthi, kanggo njagong kanggo dangu lan iwak metu informasi terkenal, nanging ora kasunyatan sing bakal katon ana, lan serangan dhewe banget beboyo ing syarat-syarat integritas jaringan.

Sawise nggoleki layanan liyane, ana ide sing menarik. Ana sarana sing disebut Responder (gampang kanggo nemokake conto panggunaan kanthi jeneng iki), sing, kanthi "peracunan" panjaluk siaran, nyebabake sambungan liwat macem-macem protokol kayata SMB, HTTP, LDAP, lsp. kanthi cara sing beda-beda, banjur takon saben wong sing nyambungake kanggo keasliane lan nyetel supaya otentikasi ditindakake liwat NTLM lan ing mode transparan kanggo korban. Paling asring, panyerang nglumpukake salaman NetNTLMv2 kanthi cara iki lan saka wong-wong mau, nggunakake kamus, kanthi cepet mbalekake sandhi domain pangguna. Kene aku wanted soko padha, nanging kedhaftar lungguh "konco tembok", utawa rodo, padha dipisahake dening firewall, lan ngakses WEB liwat kluster proxy Blue Coat.

Elinga, aku nemtokake manawa jeneng domain Active Directory pas karo domain "eksternal", yaiku company.ru? Dadi, Windows, luwih tepate Internet Explorer (lan Edge lan Chrome), ngidini pangguna kanggo otentikasi kanthi transparan ing HTTP liwat NTLM yen dheweke nganggep situs kasebut ana ing sawetara "Zona Intranet". Salah sawijining pratandha saka "Intranet" yaiku akses menyang alamat IP "abu-abu" utawa jeneng DNS sing cendhak, yaiku, tanpa titik. Amarga padha duwe server kanthi IP "putih" lan jeneng DNS preobrazhensky.company.ru, lan mesin domain biasane nampa suffix domain Active Directory liwat DHCP kanggo entri jeneng sing disederhanakake, dheweke mung kudu nulis URL ing bilah alamat. preobrazhensky, supaya padha nemokake dalan sing bener menyang server urologist sing dikompromi, ora lali yen iki saiki diarani "Intranet". Sing, ing wektu sing padha menehi kula pangguna NTLM-salaman tanpa kawruh. Kabeh sing isih ana yaiku meksa browser klien mikir babagan kabutuhan mendesak kanggo ngubungi server iki.

Utilitas Intercepter-NG sing apik banget teka kanggo ngluwari (matur nuwun Interceptor). Sampeyan ngidini sampeyan ngganti lalu lintas kanthi cepet lan bisa digunakake ing Windows 2003. Malah nduweni fungsi sing kapisah kanggo ngowahi mung file JavaScript ing aliran lalu lintas. A Urut saka massive Cross-Site Scripting iki ngrancang.

Proksi Blue Coat, ing ngendi pangguna ngakses WEB global, nyimpen konten statis kanthi periodik. Kanthi nyegat lalu lintas, jelas yen dheweke kerja terus-terusan, terus-terusan njaluk statis sing asring digunakake kanggo nyepetake tampilan konten sajrone jam sibuk. Kajaba iku, BlueCoat duwe Agen Panganggo tartamtu, sing mbedakake kanthi jelas saka pangguna nyata.

Javascript disiapake, sing nggunakake Intercepter-NG, dileksanakake sajrone jam ing wayah wengi ing saben respon karo file JS kanggo Blue Coat. Skrip kasebut nindakake ing ngisor iki:

  • Ditemtokake browser saiki dening User-Agent. Yen Internet Explorer, Edge utawa Chrome, terus bisa digunakake.
  • Aku ngenteni nganti DOM kaca dibentuk.
  • Dilebokake gambar sing ora katon menyang DOM kanthi atribut src saka formulir kasebut preobrazhensky: 8080/NNNNNNN.png, ngendi NNN nomer kasepakatan supaya BlueCoat ora cache iku.
  • Setel variabel gendera global kanggo nuduhake yen injeksi wis rampung lan ora perlu nglebokake gambar maneh.

Browser nyoba mbukak gambar iki; ing port 8080 saka server sing dikompromi, trowongan TCP nunggu ing laptopku, ing ngendi Responder sing padha mlaku, mbutuhake browser mlebu liwat NTLM.

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Ditilik dening log Responder, wong teka kerja ing wayah esuk, nguripake workstations, banjur en masse lan unnoticed wiwit ngunjungi server urologist, ora lali kanggo "nguras" salaman NTLM. Handshakes udan mudhun kabeh dina lan cetha akumulasi materi kanggo serangan temenan sukses kanggo mbalekake sandhi. Iki minangka log Responder:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan RoskomnadzorKunjungan rahasia massal menyang server urologist dening pangguna

Sampeyan bisa uga wis ngelingi manawa kabeh crita iki dibangun kanthi prinsip "kabeh apik, nanging banjur ana bummer, banjur ana sing ngalahake, banjur kabeh dadi sukses." Dadi, ana bummer ing kene. Saka sèket salaman unik, ora ana siji sing dicethakaké. Lan iki njupuk menyang akun kasunyatan sing malah ing laptop karo prosesor mati, salaman NTLMv2 iki diproses ing kacepetan sawetara atus yuta usaha per detik.

Aku kudu nganggo teknik mutasi sandi, kertu video, kamus sing luwih kenthel lan ngenteni. Sawise suwe, sawetara akun kanthi tembung sandhi kanthi bentuk "Q11111111....1111111q" dicethakaké, sing nuduhake manawa kabeh pangguna kepeksa nggawe tembung sandhi sing dawa banget kanthi karakter sing beda-beda, sing uga kudu ditindakake. dadi kompleks. Nanging sampeyan ora bisa ngapusi pangguna sing wis pengalaman, lan iki carane nggawe luwih gampang kanggo ngelingi. Secara total, kira-kira 5 akun dikompromi, lan mung siji sing duwe hak penting kanggo layanan kasebut.

Part 3. Roskomnadzor nyerang maneh

Dadi, akun domain pisanan ditampa. Yen sampeyan durung keturon ing titik iki saka maca dawa, sampeyan mbokmenawa bakal ngelingi sing aku kasebut layanan sing ora mbutuhake faktor liya saka otentikasi: iku wiki karo otentikasi NTLM. Mesthi wae sing kudu ditindakake yaiku mlebu ing kana. Nggali basis kawruh internal kanthi cepet nggawa asil:

  • Perusahaan kasebut nduweni jaringan WiFi kanthi otentikasi nggunakake akun domain kanthi akses menyang jaringan lokal. Kanthi set data saiki, iki wis dadi vektor serangan sing bisa digunakake, nanging sampeyan kudu pindhah menyang kantor nganggo sikil lan dumunung ing ngendi wae ing wilayah kantor pelanggan.
  • Aku nemokake instruksi miturut sing ana layanan sing ngidini ... ndhaptar piranti otentikasi "faktor kapindho" kanthi mandiri yen pangguna ana ing jaringan lokal lan kanthi yakin ngelingi login lan sandhi domain. Ing kasus iki, "ing" lan "njaba" ditemtokake dening aksesibilitas port layanan iki kanggo pangguna. Port ora bisa diakses saka Internet, nanging cukup diakses liwat DMZ.

Mesthine, "faktor kapindho" langsung ditambahake menyang akun sing dikompromi ing wangun aplikasi ing telponku. Ana program sing bisa uga banter ngirim panjalukan push menyang telpon kanthi tombol "disetujoni" / "disapprove" kanggo tumindak, utawa meneng nuduhake kode OTP ing layar kanggo entri independen luwih. Menapa malih, cara ingkang sepisanan dipunanggep minangka instruksi ingkang leres, nanging boten saged, kados cara OTP.

Kanthi "faktor kapindho" rusak, aku bisa ngakses mail Outlook Web Access lan akses remot ing Citrix Netscaler Gateway. Ana kejutan ing surat ing Outlook:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Ing dijupuk langka sampeyan bisa ndeleng carane Roskomnadzor mbantu pentesters

Iki minangka wulan pisanan sawise pamblokiran "penggemar" Telegram sing misuwur, nalika kabeh jaringan kanthi ewonan alamat ora bisa diakses. Dadi jelas kenapa push ora bisa langsung lan kenapa "korban"ku ora muni weker amarga dheweke wiwit nggunakake akun kasebut sajrone jam mbukak.

Sapa wae sing kenal karo Citrix Netscaler mbayangno sing biasane dileksanakake kanthi cara sing mung antarmuka gambar sing bisa dikirim menyang pangguna, nyoba ora menehi alat kanggo miwiti aplikasi pihak katelu lan nransfer data, mbatesi kabeh tumindak sing bisa ditindakake. liwat cangkang kontrol standar. "Korban"ku, amarga pendhudhuke, mung entuk 1C:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Sawise lumaku watara antarmuka 1C sethitik, Aku ketemu sing ana modul Processing external ana. Padha bisa dimuat saka antarmuka, lan padha bakal kaleksanan ing klien utawa server, gumantung ing hak lan setelan.

Aku takon kanca-kanca programer 1C kanggo nggawe proses sing bakal nampa senar lan nglakokaké. Ing basa 1C, miwiti proses katon kaya iki (dijupuk saka Internet). Apa sampeyan setuju yen sintaks basa 1C nggumunake wong sing nganggo basa Rusia kanthi spontanitas?

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor

Pangolahan kasebut ditindakake kanthi sampurna; dadi apa sing diarani pentesters "cangkang" - Internet Explorer diluncurake.

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Sadurungé, alamat sistem sing ngidini sampeyan supaya bisa mlebu menyang wilayah kasebut ditemokake ing surat. Aku dhawuh pass yen aku kudu nggunakake vektor serangan WiFi.

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Ana Dhiskusi ing Internet sing isih ana katering free éca ing kantor customer, nanging aku isih seneng kanggo berkembang serangan mbatalake, iku calmer.

AppLocker diaktifake ing server aplikasi sing nganggo Citrix, nanging dilewati. Meterpreter padha dimuat lan dibukak liwat DNS, wiwit http (s) versi ora pengin nyambung, lan aku ora ngerti alamat proxy internal ing wektu sing. Mula, wiwit saiki, pentest eksternal sejatine dadi internal.

Part 4. Hak Admin kanggo pangguna sing ala, oke?

Tugas pisanan pentester nalika entuk kontrol sesi pangguna domain yaiku ngumpulake kabeh informasi babagan hak ing domain kasebut. Ana sarana BloodHound sing kanthi otomatis ngidini sampeyan ndownload informasi babagan pangguna, komputer, grup keamanan liwat protokol LDAP saka pengontrol domain, lan liwat SMB - informasi babagan pangguna sing bubar mlebu ing ngendi lan sapa administrator lokal.

Teknik khas kanggo ngrebut hak administrator domain katon disederhanakake minangka siklus tumindak monoton:

  • Kita menyang komputer domain sing ana hak administrator lokal, adhedhasar akun domain sing wis dijupuk.
  • Kita miwiti Mimikatz lan entuk sandhi sing di-cache, tiket Kerberos lan hash NTLM saka akun domain sing bubar mlebu ing sistem iki. Utawa kita mbusak gambar memori proses lsass.exe lan nindakake padha ing sisih kita. Iki bisa dianggo kanthi apik karo Windows sing luwih enom tinimbang 2012R2/Windows 8.1 kanthi setelan gawan.
  • Kita nemtokake manawa akun sing dikompromi duwe hak administrator lokal. Kita mbaleni titik pisanan. Ing sawetara tahap kita entuk hak administrator kanggo kabeh domain.

"Akhir Siklus;", minangka programer 1C bakal nulis ing kene.

Dadi, pangguna kita dadi administrator lokal ing mung siji host Windows 7, sing jenenge kalebu tembung "VDI", utawa "Infrastruktur Desktop Virtual", mesin virtual pribadi. Mesthine, desainer layanan VDI tegese amarga VDI minangka sistem operasi pribadi pangguna, sanajan pangguna ngganti lingkungan piranti lunak sing dikarepake, host isih bisa "dimuat maneh". Aku uga mikir yen umume ide kasebut apik, aku menyang host VDI pribadi iki lan nggawe sarang ing kana:

  • установил туда OpenVPN-клиент, который делал туннель через интернет до моего сервера. Клиент пришлось заставить проходить через те самые Blue Coat с доменной аутентификацией, но OpenVPN справился, что называется, «из коробки».
  • OpenSSH diinstal ing VDI. Inggih, tenan, apa Windows 7 tanpa SSH?

Iki sing katon urip. Ayo kula ngelingake yen kabeh iki kudu ditindakake liwat Citrix lan 1C:

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Siji teknik kanggo promosi akses menyang komputer tetanggan yaiku mriksa sandhi administrator lokal kanggo cocog. Kene luck langsung ngenteni: hash NTLM saka administrator lokal standar (sing dumadakan disebut Administrator) nyedhaki liwat serangan pass-the-hash kanggo sarwa dumadi VDI tetanggan, kang ana sawetara atus. Mesthi, serangan kasebut langsung nyerang dheweke.

Iki ngendi administrator VDI nembak awake dhewe kaping pindho:

  • Kaping pisanan yaiku nalika mesin VDI ora digawa ing LAPS, ateges tetep sandhi administrator lokal sing padha saka gambar sing disebarake sacara massal menyang VDI.
  • Administrator standar minangka siji-sijine akun lokal sing rentan kanggo serangan pass-the-hash. Malah kanthi tembung sandhi sing padha, sampeyan bisa ngindhari kompromi massal kanthi nggawe akun administrator lokal kapindho kanthi tembung sandhi acak sing kompleks lan mblokir sing standar.

Napa ana layanan SSH ing Windows kasebut? Gampang banget: saiki server OpenSSH ora mung nyedhiyakake cangkang printah interaktif sing trep tanpa ngganggu karya pangguna, nanging uga proxy socks5 ing VDI. Liwat kaos kaki iki, aku nyambung liwat SMB lan ngumpulake akun cache saka kabeh atusan mesin VDI iki, banjur nggoleki dalan menyang administrator domain sing digunakake ing grafik BloodHound. Kanthi atusan sarwa dumadi, aku nemokake cara iki kanthi cepet. Hak administrator domain wis dipikolehi.

Punika gambar saka Internet sing nuduhake panelusuran sing padha. Sambungan nuduhake sapa ing ngendi pangurus lan sapa sing mlebu ing ngendi.

Sawise marang pentest, utawa Carane break kabeh karo bantuan saka urologist lan Roskomnadzor
Miturut cara, elinga kahanan saka wiwitan proyek - "aja nggunakake teknik sosial." Dadi, aku ngusulake mikir babagan kabeh Bollywood kanthi efek khusus iki bakal dipotong yen isih bisa nggunakake phishing banal. Nanging kanthi pribadi, aku seneng banget nindakake kabeh iki. Muga-muga sampeyan seneng maca iki. Mesthine, ora saben proyek katon nyenengake, nanging karya kanthi sakabehe tantangan banget lan ora ngidini stagnate.

Mbokmenawa wong bakal duwe pitakonan: carane nglindhungi dhewe? Malah artikel iki njlèntrèhaké akeh tèknik, akeh sing administrator Windows ora ngerti. Nanging, aku ngusulake kanggo ndeleng saka perspektif prinsip hackneyed lan langkah-langkah keamanan informasi:

  • Aja nggunakake piranti lunak sing wis lawas (elinga Windows 2003 ing wiwitan?)
  • Aja njaga sistem sing ora perlu diuripake (kenapa ana situs web urologist?)
  • mriksa sandhi pangguna kanggo kekuatan dhewe (yen prajurit ... pentesters bakal nindakake iki)
  • ora duwe sandhi sing padha kanggo akun sing beda (kompromi VDI)
  • lan liyane

Mesthi, iki angel banget kanggo dileksanakake, nanging ing artikel sabanjure kita bakal nuduhake ing laku sing cukup bisa.

Source: www.habr.com

Add a comment