攻防实践:一次入侵兼反入侵的实例

2008-02-23 06:56:21来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

同学给我介绍了一个电子商务网站,因为自己读的就是电子商务专业,加上对网络安全比较感兴趣,所以看了这样的好网站,当然要帮忙测试下网络安全啦,首先做下常见端口扫描,咦,有状况……

6129端口开了,6129是上段时间在网上比较流行的一个远程控制软件的端口,想想网管自己应该不会给自己主机装个这样的玩意儿吧。难道……嗯,继续扫扫,调出流光,扫啊扫,建立空连接失败,没有弱口令,IIS没有漏洞,MSSQL连SA都改了密码……不会啊~这个网站防御措施做的还是蛮足的啊,怎么又像被人入侵过的痕迹呢?嗯,试试最近比较流行的那个MSSQL溢出漏洞,试试看……

溢出成功!进去了。

看来,如果没有估计错的话,那么那个远程控制软件就是以前的入侵者留下来的。作为一个电子商务网站,不能够有效地解决网络安全这个问题,难怪国人现在对网上交易还不大放心。既然如此,那就好事做到底,帮网管把这主机的漏洞补上,堵了入侵者的后门,断了入侵者的后路。

首先把要用到的工具都上传到目标主机上面去,建个IPC$管道,上传一些待会分析要用到的工具,如mport.exe这个能查看进程对应端口的体积小却功能强大工具,看下这主机有多少用户属于管理员组:

根据经验,像backup$这类的用户就一定是入侵者留下来的账号。因为在命令行下,像hacker$这样的用户名你用net user是看不到的,系统默认会隐藏掉。但是有个致命的缺点,就是用net localgroup则可以列出组中所有用户,无论加了$还是没有加。接着继续判断其他用户的合法度,转到C:\Documents and Settings目录下,这个目录记录了曾经在目标主机上登陆过的用户的一些信息:

每个文件夹前面的创建日期可以给我们一点提示:管理员账号administrator创建于2002-02-01,除了webmaster是2002-11-19以外,其他的用户都比较接近,所以我们把重点放在webmaster上面。这时我们需要得到更多有个这个账号的信息,net user webmaster,得到此账号上次登陆时间是“上次登录 2002/11/29 上午 08:44”,也就是周五早上上班时间登陆的,再转向C:\Documents and Settings\webmaster\桌面>目录下:

桌面上有几个常用的快捷方式,想想倒也蛮符合此账号webmaster的身份。再转到C:\Documents and Settings\webmaster\「开始」菜单\程序>目录下,也只是几个网管常用的工具连接。所以我们初步断定webmaster这个账号为合法账号,那么我们就除掉backup$这个用户:net user backiup$ /del。

查完了用户,就轮到查查入侵者是否有在主机上留下特洛伊木马程序或是其他远程控制程序此类的后门,这时就要用到前面上传的mport.exe啦。执行下mport.exe,咦,又有情况:

主机竟然开了远程终端,而且被换在了2887端口而不是默认的3389端口,看来又是入侵者的杰作。

命令行下:netstat –an看看现在都有谁连接到主机上:

哈!真是巧,有人在连接终端,原来入侵者就在身边,那么补漏的工作更加刻不容缓。

那么咱们也登陆上终端看看,说不定会有新的发现。登上终端,输入刚刚自己加的账号,熟悉的桌面又展现眼前.继续咱们的补漏工作。记得刚开始扫常见端口的时候主机开了80。查一查原来是台WEB发布服务器,主机上有50来个网站,主机已经打了SP3,不存在idq/ida溢出,Unicode和二次解码漏洞也不存在,主目录设在了E盘下,也不必担心那几个默认的WEB共享文件夹。接着看看主机运行了哪些服务,按照以往的经验,凡是服务名开头的字母没有大写的,除了pcanywhere以外,都是入侵者自己留的后门或是其他别的什么。还有一些服务名没有改的远程控制软件一眼就可以看出来,像比较流行的Radmin。

入侵者虽然把服务端改成了sqlmsvr.exe这样比较容易迷惑人的名字,可是服务名没有改,还是很容易就被识破。

入侵者把远程终端的端口和显示名称及描述都改了,可是服务名称还是没有改到,所以并不难找出来。

服务名称还是把入侵者出卖了,找到这些后门后,先停服务,再把启动类型改为禁用!

接下来我们就要把我们进来时的漏洞堵上,到google搜下,这是有关MSSQL这个溢出漏洞补丁的相关信息:

厂商补丁:



Microsoft已经为此发布了一个安全公告(MS02-039)以及相应补丁:



MS02-039:Buffer Overruns in SQL Server 2000 Resolution Service Could Enable Code

Execution (Q323875)



链接http://www.microsoft.com/technet/security/bulletin/MS02-039.asp



补丁下载:



* Microsoft SQL Server 2000:



http://www.microsoft.com/Downloads/Release.asp?ReleaseID=40602

下载后展开,得到ssnetlib.dll这个文件,这时只要dir ssnetlib.dll /s找出主机中所有的老ssnetlib.dll这个文件,改名后以新的ssnetlib.dll替换掉老ssnetlib.dll就把MSSQL这个溢出漏洞补上了。

命令行下:query user,用户是guest,嗯,估计是被克隆过的用户。

查下是不是,果然!感觉补漏工作应该做得差不多了,也是时候跟入侵者say byebye了~

命令行下:net user guest /active:no,把guest这个用户禁用。

命令行下:logoff 1。

入侵者已经被我们踢出去了,现在是检验我们劳动成果的时候了,静静地netstat –an,看入侵者是否还能重新进来,过了好一会,发现他连接到主机1433端口,而且guest用户又被重新激活,奇怪了,明明MSSQL溢出漏洞已经补上了啊,。难道入侵者在MSSQL中留了后门?不会啊,都是几个很正常的用户。思考中……哦!对了,入侵者可能自行改了SA的密码,然后再利用SA的xp_shell重新取得权限!好,既然我们想到了这步,就把SA的xp_shell也去掉,断入侵者的后路!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:针对IT行业七类最不安全的网络管理员

下一篇:恢复威金病毒感染的EXE文件小方法