co oznacza gwiazdka w pliku passwd?

14

Mam komputer, do którego muszę się uruchomić, ale hasła wydają się fałszywe. Ponadto nie mogę zamontować napędu do zapisu, a jest to procesor MIP, więc nie mogę go włożyć na inną maszynę, aby go uruchomić.

W każdym razie, plik passwd ma niektórych użytkowników, którzy wyglądają tak, z gwiazdką po nazwie użytkownika. czy to oznacza puste hasło czy co?

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
j0h
źródło
12
Pamiętaj, że opublikowałeś skróty hasła DES. Hasła DES są w dzisiejszych czasach dość łatwe do złamania. Nie podłączaj tego komputera do sieci, dopóki nie zmienisz hasła.
Gilles „SO- przestań być zły”
2
Polecam nie podłączając komputer do publicznego Internetu w ogóle , żeby być zupełnie szczery. Umieść go w zaporowej sieci na tyle długo, aby usunąć z niego dane, to jasne, ale potem powinien zostać wycofany. Jeśli system operacyjny jest tak stary, jak się wydaje, prawdopodobnie jest on pełen dziur w zabezpieczeniach jądra przy przewidywalnych początkowych numerach sekwencji TCP .
zwol
Hasło lpużytkownika jest absurdalnie słabe. A ponieważ hasła oparte na DES są ograniczone do ASCII i mogą mieć tylko 8 znaków, nie otrzymujesz więcej niż 53 bity entropii. Przełącz się na silniejszy skrót, jeśli możesz, i zmień hasła.
kasperd
Dodanie niektórych liczb do mojego poprzedniego komentarza: Mój laptop może złamać lphasło w 630 milisekund. rootHasło jest dużo silniejszy. Pozwoliłem na atak brutalnej siły przez pięć godzin, zanim go zakończyłem. Nie złamało roothasła w ciągu tych pięciu godzin. Ale oczywiście powinieneś nadal postępować zgodnie z poprzednią rekomendacją i zmienić hasło.
kasperd
dla przypomnienia znasz tę historię, że najpopularniejszym hasłem jest hasło? cóż, hasło1 nie może być daleko w tyle. naprawdę absurdalnie słaby.
hildred

Odpowiedzi:

22

Musisz sprawdzić man passwd :

Jeśli zaszyfrowane hasło jest ustawione na gwiazdkę (*), użytkownik nie będzie mógł zalogować się przy użyciu login (1), ale nadal może się zalogować przy użyciu rlogin (1), uruchomić istniejące procesy i zainicjować nowe poprzez rsh (1), cron (8), at (1) lub filtry poczty itp. Próba zablokowania konta przez zwykłą zmianę pola powłoki daje ten sam wynik i dodatkowo pozwala na użycie su (1).

Zwykle konta z *polem hasła nie mają hasła, np .: wyłączone przy logowaniu. Różni się to od konta bez hasła, co oznacza, że ​​pole hasła będzie puste i co prawie zawsze jest złą praktyką.

taliezin
źródło
13

Konta z hasłami to konta z globem bełkotu base64 w drugim polu:

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh

Wygląda na to, że ten komputer korzysta z tradycyjnego crypt(3)skrótu hasła opartego na DES . Ten skrót jest dość słaby jak na współczesne standardy; jeśli nie możesz uzyskać logowania do roota w jakikolwiek inny sposób, prawdopodobnie możesz odzyskać hasło za pomocą brutalnej siły, używając John the Ripper lub podobnego oprogramowania. Ponadto technicznie nie jest to base64, ale starsze, podobne kodowanie, ale prawdopodobnie nie musisz się tym martwić.

Rozróżnienie między innymi :*:i :!:wspomniane w innych odpowiedziach jest zbyt nowe, aby pasowało do twojego problemu. W starym systemie UNIX istnieją tylko trzy różne rzeczy, które mogą pojawić się w polu hasła:

alice::1001:1001:Alice Can Log In Without A Password:/home/alice:/bin/ksh
bob:WSy1W41d4D1Gw:1002:1002:Bob Must Supply A Password:/home/bob:/bin/ksh
carol:ANYTHING ELSE:1003:1003:Carol Cannot Log In At All:/home/carol:/bin/ksh

Jeśli zawartość pola hasła jest pusta, możesz zalogować się bez hasła.

Jeśli zawartość pola jest poprawnym cryptskrótem jakiegoś hasła, możesz zalogować się przy użyciu tego hasła.

W przeciwnym razie nie będziesz mógł zalogować się jako ten użytkownik. *jest zwykłą rzeczą do użycia - oczywiście nie jest poprawnym hasłem. Prawdopodobnie został wybrany przez każdego, kto napisał passwdprogram.

(Istotą posiadania identyfikatorów użytkowników w pliku haseł, którzy nie mogą się zalogować, jest to, że mogą oni nadal posiadać pliki, nadal mogą mieć cronzadania, a demony mogą używać setuidtej tożsamości. W rzeczywistości najlepszą praktyką jest uruchamianie wszystkich demonów (które nie muszą działać jako root) pod takimi identyfikatorami użytkowników, aby mieć pewien poziom pewności, że tylko demon działa pod tą tożsamością).

(Konta z /dev/nullpolem powłoki są zablokowane przed rootużywaniem sudo uruchamiania programów z tą tożsamością użytkownika, a także regularnym logowaniem. W dzisiejszych czasach istnieje większe prawdopodobieństwo, że zobaczysz /bin/falselub użyjesz /sbin/nologindo tego celu; podejrzewam, że w tym systemie ten drugi robi nie istnieje, a ten pierwszy jest skryptem powłoki).

(Hasło dla Boba to „bobpassw”, zaszyfrowane przy użyciu starego algorytmu, ale na nowoczesnej maszynie z systemem Linux; może nie być to, co komputer wytworzyłby dla tego samego hasła i soli. Jednym z powodów, dla których stary algorytm nie jest uważany za dobry nie ma już twardego górnego limitu 8 znaków w haśle).

(Wiem, że system jest naprawdę stary, ponieważ używa haszowania haseł opartego na DES, ponieważ nie używa pliku cienia i ponieważ powłoka roota jest /bin/kshraczej nowsza i bardziej ergonomiczna).

zwol
źródło
Myślałem, że hasło boba wcale NIE przerobiło formy.
Joshua
@Joshua Naprawił to teraz :)
zwol
Jeśli będzie musiał uruchomić komputer, czy nie byłoby szybsze uruchamianie w trybie odzyskiwania lub uruchamianie z dysku CD / DVD na żywo z USB i zmiana hasła na inne niż przy użyciu programu ripper?
YoMismo,
@YoMismo Komputer tak stary (zgaduję, że pochodzi z początku lat 90.) może nie mieć trybu odzyskiwania. Prawdopodobnie ma możliwość rozruchu z jakiegoś nośnika wymiennego, ale znalezienie rozruchowej płyty CD lub taśmy lub czegoś innego może być dość trudne. Nowoczesny liveCD na pewno nie zadziała.
zwolnienie
@zwol Chciałbym uruchomić system z aktualną dystrybucją i chrootem do jego starego systemu, najprawdopodobniej passwdnie musiałbym mieć zamontowanego --bind / dev / sys ....
YoMismo
8

Oznacza to, że jest wyłączone dla bezpośredniego logowania. Jest to użytkownik używany do uruchamiania usług lub do rlogin. Sprawdź https://en.wikipedia.org/wiki/Passwd#Password_file

Marco
źródło
Ten komputer jest dość stary. Nie byłem pewien, czy znaczenie zmieniło się z czasem.
j0h
@WouterVerhelst: Logowanie jest wyłączone. Nie jest wyłączone dla rlogin. Musisz przyjrzeć się bliżej odpowiedzi.
Brian
Zmieniłem odpowiedź. Mam nadzieję, że teraz jest bardziej poprawny dla @WouterVerhelst.
Marco
3

O swoim aktualnym pytaniu zobacz odpowiedź taliezina (i zaakceptuj to;)

O innym twoim problemie: Wyszukaj ciąg 8sh9JBUR0VYeQ na dysku, aby dowiedzieć się, w jakich blokach dyskowych on znajduje się. Następnie dodaj te bloki dyskowe do pliku, zamień ten ciąg na znany skrót hasłowy (stara krypta) () o tej samej długości) i zapisz bloki dysku z powrotem do starej lokalizacji - prawdopodobnie wcześniej wykonując pełną kopię zapasową dysku. Ponieważ takie podejście nie zmienia rozmiaru pliku, nie trzeba aktualizować metadanych systemu plików.

Bodo Thiesen
źródło