John을 사용하여 취약한 비밀번호를 해독해 보세요.

John을 사용하여 취약한 비밀번호를 해독해 보세요.

나는 1990년대 컴퓨터를 가지고 있습니다. Linux에서 쓸 수 없는 (범위가 지정된) EFS 파일 시스템이 있으므로 비밀번호를 수동으로 재설정할 수 없습니다. 그래서 비밀번호를 풀어야 해요. 이를 위해 나는 John the Ripper를 시도했습니다.

me2 파일에는 원래 /etc/passwd 파일의 항목이 있습니다: root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh

다른 스레드의 일부 사람들은 이것이 DES 암호일 수 있다고 제안했습니다.

그래서 저는 이 컴퓨터에 다시 접속할 수 있도록 이 비밀번호를 해독하려고 합니다.

sudo john me2
Loaded 1 password hash (descrypt, traditional crypt(3) [DES 128/128 SSE2-16])
Press 'q' or Ctrl-C to abort, almost any other key for status
Warning: MaxLen = 13 is too large for the current hash type, reduced to 8

경고를 보고 그것이 무엇을 의미하는지 알고 싶습니다. 나는 존 더 리퍼를 몇 시간 동안 달리게 한 뒤 돌아왔다. 계속 그런 일이 벌어지고 있는 것 같았는데... 뭔가 문제가 있는 게 틀림없다고 생각했어요.

답변1

귀하의 루트 비밀번호는 입니다 qwer134.

% /usr/sbin/john --show pwdfile 
root:qwer134:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:passwd1:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp:NO PASSWORD:10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico

3 password hashes cracked, 0 left

John이 루트 비밀번호를 찾는 데 2.5일이 걸렸으며 아마도 더 오래 걸릴 것입니다. 해시가 실제로 일치하는지 확인하기 위해 비밀번호를 암호화할 수 있습니다.

% perl -le 'print crypt("qwer134", "8s")' 
8sh9JBUR0VYeQ

답변2

비밀번호가 해시되었습니다.기존 DES 기반 접근 방식. 이 방법은 그다지 나쁘지 않습니다. 해시에서 직접 비밀번호를 찾을 수 있습니다. 즉, 올바른 비밀번호를 찾을 때까지 비밀번호 해시를 계산하는 무차별 대입이 필요합니다. 이 해싱 방법의 단점은 해시 계산이 상대적으로 빠르며 비밀번호가 8자로 제한된다는 것입니다(그리고 솔트가 너무 작습니다). 이것존 벤치마크코어당 초당 약 600만 개의 작업이 수행됩니다.

사람이 선택한 대부분의 비밀번호는 초당 600만 번이면 거의 즉시 해독될 수 있습니다. 그러나 인쇄 가능한 모든 8자 비밀번호 중에서 무작위로 비밀번호를 선택하면 대략 6.7×10 15 개의 비밀번호가 가능하며, 이는 누적 CPU 시간이 약 12,800일임을 의미합니다.

EFS라는 이름의 많은 파일 시스템 중 어느 것인지 지정하지 않았습니다. 대부분의 파일 시스템에서는 파일이 압축되거나 암호화되지 않은 한 디스크 이미지의 파일 내용을 검색할 수 있습니다. 파일 시스템 구조를 이해하지 않고 파일을 수정하는 것은 바이트를 내부에서 변경하고 파일 크기를 동일하게 유지하지 않는 한 작동하지 않을 것입니다. 따라서 파일이 압축되거나 암호화되지 않았다고 가정하면 다음을 수행할 수 있습니다.

  • Linux 또는 다른 Unix 변형을 실행하는 컴퓨터에 디스크를 삽입합니다.
  • 디스크 이미지의 복사본을 만듭니다. 이는 중요합니다. 실수를 하면 원본 데이터를 복구할 수 없게 될 수 있습니다.
  • passwd바이너리 도구를 사용하여 디스크 이미지에서 파일 내용을 찾습니다. 바라보다블록 장치에서 찾기/바꾸시겠습니까?
  • root:8sh9JBUR0VYeQ:알고 있는 비밀번호의 해시와 동일한 길이의 문자열로 바꾸세요 . perl -le 'print crypt("swordfis", "aa")'비밀번호 해시를 생성하는 데 사용할 수 있습니다 swordfis.

또는 물리적으로 액세스할 수 있는 경우 컴퓨터에서 일반 부팅 프로세스를 우회할 수 있는 방법을 제공할 수도 있습니다.

관련 정보