news 2026/5/12 11:43:03

DC-9靶机

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DC-9靶机

攻击机:192.168.10.40

靶机:192.168.10.131

内网探测

探测内网存活主机,

端口扫描

内网端口扫描,80端口是打开的状态,22端口有防火墙

filtered:nmap检测不出22端口的状态(nmap发送的包被防火墙拦截)。

对端口进行精确扫描,发现22的端口是关闭的状态。

nmap -sT -Pn -p 22,80

-sT:TCP Connect扫描,使用系统的connect(),三次握手完整走完,稳定但是不隐蔽。

-Pn:绕过主机的存活判断,直接进入端口扫描阶段,nmap在扫描前会先判断(ping)主机是否存活,

-p:指定扫描的端口

whatweb 192.168.10.131

探测目标网站信息

Web服务器:Apache

操作系统:Debian

IP:192.168.10.131

目录扫描

dirsearch -u 1[IP地址] -e*

访问网站,查看网站的相关信息,测试目录

访问display.php路径,能直接查看用户的信息。

/includes是一个员工详情页面

/manage.php是一个登录框

/search.php是一个搜索框

Web渗透

在网站的首界面能够查看用户的信息

在网站的搜索功能中输入用户的姓名也可以查看到用户的信息,这种搜索用户信息的一般都是与数据库进行交互,用SQL语句测试

直接输入' or 1=1#万能密码,拿到了用户的信息,有这个注入点就可以尝试sqlmap了。

在URL中没有搜索的参数,那么目标网站使用的应该就是POST传参了,POST传参中需要使用BP抓包获取请求包,使用bp抓包

把抓到的POST请求放到DC9文件中,其中search的内容不能编码,否则会失败

探测出了注入点,这个在刚才手动测试注入点时就发现了,这次用sqlmap看到的信息更详细。

sqlmap -r ./DC9 -p search --batch

-p 指定注入点

--batch 开启自动模式(提示自动选默认)

爆破出目标靶机的数据库,有三个数据库,第一个数据库是系统自带的,把目标放在Staff和users这两个数据库上,使用 --current-db获取正在使用的数据库

sqlmap -r ./DC9 -p search --batch --dbs

sqlmap -r ./DC9 -p search --batch --current-db:这个参数是获取当前Web应用正在使用的数据库名称

当前使用的数据库名称为Staff,从这个数据库入手

获取数据库中的数据表,只有一个users表

sqlmap -r ./DC9 -p search --batch -D Staff --tables

爆破出Users表的字段

sqlmap -r ./DC9 -p search --batch -D Staff -T Users --columns

指定字段,获取字段中的数据,

sqlmap -r ./DC9 -p search --batch -D Staff -T Users -C Username,Password --dump

--dump:构造可利用的SQL语句(比如:select Username,Password from Users)

users表中存放的是一些用户名和密码

这个密码是MD5哈希(32位十六进制)直接解密,拿到密码

下面有一个文件不存在标志,应该是文件相关的漏洞了。

靶场的文件包含一般都是file参数进行传参,可以使用本地文件包含,

尝试了一下远程文件包含,没有内容。

读取出来的用户当中,也包含了数据库中用户的信息,这里网站使用的用户都是系统用户

网站用户一般是www-data或apache

经过刚才的端口扫描可以知道22端口是关闭的,同时我们拿到了用户名和密码,如果端口长期处于filtered状态,可以判断他是knocked(端口敲门安全机制),他是一种安全机制,需要根据knocked配置,按照顺序访问端口,才会临时开放22端口。

knocked的配置位置在/etc/knockd.con文件中,读取它的配置文件。

openSSH(开门)下面的端口号就是他的敲门顺序,在25秒内分别访问这三个端口,成功敲门,临时开放22端口。

closeSSH(关门)当客户端反向访问这三个端口时(25秒内),关闭22端口

利用knock(敲门客户端工具)向目标发送按顺序的端口访问请求,只发送SYN包,不建立真实连接,在使用nc连接目标端口(按顺序),触发knocked,临时开启22端口。

再次使用nmap探测端口22端口是打开的状态。

使用hydra对目标主机的SSH服务进行并行登录尝试,一共有三个用户存在远程登录

hydra -L users -P password 192.168.10.131 ssh

-L:指定用户名文件

-P:指定密码文件

ssh :指定为SSH登录

经过测试另外两个用户没有能够利用的文件,在janitor用户家目录下发现一个隐藏目录里面有一个密码文件

BamBam01

Passw0rd

smellycats

P0Lic#10-4

B4-Tru3-001

4uGU5T-NiGHts

把这里面的密码放入到刚才的密码文件中重新爆破用户的密码,可以看到多了一个用户

hydra -L users -P password 192.168.10.131 ssh

sudo -l 查看具有sudo权限的命令,可以看到/opt/devstuff/dist/test/test这个文件有root权限

直接执行文件,输出了一个文件名test.py

全局查找test.py文件

find / -name test.py

test.py文件内容

指定python解释器

判断sys.argv参数的个数不等于3就输出"Usage: python test.py read append",并退出程序。

以只读模式打开sys.argv[1]文件,以追加模式打开sys.argv[2]文件,把读取的内容写入到追加模式的的文件中,关闭文件。

脚本本身就代表第一个参数。

使用openssl生成一个密码,在/etc/passwd中不允许出现明文,在登录时系统会解析出加密所用的算法对用户输入的密码进行加密在和系统中存放的密码做一个对比,相同就表示成功。

这个加密的结构为$算法ID$salt$hash

salt为在计算哈希前额外加入到一段随机数据,

编写一个用户信息并放入1.txt文件中

用户名:密码:UID:GID:用户描述:家目录:登录shell。

其中UID/GID为0表示root权限。

执行脚本,切换用户,查看权限为root。

getflag

总结:

1.对目标网站做一个基本的信息收集,端口扫描,目录扫描,指纹识别,测试网站的漏洞点,根据网站的提供的功能点进行测试,如果有输入框之类的一般存在SQL注入,RCE,XSS的较多,用户登录之类的测试弱口令,根据网站使用的架构去网上搜索相关的默认密码和历史漏洞信息,在找到相关的漏洞点后进行利用,

2.这个靶机我们通过sqlmap知道了用户名和密码,网站中的文件包含漏洞能够读取系统的文件,为我们后续的漏洞利用提供了更广的面,通过对比系统和数据库中的用户信息,知道Web层、数据库层、操作系统层这三个没有做隔离,可以通过数据库中的用户信息直接连接到系统,22端口是个filtered的状态,并不代表是关闭的状态,

3.利用文件包含漏洞读取他的knocked信息,按照knocked的配置文件信息,使用knock(敲门工具)发送SYN包(不建立真实连接),利用nc连接目标端口,触发他的安全机制,临时开启22远程登录端口,利用hydra爆破出用户名和密码,测试每个用户的权限及能够利用的点,找寻以root权限执行的文件,并加以利用(提权)。

使用工具:wappalyzer nmap whatweb dirsearch sqlmap hydra 脚本提取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 10:20:44

PT助手Plus插件架构揭秘:7大核心模块如何实现高效种子管理

PT助手Plus作为一款专为PT站点设计的浏览器扩展,通过精心设计的架构实现了种子查找、下载管理、用户数据同步等复杂功能。本文将深入解析其核心实现原理,展示如何通过模块化设计解决实际使用中的痛点问题。 【免费下载链接】PT-Plugin-Plus PT 助手 Plus…

作者头像 李华
网站建设 2026/4/25 20:08:20

UnityPsdImporter 深度解析:5分钟掌握PSD到Unity的完美转换

UnityPsdImporter 深度解析:5分钟掌握PSD到Unity的完美转换 【免费下载链接】UnityPsdImporter Advanced PSD importer for Unity3D 项目地址: https://gitcode.com/gh_mirrors/un/UnityPsdImporter 在游戏开发和UI设计领域,设计师与开发者之间的…

作者头像 李华
网站建设 2026/5/11 19:33:14

还在为Agent报错崩溃?MCP PL-600兼容性问题根源一次性讲透

第一章:MCP PL-600 Agent兼容性问题概述 在企业级监控系统部署过程中,MCP PL-600 Agent作为核心数据采集组件,其与目标环境的兼容性直接影响系统的稳定性与数据准确性。由于运行环境的多样性,包括操作系统版本、内核架构、依赖库差…

作者头像 李华
网站建设 2026/5/9 10:27:08

Ultralytics YOLO GPU性能优化终极实战指南

Ultralytics YOLO GPU性能优化终极实战指南 【免费下载链接】ultralytics ultralytics - 提供 YOLOv8 模型,用于目标检测、图像分割、姿态估计和图像分类,适合机器学习和计算机视觉领域的开发者。 项目地址: https://gitcode.com/GitHub_Trending/ul/u…

作者头像 李华
网站建设 2026/5/5 8:16:33

HTMLMinifier:提升网站性能的终极压缩解决方案

HTMLMinifier:提升网站性能的终极压缩解决方案 【免费下载链接】html-minifier Javascript-based HTML compressor/minifier (with Node.js support) 项目地址: https://gitcode.com/gh_mirrors/ht/html-minifier 还在为网站加载速度缓慢而困扰吗&#xff1f…

作者头像 李华