Haslas NT - lamanie.txt

(7 KB) Pobierz
HasłaNT

 

Lokalne łamanie hasła

Zdobycie pliku SAM

"...Pierwszym krokiem procesu łamania hasła jest zdobycie pliku, który będzie je zawierać - w przypadku systemów z rodziny NT będzie to plik SAM.

NT przechowuje dane Menadżera kont zabezpieczeń w pliku o nazwie SAM, który znajduje się w katalogu  %systemroot%\system32\config...".

 

-Uruchomienie komputera z innym systemem operacyjnym

"...Uruchomienie komputera z innym systemem operacyjnym jest tak proste jak utworzenie  DOS-owej dyskietki systemowej, zawierającej narzędzie copy. Jeśli wybrany na cel komputer używa partycji sformatowanych z systemem plików NTFS, to potrzebny będzie sterownik tego systemu plików. Nosi on nazwę NTFSDOS i udostepnia go firma www.sysinternals.com ..."

Można też użyć którąś wersje live linuksa, np. hakin9

 

-Pobieranie zaszyfrowanych haseł bezpośrednio z pliku SAM

"...Mając uprawnienia administratora, możemy w prosty sposób przenieść zaszyfrowane hasła z rejestru bezpośrednio do formatu przypominającego UNIX-owy plik /ecs/passwd...". Kiedyś używało się narzędzia pwdump. Nowsze narzędzia typu LCx, LOphtcrack lub PWSEX mają wbudowana tą funkcje. Dzisiaj już są dostępne narzędzia w sieci, które są w stanie pokonać ulepszone kodowanie SYSKEY pliku SAM.

Mając zaszyfrowane hasła systemu NT lub 2k które nie wykorzystują ulepszonego kodowania SYSKEY możemy w prosty sposób  rozkodować hasła. "...Najistotniejszą słabością szyfrowania LM jest podzielenie hasła na dwie 7-zankowe połowy. Tak więc 8-znakowe hasło może być interpretowane jako hasło siedmio znakowe i hasło jedno znakowe..." "...Weźmy na przykład 12-sto znakowe "123456Qwerty" Podczas szyfrowania za pomocą algorytmu LanMan, hasło jest najpierw przekształcane do dużych liter - "123456QWERTY". Następnie uzupełniane jest pustymi znakami, tak aby miało długość 14 znaków - "123456QWERTY_". Przed zaszyfrowaniem ten 14-sto znakowy ciąg dzielony jest na dwie połowy "123456Q" i "WERTY_". Każdy ciąg jest następnie niezależnie szyfrowany, a wyniki są ponownie łączone. Zaszyfrowana warość ciągu "123456Q" to 6BF11E04AFAB197F, a wartość "WERTY_" to 1E9FFDCC75575B15. Połączona wartość to   6BF11E04AFAB197F1E9FFDCC75575B15...".

Kodowanie pliku SAM algorytmem SYSKEY zostało wprowadzone po opublikowaniu pakietu Service Pack 2. SYSKEY tworzy 128-bitowy klucz kodowania hasła, który stanowi znaczne ulepszenie w stosunku do 40-bitowego zastosowanego domyślnie...." W systemie XP domyślnie jest już kodowanie pliku SAM algorytmem SYSKEY. "...W przypadku kodowania SYSKEY, hasła po zaszyfrowaniu są kodowane za pomocą klucza systemowego, który może być przechowywany lokalnie i opcjonalnie zabezpieczony hasłem..." Można też "...zachować klucz uruchomieniowy na dyskietce...".

Dzisiejsze wersje programów LCx, PWSEX lub pwdump2 pokonują kodowanie SYSKEY i nie ma problemu z tak zaszyfrowanym hasłem. "...pwdump2 musi być uruchomiony w przestrzeni procesu na wybranym na cel komputerze...", i wymagana jest biblioteka samdump.dll (dostarczona wraz z programem). Innymi słowy program musi być uruchomiony z uprawnieniami konta administratora.

Więc jeśli masz zdalny lub lokalny dostęp do shella jakiego komputera i posiadasz uprawnienia administratora to wystarczy użyć jednego z wyżej wymienionych programów. Często wystarczające uprawnienia posiadamy jeśli wykorzystamy któregoś z dostępnych exploitów, które wykorzystują jedną ze znanych luk systemów NT. Wtedy programem pwdump2 możemy pobrać zaszyfrowane hasła i zapisać je do pliku. Tak pobrany plik wczytujemy do programu LCx lub PWSEX (polecam) i proces łamania hasła możemy rozpocząć. Mając bezpośredni dostęp do systemu i odpowiednie uprawnienia możemy od razu włączyć np. program PWSEX i zacząć łamanie hasła.

Jeśli nie mamy uprawnień administratora, tylko na lokalnym systemie posiadamy konto ograniczonego użytkownika warto sprawdzić czy możemy przeglądać katalogi administratora. Jeśli mamy taką możliwość wystarczy do autostartu administratora wstawić plik wsadowy za pomocą którego dodamy naszego użytkownika do grupy administratorów. Dzięki temu będziemy mogli zainstalować i uruchomić program np. PWSEX i przeprowadzić szybkie łamanie hasła. Przykład:

echo
net localgroup administratorzy user /add
exit

Jeśli wstawimy tylko taki plik wsadowy do autostartu to przy starcie systemu na dosłownie ułamek sekundy mignie konsola cmd. Żeby tego uniknąć proponuje zastosować program hideex.exe, który jest dostępny w downloadzie. W przeciwnym wypadku administrator na pewno szybko zorientuje się że coś jest nie tak.

 

Zdalne łamanie hasła

po enumeracji

Jednym z lepszych programów do przeprowadzenia rekonesansu, skanowania, i enumeracji jest Languard. Na filmach "net use" jest przykład wykorzystania tego programu. Za pomocą tego programu możemy też odszukać odpowiedni system w sieci, w naszym przypadku 2k. Edit > Sort Computers > i zaznaczamy by Operating system. Następnie na ikonie New Scan zaznaczamy skanowanie że chcemy skanować zakres adresów IP i podajemy zakres. Tak przeprowadzone skanowanie zapisujemy do pliku html i po otwarciu mamy posortowane komputery według systemów. W dalszej kolejności zajmujemy się juz tylko jednym z komputerów który posiada system 2k. Możemy w tym celu wykorzystać program enum, nbtscan, nbtstat, nmap, fscan i wiele innych. Jest jeszcze taka opcja w languardzie jak Null Session, jest to równoznaczne z net use \\192.168.x.x\ "" /u"" Pusta sesja. Jeśli komputer pozwala nawiązać takie połączenie wyniki skanowania mogą być jeszcze bardziej owocne.

Po udanym rekonesansie i skanowaniu kiedy przeprowadziłeś prawidłowo enumeracje i masz wszystko co ci potrzebne, czyli IP, nazwę hosta, nazwy użytkowników, otwarte porty w systemie, dostępne usługi, dostępne udziały share$ możesz przystąpić do zdalnego łamania hasła. Ja opisze zdalne łamanie przy wykorzystaniu zasobów systemu który posiadam (XP prof).

System do którego staram się złamać hasło to 2k, z udziałami C$ i IPC$

w tym celu wykorzystam pętle "for" - for /F "tokens=1*" %i in (hasla.txt) do net use \\192.168.x.x\c$ %i /u:administrator oczywiście wcześniej muszę zrobić plik hasła.txt w którym będą hasła wstawiane zamiast zmiennej "%i". Zanim przystąpisz do tego łamania warto sprawdzić poleceniem net use \\192.168.x.x\c$ "" /u:Administrator lub net use \\192.168.x.x\c$ "" /u:jakiś_inny_user (po udanej enumeracji powinieneś znać inne nazwy kont), czy któreś z kont nie posiada pustego hasła. Zostało to pokazane na filmach "net use". Jeśli nie udało się połączyć tzn. że hasło zostało ustanowione i przechodzimy do kroku z pętlą. Pętla ta wstawia z pliku z hasłami zamiast zmiennej "%i" kolejno hasła do polecenia "net use". Możemy przekierować odgadnięte hasło do innego pliku za pomocą: 1>>nul && echo pass: %i >> udalosie.txt powinno to wyglądać tak:

for /F "tokens=1*" %i in (hasla.txt) do net use \\192.168.x.x\c$ %i /u:administrator 1>>nul && echo pass: %i >> udalosie.txt

W ten sposób odgadnięte hasło będzie się znajdować w pliku udalosie.exe Kluczem do sukcesu jest odpowiedni plik z hasłami. Dla lepszego zrozumienia tego przykładu można poczytać trochę w pomocy systemowej o "for" "nul" "echo".


 

 

Inne FAQ na ten temat:

http://www.it-faq.pl/EditModule.aspx?tabid=583&mid=1249&def=Cs_ITSCS_CMS_Articles_View&ArticleID=1105

http://www.it-faq.pl/EditModule.aspx?tabid=583&mid=1253&def=Cs_ITSCS_CMS_Articles_View&ArticleID=1300

 
Zgłoś jeśli naruszono regulamin