섀도우 파일에 해시가 있는데 비밀번호가 없나요?

섀도우 파일에 해시가 있는데 비밀번호가 없나요?

매우 이상한 일이 일어났습니다.

HASH를 가진 사용자가 있습니다:

[root@notebook /home/username/Desktop/b/a] cat passwd-machine 
foo:x:2229:3001:,,,System,fooo,-,userid for bar;foobar:/home/foo:/bin/bash
[root@notebook /home/username/Desktop/b/a]

[root@notebook /home/username/Desktop/b/a] cat shadow-machine 
foo:$1$9TGbA/j3$qxBpCtr2C3VIKcwcvniQi1:16368:1:90:7:::
[root@notebook /home/username/Desktop/b/a]

[root@notebook /home/username/Desktop/b/a] john -show *
foo::16368:1:90:7:::

1 password hash cracked, 0 left
[root@notebook /home/username/Desktop/b/a] 

[root@notebook /home/username/Desktop/b/a] cat ~/.john/john.pot 
$1$9TGbA/j3$qxBpCtr2C3VIKcwcvniQi1:
[root@notebook /home/username/Desktop/b/a]

[root@notebook /home/username/Desktop/b/a] cat -vte ~/.john/john.pot 
$1$9TGbA/j3$qxBpCtr2C3VIKcwcvniQi1:$
[root@notebook /home/username/Desktop/b/a] 

하지만! :그렇군요...해시에 할당된 비밀번호가 없는 것 같습니다!

데스크탑의 /etc/passwd에 "passwd-machine" 파일 내용을 추가하고 /etc/shadow에 "shadow-machine" 파일을 추가하면. 그런 다음 일반 사용자 비밀번호 없이 "su - foo"를 수행할 수 있습니다.

어떻게 이런 일이 일어날 수 있습니까? 주어진 사용자 "foo"는 해시 값을 가지고 있습니다.

하지만... 비밀번호가 없는 것 같습니다... 비밀번호 없이 해당 사용자에 로그인할 수 있다면 어떻게 해시가 있을 수 있을까요? 누군가 이것을 설명할 수 있나요? 이것을 구글링하기가 어렵습니다 :\

답변1

이는 실제로 빈 비밀번호의 md5 기반 해시입니다.

$ mkpasswd -m md5 -S 9TGbA/j3 
Password: 
$1$9TGbA/j3$qxBpCtr2C3VIKcwcvniQi1
$ 

관련 정보