前言
我們在用Metasploit進行滲透測試時經常會遇到這樣的情況,已經成功執行了Payload,但始終獲取不到會話。這篇文章就來給大家講一下獲取不到會話的一些常見原因,已經知道了問題所在,至于要怎么解決就看大家自己的了,該繞的繞,該免殺的免殺!
一般常見情況有:
1、直接獲取不到會話;
2、獲取到會話后自動斷開;
3、獲取到會話但是卡住不動了。
(1) 快速判斷Metasploit會話完整性
如果直接通過瀏覽器訪問監聽IP:Port,或者是在獲取會話的過程中按Ctrl+C鍵強制結束掉了,這時我們獲取到的會話可能都是不完整的,即使成功得到了會話,進去之后會發現很多命令都執行不了。 這時可以通過session命令來快速判斷我們得到的會話完整性,如果“Information”列中為空白則是不完整,反之則完整。
(2) Payload與目標系統架構不一樣
這里說的系統架構不一樣是因為我們生成的Msf Payload是x64,而目標系統是x86,在執行Payload過程中會出現“不是有效的Win32應用程序”報錯,所以無法獲取到會話。 這種情況一般出現在XP/2003機器上,不過x86的Payload可以在x64上成功運行,不存在兼容性問題。
(3) Payload與監聽模塊設置不一樣
我們生成的Msf Payload是x86的,但是在handler監聽模塊里設置的Payload為x64時就會出現這種會話自動斷開的情況。 不過在這種情況下如果Payload是可執行的,我們只需要將handler監聽模塊里設置的Payload改為對應的x86即可解決。 重點注意:
1、目標系統架構;
2、Msfvenom生成Payload;
3、handler監聽模塊Payload。
(4) 目標配置系統防火墻出入站規則
有時會遇到這樣的情況,即使我們生成的Msf Payload、handler監聽模塊Payload和目標系統架構都是相對應的,但在執行Payload時仍然獲取不到會話。
這可能是因為目標已開啟Windows自帶防火墻并設置了出入站規則,也有可能是被其它流量監測類的安全設備所攔截,可以通過netstat -ano命令來查看我們執行的Payload與目標機器建立的網絡連接狀態是否為SYN_SENT?
SYN_SENT的幾種常見情況:
1、MSF里沒有監聽;
2、Windows系統防火墻;
3、其它的安全設備等。
(5) VPS配置系統防火墻出入站規則
記一次與朋友@Sin在他的Centos VPS上做測試時發現獲取不到會話,在經過排查之后發現問題出在“寶塔防火墻”,其實也就是Centos自帶防火墻,在寶塔安裝過程中會自動配置系統防火墻,默認規則只允許特定端口能出網:21、22、80、8888,如下圖。
解決方案: 在寶塔控制面板中沒有找到關閉防火墻的相關設置選項,只能設置放行端口,不過我們可以使用以下命令來關閉Centos自帶防火墻,或者使用默認規則中的放行端口進行bind_tcp正向連接即可成功獲取會話,可通過這個文件來查看防火墻規則(/etc/firewalld/zones/public.xml)。
1、查看防火墻狀態:firewall-cmd --statesystemctl status firewalld.service 2、開啟防火墻:systemctl start firewalld.service 3、臨時關閉防火墻:systemctl stop firewalld.service 4、永久關閉防火墻:systemctl disable firewalld.service 5、查看所有放行端口:firewall-cmd--list-port
(6) 反病毒軟件特征查殺或流量檢測
在上傳、執行Payload文件時可能會被反病毒軟件的特征、行為、內存、流量檢測并查殺,筆者本地測試發現當我們把火絨“黑客入侵攔截”或賽門鐵克“Enable Network intrusion prevention”開啟后再執行Payload時就會出現發送stage到目標,但無法建立一個完整的會話回來,關閉后就能立即獲取到目標會話,關于免殺和繞過不在本節討論范圍內。
特征查殺:上傳的Payload以及各種惡意PE文件直接會被攔截并查殺(360殺毒)
流量檢測:成功執行Payload并發送stage到目標,但一直卡著不動(ESET NOD32)
(7) IIS應用程序池-啟用32位應用程序
以往的滲透滲透過程中遇到過在瀏覽器訪問Metasploit的Aspx Payload秒解析,但是沒能獲取會話的情況。 這可能是因為目標機器的IIS應用程序池中設置了“啟用32位應用程序”選項為True或False了,可以嘗試換到x86/x64的Payload再試試看。
當“啟用32位應用程序”選項為True時Aspx Payload 32可以獲取會話,64無法獲取會話。
當“啟用32位應用程序”選項為False時Aspx Payload 64可以獲取會話,32無法獲取會話。
編輯:hfy
-
防火墻
+關注
關注
0文章
417瀏覽量
35608 -
瀏覽器
+關注
關注
1文章
1022瀏覽量
35330 -
PayLoad
+關注
關注
0文章
5瀏覽量
6963
發布評論請先 登錄
相關推薦
評論