作者名:Demo不是emo
主页面链接:主页传送门创作初心:对于计算机的学习者来说,初期的学习无疑是最迷茫和难以坚持的,我也刚接触计算机1年,也在不断的探索,在CSDN写博客主要是为了分享自己的学习历程,学习方法,总结的经验等等,希望能帮助到大家座右铭:不要让时代的悲哀成为你的悲哀专研方向:网络安全,数据结构
每日emo:波力海苔,大白兔奶糖,奥利奥
今天的博客内容是HARRYPOTTER: NAGINI教程(简单难度),靶场环境来源于VulnHub,该网站有很多虚拟机靶场,靶场平台入口在这,推荐大家使用,大家进去直接搜索HARRYPOTTER: NAGINI就能下载今天的靶场了,也可以找我拿,开始对今天靶场的介绍
这是哈利波特vm系列靶场的第二个靶场,总共有三个靶场,其中隐藏了8个魂器,上一期的第一个靶场中隐藏了2个魂器,今天这个靶场中隐藏了三个,意思就是今天的靶场有三个flag,话不多说我们来见识见识
靶场地址HarryPotter: Nagini ~ VulnHub
目录
一:攻击准备
二:信息收集
1.网页信息
2.目录探测
3.joomscan工具
4.敏感信息
三:实际操作
1.SSRF漏洞
2.gopherus工具
3. 拿到webshell
4.普通用户权限
5.ssh公钥登录
6.root提权
一:攻击准备直接在vbox导入就可以,如果出现了报错,就把启用usb控制器关掉就可以正常打开了
这里除了到vulnhub下载到的目标虚拟机环境,还需要一台kali,并且两台处于同一网段(可以都用桥接模式),虚拟机管理设备用vm和virtual均可,我这里就用virtual来给大家演示了,如下面这样就是搭建完成了,具体搭建过程就不多讲了,不懂得也可以私信问我
(因为我这是校园网,有防护所以c段不同,这里都用桥接模式即可,而且靶机也显示了ip地址,不一定要跟我一样,只要能ping通就可以进行靶场操作了)
二:信息收集这里看到,我的kali攻击机的ip是172.21.100.73,而目标机器的ip是172.21.13.189,既然知道了对方的ip,我们就直接用nmap扫描工具详细扫描一下,扫描结果如下:
可以看到我们这里成功探测到了目标开放的22端口和80端口,,还有操作系统版本,中间件版本等信息,那下面就是从这些端口入手了,看能不能找到一些有用信息
1.网页信息根据上面的扫描结果可以看到对方开启了22端口(ssh服务)和80端口(http服务),因为ssh需要用户名等敏感信息,所以我们就先探测对方的http服务,即通过目标的ip访问目标搭建的网页,访问结果如下:
可以看到目标网页中只有一张图片,而且f12开发者页面也没有什么提示信息,靶场中出现的图片大概率存在了隐写术,我们用wget命令下载这个图片到本地,再用steghide工具(一款开源的隐写工具)使用info参数查看图片,步骤如下:
可以发现提取图片中的数据时提示需要密码,因为我们没拿到,所以这里对隐写术的探索就先暂停了,老规矩,再来探测一下目标的敏感目录
2.目录探测这里我们使用kali自带的dirsearch目录爆破工具 (个人觉得很好用),命令如下
dirsearch -u "目标ip地址" -e *
扫描结果如下
注意:这里有的人找我反映扫不出来note.txt这个文件,这是因为这款工具的默认字典里没 有, 但是我的dirsearch的字典自己加了一些字典进去,所以能扫出来,无伤大雅
3.joomscan工具这里可以看到有用的信息只扫到了一个note.txt和joomla文件,度娘查了一下,joomla是一个cms框架,并且kali上还有对应的工具joomscan(一款开源的jooomla的cms框架漏洞检测)
我们这里输入下面这个命令,就可以对该站点进行漏洞扫描
joomscan --url 172.21.13.189/joomla
扫描结果如下:
可以看到我们扫出了很多joomla的小文件,很多都是在joomla/administrator目录下的,猜测是后台登录页面,访问试试
不过我们暂时不知道账密,先放在一边,继续分析其他的
这里还爆出来了一个备份文件,我们直接下载下来看看
这里得知了目标使用的是mysql数据库,用户名为goblian ,没有密码,
我们再来看看note.txt 的信息,访问一下看看
翻译过来大概就是下面这个意思
就是讲有一个域名,需要我们用http3来访问,这应该就是作者留给我们的下一步的信息了,但是http3环境我安装了一下午也没搞好,没太搞懂,这里就跳过了搭建http3服务器的步骤了(在线求http3搭建教程)
http3服务器搭建好之后,再用http3访问上面作者留下的网址,访问后就是如下的一段html代码
注:这里的http3服务器只是为了访问给出的网址,获取信息,所以小伙伴们在玩的时候可以直接跳过这步,直接看我下面获得的信息就可以了
这里的信息意思就是说有一个internalResourceFeTcher.php目录,我们直接尝试访问一下
三:实际操作 1.SSRF漏洞 访问的结果如下
可以看到这是一个内部网络资源获取界面,所以首先我们要想到的就是SSRF漏洞,所以先用该站点对127.0.0.1发起请求,看是否能收到回显
如上图,输入http://127.0.0.1时确实回显了主页的页面,说明成功验证了SSRF,SSRF一般都搭配伪协议的使用,这里我们再用file协议先来尝试读取一下他的/etc/passwd密码文件
也成功读取,说明目标并没有对伪协议进行过滤,那我们就可以用万金油协议——gopher
gopherus是一款生成gopher链接来帮助我们利用SSRF和获得RCE的工具,当然,使用的前提是一个地方验证了SSRF漏洞,而且gopher协议又没被过滤
1.下载
wget http://github.com/tarunkant/Gopherus/archive/refs/heads/master.zip
2.解压
unzip master.zip
注意:该工具需要python2的环境才能运行
给大家详细讲讲上图指令的意思
1.生成攻击mysql的payload(即gopher链接)
python2 gopherus.py --exploit mysql
2.输入目标用户名
3.输入想在目标数据库执行的指令
列如我上图的 use joomla;show tables;
就是查看joolma库下的所有表
因为刚才在备份文件中已经发现了库名为joomla,所以我们这里就直接从表名开始查
4.就可以生成一个gopher协议的链接,将链接放置在SSRF漏洞处,目标数据库就会执行
我们填写的指令,并显示回显内容
现在我们就把生成payload放入SSRF漏洞处,结果如下:
注:靶场的环境有一点点问题,如果没有回显就多刷新几次就可以看到回显了,后面的同理
成功找到了一个user表,猜测里面存在用户信息,所以我们再生成一个查数据的payload
步骤如下:
查询结果如下
可以看到我们成功获取了管理员的账号和密码,账号是 site_admin,密码是/dev/null
查看到的结果如下
可以看到在hermoine用户下存在一个su_cp文件,我们cd到该目录下载详细看看
可以看到该文件的作用是拷贝文件,意思就是我们可以复制文件到hermoine用户下 ,再联系到刚才ssh端口的开放,怎么样?横向渗透是不是有思路了?
这里我的想法是在攻击机生成密钥对,把生成的公钥复制到hermoine用户的ssh目录下保存,这样就可以直接用ssh公钥登录hermoine用户,而不需要密码
想要详细了解ssh公钥登录的同学也可以先看看下面这篇博客,后续我也会出一篇博客详细介绍
点此查看我推荐的博客
注:这里不看也不影响本靶场操作,简单点说公钥登录就是 自己生成密钥对(即公钥和私钥),私钥自己保留,公钥可以放在自己想用ssh登录的主机,这样用ssh登录时就不需要密码(实际流程比较复杂,这里就这样理解就可以了)
具体操作如下:
kali攻击机上输入
1.ssh-keygen
生成密钥对(默认生成路径在/root/.ssh),这里一直回车即可生成,会生成一个id_rsa(私
钥)和id_rsa.pub(公钥)
2.scp /root/.ssh/id_rsa.pub snape@172.21.13.189:~/
将公钥投递到目标机器,这里因为hermoine用户我们不知道密码,暂时无法连接,所以就先投递到snape用户下,这里的~/目录其实就相当于/home/snape目录
再控制目标的终端输入
3.chmod 640 id_rsa.pub
赋予公钥执行权限,注意这里要先进入/home/snape才能看到公钥
4.mv id_rsa.pub authorized_keys
改公钥的文件名,这是规定,不然会连不上
5./home/hermoine/bin/su_cp -p /home/snape/authorized_keys /home/hermoine/.ssh/
使用su_cp把snape上的公钥放到hermoine用户的ssh文件下,这个命令输入后可以查看一下/home/hermoine/.ssh/是否有该文件
步骤图
kali上执行的操作如下
kali控制的靶机终端执行的操作如下
可以看到公钥已经成功放入,我们现在来直接ssh连接尝试登录hermoine用户看
可以看到,成功登录hermoine用户,并且拿到了第二个魂器(horcrux2.txt),也是一个base64加密,解密后为
4: Helga Hufflepuff's Cup destroyed by Hermione
6.root提权在hermoine用户下,我们不仅发现了本关的第二个魂器,还发现了.mozilla文件,我们老师以前也提到过这个文件,这个文件里面包含有火狐浏览器各种信息乃至账密。恰好github上也有专门提取该文件信息的工具——Firefox Decrypt,所以我们把他下载下来再用这个工具提取一下信息看看
步骤如下
1.scp -rp hermoine@172.21.13.189:/home/hermoine/.mozilla/firefox /root/demo
下载该文件到kali攻击机
2.wget https://github.com/lclevy/firepwd/archive/refs/heads/master.zip
下载firepwd工具
3.cd firepwd-master
进入工具文件夹
4.sudo pip install -r requirements.txt
下载所需模块
5.cp firepwd-master/firepwd.py demo/firefox/g2mhbq0o.default
将脚本复制到要读取数据的火狐文件中
6.cd demo/firefox/g2mhbq0o.default
进入保存数据的火狐文件
7.python3 firepwd.py
执行脚本,读取数据
最后读取的结果如下,可以看到账号名和密码都被读取出来了
既然账号名是root,那这应该就是root用户的账密了,我们直接su root切换root用户试试
可以看到成功登陆了root用户,在用户目录下存在了第三个魂器,也就是horcruxes3.txt,经过base64解密后为
5: Diadem of Ravenclaw destroyed by Harry
这也是哈利波特系列靶场的第五个魂器(共8个),到这里这一关就算是结束了,如果你也看到了这里,请你也给自己点点赞吧(这关确实有点难)
哈利波特系列靶场的第三关(也就是最后一关)的攻略我过两天就会出,敬请期待,最后感谢大家的阅读,有什么问题或者想讨论的知识随时都可以评论或者私信找我哦,加油哇同学们!