0. 패스워드 크래킹 사전작업
1) IOphtcrack 7 설치
2) ophcrack 설치
3) 레인보우 테이블 다운로드
4) 환경 설정
윈도우 서버 2016에는 암호의 복잡도가 일정 수준 이상이기 때문에, 원활한 실습을 위해 이 설정을 해제하기로 하자.
[제어판] - [관리 도구] - [로컬 보안 정책] - [계정 정책] - [암호 정책]
'암호는 복잡성을 만족해야 함' 속성 - '사용 안 함' 으로 설정
5) 테스트 계정 생성 및 패스워드 설정
패스워드 크래킹에 사용할 계정과 패스워드를 생성해보자.
[컴퓨터 관리] - [로컬 사용자 그룹] - [사용자] 에서 설정
계정과 패스워드는 다음과 같이 설정해주었다.
계정 | 패스워드 |
test01 | 1234 |
test02 | qwer1234 |
test03 | QwEr1234 |
test04 | QwEr!2#4 |
test05 | !@wq4 |
test06 | 2b567gho |
01. 무작위 대입 공격을 이용한 패스워드 크래킹
1) IOphtcrack 7 기본 설정
1️⃣ 어떤 소스로부터 해시를 추출할 지에 대한 옵션 선택
가상머신 내에서는 local이 방금 우리가 생성한 계정들이 될 것이다.
-> 관리자 권한이 필요하기 때문에, 처음에 관리자 계정으로 로그인해야 한다!
2️⃣ 어떤 타입을 감사(audit)할 것인지 선택
- Quick Password Audit
- 일반적인 조합으로 생성된 사전 - 사전 대입 공격 수행
- 사전 : 사전파일(wordlist-medium.txt) , 253425 단어, 길이 제한 X, 최대 1시간
- Common Password Audit
- 알파벳 + 공백 무작위 대입 공격(brute-force attack) 1시간 수행 후 -> 사전 대입 공격 수행
- 무작위 대입 공격(brute-force attack)에 대한 조건 : Letters, numbers, 7 character limit, 1 hour maximun.
- Thorough Password Audit
- Common Password Audit 에서 brute-force attack에 대한 조건 완화 : Letters, numbers, symbols, 10 character limit, 6 hour maximum.
2) IOphtcrack 7 설정 후 실행 결과
- test01, test02, test03, test04의 계정이 크랙된 것을 확인할 수 있다.
- Status) Speed : 성능 / Current Guess : 어떤 단어부터 어떤 단어까지 패스워드 크래킹을 할 수 있는지 시시각각 바뀜
02. 레인보우 테이블을 이용한 패스워드 크래킹
1) NTML 해시 파일 저장
- NTML 해시를 다른 툴에서 읽을 수 있도록 아래 사진과 같이 pwdump 파일 형식으로 바꾸어 NTML_hash.txt. 파일로 저장하자.
※ 형식) Username:UserID::NTML Hash:::
2) ophcrack 및 레인보우 테이블 다운로드
※ 0. 패스워드 크래킹 사전작업에서 완료한 단계.
➡️ ophcrack 툴을 다운로드한 웹사이트에서 'Vista Special' 테이블을 다운로드하자.
⚠️ 참고) 어떤 레인보우 테이블을 사용하느냐에 따라 크래킹할 수 있는 패스워드 set이 달라진다!
➡️ vista_special 테이블을 통해 크래킹할 수 있는 범위는 위에서 확인할 수 있다.
3) VIsta Special 레인보우 테이블을 VM에 카피 후, ophcrack 실행
1️⃣ 다운로드한 레인보우 테이블 폴더 위치를 지정한다.
2️⃣ Load - PWDUMP file - NTML_hash.txt를 불러온다.
3️⃣ 이후, Crack을 해보자.
- test03 not found 된 이유 : 패스워드) QwEr1234로, mixedalphnum에 해당 - Vista Special 테이블은 7자리 이내 크랙 가능
- test04 not found 된 이유 : 패스워드) QwEr!2#4로, special에 해당 - Vista Special 테이블은 6자리 이내 크랙 가능