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

技术图片

技术图片


推荐阅读
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 几何画板展示电场线与等势面的交互关系
    几何画板是一款功能强大的物理教学软件,具备丰富的绘图和度量工具。它不仅能够模拟物理实验过程,还能通过定量分析揭示物理现象背后的规律,尤其适用于难以在实际实验中展示的内容。本文将介绍如何使用几何画板演示电场线与等势面之间的关系。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 本文介绍如何在应用程序中使用文本输入框创建密码输入框,并通过设置掩码来隐藏用户输入的内容。我们将详细解释代码实现,并提供专业的补充说明。 ... [详细]
  • 本文介绍如何通过SQL查询从JDE(JD Edwards)系统中提取所有字典数据,涵盖关键表的关联和字段选择。具体包括F0004和F0005系列表的数据提取方法。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
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社区 版权所有