小H靶场笔记:DC-9

文章描述了一次针对DC-9系统的黑客渗透过程,包括使用arp-scan和nmap进行主机探测,发现CSRF漏洞和文件包含漏洞,通过SQL注入获取用户数据,最终利用knockd配置和SSH爆破获取root权限。
摘要由CSDN通过智能技术生成

DC-9

January 10, 2024 10:02 AM
Tags:knockd
Owner:只惠摸鱼

信息收集

  • 使用arp-scan和nmap扫描C段存活主机,探测靶机ip:192.168.199.139,只有80端口开放。

    在这里插入图片描述

  • 再扫一下靶机端口服务的情况吧。发现22端口是被过滤的状态,可能装的有防火墙。

    在这里插入图片描述

  • 扫描80开放端口的服务、版本、操作系统、基础漏洞。发现有CSRF漏洞,还有一些隐藏的目录探测处但没什么太多有用的信息,还有操作系统的一些信息。一会尝试看一下能否利用。

    在这里插入图片描述

    在这里插入图片描述

  • 访问一下80端口看看什么样,有没有有用的信息

    在这里插入图片描述

  • Display All Records这里是用户的一个信息展示,可以看到有17个用户,且有相应的职位信息,邮箱。一会可以作为提权或登陆的依据。

    在这里插入图片描述

  • search页面有一个查询框,因为是查询前面用户的,在页面尝试了一下SQL注入和XSS没用。

    在这里插入图片描述

  • 发现manage.php有登陆页面,尝试弱密码、万能密码没有什么用

    在这里插入图片描述

  • 扫了一下后台目录,也没有什么发现

    在这里插入图片描述

  • 指纹识别一下,也没有发现什么有用的东西。

    在这里插入图片描述

  • 爆破了一下manage.php页面的登录,没有成功

    在这里插入图片描述

  • 用BP抓包再试一下sql注入吧,在manage.php页面进行没有什么效果,但是在search页面有用!(有突破口了!)

    在这里插入图片描述

    在这里插入图片描述

  • 上sqlmap,直接跑吧

    • 爆数据库

      • sqlmap -u http://192.168.199.139/results.php --data “search=1” --dbs

        在这里插入图片描述

    • 拿到数据库,其中users感觉比较有用,爆一下表

      • sqlmap -u http://192.168.199.139/results.php --data “search=1” -D “users” --tables

        在这里插入图片描述

    • 拿到一个表,UserDetails,爆一下字段名

      • sqlmap -u http://192.168.199.139/results.php --data “search=1” -D “users” -T “UserDetails” --columns

        在这里插入图片描述

    • 我们直接爆firstname,lastname,username,password的数据

      • sqlmap -u http://192.168.199.139/results.php --data “search=1” -D “users” -T “UserDetails” -C “firstname,lastname,username,password” --dump

        在这里插入图片描述

  • 根据之前用户信息记录页面中所看到的信息,marym用户是CEO的用户,应该相对权限较高一些,拿他的账号登录一下。marym 3kfs86sfd,尝试manage页面不行,又尝试了其他管理员账号也统统不行,ssh是过滤的无法链接,那只有再看看其他的数据库了。

    在这里插入图片描述

  • 爆一下数据库Staff的表

    • sqlmap -u http://192.168.199.139/results.php --data “search=1” -D “Staff” --tables

      在这里插入图片描述

  • 爆一下Users表的字段名

    • sqlmap -u http://192.168.199.139/results.php --data “search=1” -D “Staff” -T “Users” --columns

      在这里插入图片描述

  • 爆一下Password和Username字段的数据

    • sqlmap -u http://192.168.199.139/results.php --data “search=1” -D “Staff” -T “Users” -C “Username,Password” --dump

      在这里插入图片描述

  • 爆出一个admin账号密码,但密码好像是md5加密的,去找一些在线解密网站解一下。得到密码transorbital1

    在这里插入图片描述

  • 再次尝试登录,成功登录!

    在这里插入图片描述

  • 发现页面下方有一个file does not exist, 翻到Manage前面的页面就没有,可能存在文件包含漏洞。

    在这里插入图片描述

    在这里插入图片描述

  • 尝试一下查一下用户,不断试一下目录(),发现可以爆出目录,确定存在文件包含漏洞。

    在这里插入图片描述

漏洞利用

  • 想起dc-5的时候,文件包含漏洞使用了nginx的日志来保存一句话木马,从而蚁剑连接到后端,指纹识别的时候发现是apache2.4.38版本,查了一下相关路径,尝试了/var/log/httpd/、/var/log/apache2/、/var/log/apache/ 都不行。没办法上传一句话木马想想其他办法吧。

    在这里插入图片描述

  • 想想之前被扫出来的被过滤的ssh端口,以及users数据库中未使用过的用户密码信息,搜一搜ssh被过滤,找到一篇这样的文章https://cloud.tencent.com/developer/article/1782065

    在这里插入图片描述

  • 感觉可能也是使用了Knockd进行了隐藏,查看一下knockd的配置文件是否存在。经过不断尝试,发现存在knockd。

    在这里插入图片描述

  • 通过之前那篇文章学到了knockd如何配置的,我们进行一个反利用,它“关门”,我们“敲开门”

    在这里插入图片描述

  • 用nmap进行敲门

    • for x in 7469 8475 9842;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.199.139;done

      在这里插入图片描述

  • 查看22端口是否开放了,成功“敲开“

    在这里插入图片描述

  • 之前收集的有一些用户名和密码,保存到txt文档:users.txt pass.txt,使用hydra对ssh进行爆破。

    在这里插入图片描述

    在这里插入图片描述

    • hydra -L users.txt -P pass.txt 192.168.199.139 ssh

      在这里插入图片描述

  • 爆出了一个,尝试连接,成功拿到shell

    在这里插入图片描述

提权

  • 看一下SUID文件和sudo(无需密码)的文件,权限太低,且没有什么能用的SUID文件

    在这里插入图片描述

  • 看一下用户目录吧,是否能够获得切换到其他用户的信息,发现只能进入本用户的文件内,其他没权限,且本用户的文件夹中没有文件。

    在这里插入图片描述

  • 查看一下用户目录下有没有隐藏目录或文件存在

    • ls -al

      在这里插入图片描述

    • 还真有

  • 看一下secrets(感觉就是不想被人发现的东西)

    • 看起来好像是其他用户的password

      在这里插入图片描述

  • 存pass.txt 字典里,准备再次爆破一遍

在这里插入图片描述

  • 新爆出了两个账户fredf、joeyt,查看之前数据库中的信息,再对比记录表,可以知道fredf是管理员,那就用他的账号一试。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 查一下SUID文件和无需密码的sudo文件

    在这里插入图片描述

  • 找到这个文件,运行一下,给了一个使用提示,需要python test.py读取追加

    在这里插入图片描述

  • find / -name “test.py” 2>/dev/null (2>/dev/null 代表忽略掉错误提示信息)

    在这里插入图片描述

  • 读一下文件内容:读取参数1的内容,然后将参数1的内容写入到参数2的内容中。

    在这里插入图片描述

    • 那我们可以写一个有root权限的账户到/etc/passwd
  • 进行一个密码加密(/etc/passwd密码直接以明文写进去,登录不成功)

    openssl passwd -1 -salt demo 123
    
    -1 使用md5加密算法
    -salt 自动插入一个随机数作为文件内容加密
    demo 123 用户名和密码
    

    在这里插入图片描述

  • 参数1写追加的文件内容(即按/etc/passwd格式写好的root权限的账户),参数2写/etc/passwd

    • echo ‘demo: 1 1 1demo$N8rNOM51XVLc6Sj7cqsmT/:0:0::/root:/bin/bash’ >> /tmp/passwd

      用户名:密码:uid:gid:家目录:登陆后使用的shell(注意使用两个/root前有两个::这个代表的是这一个参数为空【用户的简单说明。可为空】)

    在这里插入图片描述

  • 按文件用法执行,添加root权限新用户:demo 123

    在这里插入图片描述

  • su demo 切换到root权限用户

    在这里插入图片描述

  • 提权成功!查看flag。

  • 在这里插入图片描述

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只惠摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值