엄범


Windows 설치 시 SYSTEM권한으로 실행되기 때문에 파일 시스템에 접근만 가능하다면 모든 파일을 얻어낼 수 있다.

따라서 대상 시스템에 로컬 접근이 가능하다면 부팅디스크와 외부저장매체를 이용해 windows의 SAM, SYSTEM 파일을 얻어내서 크랙할 수 있다.

사실 로컬 접근이 가능하면 하드를 아예 가져가서 분석해도 되는거겠지만, windows 패스워드를 잊었거나 특정 파일만 얻어내고 싶을 때 유용하게 사용할 수 있다.

ophcrack이라고 windows password crack이 아예 LiveCD로 나온 것도 있기는 한데, 이도 rainbow table 기반이라 결국 table에서 매치되는게 없으면 brute force로 넘어가게 돼서 처음에 매치 안되면 굉장히 느리다.

반면 직접 SAM을 얻어내어 크랙하는 경우 wordlist나 rule을 이용할 수 있으므로 약간의 단서만 있어도 패스워드를 빠르게 찾아낼 수 있다.



SAM & SYSTEM file 획득

부팅디스크를 넣고 하드를 연결한다.




바이오스 적당히 세팅하고 부팅해서 설치페이지로 넘어온다.

연결한 하드를 사용하기 위해 포맷해주어야 한다. 포맷 안하면 인식이 안된다.




Shift + F10 을 누르면 CMD가 실행된다.

그냥 command line으로 해도 되지만 클립보드를 이용해 복붙하면 편하니까, notepad를 이용해 파일 탐색기를 열었다.

그 후 SAM과 SYSTEM 등이 있는 config 폴더를 복사해 연결한 하드 E:에 붙여넣기했다.



crack 대상 시스템에 연결했던 하드를 분리해서 내 시스템에 연결한다. VMware라 그냥 vmdk만 붙이면 끝이다.



이런식으로 SAM과 SYSTEM을 획득할 수 있다.




windows password crack

  1. rainbow table

  2. wordlist

  3. brute force

순으로 진행한다.



먼저 SYSTEM을 이용해 SAM의 암호화를 풀어 password의 hash를 얻어내야한다.

2016/10/14 - [System/Windows] - Windows Authentication [ SAM ]

pwdump7을 사용했다.


얻어낸 NTLM hash를 (NTLM decryptor같은) rainbow table에 조회해본다.

매치가 안되는 경우, wordlist와 brute force 말고는 딱히 방법이 없다.

crack tool로 john the ripper를 이용하기로 했다.


8자리 이하의 패스워드일 경우 

짧은 패스워드는 단순히 brute force로 돌려도 몇분 내로 해결된다.



8자리 이상의 특수문자가 포함된 패스워드 일 경우

그냥 brute force하기에는 너무 오래걸린다.


패스워드의 일부를 알고있는 경우 wordlist와 rule을 이용해 시간을 많이 단축시킬 수 있다.

패스워드에 dbrqlath가 들어간다는 것을 알아냈다고 가정하자.

wordlist에 dbrqlath를 추가하고 적당히 rule을 주었더니 바로 패스워드가 나온다.