Atacurile asupra domeniului obsedează de rețea corporativă

Domeniu. domeniul Doar

Hacker la tot: tipi într-o casă a locuit Petru shellcode?
Casa 3 la Hacker: Oh, a făcut-o eu - Peter shellcode! Omule, ești în numărul de casă 3!

Acest lucru se datorează faptului că sub Windows după cum urmează:

C:> nslookup
Implicit Server: windomain.domain
Adresa: 192.168.1.33

ls -d windomain.domain> fisier.txt

Apropo, în cazul în care administratorul este încă interzis să obțină o listă de utilizatori, putem trece prin ea singur. Faptul este că fiecare utilizator are un identificator de securitate (SID). Dacă domeniul de interogare, înlocuind aceste ID-uri, și o valoare de incrementare RID (ultima bytes SID), puteți obține o listă de utilizatori. De asemenea, aș menționa că toate această funcționalitate este inclusă în CainAbel, cu toate că puteți utiliza Instrumente și originale Eugene Ore (sid2user).

Dupa ce inteligenta poate deja umed. Cum, când, cine și cum - în funcție de rezultatele de explorare. Dar una dintre cele mai simple opțiuni - să încerce să exploateze frunte. În acest caz, trebuie să fie de așa natură exploit încât să nu renunțe la sistemul de acces și pentru a asigura :). De regulă, aceste sployty a venit la noi din codul de vierme. Mai ales aici nu este necesar să facă baie - metasployt deschis, nu au deja totul, și de a face o căutare:

ms0 căutare -t mare

Ce faci daca exploateaza du-te în luptă speriat sau toate serverele și rabochki patch-uri? După cum arată practica, există o mulțime de moduri de a obține un shell fără a exploateaza. Ea vine în „parolele slabe.“ Aceasta este o situație comună: chiar dacă parolele de domeniu uchetki sunt puternice, atunci parola pentru contul de administrator local poate fi slabă, deoarece a fost instalat, de exemplu, pentru a introduce un computer la un domeniu, și poate fi orice. Mai mult decât atât, o parolă este de obicei aceeași pentru toate uchetok admin locale si pe alte masini :).

HASH și token-uri

Sistemul de drept trebuie să se rupă din cele mai valoroase a intestinelor OS, și anume NTLM hash și o listă de token-uri de securitate. De ce hashes? Brutus să-i? Nu. Pentru a le utiliza. Faptul este că pentru domeniul de autentificare este de foarte multe ori nu au nevoie de o parolă - pentru că Windows nu cere passvord de fiecare dată când mergi la orice minge în domeniu. Acesta este implementat folosind autentificarea de răspuns NTLM Chalenge. Faptul este că pentru o astfel de cunoaștere a parolei de autentificare nu este necesară, numai valoarea hash este suficientă. De fapt, pe această temă a fost cunoscut de la mijlocul anilor '90, dar de-a lungul anilor, puține s-au schimbat. De aceea, luați hashes, puteți merge pe jos drepturile de utilizator de domeniu. Mai multe detalii despre hash pot fi găsite în articolul Antona Karpova aka Toxa. O să-ți spun despre povestea reală a domeniului de captare.

ms10_061_spoolss> set utilizator SMBUser
ms10_061_spoolss> set SMBDomain DOMAIN
ms10_061_spoolss> set SMBPass 01010101010101010101010101010101: 01010101010101010101010101010101

Exploit MS10-061, lansat în numele programator, sistemul a dat acces la serverul de imprimare, care procesează deja un domeniu token-uri de administrator au fost găsite. Un lanț de atac, ceea ce conduce la captura de domeniu.

Deci, avem pe sistemul server de imprimare la drepturi, dar noi nu suntem admini de domeniu, dar am menționat mai sus despre jetoanele. Token - rulează un obiect care este creat atunci când Logone și acordat fiecărui utilizator care rulează proces. Acest token - o bucată de tort. În acest caz, administratorul de domeniu a lansat unele procese pe serverul de imprimare, și avem sistemele de dreapta pe același server - avem privilegiile corespunzătoare SeImpersonate și pot utiliza în siguranță o „delegare“ jeton existent (în ciuda MS09-012 patch-uri, care a avut dreptate mi-ar avea nimic).

Se pare destul de simplu:

meterpreter> utilizați incognito
meterpreter> list_tokens -u
meterpreter> impersonate_token DOMAIN \ admin

După ce am terminat impersonalizatsiyu, sistemul va utiliza drepturile uchetki furate. Asta este, am devenit un administrator de domeniu. În consecință, vom efectua:

meterpreter> shell
C: WindowsSystem32> utilizator net xakep p4sSw_0Rd / ADD / DOMAIN
C: WindowsSystem32> grup net "Domeniu Admins" xakep / ADD / DOMAIN

Echipele vor fi îndeplinite, și apare un nou administrator (de altfel, eu nu recomand acest lucru, la fel ca în societățile normale, acest utilizator va fi detectat imediat) a controlerului de domeniu. Morala poveștii este că orice, chiar și cea mai mică gaură, pe cea mai mică serverul rabochke sau poate duce la confiscarea domeniului ca „calculator - o rețea ...“

atac simplă sau SMB-relay

Înapoi (într-adevăr existente) exemplu arată cum să obțină dreptul de administrator, prins în orice mașină de domeniu. Apoi, avem nevoie de vulnerabilități, dar ele nu pot fi întotdeauna prezent, de exemplu, în cazul în care WSUS ridicat și toate gazdele de domeniu primesc actualizări în timp util. Cu toate acestea, se întâmplă că, fără vulnerabilități pot fi obținute de pe servachke shell. De multe ori cazul - prin intermediul bazei de date. Acest lucru necesită cel puțin unele uchetki fel pe baza de date server.

Apropo, reamintind gsecdump: el arunca LSA-secrete, care sunt foarte des parolele din baza de date și alte bunuri. În formă deschisă. În plus, companiile mari au adesea o varietate de ERP-sistem în care autentificarea prin utilizarea conturilor de domeniu și parole diferite în mod implicit. În plus, există o șansă de a găsi o SQL-injectare. În general, orice acces la baza de date, vom face. Vorbim despre MSSQL, cum despre baza de date cea mai frecventă în rețelele Microsoft, cu toate că Oracle a venit prea.

Al doilea punct important - procesul de bază de date trebuie să fie pornit sub un cont de domeniu, care se află în grupul de administratori locali pentru serverul de baze de date. În cazul în care sunt îndeplinite toate aceste condiții, este posibil să se efectueze atac SMB-relay prin apelarea xp_dirtree / procedură stocată xp_fileexist (care ar trebui, de asemenea, să fie disponibile în continuare). Ca o opțiune, aceste proceduri să ia o cale către directorul / fișierul. Linia de jos este ca ei să înțeleagă calea în format UNC, ceea ce înseamnă că pot accesa fișierele de pe o parte la distanță. În cazul în care aceste resurse necesită autentificare, autentificarea de răspuns NTLM Chalenge, din care, folosind uchetku, procesul de baze de date care rulează. Acesta este modul în care puteți specifica o resursă ca o gazdă de la distanță care rulează modulul hacker SMB-relay (există o parte din metasployta). Acest modul pune în aplicare atacul „omul din mijloc“ de autentificare redirecționează către o altă bază de date server de (de exemplu, de rezervă - principalul lucru pe care uchetki nu are drepturi de administrator local). Astfel, serverul generează un răspuns și o trimite la hacker, care, la rândul său, da la serverul pe care este lansat atacul. În general, „omul din mijloc“ clasic. Astfel, gazda este autentificat atacator de pe serverul de rezervă pentru a încărca în, și pentru a obține baza de date uchetki meterpreter dreapta (așa cum este în grupul de administratori locali, acest lucru este echivalent cu SYSTEM). De ce avem nevoie de un al doilea server, pentru că puteți specifica ca țintă de același server de la care a fost trimisă cererea (adică, un atac cu „A“ server „A“ server)? De fapt, da, se poate, dar numai în cazul în care serverul „A“ nu este instalat patch-ul pentru MS08-068. În caz contrar, aveți nevoie de două servere.

În orice caz, această problemă nu este complet fixa, astfel încât atacul pe baza SMB-relay - o amenințare reală.

atac simplă sau ARP spoofing-

Dar asta nu e tot. Într-o zi am făcut-o grilă internă Pentest mică, în cazul în care toate perepatcheno patch-uri și parole au fost foarte persistente, iar cea mai mare parte a fost să rupă ceva și nimic. Având în vedere că grila este mic, atunci serverul și rabochki fost într-un singur segment - o bucurie pentru toate ARP-flooder. CSN a fost calculată de către administrator și serverul terminal. A început spoofing, și sa dovedit că unul dintre administratorii folosind o versiune mai veche a protocolului RDP, și cât de puțin știm - versiune de protocol mai mic decât al șaselea, vulnerabile la atac „om în mijloc“. Astfel, Cain RDP-decodat administrator de trafic de pe serverul terminal. O prin tulzy pentru parsarea busteni Cain'a a obținut parola de administrator de domeniu. Acestea sunt povești ...

Care este rostul acestui articol? Am vrut să spun? La urma urmei, nimic nou a fost dezvăluit - aceste atacuri, vulnerabilități și caracteristici au fost cunoscute pentru o lungă perioadă de timp (unele au chiar și o perioadă de zece ani). Doar ceva care nu poate fi pe deplin corectă - ARPSPOOFING, SMB-relay, Token'ov furt, HASH-and-pass și așa mai departe. Aceste lucruri sunt stabilite adânc în arhitectura de domeniu, sisteme de operare și rețele, ceea ce face ca orice greșeală pe orice gazdă ușoară pericol pentru întregul domeniu.

Principiul „calculator - o rețea de“ lucru la toate. Pierderea de un calculator, în termeni de securitate, am putea pierde întreaga rețea. Cu siguranță, nu i sa spus mult mai multe: despre politicile de parolă, segmentare, echipamente de rețea și așa mai departe. Dar aș dori să atrag atenția asupra faptului că orice server aparent minor și rabochki - semnificativ că orice vulnerabilități, cum ar fi transferul de zone DNS - sunt periculoase.

Chiar și numele computerului are un preț în ceea ce privește securitatea. Am văzut companii în cazul în care sistemele de operatori de calculatoare bankclient au nume ca bankclient-1, și au fost în domeniu, în același segment de rețea. Să patch-uri, dar că, dacă am obține un domeniu uchetku (printr-o gazdă diferită, să zicem, un server de imprimare), apoi mai târziu veni înapoi la bankclient-1, iar gazda va fi acolo. Deci, sarcina noastră este de a tine - competent pentru a construi o rețea și de a elimina punctele slabe în ea ...

Arată acest articol unui prieten: