FristiLeaks_1.3

FristiLeaks_1.3

项目地址:https://www.vulnhub.com/entry/fristileaks-13,133/
提示:
(1)靶机网络连接方式使用NAT模式
(2)该靶机做了地址绑定,因此需要设置固定物理地址才能获取IP地址;物理地址为:08:00:27:A5:A6:76

一、信息收集

1. 使用nmap收集端口服务信息:

命令如下:

kali@kali:~/Desktop$ sudo nmap -nvv -sSCV -Pn 192.168.1.6

在这里插入图片描述

2. 查看tcp80端口:

进入http服务后并未发现可利用信息,查看网页源码,发现一段注释内容,大致意思为需4小时后拿下主机最高权限获得flag
在这里插入图片描述

3. 使用gobuster工具对http服务进行枚举:

因为在http初始页面未获取到信息,因此对它进行枚举
命令如下:

kali@kali:~/Desktop$ gobuster dir -w /home/kali/Desktop/zd/dir.txt -u http://192.168.1.6 -x zip,php,txt,asp

在这里插入图片描述

3.1 查看/images目录:

进入到images网页目录下,发现两张图片,依次查看图片后似乎获得一些提示
在这里插入图片描述

3.2 查看第一张图片后,上面出现提示:

(this is not the url you were looking),说的是这不是我们寻找的url,反过来讲就是我们需要寻找一个正确的url
在这里插入图片描述

3.3 继续查看第二张图片:

(keep calm and drink fristi),翻译后是什么保持冷静,喝冰爽,没错,我懵了。经过一天时间的揣摩,意识到我需要找的url肯定就在这两张图片提示的信息中。第一张可以排除,因为第一张已经提示我们需要寻找一个url,那就看第二张,前面一个短语提示的是我们需要冷静,那就用第二个短语拼接url,经过几次拼接,终于找到了一个系统管理后台登陆页面。。。
在这里插入图片描述

3.4 寻找登录后台方法:

在这里使用了万能密码进行爆破也未成功,使用sqlmap进行探测,也未发现注入点。查看网页源码信息后,得到一些提示,图一是todo留个eezeepz的一段话(我们需要清理这些以备生产。为了使测试更容易,我在这里留下了一些垃圾),因此可以看出eezeepz是一个系统管理员。继续往下看,发现一段base64加密密码(图二)
图一:
在这里插入图片描述
图二:
在这里插入图片描述

3.5 解密:

在对加密内容进行解密过程中,提示解密内容为png格式的文件,因此需要把解密内容写入到png文件中。查看png文件后,上面出现一段字母,应该是密码(keKkeKKeKKeKkEkkEk)
在这里插入图片描述

3.6 登录前台:

结合前面前端源码下的留言,看出eezeepz是该系统管理人员,可以把它猜测为账号;确实可以登陆进去

账号:eezeepz
密码:keKkeKKeKKeKkEkkEk

在这里插入图片描述

二、信息利用及提权

1. 上传大马:

进入系统后台后,发现存在文件上传功能,因此试着上传大马,上传失败提示只支持png、jpg、gif格式的文件,更改大马文件后缀名后终于上传成功(上传的文件名为1.php.png)
在这里插入图片描述

2. 获取shell:

上传大马后,因为不知道路径,无法触发大马。因此需要再次对web服务进行枚举,收集枚举信息后,确认大马在/fristi/uploads/路径下
在这里插入图片描述

2.1 本地启用nc监听,浏览器中访问文件触发大马,获取shell:

在这里插入图片描述
在这里插入图片描述

3. 提权:

3.1 查看获取的shell后,发现为普通用户,因此需要提权。先进入到home目录下查看用户文件夹,发现只有eezeepz用户文件夹可以进入,进去发现notes.txt文件,查看内容后发现是Jerry留下的一段话,大致意思就是只允许当前用户访问/usr/bin/目录下的系统二进制文件,bin目录管理了一些系统常用命令,如果想访问/home/admin目录下的内容需要将bin目录下的二进制文件添加权限后引入到/home/admin文件中,并将此操作写入到/tmp目录下的runthis文件中
命令如下:

sh-4.1$ echo '/usr/bin/../../bin/chmod -R 777 /home/admin' > /tmp/runthis

在这里插入图片描述
3.2 进入到admin文件下,发现了两个txt文件,查看内容后发现是两组密码,同时还发现了一个加密脚本(cryptpass.py),应该是加密这两组密码使用的,查看内容后发现该脚本使用的加密机制是base64,可以按原来加密脚本思路,调换脚本中的参数位置,做解密使用==
加密脚本:

#Enhanced with thanks to Dinesh Singh Sikawar @LinkedIn
import base64,codecs,sys

def encodeString(str):
    base64string= base64.b64encode(str)
return codecs.encode(base64string[::-1], 'rot13')

cryptoResult=encodeString(sys.argv[1])
print cryptoResult

解密脚本:

import base64,codecs,sys

def decryptString(str):
    rot13str = codecs.decode(str[::-1], 'rot13')
return base64.b64decode(rot13str)

print decryptString(sys.argv[1])

3.3 密码解密:

mVGZ3O3omkJLmy2pcuTq:thisisalsopw123
=RFn0AKnlMHMPIzpyuTI0ITG:LetThereBeFristi!

在这里插入图片描述
3.4 把这两组解密的后的密码当作其他用户密码进行测试,发现第一个密码为admin用户的密码,第二个密码为fristigod用户密码

注:切换用户前提示需要获取用户的交互式shell( python -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述
3.5 执行history查看历史命令,发现一个doCom二进制文件具有root执行权
在这里插入图片描述
3.6 利用该文件权限直接切换到root用户下
在这里插入图片描述
3.7 成功获取root用户的flag
在这里插入图片描述

总结:

(1)端口扫描后发现http服务
(2)对http服务进行枚举
(3)枚举后发现images目录下有两张图片,第一张图片提示需要寻找一个url,第二张图片提示寻找的url中包含的关键字
(4)查看寻找到的url的源码信息,发现了用户名以及一段使用base64加密的密码
(5)登陆系统管理后台,发现存在文件上传功能
(6)上传大马后,使用nc进行反弹shell监听,获取到apache用户shell
(7)在该用户文件夹下发现txt文件。根据txt文件提示进入到admin文件夹下,获取到了admin用户和fristigod用户密码。在fristigod用户下使用history查看历史命令,发现doCom文件具有root执行权,因此利用doCom文件权限成功进入到root用户下,并且拿下flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值