靶机渗透测试(Pandavas):
Vulnhub靶机 Pandavas
靶机:修改靶机的网络配置为桥接模式。
攻击机:Kali虚拟机,同样使用桥接模式,即可访问靶机。
靶机难度:(====)
目标:In this CTF there are five flags named after each Pandava:
flag进度:3/5
渗透流程:
1. 探测靶机ip地址(netdiscover -i eth0 -r 网关)
命令:netdiscover -i eth0 -r 192.168.10.0
得到靶机ip为:192.168.10.33
2. nmap进行靶机端口服务扫描
命令:nmap -sS -Pn -A -p- -n 192.168.10.33
探测出靶机开放了22/ssh、 80/http端口服务;
3. 根据端口服务进行信息收集
3.1. 信息收集~80端口
访问80端口,可以看到靶机主页内容。
按照以往流程:
首先ctrl+u查看一波源代码,发现没有什么有用信息!!!
观察网页,发现好多为’#'样式,不可跳转,且有五张图片一直加载不出来!!!
目录扫描: 使用御剑,dirb工具对网页进行页面扫描,依然无果!!!
3.2. cewl生成密码字典
使用cewl工具对网页进行密码嗅探,并生成txt密码字典:
kali下的cewl工具使用
4. ssh连接靶机(22/ssh端口服务)
4.1. 爆破ssh账号密码
导入cewl生成的密码字典,使用弱口令工具对ssh账号密码进行爆破;(也可以使用hydra,msf等爆破工具)
成功爆破出一组ssh账号密码:
karna // Surya
cat /etc/passwd 查看用户uid,发现还存在一组普通用户krishna;(后续爆破)
4.2. 对karna用户信息收集
查看karna用户的家目录信息,发现在/var/www/html中存在hidden.docx文件,cat打开为乱码格式!!(后续看了大佬的wp,可以使用二进制打开,但flag信息依然不容易发现)
4.3. 查看用户权限
使用find命令,查看用户权限,观察是否可以使用SUID提权;
命令:查询suid文件
find / -user root -perm -4000 -print 2>/dev/null
sudo -l 显示出自己(执行 sudo 的使用者)的权限
判断当前用户能够通过哪些手段进行提权操作!!!
发现当前karna用户没有可以利用的信息,尝试切换用户!
5. 爆破krishna用户
5.1. 爆破用户
导入cewl生成的字典文件,使用弱口令工具对krishna用户账号进行ssh爆破;
爆破出krishna用户的账号密码:
krishna // Bhagavad
5.2. 查看用户权限
同样使用find命令查询可以执行的suid文件,
sudo -l
发现krishna用户可以执行任何文件,具有root权限操作;
不需要提权操作,直接可以使用命令:
sudo ls root
sudo cat /root/root.txt
成功得到一项flag
Yudhisthir:{5fab0ed30446ef51d9f63b8f48abec66}
6. docker容器与mysql数据库:
6.1. docker容器加载
查看下docker有无容器:
命令:sudo docker ps
查看容器的ID
docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器:
命令:
sudo docker exec -it 41 /bin/sh
cat .ash_history(活动会话历史说明文件)
得到一项flag:.ash_history简述
Bhim:{5feb129bd7fb78718c27b4599c25c5ea}
将aWduaXRlQDEyMw==口令
使用Base64解密得: ignite@123
CTF在线工具
6.2. mysql服务执行
观察服务中,有mysql服务正在运行
sudo docker exec -it 07 /bin/sh
进入sql容器:
命令:-u+用户名 -p+该用户密码
mysql -uroot -pignite@123
使用mysql查询语句依次查询数据库内信息:
show databases; 查看所有的数据库
use user 使用user数据库
show tables; 展示出user表中的数据信息
逐步尝试,在mahabharat数据库中,找到flag项;
命令:
use mahabharat;
show tables;
select * from flag;
Arjun:{77bec3886fb88366cf4118eac979c640}
实验总结:
在本次实验过程中,cewl工具为本次实验提供了巨大的帮助,使用生成的密码字典文件,对ssh账号密码进行爆破;
实验中不懂的地方也有好多,有的也是初次见到,使用docke容器进行容器勘测,以及ash文件的利用都是本次实验的亮点;
后续中mysql登陆服务,mysql查询语句找到flag都很有意义;
不足:
在大佬的wp中,hidden.docx文件的利用,本次实验没有成功;以及大佬博客中使用UDP端口扫描,使用net-snmp工具连接数据包等操作,未能成功复现!!!
UDP:
UDP161端口是snmp,SNMP是允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。
在http://www.net-snmp.org/下载net-snmp,并使用snmpwalk连接。
snmpwalk -v 2c -c public 192.168.10.33(靶机ip)
参考博客:
https://www.cnblogs.com/ly-dargo/p/13394186.html