靶机下载地址: https://www.vulnhub.com/entry/the-planets-venus,705/
# 确认攻击目标
攻击机 KALI: 192.168.31.135
靶机 VENUS:桥接于 192.168.31.1 的网卡,ip 未知
1 )确定靶机 ip 地址和开放的端口
sudo arp-scan -l > 1.txt ; cat 1.txt | grep 'a0' > 2.txt ; rm -f 1.txt ; cat 2.txt | awk '{print$1}' > ip.txt; rm -f 2.txt; sudo nmap -PA -iL ip.txt;rm -f ip.txt

-> 靶机 ip:192.168.31.12 靶机开放端口 22,8080
# 网站信息收集
打开 http://192.168.31.12:8080/ 进行信息收集

给出了 guest:guest 的账户和密码,直接进入该网站

查看了一下,翻了翻源代码没有发现敏感信息
用 gobuster 进行爆破:
gobuster dir -x php,txt,html,zip,rar,jpg,png -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.31.12:8080/

-> 关键目录 /admin
# 存储 cookies 泄露
进入 admin 页面,检查页面是否存储 cookies 信息

将 auth 认证信息解密出来后发现是 guest:thrfg

意味着我们登陆 guest 用户,页面就会存储 guest 用户的相关票据,但是凭借此用户密码是无法登陆到网站后台的

是不是有可能还有其他的登陆用户,我们将 google 存储在此页面的 cookie 信息清除

重新回到登陆页面

-> 下一步的目标转化为爆破此页面的用户名和密码
# burp 爆破登陆框
但是如果没有什么规律的话, 1000 行大小的字典爆破,需要 1000*1000 次的爆破次数,因为用户名和密码都有可能是这 1000 个种的任意一个
输入一个错误的用户名看页面回显,看到了 Invalid username 的信息,于是乎我们可以先随便写一个密码,先爆破出用户名有哪些,有的话在依据此用户名爆破其密码

顺便测一下输入正确的用户名,错误的密码的时候,页面的回显结果。发现有 Invalid password 的字段,可以据此信息判断页面是否能登陆成功。

现在我们就通过爆破用户名的方式进入该网站,可以通过 burp 和 hydra 进行爆破。采用 burp 的方式需要先将浏览器数据进行代理。

将用户名设置为变量,密码设置为固定值进行爆破,由于默认给出的账户名和密码都是 guest 是一样的,这里我就直接通过将 username 和 password 的字段设置为一致来爆破。

选取合适的字典如下,开始爆破

爆破成功后得到了 venus 用户是该网站的用户。

接下来应该将 venus 作为固定用户名,测试其密码为多少。
# hydra 爆破登陆框
或者用 hydra 的方式爆破用户名和密码
hydra -L /usr/share/wordlists/rockyou.txt -p pass -s 8080 192.168.31.12 http-post- form "/:username=^USER^&password^PASS^:Invalid username."

-> 测试得到了三个用户分别是 guest,venus,magellan
爆破用户名的阶段是比较漫长的,虽然可以用 hydra 的 - t 参数指定最大线程为 64 ,但是还是需要很长时间才能爆破出三个用户名的,这里为了尽快达到效果,我用了 vim 将字典进行了修改。
单单依据上面的思路继续下去,需要对三个用户分别进行爆破,guest 和 venus 比较好爆破,经过一段时间的爆破发现这两个用户名的密码就是其用户名。但如果这个密码是比较复杂的也是很难爆破出来的。
# 数据包规律
登陆 guest:guest,拦截浏览器数据,发现页面自动存储了 cookie 的信息。解密之后为 guest:thrfg, 前者是用户名,后者并不是密码,但可能是密码的另一种加密方式。

登陆 venus:venus,拦截浏览器数据,找到 cookie,解密后的凭据为 venus:irahf

我们继续清除浏览器存储的 cookie 信息,用正确的用户名和一个虚假的密码尝试登陆,并用 burp 做代理拦截流量,发现页面给我们回复了一个加密密文。解密后得到了 magellan:irahfvnatrbybtl1989

综上,我们得到了三组数据,分别是
guest:thrfg
venus:irahf
magellan:irahfvnatrbybtl1989
# 凯撒解密
观察得知,好像就是一个字符的偏移加密,这就是凯撒加密无疑了,但是具体偏移多少位还需要一一尝试,在下面网址中依次按不同的偏移量进行解密:http://moersima.00cha.net/kaisamima.asp

最终得到了加密方式为凯撒偏移 13 的加密,并且三位用户名密码均得到了。
ssh 成功拿到了 magellan 的权限,得到了其 shell

# pkexec 提权
看了一眼服务器存在 pkexec 的,并且有 s 权限,而且存在 gcc 编译器的,直接利用此进行提权

将 pkexec 的利用脚本发送至对方服务器,编译运行

-> 成功拿到了 root 权限