热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VulnhubDC3实战记录与分析

本文记录了在VulnhubDC3靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。

Vulnhub DC3 实战记录与分析

技术图片

经验与总结

  1. 平时应多积累漏洞知识,临时搜索时也要多方面搜集信息。尽管 Metasploit 中有针对 Joomla 3.7 的 RCE 工具,但其适用范围有限。此次实践中,我们通过 sqlmap 成功获取了后台密码。

  2. 深入研究 CMS 框架如 Joomla,了解其模板和脚本编写机制,有助于提高渗透测试效率。

  3. 靶机可能会因自动更新而导致 web 服务故障,这是常见的问题,需提前做好预防措施。

  4. 内核提权漏洞风险较大,建议将其作为最后的手段。本次测试中,首次尝试内核提权时导致靶机崩溃。

  5. 使用 sqlmap 时,可以通过 -C 参数指定需要 dump 的字段,提高数据提取的精确性。

  6. 除了 hashcat,John the Ripper 也是一个强大的密码破解工具,能够自动识别哈希类型。

  7. 使用 hashid 识别哈希字符串时,建议使用单引号以避免转义问题。

步骤详细记录

1. 使用 netdiscover 工具探测靶机 IP 地址为 192.168.1.104。

2. 使用 nmap 进行端口扫描,确认开放的端口为 80。

技术图片

3. 访问 web 页面,初步了解目标网站。

技术图片

4. 使用 whatweb 扫描工具,确认网站框架为 Joomla。

技术图片

5. 使用 dirb 工具扫描网站路径,获取更多有用信息。

技术图片

6. 使用 JoomScan 扫描工具,确认 Joomla 版本为 3.7.0。

技术图片

7. 使用 searchsploit 工具查找 Joomla 3.7.0 的已知漏洞。

技术图片

8. 尝试使用 Metasploit 中的 RCE 模块,但因版本不匹配或无法利用而失败。

技术图片

9. 通过 POC 验证 SQL 注入漏洞的存在(靶机因自动更新问题,重新导入后 IP 变更为 192.168.1.101)。

http://192.168.1.101/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1)

技术图片

10. 使用 sqlmap 攻击,获取数据库信息。

技术图片

11. 获取数据库名和表名。

技术图片

12. 使用 sqlmap 命令 dump users 表中的 id、username 和 password 字段。

技术图片

13. 使用 John the Ripper 破解密码。

技术图片

14. 使用破解后的密码登录后台管理页面。

15. 利用模板管理功能添加一个 PHP 页面,部署回连脚本。

技术图片

16. 访问 http://192.168.1.101/templates/beez3/html/shell.php,成功获取回连 shell。

技术图片

17. 查看开放端口,确认没有 SSH 服务。

技术图片

18. 靶机再次崩溃,怀疑是自动更新问题,重新导入虚拟机并设置为 host-only 模式。

技术图片

19. 考虑内核提权漏洞,检查 gcc 是否可用。

技术图片

20. 查看内核版本。

技术图片

21. 在 searchsploit 中搜索合适的提权脚本。

技术图片

22. 测试多个提权脚本,最终使用 Linux Kernel 4.4.x (Ubuntu 16.04) - 'double-fdput()' bpf(BPF_PROG_LOAD) 提权成功。

技术图片

技术图片


推荐阅读
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • Servlet过滤器入门:实现与配置
    本文介绍如何在Java Web应用中实现和配置Servlet过滤器,通过实现`javax.servlet.Filter`接口来创建过滤器,并详细说明其在web.xml文件中的配置方法。 ... [详细]
  • 在许多地理位置选择类的应用程序中,侧边栏是常见的用户界面元素,用于通过选择特定的字母快速定位和选择地点。本文将详细介绍如何在Android应用中创建一个具有波浪效果的自定义侧边栏,以提升用户体验。 ... [详细]
  • 深入解析Spring Boot自动配置机制
    本文旨在深入探讨Spring Boot的自动配置机制,特别是如何利用配置文件进行有效的设置。通过实例分析,如Http编码自动配置,我们将揭示配置项的具体作用及其背后的实现逻辑。 ... [详细]
  • 探讨在使用 Fast-Android-Networking 库时遇到的 addStringBody 方法无法正常工作的问题及其解决方案。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • 本文详细介绍了ActivityManagerService (AMS) 的工作原理及其在Android系统中的重要角色。AMS作为system_server进程的一部分,在系统启动时加载,负责管理和协调应用程序中的Activity和服务(Service)。文章将通过具体的接口图和通信流程,帮助读者更好地理解AMS的工作机制。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 深入解析Android中的SQLite数据库使用
    本文详细介绍了如何在Android应用中使用SQLite数据库进行数据存储。通过自定义类继承SQLiteOpenHelper,实现数据库的创建与版本管理,并提供了具体的学生信息管理示例代码。 ... [详细]
  • 探讨了在 Spring MVC 框架下,JSP 页面使用 标签时遇到的数据无法正确显示的问题,并提供了可能的原因和解决方案。 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • python开发mysql:单表查询&多表查询
    一单表查询,以下是表内容二多表查询,一下是表内容三总结&表创建过程单 ... [详细]
  • MacOS 重装指南
    本文详细介绍了如何通过U盘启动并重新安装MacOS,包括遇到安装问题时的解决方案。 ... [详细]
author-avatar
缘来是你明
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有