Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Bu məqalə bir neçə il əvvəl Group-IB mütəxəssislərinin keçirdiyi çox uğurlu pentest əsasında yazılmışdır: Bollivudda film üçün uyğunlaşdırıla bilən bir hekayə baş verdi. İndi yəqin ki, oxucunun reaksiyası gələcək: “Ah, başqa bir PR məqaləsi, yenə bunlar təsvir olunur, nə qədər yaxşıdır, pentest almağı unutmayın.” Yaxşı, bir tərəfdən belədir. Bununla belə, bu məqalənin ortaya çıxmasının bir sıra başqa səbəbləri də var. Pentesterlərin tam olaraq nə etdiyini, bu işin nə qədər maraqlı və qeyri-trivial ola biləcəyini, layihələrdə hansı gülməli halların yarana biləcəyini, ən əsası isə real nümunələrlə canlı materialı göstərmək istədim.

Dünyada təvazökarlıq tarazlığını bərpa etmək üçün bir müddət sonra yaxşı getməyən pentest haqqında yazacağıq. Biz şirkətdə yaxşı işlənmiş proseslərin bütün hücumlardan, hətta yaxşı hazırlanmış hücumlardan necə qoruya biləcəyini göstərəcəyik, çünki bu proseslər mövcuddur və həqiqətən işləyir.

Bu məqalədəki müştəri üçün hər şey ümumiyyətlə əla idi, hisslərimizə görə Rusiya Federasiyasındakı bazarın ən azı 95% -dən daha yaxşı idi, lakin uzun bir hadisələr zəncirini meydana gətirən bir sıra kiçik nüanslar var idi. iş haqqında uzun bir hesabata, sonra bu məqaləyə səbəb oldu.

Beləliklə, popkorn yığaq və detektiv hekayəyə xoş gəlmisiniz. Söz - Pavel Suprunyuk, Group-IB-nin “Audit və Konsaltinq” şöbəsinin texniki meneceri.

1-ci hissə. Poçkin həkimi

2018 Müştəri var - yüksək texnologiyalı İT şirkəti, özü də bir çox müştərilərə xidmət göstərir. Suala cavab almaq istəyir: heç bir ilkin bilik və giriş olmadan, İnternet vasitəsilə işləyərək Active Directory domen administratoru hüquqlarını əldə etmək mümkündürmü? Məni heç bir sosial mühəndislik maraqlandırmır (oh, amma boş yerə), onlar işə məqsədli şəkildə müdaxilə etmək niyyətində deyillər, lakin təsadüfən ola bilərlər - məsələn, qəribə işləyən serveri yenidən yükləyə bilərlər. Əlavə məqsəd xarici perimetrə qarşı mümkün qədər çox digər hücum vektorunu müəyyən etməkdir. Şirkət mütəmadi olaraq belə sınaqlar keçirir və indi yeni sınaq üçün son tarix gəlib çatıb. Şərtlər demək olar ki, tipik, adekvat, başa düşüləndir. Gəlin başlayaq.

Müştərinin adı var - əsas veb saytı ilə "Şirkət" olsun www.company.ru. Əlbəttə ki, müştəri fərqli adlanır, lakin bu məqalədə hər şey şəxsiyyətsiz olacaqdır.
Mən şəbəkə kəşfiyyatı aparıram - hansı ünvanların və domenlərin müştəri ilə qeydiyyata alındığını öyrənin, şəbəkə diaqramını çəkin, xidmətlərin bu ünvanlara necə paylandığını öyrənin. Nəticəni əldə edirəm: 4000-dən çox canlı IP ünvanı. Mən bu şəbəkələrdəki domenlərə baxıram: xoşbəxtlikdən, böyük əksəriyyəti müştərinin müştəriləri üçün nəzərdə tutulmuş şəbəkələrdir və biz onlarla rəsmi maraqlanmırıq. Müştəri də belə düşünür.

256 ünvanlı bir şəbəkə qalır, bunun üçün bu anda domenlərin və subdomenlərin IP ünvanları üzrə paylanması anlayışı var, skan edilmiş portlar haqqında məlumat var, yəni maraqlı olanlar üçün xidmətlərə baxa bilərsiniz. Paralel olaraq, bütün növ skanerlər mövcud IP ünvanlarında və ayrıca veb-saytlarda işə salınır.

Çoxlu xidmətlər var. Adətən bu, pentester üçün sevinc və sürətli qələbə gözləməsidir, çünki xidmətlər nə qədər çox olarsa, hücum sahəsi bir o qədər geniş olar və artefakt tapmaq bir o qədər asan olar. Veb-saytlara qısa baxış göstərdi ki, onların əksəriyyəti böyük qlobal şirkətlərin tanınmış məhsullarının veb-interfeysləridir və bütün zahiri görkəmdə onların xoş qarşılanmadığını bildirirlər. İstifadəçi adı və parol soruşurlar, ikinci amili daxil etmək üçün sahəni silkələyirlər, TLS müştəri sertifikatı tələb edirlər və ya onu Microsoft ADFS-ə göndərirlər. Bəziləri sadəcə İnternetdən əlçatmazdır. Bəziləri üçün açıq-aydın üç maaş üçün xüsusi ödənişli müştəriniz olmalıdır və ya daxil olmaq üçün dəqiq URL-i bilməlisiniz. Məlum zəifliklər üçün proqram versiyalarını “yarmağa” çalışmaq, veb yollarında gizli məzmunu və LinkedIn kimi üçüncü tərəf xidmətlərindən sızan hesabları axtarmaq, onlardan istifadə edərək parolları təxmin etməyə çalışmaq prosesində daha bir tədricən ümidsizlik həftəsini atlayaq. öz-özünə yazılmış veb-saytlardakı zəiflikləri araşdırmaq kimi — yeri gəlmişkən, statistikaya görə, bu, bu gün xarici hücumun ən perspektivli vektorudur. Mən dərhal sonradan atəş açan film silahını qeyd edəcəm.

Beləliklə, yüzlərlə xidmətdən fərqlənən iki sayt tapdıq. Bu saytların ortaq bir cəhəti var idi: əgər siz domen üzrə ciddi şəbəkə kəşfiyyatı ilə məşğul olmursunuzsa, ancaq açıq portlara diqqət yetirirsinizsə və ya məlum IP diapazonundan istifadə edərək zəiflik skanerini hədəf alırsınızsa, bu saytlar skan etməkdən qaçacaq və sadəcə olaraq olmayacaq. DNS adını bilmədən görünür. Bəlkə də, heç olmasa əvvəllər qaçırdılar və avtomatik alətlərimiz birbaşa resursa göndərilsə belə, onlarla heç bir problem tapmadı.

Yeri gəlmişkən, əvvəllər işə salınan skanerlər ümumiyyətlə nə tapdılar. Xatırladım: bəzi insanlar üçün “pentest” “avtomatlaşdırılmış skan”a bərabərdir. Lakin bu layihə üzrə skanerlər heç nə demədi. Yaxşı, maksimum Orta zəifliklər tərəfindən göstərildi (ağırlıq baxımından 3-dən 5-ü): bəzi xidmətlərdə pis TLS sertifikatı və ya köhnəlmiş şifrələmə alqoritmləri və əksər saytlarda Clickjacking. Ancaq bu sizi hədəfinizə çatdırmayacaq. Bəlkə də skanerlər burada daha faydalı olardı, amma sizə xatırlatmaq istərdim: müştəri özü belə proqramları satın ala və onlarla özünü sınaya bilər və acınacaqlı nəticələrə görə, o, artıq yoxlamışdır.

Gəlin “anomal” saytlara qayıdaq. Birincisi, qeyri-standart ünvanda yerli Wiki kimi bir şeydir, lakin bu məqalədə o, wiki.company[.]ru olsun. O, həmçinin dərhal giriş və parol istədi, lakin brauzerdə NTLM vasitəsilə. İstifadəçi üçün bu, istifadəçi adı və parol daxil etməyi xahiş edən asket pəncərəsinə bənzəyir. Və bu pis təcrübədir.

Kiçik bir qeyd. Perimetr saytlarında NTLM bir sıra səbəblərə görə pisdir. Birinci səbəb Active Directory domen adının aşkarlanmasıdır. Bizim nümunəmizdə, "xarici" DNS adı kimi, company.ru olduğu ortaya çıxdı. Bunu bilərək, zərərli bir şey hazırlaya bilərsiniz ki, o, bəzi sandboxda deyil, yalnız təşkilatın domen maşınında icra olunsun. İkincisi, autentifikasiya NTLM vasitəsilə birbaşa domen nəzarətçisindən keçir (sürpriz, elə deyilmi?), “daxili” şəbəkə siyasətinin bütün xüsusiyyətləri, o cümlədən hesabların parol daxiletmə cəhdlərinin sayını keçməsini bloklamaq. Təcavüzkar girişləri aşkar edərsə, onlar üçün parolları sınayacaq. Hesabların səhv parolların daxil edilməsini bloklamaq üçün konfiqurasiya edilmişsinizsə, o işləyəcək və hesab bloklanacaq. Üçüncüsü, belə autentifikasiyaya ikinci amil əlavə etmək mümkün deyil. Oxuculardan hər hansı biri hələ də necə olduğunu bilirsə, zəhmət olmasa, mənə bildirin, bu, həqiqətən maraqlıdır. Dördüncüsü, pass-the-hesh hücumlarına qarşı zəiflik. ADFS, digər şeylərlə yanaşı, bütün bunlardan qorunmaq üçün icad edilmişdir.

Microsoft məhsullarının bir pis xüsusiyyəti var: belə NTLM-ni xüsusi olaraq dərc etməmisinizsə belə, o, heç olmasa OWA və Lync-də defolt olaraq quraşdırılacaq.

Yeri gəlmişkən, bu məqalənin müəllifi bir dəfə təsadüfən eyni üsulla bir böyük bankın təxminən 1000 əməkdaşının hesabını bir saat ərzində bloklayıb və sonra bir qədər solğun görünüb. Bankın İT xidmətləri də solğun idi, lakin hər şey yaxşı və adekvat başa çatdı, hətta bu problemi ilk tapdığımız və tez və qətiyyətli şəkildə həll etdiyimiz üçün bizi təriflədilər.

İkinci saytda “açıqcası bir növ soyad.company.ru” ünvanı var idi. Bunu Google vasitəsilə tapdım, 10-cu səhifədə buna bənzər bir şey. Dizayn XNUMX-ci illərin əvvəllərində idi və hörmətli bir şəxs ona əsas səhifədən baxırdı, belə bir şey:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Burada “İtin ürəyi” filmindən kadr götürdüm, amma inanın ki, o, qeyri-müəyyən dərəcədə oxşar idi, hətta rəng dizaynı da oxşar tonlarda idi. Qoy sayt adlansın preobrazhensky.company.ru.

Bu, uroloq üçün... şəxsi saytdı. Bir uroloqun veb-saytının yüksək texnologiyalı bir şirkətin alt domenində nə etdiyi ilə maraqlandım. Google-a sürətli bir araşdırma göstərdi ki, bu həkim müştərimizin hüquqi şəxslərindən birinin həmtəsisçisi olub və hətta nizamnamə kapitalına 1000 rubla yaxın töhfə verib. Sayt yəqin ki, uzun illər əvvəl yaradılıb və hostinq kimi müştərinin server resurslarından istifadə edilib. Sayt çoxdan aktuallığını itirdi, lakin nədənsə uzun müddət işlək vəziyyətdə qaldı.

Zəifliklər baxımından veb saytın özü təhlükəsiz idi. İrəliyə baxaraq deyəcəyəm ki, bu, statik məlumat toplusu idi - böyrəklər və sidik kisələri şəklində illüstrasiyalar daxil edilmiş sadə html səhifələri. Belə saytı “sındırmaq” faydasızdır.

Ancaq altındakı veb server daha maraqlı idi. HTTP Server başlığına əsasən, o, IIS 6.0-a malik idi, yəni əməliyyat sistemi kimi Windows 2003-dən istifadə etmişdir. Skaner əvvəllər müəyyən etmişdi ki, bu xüsusi uroloq vebsaytı, eyni veb serverdəki digər virtual hostlardan fərqli olaraq, PROPFIND əmrinə cavab verir, yəni WebDAV ilə işləyir. Yeri gəlmişkən, skaner bu məlumatı Info işarəsi ilə qaytardı (skaner hesabatlarının dilində bu ən aşağı təhlükədir) - belə şeylər adətən sadəcə atlanır. Birlikdə, bu, yalnız Google-da növbəti qazıntıdan sonra aşkar edilən maraqlı effekt verdi: Kölgə Brokerləri dəsti ilə əlaqəli nadir bufer daşması zəifliyi, yəni artıq hazır istismara malik olan CVE-2017-7269. Başqa sözlə, əgər sizdə Windows 2003 varsa və WebDAV IIS-də işləyirsə, problem yaranacaq. Baxmayaraq ki, 2003-ci ildə istehsalda Windows 2018-ün işə salınması özlüyündə problemdir.

İstismar Metasploit-də başa çatdı və dərhal idarə olunan xidmətə DNS sorğusu göndərən bir yüklə sınaqdan keçirildi - Burp Collaborator ənənəvi olaraq DNS sorğularını tutmaq üçün istifadə olunur. Məni təəccübləndirən odur ki, ilk dəfə işlədi: DNS nokautu alındı. Daha sonra, port 80 (yəni, qurban hostunda cmd.exe-ə çıxışı olan serverdən təcavüzkarla şəbəkə bağlantısı) vasitəsilə geri əlaqə yaratmağa cəhd edildi, lakin sonra fiasko baş verdi. Bağlantı baş tutmadı və saytdan istifadə etmək üçün üçüncü cəhddən sonra bütün maraqlı şəkillərlə birlikdə əbədi olaraq yox oldu.

Adətən bunun ardınca “müştəri, oyan, hər şeyi atdıq” üslubunda bir məktub gəlir. Amma bizə dedilər ki, saytın biznes prosesləri ilə heç bir əlaqəsi yoxdur və orada bütün server kimi heç bir səbəb olmadan işləyir və biz bu resursdan istədiyimiz kimi istifadə edə bilərik.
Təxminən bir gün sonra sayt birdən öz-özünə işləməyə başladı. IIS 6.0-da WebDAV-dan bir dəzgah qurduqdan sonra, standart parametrin hər 30 saatdan bir IIS işçi proseslərini yenidən başlatmaq olduğunu gördüm. Yəni nəzarət qabıq kodundan çıxdıqda, IIS işçi prosesi başa çatdı, sonra bir neçə dəfə özünü yenidən başladın və sonra 30 saat istirahətə getdi.

tcp-yə geri bağlantı ilk dəfə uğursuz olduğu üçün bu problemi qapalı portla əlaqələndirdim. Yəni o, gedən əlaqələrin xaricə keçməsinə imkan verməyən bir növ təhlükəsizlik divarının mövcudluğunu güman etdi. Mən bir çox tcp və udp portlarını axtaran shellcodes işlətməyə başladım, heç bir effekt olmadı. Metasploit-dən http(lər) vasitəsilə əks əlaqə yükləmələri işləmədi - meterpreter/reverse_http(s). Birdən eyni port 80 ilə əlaqə quruldu, lakin dərhal kəsildi. Mən bunu hələ də xəyali İPS-nin hərəkəti ilə əlaqələndirdim, bu da sayğac trafikini bəyənmir. 80-ci porta təmiz tcp bağlantısının keçmədiyini, lakin http bağlantısının keçdiyini nəzərə alaraq, sistemdə http proxy-nin hər hansı bir şəkildə konfiqurasiya edildiyi qənaətinə gəldim.

Hətta DNS vasitəsilə meterpreter'i sınadım (təşəkkürlər d00kie səyləriniz üçün, bir çox layihəni xilas etdi), ilk uğuru xatırladan, lakin stenddə belə işləmədi - shellcode bu zəiflik üçün çox həcmli idi.

Reallıqda belə görünürdü: 3 dəqiqə ərzində 4-5 hücum cəhdi, sonra 30 saat gözləmək. Və üç həftə ardıcıl olaraq. Hətta vaxt itirməmək üçün xatırlatma da təyin etdim. Bundan əlavə, sınaq və istehsal mühitlərinin davranışında fərq var idi: bu zəiflik üçün biri Metasploit-dən, ikincisi İnternetdən Shadow Brokers versiyasından çevrilmiş iki oxşar istismar var idi. Beləliklə, yalnız Metasploit döyüşdə sınaqdan keçirildi və yalnız ikincisi skamyada sınaqdan keçirildi ki, bu da sazlamanı daha da çətinləşdirdi və beyin sındırdı.

Sonda http vasitəsilə verilmiş serverdən exe faylını endirən və onu hədəf sistemdə işə salan shellcode effektiv olduğunu sübut etdi. Shellcode uyğunlaşmaq üçün kifayət qədər kiçik idi, lakin heç olmasa işlədi. Server TCP trafikini heç bəyənmədiyindən və http(lər) meterpreter-in olub-olmaması yoxlanıldığından mən qərara gəldim ki, ən sürətli yol bu shellcode vasitəsilə DNS-meterpreter ehtiva edən exe faylını yükləməkdir.

Burada yenə bir problem yarandı: exe faylını yükləyərkən və cəhdlər göstərdiyi kimi, hansının olmasından asılı olmayaraq, yükləmə dayandırıldı. Yenə serverimlə uroloq arasındakı bəzi təhlükəsizlik cihazı içərisində exe olan http trafikini bəyənmədi. “Tez” həll, qabıq kodunu dəyişdirmək idi ki, o, sürətlə http trafikini qarışdırsın, beləliklə, exe əvəzinə mücərrəd ikili məlumat ötürülsün. Nəhayət, hücum uğurlu oldu, nəzarət nazik DNS kanalı vasitəsilə alındı:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Dərhal aydın oldu ki, mənim heç bir şey etməyə imkan verən ən əsas IIS iş axını hüquqlarım var. Metasploit konsolunda belə görünürdü:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Bütün pentest metodologiyaları sizə giriş əldə edərkən hüquqların artırılmasını tələb edir. Mən bunu adətən yerli olaraq etmirəm, çünki ilk giriş sadəcə şəbəkəyə giriş nöqtəsi kimi görünür və eyni şəbəkədə başqa bir maşına güzəştə getmək adətən mövcud hostda imtiyazları artırmaqdan daha asan və daha sürətli olur. Ancaq burada belə deyil, çünki DNS kanalı çox dardır və bu, trafikin təmizlənməsinə imkan verməyəcək.

Bu Windows 2003 serverinin məşhur MS17-010 zəifliyi üçün təmir edilmədiyini fərz etsək, mən localhost-da ölçmə cihazı DNS tuneli vasitəsilə 445/TCP portuna trafiki tunel edirəm (bəli, bu da mümkündür) və əvvəllər yüklənmiş exe-ni işə salmağa çalışıram. zəiflik. Hücum işləyir, ikinci əlaqəni alıram, lakin SİSTEM hüquqları ilə.

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar

Maraqlıdır ki, onlar hələ də serveri MS17-010-dan qorumağa çalışıblar - onun xarici interfeysdə zəif şəbəkə xidmətləri var idi. Bu, şəbəkə üzərindən hücumlardan qoruyur, lakin localhost-a daxildən edilən hücum işlədi, çünki siz yalnız localhost-da SMB-ni tez söndürə bilməzsiniz.

Sonra yeni maraqlı detallar ortaya çıxır:

  1. SİSTEM hüquqlarına malik olmaqla siz TCP vasitəsilə asanlıqla arxa əlaqə yarada bilərsiniz. Aydındır ki, birbaşa TCP-nin söndürülməsi məhdud IIS istifadəçisi üçün ciddi problemdir. Spoiler: IIS istifadəçi trafiki hər iki istiqamətdə yerli ISA Proxy-yə bükülmüşdür. Necə işləyir, mən təkrar etməmişəm.
  2. Mən müəyyən bir "DMZ"-dəyəm (və bu Active Directory domeni deyil, İŞ QRUPudur) - məntiqli səslənir. Ancaq gözlənilən şəxsi (“boz”) IP ünvanı əvəzinə, əvvəllər hücum etdiyim kimi tamamilə “ağ” IP ünvanım var. Bu o deməkdir ki, şirkət IPv4 ünvanlama dünyasında o qədər köhnədir ki, 128-ci ildən Cisco təlimatlarında göstərildiyi kimi sxemə uyğun olaraq NAT olmadan 2005 “ağ” ünvan üçün DMZ zonasını saxlamağa gücü çatır.

Server köhnə olduğundan, Mimikatz birbaşa yaddaşdan işləməyə zəmanət verir:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Mən yerli administrator parolunu əldə edirəm, RDP trafikini TCP üzərindən keçirdim və rahat iş masasına daxil oldum. Serverlə istədiyim hər şeyi edə bildiyim üçün antivirusu sildim və serverə İnternetdən yalnız 80 və 443 saylı TCP portları vasitəsilə daxil olmaq mümkün olduğunu və 443-ün məşğul olmadığını gördüm. Mən 443-də OpenVPN server qurdum, VPN trafikim üçün NAT funksiyaları əlavə etdim və OpenVPN vasitəsilə qeyri-məhdud formada DMZ şəbəkəsinə birbaşa çıxış əldə etdim. Maraqlıdır ki, bəzi qeyri-aktiv IPS funksiyalarına sahib olan ISA, daha sadə və daha uyğun RRAS ilə əvəz edilməli olan port skanı ilə trafikimi blokladı. Beləliklə, pentesters bəzən hələ də hər cür şeyi idarə etməli olur.

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Diqqətli oxucu soruşacaq: "Bəs ikinci sayt - NTLM autentifikasiyası olan, haqqında çox şey yazılmış viki?" Bu haqda daha sonra.

Hissə 2. Hələ də şifrələnmirsiniz? Onda biz artıq burada sizə gəlirik

Beləliklə, DMZ şəbəkə seqmentinə giriş var. Domen administratoruna getməlisiniz. Ağla gələn ilk şey, DMZ seqmenti daxilində xidmətlərin təhlükəsizliyini avtomatik yoxlamaqdır, xüsusən də onların çoxu artıq tədqiqat üçün açıqdır. Nüfuz testi zamanı tipik bir şəkil: xarici perimetr daxili xidmətlərdən daha yaxşı qorunur və böyük bir infrastruktur daxilində hər hansı bir giriş əldə edərkən, yalnız bu domenin işləməyə başlaması səbəbindən domendə genişləndirilmiş hüquqları əldə etmək daha asandır. alətlər üçün əlçatandır və ikincisi, bir neçə min hostu olan bir infrastrukturda həmişə bir neçə kritik problem olacaq.

Skanerləri OpenVPN tuneli vasitəsilə DMZ vasitəsilə doldururam və gözləyirəm. Hesabatı açıram - yenə ciddi bir şey yoxdu, görünür, məndən əvvəl kimsə eyni üsuldan keçdi. Növbəti addım DMZ şəbəkəsindəki hostların necə əlaqə saxladığını yoxlamaqdır. Bunu etmək üçün əvvəlcə adi Wireshark-ı işə salın və yayım sorğularını, ilk növbədə ARP-ni dinləyin. Bütün gün ərzində ARP paketləri toplandı. Belə çıxır ki, bu seqmentdə bir neçə şlüz istifadə olunur. Bu daha sonra faydalı olacaq. ARP sorğuları və cavabları və port skan məlumatlarını birləşdirərək, veb və poçt kimi əvvəllər məlum olan xidmətlərə əlavə olaraq yerli şəbəkə daxilindən istifadəçi trafikinin çıxış nöqtələrini tapdım.

Hal-hazırda digər sistemlərə çıxışım olmadığından və korporativ xidmətlər üçün bir hesabım olmadığından, ARP Spoofing istifadə edərək, heç olmasa trafikdən bir qədər hesabı çıxarmaq qərara alındı.

Cain&Abel uroloqun serverində işə salındı. Müəyyən edilmiş trafik axınlarını nəzərə alaraq, adam-in-the-middle hücumu üçün ən perspektivli cütlər seçildi və sonra bəzi şəbəkə trafiki serveri yenidən işə salmaq üçün taymer ilə 5-10 dəqiqəlik qısamüddətli işə salınmaqla qəbul edildi. donma halında. Zarafatda olduğu kimi, iki xəbər var idi:

  1. Yaxşı: çoxlu etimadnamələr toplandı və bütövlükdə hücum işlədi.
  2. Pis: bütün etimadnamələr müştərinin öz müştərilərindən idi. Dəstək xidmətləri göstərərkən, müştəri mütəxəssisləri həmişə trafik şifrələməsini konfiqurasiya etməyən müştərilərin xidmətlərinə qoşulurlar.

Nəticədə, layihə kontekstində faydasız olan, lakin hücum təhlükəsinin nümayişi kimi mütləq maraqlı olan çoxlu etimadnamələr əldə etdim. Telnet ilə böyük şirkətlərin sərhəd marşrutlaşdırıcıları, bütün məlumatlarla daxili CRM-ə yönləndirilmiş debug http portları, yerli şəbəkədə Windows XP-dən RDP-yə birbaşa çıxış və digər qaranlıq. Belə çıxdı MITER matrisinə uyğun olaraq Təchizat Zənciri Kompromis.

Mən də trafikdən məktublar toplamaq üçün gülməli bir fürsət tapdım, buna bənzər bir şey. Bu, müştərimizdən müştərisinin SMTP portuna yenə şifrələmədən gedən hazır məktubun nümunəsidir. Müəyyən bir Andrey öz adından sənədləri yenidən göndərməyi xahiş edir və o, bir cavab məktubunda login, parol və link ilə bulud diskinə yüklənir:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Bu, bütün xidmətləri şifrələmək üçün başqa bir xatırlatmadır. Məlumatlarınızı xüsusi olaraq kimin və nə vaxt oxuyacağı və istifadə edəcəyi məlum deyil - provayder, başqa bir şirkətin sistem administratoru və ya belə bir pentester. Bir çox insanın sadəcə şifrələnməmiş trafikə müdaxilə edə bilməsi barədə susuram.

Görünən uğura baxmayaraq, bu, bizi hədəfə yaxınlaşdırmadı. Təbii ki, uzun müddət oturub qiymətli məlumatları ovlamaq mümkün idi, lakin onun orada görünəcəyi fakt deyil və hücumun özü şəbəkənin bütövlüyü baxımından çox risklidir.

Xidmətləri bir daha kəşf etdikdən sonra ağlıma maraqlı bir fikir gəldi. Responder adlı belə bir yardım proqramı var (bu adla istifadə nümunələrini tapmaq asandır), o, yayım sorğularını "zəhərləmək" yolu ilə SMB, HTTP, LDAP və s. kimi müxtəlif protokollar vasitəsilə əlaqələri təhrik edir. müxtəlif yollarla, sonra autentifikasiya etmək üçün qoşulan hər kəsdən soruşur və autentifikasiyanın NTLM vasitəsilə və qurban üçün şəffaf rejimdə baş tutması üçün onu quraşdırır. Çox vaxt təcavüzkar NetNTLMv2 əl sıxmalarını bu şəkildə toplayır və onlardan lüğətdən istifadə edərək istifadəçi domeninin parollarını tez bərpa edir. Burada oxşar bir şey istədim, lakin istifadəçilər “divarın arxasında” oturdular, daha doğrusu, bir firewall ilə ayrıldılar və Blue Coat proxy klasteri vasitəsilə WEB-ə daxil oldular.

Yadda saxlayın ki, Active Directory domen adının “xarici” domenlə üst-üstə düşdüyünü, yəni company.ru olduğunu qeyd etdim? Beləliklə, Windows, daha dəqiq desək, Internet Explorer (və Edge və Chrome), istifadəçiyə saytın hansısa “İntranet Zonasında” yerləşdiyini hesab edərsə, NTLM vasitəsilə HTTP-də şəffaf şəkildə autentifikasiya etməyə imkan verir. “Intranet”in əlamətlərindən biri “boz” IP ünvanına və ya qısa DNS adına, yəni nöqtəsiz girişdir. Onların “ağ” IP və DNS adı olan preobrazhensky.company.ru serveri olduğundan və domen maşınları sadələşdirilmiş ad daxil etmək üçün adətən DHCP vasitəsilə Active Directory domen şəkilçisini alırlar, onlar yalnız ünvan çubuğuna URL-i yazmalı idilər. preobrazhensky, beləliklə, onlar təhlükə altında olan uroloqun serverinə doğru yolu tapsınlar və bunun indi "Intranet" adlandığını unutmadılar. Yəni, eyni zamanda istifadəçinin xəbəri olmadan mənə NTLM-əl sıxışmasını verir. Yalnız müştəri brauzerlərini bu serverlə əlaqə saxlamağın təcili ehtiyacı barədə düşünməyə məcbur etmək qalır.

Gözəl Intercepter-NG yardım proqramı köməyə gəldi (təşəkkürlər Keçirici). O, sizə trafiki tez dəyişməyə imkan verdi və Windows 2003-də əla işlədi. O, hətta trafik axınında yalnız JavaScript fayllarını dəyişdirmək üçün ayrıca funksionallığa malik idi. Bir növ kütləvi Saytlararası Skript planlaşdırıldı.

İstifadəçilərin qlobal WEB-ə daxil olduğu Blue Coat proksiləri vaxtaşırı statik məzmunu keşləyir. Trafikin qarşısını almaqla onların gecə-gündüz işlədikləri aydın idi, pik saatlarda məzmunun nümayişini sürətləndirmək üçün sonsuz olaraq tez-tez istifadə olunan statik tələblər. Bundan əlavə, BlueCoat-da onu real istifadəçidən aydın şəkildə fərqləndirən xüsusi İstifadəçi-Agent var idi.

Javascript hazırlanmışdır ki, Intercepter-NG-dən istifadə edərək Blue Coat üçün JS faylları ilə hər cavab üçün gecə bir saat ərzində həyata keçirilirdi. Skript aşağıdakıları etdi:

  • İstifadəçi-Agent tərəfindən cari brauzer müəyyən edildi. Internet Explorer, Edge və ya Chrome olsaydı, işləməyə davam etdi.
  • Səhifənin DOM-u formalaşana qədər gözlədim.
  • Formanın src atributu ilə DOM-a görünməz şəkil daxil edildi preobrazhensky:8080/NNNNNNNN.png, burada NNN ixtiyari nömrələrdir ki, BlueCoat onu keşləməsin.
  • Enjeksiyonun tamamlandığını və artıq şəkillər daxil etməyə ehtiyac olmadığını göstərmək üçün qlobal bayraq dəyişənini təyin edin.

Brauzer bu şəkli yükləməyə çalışdı; təhlükəsi olan serverin 8080 portunda TCP tuneli onu mənim laptopuma gözləyirdi, burada eyni Responder işləyirdi və brauzerdən NTLM vasitəsilə daxil olmağı tələb edirdi.

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Responder qeydlərinə əsasən, insanlar səhər işə gəldilər, iş stansiyalarını işə saldılar, sonra NTLM əl sıxmalarını “boşaltmağı” unutmadan, kütləvi şəkildə və nəzərə çarpmadan uroloqun serverinə getməyə başladılar. Əl sıxışmaları bütün gün yağdı və parolları bərpa etmək üçün açıq-aydın uğurlu hücum üçün material topladı. Cavab verən qeydləri belə görünür:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olarİstifadəçilərin uroloq serverinə kütləvi gizli ziyarətləri

Yəqin ki, bütün bu hekayənin "hər şey yaxşı idi, amma sonra bir çaşqınlıq oldu, sonra aradan qaldırıldı və sonra hər şey uğur qazandı" prinsipi üzərində qurulduğunu artıq fərq etdiniz. Deməli, burada çaşqınlıq var idi. Əlli unikal əl sıxışmasından heç biri aşkar edilmədi. Və bu, hətta ölü prosessoru olan noutbukda belə NTLMv2 əl sıxışmalarının saniyədə bir neçə yüz milyon cəhd sürəti ilə işləndiyini nəzərə alır.

Özümü parol mutasiya üsulları, video kart, daha qalın lüğətlə silahlandırmalı və gözləməli oldum. Uzun müddətdən sonra “Q11111111....1111111q” formalı parolları olan bir neçə hesab aşkar edildi ki, bu da bütün istifadəçilərin bir vaxtlar müxtəlif simvollarla çox uzun parol hazırlamağa məcbur edildiyini göstərir. mürəkkəb olmaq. Ancaq təcrübəli istifadəçini aldada bilməzsiniz və bu, özünü xatırlamağı asanlaşdırdı. Ümumilikdə, 5-ə yaxın hesaba müdaxilə edilib və onlardan yalnız birinin xidmətlərə hər hansı dəyərli hüquqları var idi.

Hissə 3. Roskomnadzor cavab zərbələri endirir

Beləliklə, ilk domen hesabları alındı. Uzun müddət oxuduqdan sonra yuxuya getməmisinizsə, yəqin ki, ikinci autentifikasiya faktorunu tələb etməyən bir xidməti qeyd etdiyimi xatırlayacaqsınız: bu, NTLM autentifikasiyası olan vikidir. Təbii ki, ilk iş ora daxil olmaq idi. Daxili bilik bazasını araşdırmaq tez bir zamanda nəticələr verdi:

  • Şirkətin yerli şəbəkəyə çıxışı olan domen hesablarından istifadə edərək autentifikasiyası olan WiFi şəbəkəsi var. Mövcud məlumat dəsti ilə bu, artıq işləyən bir hücum vektorudur, ancaq ayaqlarınızla ofisə getməli və müştərinin ofisinin ərazisində bir yerdə yerləşməlisiniz.
  • İstifadəçi yerli şəbəkə daxilindədirsə və öz domeninin loqini və parolunu əminliklə xatırlayırsa, “ikinci faktorlu” autentifikasiya cihazını müstəqil qeydiyyatdan keçirməyə... icazə verən bir xidmətin mövcud olduğu bir təlimat tapdım. Bu halda, "daxili" və "xarici" bu xidmətin portunun istifadəçi üçün əlçatanlığı ilə müəyyən edilmişdir. Porta İnternetdən daxil olmaq mümkün deyildi, lakin DMZ vasitəsilə olduqca əlçatan idi.

Əlbəttə ki, mənim telefonumda tətbiq şəklində oğurlanmış hesaba dərhal "ikinci amil" əlavə edildi. Fəaliyyət üçün "təsdiq et"/"təsdiq etmə" düymələri ilə telefona ya yüksək səslə təkan sorğusu göndərə bilən, ya da sonrakı müstəqil giriş üçün səssizcə OTP kodunu ekranda göstərə bilən proqram var idi. Üstəlik, təlimatlara görə birinci metodun yeganə düzgün olması nəzərdə tutulurdu, lakin OTP metodundan fərqli olaraq işləmədi.

“İkinci amil” pozulduqda mən Outlook Web Access poçtuna və Citrix Netcaler Gateway-də uzaqdan girişə daxil ola bildim. Outlook-da poçtda sürpriz oldu:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Bu nadir kadrda Roskomnadzorun pentesterslərə necə kömək etdiyini görə bilərsiniz

Bunlar Telegram-ın məşhur “fanat” blokundan sonrakı ilk aylar idi, minlərlə ünvanı olan bütün şəbəkələr qaçılmaz şəkildə girişdən yoxa çıxdı. Məlum oldu ki, təkan niyə dərhal işləmədi və “qurbanım” niyə açıq saatlarda hesabından istifadə etməyə başladıqları üçün həyəcan təbili çalmadı.

Citrix Netscaler ilə tanış olan hər kəs təsəvvür edir ki, bu, adətən, istifadəçiyə yalnız şəkil interfeysinin ötürülə biləcəyi şəkildə həyata keçirilir, ona üçüncü tərəf proqramlarını işə salmaq və məlumat ötürmək üçün alətlər verməməyə çalışır, hərəkətləri hər cür məhdudlaşdırır. standart nəzarət qabıqları vasitəsilə. Mənim "qurbanım", peşəsinə görə yalnız 1C aldı:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
1C interfeysini bir az gəzdikdən sonra orada xarici emal modullarının olduğunu gördüm. Onlar interfeysdən yüklənə bilər və hüquq və parametrlərdən asılı olaraq müştəri və ya serverdə yerinə yetiriləcək.

1C proqramçı dostlarımdan sətri qəbul edəcək və onu icra edəcək bir emal yaratmağı xahiş etdim. 1C dilində bir prosesə başlamaq bu kimi görünür (İnternetdən götürülmüşdür). Razısınızmı ki, 1C dilinin sintaksisi öz spontanlığı ilə rusdilli insanları heyrətləndirir?

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar

Emal mükəmməl şəkildə həyata keçirildi; pentesterlərin "qabıq" adlandırdıqları ortaya çıxdı - Internet Explorer onun vasitəsilə işə salındı.

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Bundan əvvəl poçtda əraziyə bilet sifariş etməyə imkan verən sistemin ünvanı tapılmışdı. WiFi hücum vektorundan istifadə etməli olduğum halda keçid sifariş etdim.

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
İnternetdə müştərinin ofisində hələ də ləzzətli pulsuz iaşə olduğu barədə danışılır, amma mən yenə də hücumu uzaqdan inkişaf etdirməyə üstünlük verdim, daha sakitdir.

AppLocker Citrix ilə işləyən proqram serverində aktivləşdirildi, lakin o, yan keçdi. Http(lər) versiyaları qoşulmaq istəmədiyi üçün eyni Meterpreter yükləndi və DNS vasitəsilə işə salındı ​​və mən o zaman daxili proxy ünvanını bilmirdim. Yeri gəlmişkən, bu andan etibarən xarici pentest mahiyyətcə tamamilə daxili birinə çevrildi.

Hissə 4. İstifadəçilər üçün admin hüquqları pisdir, hə?

Domen istifadəçisi seansına nəzarəti ələ keçirərkən pentesterin ilk işi domendəki hüquqlar haqqında bütün məlumatları toplamaqdır. Domen nəzarətçisindən LDAP protokolu vasitəsilə və SMB vasitəsilə istifadəçilər, kompüterlər, təhlükəsizlik qrupları haqqında məlumatı avtomatik yükləməyə imkan verən BloodHound yardım proqramı mövcuddur - bu yaxınlarda hansı istifadəçinin harada daxil olduğu və yerli administratorun kim olduğu haqqında məlumat.

Domen administratorunun hüquqlarını ələ keçirmək üçün tipik bir üsul monoton hərəkətlər dövrü kimi sadələşdirilmiş görünür:

  • Artıq ələ keçirilmiş domen hesablarına əsaslanaraq, yerli administrator hüquqlarının olduğu domen kompüterlərinə gedirik.
  • Biz Mimikatz-ı işə salırıq və keşlənmiş parolları, Kerberos biletlərini və bu sistemə bu yaxınlarda daxil olmuş domen hesablarının NTLM heşlərini əldə edirik. Və ya lsass.exe prosesinin yaddaş görüntüsünü çıxarırıq və eyni şeyi öz tərəfimizdə edirik. Bu, standart parametrləri olan 2012R2/Windows 8.1-dən kiçik Windows ilə yaxşı işləyir.
  • Təhlükəli hesabların harada yerli administrator hüquqlarının olduğunu müəyyən edirik. Birinci nöqtəni təkrar edirik. Müəyyən mərhələdə biz bütün domen üçün administrator hüquqları əldə edirik.

1C proqramçılarının burada yazacaqları kimi "Dövrün sonu;".

Beləliklə, istifadəçimiz adında “VDI” və ya “Virtual Desktop İnfrastruktur” sözünü, şəxsi virtual maşınları ehtiva edən Windows 7 ilə yalnız bir hostda yerli administrator oldu. Yəqin ki, VDI xidmətinin dizayneri demək istəyirdi ki, VDI istifadəçinin şəxsi əməliyyat sistemi olduğundan, istifadəçi proqram mühitini istədiyi kimi dəyişsə belə, host yenə də “yenidən yüklənə” bilər. Mən də fikirləşdim ki, ümumiyyətlə ideya yaxşıdır, mən bu şəxsi VDI aparıcısına getdim və orada yuva qurdum:

  • Orada bir OpenVPN müştəri quraşdırdım, bu da İnternet vasitəsilə serverimə tunel etdi. Müştəri domen identifikasiyası ilə eyni Mavi Paltodan keçməyə məcbur olmalı idi, lakin OpenVPN bunu, necə deyərlər, "qutudan kənarda" etdi.
  • VDI-də OpenSSH quraşdırılıb. Yaxşı, həqiqətən, SSH olmadan Windows 7 nədir?

Canlı olaraq belə görünürdü. Xatırladım ki, bütün bunlar Citrix və 1C vasitəsilə edilməlidir:

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Qonşu kompüterlərə girişi təşviq etmək üçün bir üsul uyğunluq üçün yerli administrator parollarını yoxlamaqdır. Burada dərhal şans gözləyirdi: standart yerli administratorun NTLM hashına (birdən Administrator adlandırıldı) bir neçə yüz olan qonşu VDI hostlarına keçid-heş hücumu ilə yaxınlaşdı. Təbii ki, hücum dərhal onlara dəydi.

VDI administratorlarının iki dəfə ayaqlarına atəş açdıqları yer budur:

  • İlk dəfə VDI maşınları VDI-yə kütləvi şəkildə yerləşdirilən şəkildən eyni yerli administrator parolunu saxlayaraq LAPS altına gətirilmədikdə idi.
  • Defolt administrator, hash hücumlarına qarşı həssas olan yeganə yerli hesabdır. Eyni parolla belə, mürəkkəb təsadüfi parol ilə ikinci yerli administrator hesabı yaratmaq və standart parolu bloklamaqla kütləvi güzəştdən qaçmaq mümkün olardı.

Niyə həmin Windows-da SSH xidməti var? Çox sadədir: indi OpenSSH serveri nəinki istifadəçinin işinə müdaxilə etmədən rahat interaktiv əmr qabığını, həm də VDI-də socks5 proksisini təmin etdi. Bu corablar vasitəsilə mən SMB vasitəsilə qoşuldum və bütün bu yüzlərlə VDI maşınından keşlənmiş hesabları topladım, sonra BloodHound qrafiklərində onlardan istifadə edərək domen administratoruna gedən yolu axtardım. Mənim ixtiyarımda olan yüzlərlə ev sahibi ilə bu yolu çox tez tapdım. Domen administrator hüquqları əldə edilmişdir.

Budur, oxşar axtarışı göstərən İnternetdən bir şəkil. Əlaqələr administratorun kim olduğunu və kimin harada daxil olduğunu göstərir.

Bir dəfə pentest və ya bir uroloq və Roskomnadzorun köməyi ilə hər şeyi necə pozmaq olar
Yeri gəlmişkən, layihənin başlanğıcından şərti xatırlayın - "sosial mühəndislikdən istifadə etməyin". Beləliklə, hələ də banal fişinqdən istifadə etmək mümkün olsaydı, xüsusi effektləri olan bütün bu Bollivudun nə qədər kəsiləcəyini düşünməyi təklif edirəm. Amma şəxsən mənim üçün bütün bunları etmək çox maraqlı idi. Ümid edirəm ki, bunu oxumaqdan zövq aldınız. Təbii ki, hər layihə o qədər də maraqlı görünmür, amma bütövlükdə iş çox çətin olur və onun durğunluğuna imkan vermir.

Yəqin ki, kiminsə sualı olacaq: özünüzü necə qorumaq olar? Hətta bu məqalədə Windows administratorlarının belə bilmədiyi bir çox texnika təsvir edilir. Bununla belə, mən onlara saxta prinsiplər və informasiya təhlükəsizliyi tədbirləri prizmasından baxmağı təklif edirəm:

  • köhnəlmiş proqram təminatından istifadə etməyin (əvvəlcə Windows 2003-ü xatırlayırsınız?)
  • lazımsız sistemləri açıq saxlamayın (niyə uroloqun internet saytı var idi?)
  • Güc üçün istifadəçi parollarını özünüz yoxlayın (əks halda əsgərlər... pentesters bunu edəcək)
  • fərqli hesablar üçün eyni parollara malik deyil (VDI güzəşti)
  • və digər

Əlbəttə ki, bunu həyata keçirmək çox çətindir, lakin növbəti məqalədə bunun tamamilə mümkün olduğunu praktikada göstərəcəyik.

Mənbə: www.habr.com

Добавить комментарий