作者:iceskysl
(原文在《黑客X档案》已经刊登) 凡是接触黑界的朋友都知道WINSHELL吧!这可是大名鼎鼎的后门哦!它的主要的特点就是个头小,功能齐全,但是它唯一的不足就是它不提供反弹连接,这在我们去拿装有_blank">防火墙的主机的权限时候就觉得力不从心了,明明是把5277打口打开了,却连接不了,这是最郁闷的事情,于是乎,我们就到处寻找个头小,又可以反弹连接的木马,或者是后门。但是找到的要不就是太大,要不就是不可以反弹连接,直到一天,笔者以前就看过Theta的简介,它的名气也很大,被界内的人称为国外的WINSHELL,呵呵~功能很是了得啊,但是Theta 1出来的时候也没有反弹连接的功能,而且也没有密码保护的功能,虽然它的个头也比较的小,但是当时和我们的国产的WINSHELL比,还是比不赢啊!前几去Theta的作者grirai的主页上看时,发现已经推出了Theta 2,赶忙下载下来,看了它的英文简介,吓我一跳啊!功能太强大了,把他的使用方法研究了一下,发现这个小个子的后门真的很好用,不敢独享,写出来和大家分享。写的很详细,主要是针对新手的,高手可以跳着看重点就好了,不要见笑! Theta 2的新特点: Theta 2新增了反弹连接的功能,改进了Theta 1的一些句柄和内存泄露的错误,(这个地方我原来一直搞不明白作者是说什么,幸亏s1eky指点,在这里谢谢s1eky了)新增加密码保护功能,把Theta 1的CGI通知上线方式改为PHP方式。Theta 2很小,客户端就33.3Kb(包括加壳的工具FSG),生成的服务端就只有6.4K,作者说要不是因为要支持9*的系统,那服务端可以做的更小,估计只有4K左右,它可以提供所有的DOS下的功能,它只有一个服务端,运行后就注入到别的进程了,(NT系统注入到"winlogon.exe"中,非NT的系统注入到"systray.exe"中)所以它还有一个比WINSHELL要好的功能就是可以隐藏进程,另外这么小的后门还支持反弹连接是我觉得最出彩的地方,听上去很强吧。不要着急,先看图1是它的客户端的界面,和WINSHELL真的很像是吧!具体配置和使用我下面会慢慢讲到的。 _blank>_script_:if(this.width>500)this.width=500" border=0> 图1 _blank>_script_:if(this.width>500)this.width=500" border=0> 图2 Theta 2的配置:我们下载下来的压缩包就有服务端生成器,用MD5检测它的MD5散列是:69B776EC9F94ADB0D9E2AD11602C97B5,如果你检测到的散列不对的话,那说明你下的软件被人修改了,或者感染了别的什么东西,反正就不是原来的那个了,你最好是删点它,去作者的主页去下载,或者在光盘里找到它。它的服务端由客户端直接生成,这和WINSHELL差不多吧!下面结合图2,我来详细的讲下它的配制的各个项的意思和要注意的事件。 General Settings: “Server File”:这就是文件的名字,它在注入的时候就是以这个名字的形式把自己放在系统盘里的,随便填写,最好是可以和系统原来就有的一些文件很相似,这样可以更好的隐藏自己,但是要注意不要写的和系统原来就有的文件一样,这样的话,在它运行的时候它会把原来系统的文件修改或者覆盖掉会使得原来的系统文件不能正常工作,当然这是我们不想要的。我在这里写的是thServer.exe。 “Port”:这是后门运行后在主机上监听的端口,原则上是随便填的,但是作者说最后是填大一点的端口,这样的话,我们好认识我们设置的端口,还有就是不要担心你填的端口和主机的在用的端口会冲突,要是真的冲突的话,后门自己会选择一个没有用的端口来监听,当然它会想办法通知你了,具体是用什么办法通知你,我们在后面会说到。我这里用的是51000。 “Server ID”:后门的标识,你可以任意的设置,最好是你自己可以认出,当你连接的时候,或者在后门通知我们的时候,你可以认出这是你的后门。但是也不要太有个性,免得被发现哦!大家看图2,我用的是theta,当然你可以自己填咯。 “Registry Key”:大家一看就知道,一旦这个后门运行后,在注册表了填加了这个名字后,后门就不能删去了,具体的删除的办法我后面会讲到,是在注册表里添加的项的名字,你可以随便取,最好有点欺骗的名字会更好的。我主要是演示给大家看,随便设置的是ThServe了。 “Password”:这是theta 2新加的功能,原来的theta 1是没有密码保护功能的,在这里你可以任意设置后门的连接密码,当然要是你不想要密码的话,留着空的就行了!我在这里设置的是1234567890。 “Automatically start with Windows, and lock server file” :这是个复选框,就像名字说的那样,它可以防止文件或者在注册表里添加的项被删掉,同时使的后门随着系统的启动而启动。也许你要问,要是我们把文件和注册表里的项删掉的话,那后门还会运行吗?呵呵!其实在注册表里或者在系统盘里的文件并不是后门的真正在运行的,后门运行的是另外的进程,那已经注入到别的进程里了,所以呢,就是被删掉也没有关系的。这里要说明的是,要是你在自己的机子上做实验或者说你不想让后门以后再启动了,那就别选,或者,你就选上吧!选上后我们也可以也可以连接的时候卸掉它的,具体方法后面回讲到,不要担心。 Connection Settings:(连接设置) “Direct Connection”:直接连接选项设置,主要是应用在主机的IP是公网的IP,或者你想连接的机子和你在同一个局域网里,也就是你可以找到它的IP的话,而且主机没有_blank">防火墙的情况下使用的,这里不需要设置什么,记得我们前面设置“Port”吗,这就是我们设置的后门监听的端口,我们连接的时候也是直接连接就行了,这里我没有选。 “Reverse Connection”:反弹连接选项。我认为这就是这个后门最出彩的地方,要是主机用了代理或者在局域网里的话,就算他中了我们的后门,我们也在网络上找不到他们的IP的时候,当然我们用的最多情况是主机有_blank">防火墙,不允许我们连接它的时候,这是我们就需要这个设置了,让它来找我们。我这里用这个反弹连接来演示的,当我们选上这个单选框的时候,上面设置的Port就没有用了,具体的设置在下面的两个框子里。 “SIN Port”:这里是设置让中了后门的机子来连接我们的端口号,随你的便了,当然是你自己的主机没有在用的端口了。我们要做的就是用NC来监听这个端口就行了。我用的是50000。你想用什么,自己设置。 “SIN Address”:这里设置的是你的计算机的名字或者IP,是让后门反弹连接的主机的IP啦!如果你有个固定的公网IP,那就把你的IP填上就行了;要是你只想连接到你的一个局域网的主机你把你内网的IP写上也可以。比如我这里就是这样的,我在内网,我把我的内网的IP(192.168.3.54)写上去。要是你想让不和你在同个内网的机子来连接你的话,但是你的IP不固定,也就是说你是用拨号上网的话,这里你需要在http://no-ip.info注册一个账号,比如你申请到的是“you.no-ip.info”,那就在这里填上“you.no-ip.info”,(注意没有引号)大家也许发现了,这样的配置就像灰鸽子用*.yeah.net中转的一样,但是这里不能自动更新,我们还要去下载一个“no-ip.info”的 IP更新的客户端,你上网的时候就要打开这个客户端,把你的IP更新上去。如果你在局域网,没有自己的公网IP的话,你可以去找找以前的X档案,那里有几篇文章上说怎么样局域网里打造自己公网IP的,方法很多,不在详述。反向连接设置好了后,中了后门的机子每隔5秒就向你设置的IP和端口连接一下,一直到连接成功为止,如果你和后门之间的连接突然断掉了,它会再隔5秒来连接你一下的,直到连接成功。 Notifications:(通知方式)在这里,我将介绍一下后门是怎么样通知我们哪个机子中了我们的后门的机子的IP和监听的端口号: ICQ Notification:ICQ通知,这个也是比较先进的技术,我认为这就很好,很是方便啊,要是哪天过产的后门木马能把这个功能用在OICQ上就好了,那就好了。好像Theta还是先例哦!你要是有ICQ的话,就选上那个复选框,再在后面填上你的ICQ的号码就是了,当有机子中了你的后门的时候,会通过ICQ来告诉你,消息的具体的格式是:"Hello <port number>, blah..."。但是由于ICQ的客户端不一样,加上服务器的限制也不一样,你收到的消息可能也不一样,主要也就是消息的详细程度不一样,有的会说明中的后门的“Server ID”,有的不会,但是这好像并不重要,你去连接的时候就知道是什么“Server ID”了。