Literal, cu câteva zile înainte ca numărul să fie publicat în presă, Metasploit a achiziționat un nou modul despre care pur și simplu nu ne-am putut abține să nu vă spunem. Datorită noua comandă getsystem, pe un sistem compromis acum este posibil să mergeți de la nivelul utilizatorului la ring0, obținând drepturi NT AUTHORITY\SYSTEM! Și asta - în orice versiuni de Windows.
Pe 19 ianuarie 2010, o vulnerabilitate de 0 zile a devenit publică, permițând creșterea privilegiilor în orice versiune de Windows, începând de la NT 3.1, lansat în în 1993 și terminând cu noul „șapte”. Pe exploit-db.com de către hackerul Tavis Ormandy a publicat atât sursele exploit-ului KiTrap0d, cât și versiunea compilată binar, gata de utilizare. Oricine poate încerca exploit-ul original dispus. Pentru a face acest lucru, trebuie doar să extrageți vdmexploit.dll și vdmallowed.exe din arhivă, transferați-l cumva pe mașina victimei și rulați fișierul exe acolo. ÎN rezultat, indiferent de contul de utilizator lansare, va apărea o consolă cu privilegii de utilizator de sistem, adică NT AUTORITATE\SISTEM. Pentru a verifica, puteți rula Sploit pe computer, autentându-se anterior în sistem ca utilizator obișnuit. După lansare Sploit va deschide o nouă fereastră cmd.exe cu privilegii maxime. Ce dă asta? Imaginați-vă o situație în care exploit-ul sparge o aplicație și ia o carapace computer la distanță. Fie ca acesta să fie un punct de raliu pentru internet Explorer - în acest caz, atacatorul va avea acces la sistemul cu drepturi utilizatorul sub al cărui cont a fost lansat browserul. Nu mă cert, foarte adesea acesta va fi un cont cu drepturi de administrator (utilizatorul este de vină), dar dacă nu? Aici puteți folosi KiTrap0d pentru a vă crește privilegiile către NT AUTHORITY\SYSTEM! Mai mult, chiar și acei utilizatori care sunt membri ai grupului administrator, nu poate accesa anumite zone ale sistemului, de exemplu, citirea hash-urilor parolei utilizatorului (mai multe despre asta mai jos). Și contul de sistem NT - Pot fi! Cu toate acestea, la momentul publicării articolului nu exista un singur patch din Microsoft nu a lansat o remediere pentru vulnerabilitate.
Preluarea sistemului de operare
Nu vom demonstra exploitul original în acțiune, deoarece 25 Ianuarie a fost adăugat un nou script la Metasploit, datorită căruia puteți utiliza KiTrap0d a devenit și mai convenabil. Opțiunea inclusă inițial în bazele de date modulului a fost instabil și nu a funcționat întotdeauna, dar nu a trecut nici măcar o jumătate de zi până să apară toate erorile eliminat. Acum modulul este descărcat împreună cu toate celelalte actualizări, deci pentru a instala, trebuie doar să selectați elementul de meniu „Actualizare Metasploit”. Acum, având acces la sistemul de la distanță, puteți tasta „run kitrap0d” și aduceți va intra în acțiune. „Dar din moment ce există o astfel de băutură, să punem în aplicare această chestiune o echipă specială”, au gândit dezvoltatorii Metasploit Aceasta este o comandă minunată de „creștere a privilegiilor”, accesibilă prin extensia meterpreter - ne place foarte mult :).
Deci, avem acces la sistemul de la distanță (exemplu ilustrativ operațiunea este dată în articolul „Operațiunea Aurora”) și suntem în consolă metasploit. Să vedem cum ne descurcăm cu drepturile:
meterpreter > getuid
Da, utilizator obișnuit. Poate chiar face parte din grup administratori, dar asta nu contează pentru noi. Conectăm modulul în care este implementat comanda getsystem care ne interesează și verificați dacă s-a încărcat prin afișare ecran de ajutor:
meterpreter > use priv Se încarcă extensia priv...succes. meterpreter > getsystem -h Utilizare: getsystem Încercați să vă ridicați privilegiul la cel al sistemului local. OPTIUNI:
H Ajutor Banner. -t Tehnica de utilizat. (Implicit la „0”). 0: Toate tehnicile disponibile 1: Serviciu - Uzurpare a identității conductei cu nume (în memorie/administrator) 2: Serviciu - Uzurpare a identității țevii denumite (Dropper/Administrator) 3: Serviciu - Duplicare jeton (în memorie/administrator) 4: Exploit - KiTrap0D (În memorie/Utilizator)
După cum puteți vedea, îmbinarea KiTrap0D implementează doar o parte din funcționalitatea comenzii. Dacă ați reușit să luați un shell cu un utilizator care are deja drepturi administrator, apoi pentru a ridica la nivelul NT AUTHORITY\SYSTEM pe care îl puteți utiliza alte trei tehnici (tasta -t vă permite să selectați cea de care aveți nevoie). Oricum, fara a preciza fără parametri, îi spunem metasploit-ului ce poate folosi oricare dintre abordări. Inclusiv KiTrap0D, care ne va crește privilegiile la nivel „Sistemul”, indiferent de ce drepturi avem în prezent.
meterpreter > getsystem ...au sistem (prin tehnica 4).
Da, am primit un mesaj despre o creștere reușită a privilegiilor și despre un atac KiTrap0D a fost folosit - se pare că are prioritate. Suntem cu adevărat a crescut în sistem? Să verificăm UID-ul nostru actual (identificatorul de utilizator):
meterpreter > getuid
Mânca! O singură comandă în consola metasploit și drepturi NT AUTHORITY\SYSTEM noi în buzunarul tău. În plus, în general, orice este posibil. Lasă-mă să-ți amintesc, nici unul Nu exista niciun patch de la Microsoft la momentul publicării revistei.
Eliminarea parolelor
Deoarece aveți deja acces la cont de sistem, atunci trebuie să extragem din asta ceva util. Metasploit are o comandă hashdump minunată - o versiune mai avansată a binecunoscutului utilitar pwdump. Mai mult, în ultimul versiunea de metasploit include o versiune reelaborată a scriptului care utilizează un principiu modernizat pentru extragerea hashurilor LANMAN/NTLM și nu este încă detectat antivirusuri. Dar nu asta este ideea. Este important ca pentru a executa comanda hashdump Sunt necesare drepturi NT AUTHORITY\SYSTEM. În caz contrar, programul va arunca o eroare „[-] priv_passwd_get_sam_hashes: operațiunea eșuată: 87”. Acest lucru se întâmplă pentru că că hashe-urile LANMAN/NTLM ale parolelor utilizatorului sunt stocate în ramuri speciale de registru HKEY_LOCAL_MACHINE\SAM și HKEY_LOCAL_MACHINE\SECURITY, care nu sunt accesibile chiar și administratori. Acestea pot fi citite numai cu privilegii de cont de sistem. În general, folosiți exploit și apoi comanda hashdump pentru extragerea locală a hash-ului din registry nu este deloc necesară. Dar dacă așa Oportunitatea există, de ce nu?
meterpreter > getuid Nume utilizator server: NT AUTHORITY\SYSTEM
meterpreter > rulați hashdump [*] Se obține cheia de pornire... [*] Calcularea tastei hboot folosind SYSKEY 3ed7[...] [*] Se obține lista de utilizatori și cheile... [*] Se decriptează cheile utilizatorului... [*] Eliminarea hash-urilor parolei...
Administrator:500:aad3b435b51404eeaad3b435b51404ee:... Invitat:501:aad3b435b51404eeaad3b435b51404ee:... HelpAssistant:1000:ce909bd50f46021bf4aa40680422f646:...
Hashes-urile au fost primite. Tot ce rămâne este să-i hrănești unuia dintre forțatorii bruti, de exemplu, l0phtcrack.
Cum îmi pot recupera privilegiile?
S-a întâmplat o situație amuzantă când am încercat să readuc drepturile la normal utilizator înapoi. Comanda rev2self pe care am găsit-o nu a funcționat și eu încă a rămas „NT AUTHORITY\SYSTEM”: aparent, este conceput să funcționeze cu trei alte abordări implementate în getsystem. S-a dovedit a reveni privilegii, trebuie să „furați” simbolul de proces, teme de rulare utilizator, de care avem nevoie. Prin urmare, afișăm toate procesele cu comanda ps și selectăm dintre ele potrivit:
meterpreter > ps Lista proceselor
============ PID Name Arch User Calea
--- ---- ---- ---- ----
0 4 System x86 NT AUTHORITY\SYSTEM 370 smss.exe x86 NT AUTHORITY\SYSTEM\SystemRoot\System32\smss.exe
... 1558 explorer.exe x86 WINXPSP3\utilizator C:\WINDOWS\Explorer.EXE
...
După cum putem vedea, explorer.exe este lansat chiar sub utilizatorul normal cont și are PID=1560. Acum, de fapt, puteți „fura un jeton” folosind comanda steal_token. PID îi este transmis ca singur parametru proces necesar:
meterpreter > steal_token 1558 Token furat cu nume de utilizator: WINXPSP3\utilizator meterpreter > getuid Nume utilizator server: WINXPSP3\utilizator
Judecând după câmpul „Nume utilizator server”, operațiunea a avut succes.
Cum funcţionează asta?
În sfârșit, merită să vorbim despre natura vulnerabilității care a dus la apariție Sploit. Încălcarea securității are loc din cauza unei erori în procesorul sistemului #GP întrerupe (care se numește nt!KiTrap). Din cauza ei cu privilegii de kernel cod arbitrar poate fi executat. Acest lucru se întâmplă deoarece sistemul verifică incorect unele apeluri BIOS pe o platformă x86 pe 32 de biți rulează o aplicație pe 16 biți. Pentru a exploata vulnerabilitatea, exploitul creează Aplicația pe 16 biți (%windir%\twunk_16.exe), manipulează unele structurile sistemului și apelează funcția NtVdmControl() pentru a porni Windows Virtual DOS Machine (alias subsistem NTVDM), care, ca urmare a anterioare manipularea duce la apelarea gestionarului de întrerupere a sistemului #GP și când exploit-ul este declanșat. Apropo, acest lucru duce la singura limitare exploit care funcționează numai pe sisteme pe 32 de biți. Pe 64 de biți Sistemele de operare pur și simplu nu au un emulator pentru rularea aplicațiilor pe 16 biți.
De ce au devenit disponibile public informațiile cu un exploit gata făcut? Despre disponibilitate Autorul exploit-ului a informat Microsoft despre vulnerabilitate la începutul anului trecut și chiar a primit confirmarea că raportul său a fost acceptat spre examinare. Doar cărucior iar acum acolo. Timp de un an patch oficial nu a existat niciun răspuns din partea companiei, iar autorul a decis publică informații în mod public, în speranța că lucrurile se vor mișca mai repede. Să vedem, Patch-ul va fi disponibil până când revista va intra în vânzare :)?
Cum să te protejezi de exploit
Deoarece nu există încă o actualizare completă pentru a rezolva vulnerabilitatea, va trebui să utilizați soluții alternative. Cea mai fiabilă opțiune este dezactivați subsistemele MSDOS și WOWEXEC, ceea ce va priva imediat de exploit funcţionalitate, deoarece nu va mai putea apela funcția NtVdmControl(). pentru a porni sistemul NTVDM. În versiunile mai vechi de Windows, acest lucru se face prin registrul în care trebuie să găsiți ramura HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW și adăugați un simbol la numele său. Pentru sistemul de operare modern trebuie să setați o restricție privind rularea aplicațiilor pe 16 biți prin
politici de grup. Pentru a face acest lucru, apelați GPEDIT.MSC, apoi accesați secțiunea „Configurație utilizator/Șabloane administrative/Componente Windows/Compatibilitate aplicații” și activați opțiunea „Interziceți accesul la 16 biți aplicații”.
WWW
Descrierea vulnerabilității de la autorul exploit-ului:
http://archives.neohapsis.com/archives/fulldisclosure/2010-01/0346.html
Soluție de remediere de la Microsoft:
http://support.microsoft.com/kb/979682
AVERTIZARE
Informațiile sunt prezentate în scop educațional. Folosindu-l în în scopuri ilegale poate duce la răspundere penală.
Conectări încorporate SQL Server 2005, BUILTIN\Administratori, , NT AUTORITATE\SISTEM, sa
Imediat după instalarea SQL Server 2005 într-un container Conectări apare un set de date de conectare care sunt create automat. Cel mai probabil, nu le veți folosi pentru a conecta utilizatori. Cu toate acestea, există situații în care cunoașterea autentificărilor încorporate poate fi utilă (de exemplu, dacă autentificarea dvs. administrativă este blocată accidental).
q BUILTIN\Administratori
(sau BUILTIN\Administratori, în funcție de limba sistemului de operare) - autentificarea pentru acest grup Windows primește automat drepturi administrator de sistem SQL Server Vă rugăm să rețineți că, dacă computerul face parte dintr-un domeniu, grupul se încadrează automat în acest grup DomeniuAdministratorii(Administratorii domeniului) și, prin urmare, administratorii domeniului în mod implicit au drepturi depline pe SQL Server. Dacă această situație este nedorită, atunci această autentificare poate fi ștearsă. Dar chiar și în acest caz, va fi ușor pentru administratorii de domeniu să acceseze datele SQL Server.
q Server_name
2005MSFTEUser$ Server_name$Nume_instanță
, Server_name
2005MSSQLUser$ Server_name$Nume_instanță
,Server_name
2005SQLAgentUser$ Server_name$Nume_instanță
- aceste trei conectări sunt pentru grupuri Windows sunt folosite pentru a conecta serviciile corespunzătoare la SQL Server 2005. La nivelul SQL Server 2005, nu este nevoie să efectuați operațiuni cu acestea, deoarece toate drepturile necesare sunt deja acordate. În situații rare, poate fi necesar să adăugați conturi care rulează servicii SQL Server la aceste grupuri la nivel de Windows.
q AUTORITATE NT\SERVICIUL DE REȚEA
- în numele acesteia cont Windows Server 2003 rulează aplicații ASP .NET, inclusiv Reporting Services (Windows 2000 utilizează ASPNET). Această autentificare Windows este utilizată pentru a vă conecta la SQL Server Reporting Services. I se acordă automat drepturile necesare asupra bazelor de date master, msdbși la bazele de date utilizate de Reporting Services.
q NT AUTORITATE\SISTEM
este contul de sistem local al sistemului de operare. Această autentificare apare în situațiile în care în timpul instalării ați configurat serviciul SQL Server să ruleze sub contul de sistem local. Putem spune că cu această autentificare SQL Server se accesează singur. Desigur, această autentificare are drepturi de administrator de sistem SQL Server.
q sa
(din SistemAdministrator) este singura autentificare de tip SQL Server care este creată implicit. Are drepturi de administrator de sistem SQL Server, iar aceste drepturi nu îi pot fi luate. Nici nu veți putea șterge această autentificare. Dar poate fi redenumit sau dezactivat. Dacă SQL Server 2005 este configurat doar pentru autentificare folosind Windows, atunci nu veți putea folosi această autentificare pentru a vă conecta la server.
Trebuie doar să „Rulezi ca administrator” un program pentru a vedea în Task Manager că utilizatorul acestuia este tu însuți și nu Administrator, iar acest miracol se realizează doar prin modificarea token-ului de acces, nu prin înlocuirea SID-ului.
În al doilea rând, NT-AUTORITY și SISTEM nu sunt nici conturi, nici grupuri, în ciuda a ceea ce spun diverse alte surse (chiar și în interiorul Microsoft). Un SID are de obicei un nume care este afișat ori de câte ori este necesar. Un cont de utilizator va contribui cu SID-ul său ca SID principal la jetonul de acces, care va determina și numele afișat de diferite utilități. Dar jetonul de acces poate conține SID-uri suplimentare, de exemplu pentru toate grupurile cărora le aparține acel cont de utilizator. Când verifică permisiunile, Windows va căuta orice SID în jetonul de acces care are această permisiune.
Unele SID-uri Windows bine-cunoscute vor avea nume raportate de Windows, deși nu aparțin cu adevărat niciunui cont.
Contul LocalSystem este un cont local predefinit utilizat de managerul de control al serviciului. [...] Tokenul său include SID-urile NT AUTHORITY\SYSTEM și BUILTIN\Administrators; aceste conturi
au acces la majoritatea obiectelor de sistem. Se poate observa deja în textul de mai sus confuzia care domnește chiar și în documentația Microsoft în ceea ce privește SID-urile de sistem, care nu sunt
exact conturi sau grupuri - care sunt doar un set de permisiuni. Această confuzie se extinde și la alte utilități și articole, astfel încât orice informație returnată ar trebui examinată cu atenție.
Articolul Microsoft Identificatori de securitate bine-cunoscuți în sistemele de operare Windows detaliază toate SID-urile de sistem, dintre care unele le includ mai jos: Concluzie
: NT-AUTHORITY\SYSTEM este numele unui ID de securitate, care nu este nici un grup, nici un cont. Este afișat în Task Manager ca SYSTEM când este SID-ul principal al unui program. Cel mai mult l-aș numi „un pseudo cont”. ATENŢIE!!! ATENŢIE!!! ATENŢIE!!!VIERME PERICULOS!!! Simptome: Când lucrați în rețea, apare brusc un mesaj care vă informează că este necesar să opriți toate programele care salvează date deoarece... dupa 60 sec. va avea loc o repornire. Diagnostic: Viermele de rețea w32.Blaster.worm Viermele exploatează o vulnerabilitate găsită pe 16 iulie în serviciul RPC DCOM, care este prezentă în toate sisteme de operare Familiile de ferestre 2000, Windows XP și Windows 2003. Această vulnerabilitate este o depășire a buffer-ului, care este cauzată de un pachet TCP/IP elaborat corespunzător care ajunge la portul 135, 139 sau 445 al computerului atacat. Permite, cel puțin, să efectueze un atac DoS (DoS înseamnă „Denial of Service” sau „denial of service”, în acest caz, computerul atacat este repornit) și, la maximum, să execute orice cod în memoria computerului atacat. Când noul vierme se răspândește, atacă portul 135 și, dacă reușește, lansează programul TFTP.exe, cu ajutorul căruia își descarcă fișierul executabil pe computerul atacat. În acest caz, utilizatorului i se dă un mesaj despre oprirea serviciului RPC și apoi repornirea. După o repornire, viermele pornește automat și începe să scaneze rețelele accesibile de pe computer pentru computere cu portul deschis 135. Dacă sunt detectate, viermele lansează un atac și totul se repetă din nou. Mai mult, judecând după rata de răspândire în acest moment, viermele va ocupa în curând primul loc în listele companiilor de antivirus. Există trei moduri de a te proteja de vierme. În primul rând, buletinul Microsoft oferă link-uri către patch-uri pentru toți cei afectați versiuni Windows, reducând decalajul RPC (aceste patch-uri au fost lansate pe 16 iulie, așa că cei care actualizează regulat sistemul nu ar trebui să-și facă griji). În al doilea rând, dacă portul 135 este închis de un firewall, viermele nu va putea pătrunde în computer. În al treilea rând, dezactivarea DCOM ajută ca ultimă soluție (această procedură este descrisă în detaliu în buletinul Microsoft). Astfel, dacă nu ați fost încă atacat de un vierme, este recomandat să descărcați cât mai curând un patch pentru sistemul de operare de pe serverul Microsoft (de exemplu, folosiți serviciile Windows Update), sau configurați blocarea porturilor 135, 139 și 445 în firewall. Dacă computerul dvs. este deja infectat (și un mesaj despre Eroare RPCînseamnă în mod clar că este infectat), atunci trebuie să dezactivați DCOM (în caz contrar, fiecare atac ulterior va provoca o repornire), apoi descărcați și instalați patch-ul. Pentru a distruge viermele, trebuie să eliminați intrarea „windows auto update”="msblast.exe” din cheia de registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, apoi găsiți și ștergeți fișierul msblast.exe - acesta este corpul viermelui. Puteți citi mai multe despre procedura de eliminare a viermilor pe site-ul web Symantec. În momentul de față, nu toate antivirusurile detectează viermele, poți spera doar să te protejezi de ele după lansarea actualizărilor. Dacă nu ați primit încă un astfel de mesaj, descărcați corecții de la unchiul Bill: Aici sunt link-uri către medicamente pentru NT 4.0 și 2000, 2003 Server
EROARE DE AUTORITATE/SISTEM NT, Mesaj XP - cum să eliminați un virus
Dacă aveți versiunea în limba rusă, atunci asigurați-vă că schimbați limba înainte de a descărca. Câteva despre virusul în sine:
Ieri seară, după aproximativ 23:00, ora Moscovei, pe multe forumuri au început să apară mesaje despre comportamentul ciudat al Windows 2000 și Windows XP la accesarea rețelei: sistemul afișa un mesaj despre o eroare a serviciului RPC și necesitatea repornirii. După repornire, mesajul s-a repetat după cel mult câteva minute și nu a avut un sfârșit. Ancheta a arătat că epidemia noului vierme de rețea w32.Blaster.worm, care a început astăzi, este de vină. Viermele exploatează o vulnerabilitate găsită pe 16 iulie în serviciul RPC DCOM, care este prezent în toate sistemele de operare ale Windows. Familiile 2000, Windows XP și Windows 2003 Această vulnerabilitate este o depășire a memoriei tampon, care este apelată de un pachet TCP/IP compus corespunzător, care ajunge la portul 135, 139 sau 445 al computerului atacat. Permite, cel puțin, să efectueze un atac DoS (DoS înseamnă „Denial of Service” sau „denial of service”, în acest caz, computerul atacat este repornit) și, la maximum, să execute orice cod în memoria computerului atacat. Primul lucru care a provocat îngrijorare în rândul comunității rețelei chiar înainte de apariția viermelui a fost prezența unui exploit foarte ușor de utilizat (un program pentru exploatarea unei vulnerabilități), care de obicei duce la o situație în care oricine poate lua acest program. și începe să-l folosești în scopuri non-pașnice. Totuși, acestea erau flori... Când noul vierme se răspândește, atacă portul 135 și, dacă reușește, lansează programul TFTP.exe, cu ajutorul căruia își descarcă fișierul executabil pe computerul atacat. În acest caz, utilizatorului i se dă un mesaj despre oprirea serviciului RPC și apoi repornirea. După o repornire, viermele pornește automat și începe să scaneze rețelele accesibile de pe computer pentru computere cu portul deschis 135. Dacă sunt detectate, viermele lansează un atac și totul se repetă din nou. Mai mult, judecând după rata de răspândire în acest moment, viermele va ocupa în curând primul loc în listele companiilor de antivirus. Există trei moduri de a te proteja de vierme.
În primul rând, buletinul Microsoft conține link-uri către patch-uri pentru toate versiunile vulnerabile de Windows care închid defectul RPC (aceste patch-uri au fost lansate pe 16 iulie, așa că cei care își actualizează regulat sistemul nu ar trebui să-și facă griji).
În al doilea rând, dacă portul 135 este închis de un firewall, viermele nu va putea pătrunde în computer.
În al treilea rând, dezactivarea DCOM ajută ca ultimă soluție (această procedură este descrisă în detaliu în buletinul Microsoft). Astfel, dacă nu ați fost încă atacat de un vierme, este recomandat să descărcați cât mai curând un patch pentru sistemul de operare de pe serverul Microsoft (de exemplu, utilizați Servicii Windows Actualizați) sau configurați blocarea porturilor 135, 139 și 445 în firewall.
Dacă computerul este deja infectat (și apariția unui mesaj de eroare RPC înseamnă în mod clar că este infectat), atunci trebuie să dezactivați DCOM (altfel fiecare atac ulterior va provoca o repornire), apoi descărcați și instalați patch-ul.
Pentru a distruge viermele, trebuie să îl eliminați din cheia de registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run intrarea "windows auto update"="msblast.exe", apoi găsiți și ștergeți fișierul msblast.exe - acesta este corpul viermelui. Puteți citi mai multe despre procedura de eliminare a viermilor pe site-ul web Symantec. În momentul de față, nu toate antivirusurile detectează viermele, poți spera doar să te protejezi de ele după lansarea actualizărilor. Postat de AHTOH 17.08.2003 la 23:29:
VIERME PERICULOS! Autoritate Nt/Eroare de sistem
__________________ fac bine, fac bine...
|