靶场(二十八)---小白心得靶场体会---Mantis
吼吼吼,兄弟们我又复活了,重新开始我们的靶场之旅,简单搞个中等靶场玩玩,老样子先看端口,这俩端口一出来我就大概有个底了,80端口没啥意思,是个静态页面,这里就懒得贴图了
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Slick - Bootstrap 4 Template
|_http-server-header: Apache/2.4.41 (Ubuntu)
3306/tcp open mysql MariaDB 5.5.5-10.3.34
| mysql-info:
| Protocol: 10
| Version: 5.5.5-10.3.34-MariaDB-0ubuntu0.20.04.1
| Thread ID: 20
| Capabilities flags: 63486
| Some Capabilities: SupportsCompression, ODBCClient, Support41Auth, SupportsTransactions, InteractiveClient, DontAllowDatabaseTableColumn, Speaks41ProtocolNew, FoundRows, IgnoreSigpipes, ConnectWithDatabase, LongColumnFlag, IgnoreSpaceBeforeParenthesis, SupportsLoadDataLocal, Speaks41ProtocolOld, SupportsMultipleResults, SupportsMultipleStatments, SupportsAuthPlugins
| Status: Autocommit
| Salt: #YxoGSJ[hwB"}uS}>Z*a
|_ Auth Plugin Name: mysql_native_password
果断目录爆破,dirsearch默认字典没跑出来啥,果断上大字典,一段时间后我们可以发现爆出了一个bugtracker目录
再对这个目录进行进一步的爆破(至于为啥去爆破我只能说是直觉,做多了靶场不用去访问这个页面都知道这个路径可能有问题)
然后我们枚举的大部分路径基本都是这个登录页面,要不然就是没啥太有用的信息(然后这里我得好好吐槽一下,谁家报错是告诉路径有问题呀,我当时没看到这个报错提示,以为是密码错误啥的就没关注,结果关键就在其中,后面我会说这个为啥是关键)
接着我们获取新服务之后肯定要去看看kali上面有没有关于这个服务的exp,经过测试所有带有命令执行的exp都不行,放弃kali查询
然后关键点来了,你要获取这个服务的exp,搜索最好带上额外标注该服务的/admin路径可以访问,要不然你直接搜索该服务的exp是查不到的,所以上面我提到的那个报错你必须关注到,而且要联想到该搜索语法中才行
0023173: CVE-2017-12419: Arbitrary File Read inside install.php script - MantisBT
然后我们直接访问第三行网址,然后去访问我上面提到的这个链接,你就会得到一个exp利用手法
访问链接你可以看到你可以有两种方式去读取文件,但是需要注意的是,经过测试我们发现这个post方法无法触发脚本exp
我们只需借鉴这个get方法即可,便可以读取一些绝对路径底下的文件
比如/etc/passwd文件
但是好玩的来了就是config_inc.php文件读不到,即使绝对路径正确,但是就是读不到,按理来说www-data权限足够访问到的,但是经过多次尝试,包括多种路径尝试就是读不到,所以只能通过walkthrouth取巧一下(没办法,前期找exp因为忽略了前端报错,所以一直没找到,只能借助一下wp了,嘿嘿),然后我们获得mysql数据密码
这里可以看到我们找到的路径绝对没啥问题,但是就是读不了。。。
这里我直接贴出www-data权限在目标主机上是可以访问该文件的,也算弥补一下了
然后就是登录mysql了,然后查数据库了,这里唯一需要注意的事情就是,你在连接数据库的时候要额外加个参数,这里我也是直接贴出来了,你要不加ssl这个参数会提示报错的
mysql --host=192.168.164.204 --port 3306 --user=root --password=SuperSequelPassword --ssl=0
解密就没啥了,直接用这个网站,进行破解,嘎嘎好用(博主推荐)
然后就是要用administrator用户登录网站,至于为啥用这个,因为该服务默认用户名就是这个,你直接百度搜一下就知道了,不要用啥admin或者root登录,遇到这个陌生的登录服务我是比较推荐先搜一下该服务是否有默认密码用户名
同样这里利用该服务的exp同样最好标注你拥有的admin权限,要不然你还不太好找exp
这里只需要按照那个2019的cve的exp一步一步去做就行,这里只需要注意的是walkthrough给的是可以通过base编码实现反弹shell,但是经过测试我们发现了几个好玩的报错,大家可以看一下
我们先是尝试这个常规的bash命令弹shell
这个时候触发文件就会报错,然后nc也收不到弹shell的操作,也就是无响应
然后我们使用busybox进行回连的时候
这里我们却可以收到回连,但是无法持久化,多次尝试也是同样的效果
这里我就想难道真的只能base编码吗,不过原先靶场的经验是如果实在没啥好命令时候可以尝试一下python的反弹命令
结果是python可以成功获得一个持久化shell窗口,也算扩充知识库了
然后在获取初始权限的话,肯定要去跑一下linpeas,结果linpea是没发现啥,然后由于我们是www-data权限,按理来说我们是访问不了/home用户的文件,但是这个靶场是可以访问的,然后我们还发现了/home用户底下有一个脚本,这个时候肯定要去看一下有没有定时任务看看可不可以做一下劫持,然后果断上传pspy,结果脚本能不能劫持先放一边,我们又获得一个密码,现在思路相当清楚了
已知我们有一个用户名还没利用,还有一个密码,那我们肯定要去尝试什么呀,没错肯定要去看看能不能更改一下权限,结果su了一下,一不小心成功了哈哈哈哈
后面我们又是在升级的权限下看了一下sudo -l命令返回结果,看看有没有能利用的,结果发现是个大窟窿
直接sudo su提权,成功拿到root权限+-
总结:
狗屎的靶场,本身就是两个exp加上常规提权思路,难度你说很大吗,我认为是没有多大的,唯一恶心的点就是该漏洞exp利用太难找了,其他利用基本十几分钟就拿下了,我的评价是无需多关注该靶场,没有任何参考价值
链接:
CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.
0023173:CVE-2017-12419:install.php 脚本内任意文件读取 - MantisBT --- 0023173: CVE-2017-12419: Arbitrary File Read inside install.php script - MantisBT
0026091: CVE-2019-15715: [Admin Required - Post Authentication] Command Execution / Injection Vulnerability - MantisBT
Online - Reverse Shell Generator