
结合步骤1.信息收集加确定目标。2.发现漏洞。3.漏洞利用getshell。4.提权 5.总结
1.信息收集加确定目标
首先进行信息收集确定靶场ip,进行nmap进行扫描
可以确定靶场的ip为192.168.78.130,进行全端口扫描
对22端口进行弱口令跑一跑,未果,看到开放了3306端口,想着能不能得到账号和密码进行爆破,
先访问80端口,看看web页面信息
2.发现漏洞
访问到此页面,看到框架搭建信息,此时有两种,第一种看到登入框可以进行sql注入测试,第二种直接到谷歌搜索exp,第一种测试过,没有结果,来到第二种办法
https://www.exploit-db.com/exploits/50176进行利用
得到账号密码 进行登入到数据库
3.漏洞利用getshell
成功登入到数据库,开始查询里面的账号和密码
发现密码是base64加密,进行每个解码
使用hydra对每个账号和密码进行登入到ssh进行爆破
成功得到两组账号和密码,分别进行登入到ssh
成功登入到,查看一下有没有敏感文件等
成功得到第一个flag,看一下当前用户可执行那些命令
4.提权
发现没有可以利用的点,进行登入到第二个账户看看
这里的大概意思是:
这里的意思是存在可执行文件漏洞,所以接下我们要做的就是找到那些是可执行的文件
find / -perm -u=s 2>/dev/null
进行查看/opt/get_access文件,但是发现使用普通的cat查看是乱码的,可以进行反编译查看,也可以使用strings进行查看
发现存在此文件 我们查看一下该文件
可以看见我们没有权限进行查看,这里cat是使用root权限进行查看的,提权思路就来了,我们自己伪造一个cat命令文件,加入/bin/bash,并且添加到环境变量里面去,然后执行该文件,然后调用到cat的时候用到的我们的可执行命令,这样获得root权限。
创建cat时发现其他目录环境不能写入进去,我们得进入/home里去执行
成功拿到了root权限
5.总结
总结一下sudo和suid提权 1.sudo提权:sudo是常用的Linux命令,允许普通用户执行root命令
普通用户在使用sudo执行命令的过程中,会暂时拥有root权限,如过该命令执行没有中断,而且该命令运行的过程中可以调用系统命令,那就可以直接运行/bin/bash
,此时就是在root权限下运行bash了。
直接输入 sudo -l查看可以使用sudo运行那些命令。
例如:git 提权
使用命令 sudo git -p --help
强制进入交互状态,让页面缓冲区无法显示全部信息(放大字体/缩小显示区域即可)。 然后输入!/bin/bash 成功拿到root权限
2.suid提权:suid(set uid)是linux中的一种特殊权限,suid可以让调用者以文件拥有者身份运行该文件,所以利用suid提权的核心就是运行root用户所拥有的suid的文件,那么运行该文件的时候就得获得root用户的身份了。 本靶场就是找到可执行文件,然后发现执行cat的时候是root命令,于是自己构造一个cat文件,并且里面写入/bin/bash然后添加到环境不变量里面去,这样root权限运行的时候就可以拿到一个root的shell。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)