HTB靶场记录之Europa
本文是 i 春秋论坛作家「皮卡皮卡丘」表哥分享的技术文章,旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。
相关文章>>
HTB是一个靶机平台,里面包含多种系统类型的靶机,并且很多靶机非常贴近实战情景,是一个学习渗透测试不错的靶场。
1、靶机介绍
这次的靶机是Europa,难度为中等,Web部分比较难,但是提权相对简单些。
2、信息收集
这次起手nmap,开了22、80和443端口,同时给了一个新的域名。
要在etc/hosts加入才能正常访问
nmap命令:nmap -A -sS -sV -v -p- 10.10.10.22
加入其中的两个域名到/etc/hosts里面
正常的访问这两个域名都是Apache域名
3、猜解登录框
看到登录框和左上角的一串名字时,第一想法确认是否是CMS,然而我用searchsploit +各种关键词都找不到可以确认这是个自己写的框架,思路主要有2个。
第一种是输入数据用Burp抓包,或者是尝试一下Intruder的爆破功能,这里我先用Burp抓包然后放到sqlmap跑跑。
同时,手工放到repeater时,发现输入账号[email]123@qq.com[/email]'-- 密码xxx 返回包居然会跳出/dashboard.php的界面出来。
感觉不太对,到后台去跟进一下:
跟进以后才发现好像不需要密码直接进后台就行了。
4、挖掘漏洞
这里跟进一下各种功能点,比如左边的Tools,进去以后发现有个输入IP功能,这里把我的IP输入进去。
然后就会显示出来了。既然输入内容进去就返回值出来,可能存在注入或者是命令执行漏洞,于是果断抓包放sqlmap在里面跑。
顺便抓包发现变量是ipaddress,由于后台都是.php结尾应该是PHP写的页面。那么尝试输入一下system('id'),结果好像执行不了。
sqlmap没有跑出来,猜测有防护可能是preg_replace这种。
假如是preg_replace在PHP7版本以下有个漏洞是/e,修饰符会使后面输入的东西当成代码执行,这里把前面的%2F变成/xxx/e,然后再执行一次system('id')成功返回www-data。
输入pwd,返回/var/www/admin,接下来就是构造一句话:
5、插入一句话
起初想直接用bash一句话,结果返回失败。
后来,直接把一句话插入到params,得到一个反弹shell。
而且,www-data权限可以访问/home目录下的各个文件,成功得到User的flag。
6、提权
提权的方法是用内核提权,先用uname -a,得知版本为4.4.0-81。
去必应搜索找到一个44298.c的payload。
先用gcc在本地编译好,然后利用Python共享模式传到靶机上。
777权限运行后,直接变root。
以上为今天分享的内容,小伙伴们看懂了吗?