从Webshell到肉鸡
S.S.F simeon
   我一直都在强调一个东西,在网络攻防中最重要的就是思维,本文的灵感来自于安天365团队的一个篇稿件,在稿件中提到了一个AspxSpy的Asp.net类型后门软件,在安全界中最近一直流行后门中的后门,即通过给出一个包含后门的Webshell程序,众多小黑们在外面吭哧吭哧的干活,而给出后门的老板,却在后面偷着数Webshell,这种后门中的后门一般来说有二种类型,一种就是直接挂马,带来直接的收益;另外一种就是将小黑攻克下的Webshell地址、用户名和密码全部给发回,换种说法就是,小黑控制的服务器,也就是我的服务器。本文也就是受这个启发而展开研究的,通过研究发现,利用该方法还可以获得不少的后门,有的还可以直接控制服务器。
(一)初识AspxSpy
    AspxSpy出来已经有很长时间,该程序作者是2008-02-02发布的,呵呵,很早就见过该程序,但一直没有时间去用它。
1.AspxSpy简介
AspxSpy 是网友Bin写的一款后门工具软件,可以到[url]http://www.xfocus.net/tools/200802/1247.html[/url]或者[url]http://www.rootkit.net.cn/article.asp?id=57[/url]下载其源代码,对于工具软件我一般都喜欢到原作者哪里去下载,这样要相对安全一些,避免经过二道贩子之手,增加不安全因素。其主要特色和功能如下:
(1)开发环境VS2005 + C#,兼容FrameWork1.1/2.0,基本实现代码分离;
(2)密码为32位MD5加密(小写) 默认为 admin;
(3)采用POST方式提交数据,增强了隐蔽性;
(4)添加了IIS探测功能,遍历IIS站点信息;
(5)增强了对文件属性的修改;
(6)在SQLTools中增加了,SA权限执行系统命令功能,SQL_DIR 功能,可以直接备份log/database,到指定目录文件名为bin.asp   Shell 为<%execute request("B")%>;
(7)增加了 Serv-u 提权功能;
(8)可以对端口实现单线程扫描;
(9)可以对注册表进行简单的读取。
2.下载该源代码
   从作者网站将该源代码文件aspxspy.rar下载到本地后,首先使用杀毒软件avast!查杀一下压缩包,一切正常,看来该代码还没有广泛流传,至少杀毒软件还未将其列入黑名单。
(二)分析源代码
1.查看源代码
源代码文件aspxspy.rar中就一个文件aspxspy.aspx,非常简介,直接使用UltraEdit打开该源代码文件,如图1所示,代码是用asp.net写的,在第12行中是该后门程序的管理密码的32位md5加密值“21232f297a57a5a743894a0e4a801fc3”。

图1 查看aspxspy.aspx程序源代码
说明
一般通过UltraEdit等文本编辑器来查看Webshell等程序的源代码。
2.解密aspxspy中的密码
将password的md5值“21232f297a57a5a743894a0e4a801fc3”放入[url]www.cmd5.com[/url]进行查询,其结果为“admin”,如图2所示,如果小黑们没有修改该值,那么通过缺省密码“admin”我们通过搜索引擎搜索就可以获得一些未经修改的Webshell。

图2 解密aspxspy中的管理员密码
说明:
虽然作者在其发布程序的页面上说明了其管理员密码,但为了更好的使用该程序,因此有必要的程序中的一些关键之处进行分析。知晓作者是采用哪种方式进行加密,便于打造属于自己的Webshell。
3.动手打造自己的Webshell
在cmd5页面直接输入原始的密码来获取一个md5值,其原始的密码一定要设置复杂一点,例如本例中的“7a49107b5ce9067e35ff8de161ebb12d”,将其复制到cmd5网站进行查询,查询无结果,如图3所示,这样即使Webshell被别人搜索到,由于无密码,因此也无可奈何!将“7a49107b5ce9067e35ff8de161ebb12d”替换password的md5值“21232f297a57a5a743894a0e4a801fc3”,这样该Webshell基本算是属于我们自己的了,后面还有一些需要修改的地方,可以根据自己的爱好进行那个修改,基本不影响该程序的使用。

图3 使用cmd5网站反查设置密码的安全性
说明:
    在aspxspy中还可以修改SessionName、cookiePass等值,以防止通过SessionName和cookiePass值来达到绕过验证的目的。
4.获取Webshell的特征标识
继续在源代码中进行查看,在1479行发现一个明显的标识,“Copyright(C)2008 Bin ->[url]WwW.RoOTkIt.NeT.Cn[/url]”,如图4所示,该标识会直接显示在Webshell中。

图4 获取Webshell的特征标识
说明:
寻找Webshell的特征标识,他主要是程序作者在写程序时用于说明版权所有等信息,表明该程序是某某完成的等,这些信息可以直接通过Google获取。
(三)寻找Webshell
1.通过特征在Google查询Webshell
先在Google中输入“Copyright(C)2008 Bin ->[url]WwW.RoOTkIt.NeT.Cn[/url]”进行查询,如图5所示,出来两个结果。需要注意的是输入查询的应该是:"Copyright(C)2008 Bin ->[url]WwW.RoOTkIt.NeT.Cn[/url]",使用了双引号,是对指定的关键词进行搜索,否则出来将是包含这些关键字的合集的记录。

图5 通过Google搜索Webshell的特征关键字
2.通过特征在百度中查询Webshell
   在百度搜索引擎中输入"Copyright(C)2008 Bin ->[url]WwW.RoOTkIt.NeT.Cn[/url]"进行查询,效果不太理想,如图6所示,无关于该精确特征的搜索结果。

图6 通过百度搜索Webshell的特征关键字
3.直接打开第一个Webshell
打开第一个Webshell的地址“[url]http://www.xi[/url]********.com/ads/20081224160466.aspx”,结果出来为aspxspy的webshell,如图7所示,猜解了一些普通密码,都不是,看来作者修改了默认密码,只好暂时放弃。

图7获取台湾某小学校的Webshell
说明:
既然有小黑入侵了该网站,除非入侵者对系统漏洞进行了修补,否则通过检测一样可以获取该系统的Webshell。就本Webshell有三种方式进行突破,一种就是写一个猜解机,通过反复输入密码值来进行判断,第二种就是直接检测网站,实施渗透;第三种就是尝试通过伪造public string SessionName="ASPXSpy";public string cookiePass="ASPXSpyCookiePass";来突破。
4.查看剩下的Webshell
    直接打开第二个搜索记录,如图8所示,嘿嘿,是政府网站,Webshell还隐藏的蛮深的。

图8 获取政府网站的Webshell
5.通知网站管理员
台湾的网站就不管了,去掉webshell地址,直接打开网站地址“[url]http://www.bsfgw.gov.cn/SISYSTEM/Web/OACMS_WWW/default.aspx[/url]”,打开后一看是“上海宝山发展改革物价信息网”,还是一个大家伙,呵呵,赶快通知相关管理人员,找了半天终于找到一个局长信箱,如图9所示,对存在的问题进行友情提醒,建议进行全面的安全检测。

图9 友情提醒
6.继续寻找Webshell
在Google中输入“Copyright (C) 2008 Bin -> [url]WwW.RoOTkIt.NeT.Cn[/url]”进行搜索,如图10所示,出来41项结果,如图10所示,对每一个结果进行查看,重点查看网站地址中包含aspx的地址,例如“[url]www.ipo.gansu.gov.cn/Ashkan.aspx[/url]”,即图10中的第二个搜索结果。

图10 再次搜索Webshell的特征值
(1)获取不能执行的Webshell
直接打开“[url]http://www.ipo.gansu.gov.cn/Ashkan.aspx[/url]”,如图11所示,在网站中[url]http://www.ipo.gansu.gov.cn[/url]显示为文本格式,表明该网站可能不支持aspx。

图11 获取不支持aspx的webshell
(2)获取某阿拉伯网站残缺Webshell
继续查看结果,通过查看分别发现了其它的Webshell:[url]www.ktvc.ac.ir/LoadDynamicForm.aspx?FormCode=0[/url],如图12所示,该文字表明为阿拉伯国家的一个webshell,由于插入不完整的原因,将webshell的内容显示出来了,却不能执行。

图12获取某阿拉伯网站残缺Webshell
(3)继续获取其它Webshell
通过搜索分别找到两个可以用的Webshell地址:[url]http://www.northforkrancheria.com/files/admin.aspx[/url]
[url]http://www.icfi.ir/Files/Galleries/SecurityRole.aspx[/url]
如图13所示,直接打开这两个Webshell,通过输入一些简单的密码进行测试,测试结果表明,入侵者修改了该默认的管理员密码。

图13 再次搜索出两个Webshell
(四)总结与体会
    本文算是GoogleHacking的利用方式之一,利用该方法如果运气好的话,可以直接得到Webshell。通过本方法即使没有获得真正的Webshell,但从侧面可以知道得到Webshell的网站应该存在安全问题,那么下一步就是自己去挖掘网站漏洞,提升自己的技术水平。
1.jpg  (173.35 KB)
1.jpg
2.jpg  (139.29 KB)
2.jpg
3.jpg  (139.15 KB)
3.jpg
4.jpg  (284.7 KB)
4.jpg
5.jpg  (165.88 KB)
5.jpg
6.JPG  (167.55 KB)
6.JPG
7.jpg  (99.25 KB)
7.jpg
8.jpg  (88.01 KB)
8.jpg
9.jpg  (214.64 KB)
9.jpg
10.JPG  (245.44 KB)
10.JPG
11.JPG  (159.32 KB)
11.JPG
12.JPG  (162.73 KB)
12.JPG
13.JPG  (207.3 KB)