当前位置:   article > 正文

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

渗透测试敲门敲不开

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
  • 1
  • 2
  • 3

在这里插入图片描述
依次访问之后,重新扫描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
  • 1
  • 2
  • 3
  • 4

先使用chandlerb进行登录,命令ssh chandlerd@192.168.172.148,然后查看有些什么,发现什么都没有
在这里插入图片描述
再使用第二个用户和密码进行登录,命令ssh joeyt@192.168.172.148,查看目录内容,也是什么都没有
在这里插入图片描述
然后使用第三个账户和密码登录,命令ssh janitor@192.168.172.148,查看目录内容,发现多了一个目录
在这里插入图片描述
进入该目录下一探究竟,发现一个文件,打开文件查看,好像是几个账户密码
在这里插入图片描述
然后把这些密码加入到之前的那个密码字典里面,后面再进行爆破一次
在这里插入图片描述
现在再使用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
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/987299
推荐阅读
相关标签
  

闽ICP备14008679号