Vulnhub实战靶场:DC-9

一、环境搭建

1、官网下载连接:https://www.vulnhub.com/entry/dc-9,412/

2、下载之后,使用Oracle VM VirtualBox导入靶场环境

3、为了正常练习,将靶场的网卡模式设置为桥接模式,启动即可

 

二、靶场攻略

1、使用命令:nmap -sP --min-hostgroup 1024 --min-parallelism 1024 10.10.114.0/24,快速探测存活主机,找到靶场ip

 2、使用命令:nmap -A -p- 10.10.114.44,探测开启的服务,寻找突破口,发现启动了80端口,22端口流量被过滤没有探测到信息

 3、访问80端口,发现网站存在search搜索界面,

 

 在搜索框输入1' or 1=1#,返回所有数据,说明存在注入点,得到数据库中所有的用户名

 使用Brupsuite抓取数据包后,用sqlmap进行注入

 使用命令:sqlmap -r /root/Downloads/sql.txt -D users -T UserDetails --dump,将数据库账户文件进行拖库,得到账号密码

 在另一个数据库中,得到admin的账号密码

 

4、使用admin账户登录之后,登录首页提示找不到文件,怀疑存在文件读取漏洞

 在manage的url后,接入file参数,顺利读取到/etc/passwd文件

5、因为nmap扫描到有22端口,但是流量都被过滤了,怀疑有knockd服务

knockd服务,即端口敲门服务,该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。一般配置文件在/etc/knockd.conf中,所以尝试读取一下文件,确实存在该配置

根据配置文件,参考链接:https://www.cnblogs.com/wsjhk/p/5508051.html,依次敲门7469 8475 9842就可以开门,所以进行敲门

nmap -p 7469 10.10.114.44

nmap -p 8475 10.10.114.44

nmap -p 9842 10.10.114.44

依次访问之后,重新扫22端口,发现ssh服务已经开启,可以访问

 使用之前sql注入得到的账号密码进行爆破,发现了登录ssh的账号密码

因为之前爆破出的两个登录之后没有任何权限,重新指定用户爆破,又爆破出一个janitor账户

 

登录janitor账户之后,重新发现一下密码文件

 将新得到的密码文件复制出来,重新爆破得到一个fredf的账号密码

 6、登录fredf账户之后,可以执行sudo -l命令,发现可以不使用密码执行root权限的脚本test

 查看/opt/devstuff目录下的test.py脚本,是一个写入文件的脚本,生成一个密码用root权限执行脚本写入/etc/passwd文件

 在kali中,生成一个密码:openssl passwd -1 -salt test test

 在靶场的shell中,使用命令:echo 'test:$1$test$pi/xDtU5WFVRqYS6BMU8X/:0:0::/root:/bin/bash' > /tmp/test,写入一个passwd文件的格式的文件

 之后利用sudo不需要密码的test脚本文件,将自定义的用户写入到靶场的passwd文件中,使用命令:sudo /opt/devstuff/dist/test/test /tmp/test /etc/passwd,之后切换账户test,成功提权

 到root目录中,获得flag

原文地址:https://www.cnblogs.com/sym945/p/13937140.html