热门标签 | 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) 提权成功。

技术图片

技术图片


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 洞态IAST Java Agent 实现AOP技术详解
    本文深入探讨了洞态IAST Java Agent如何通过AOP技术实现方法调用链和污点值传播等功能,为读者提供了详细的源码分析。 ... [详细]
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社区 版权所有