-sn 发送arp请求包探测目标ip是否在线
-p- 所有端口扫描
-sV 查询开放端口的服务
这里65333
是ssh服务,63777
是http服务
最好拿个记事本记住
浏览靶机的默认页面,查查有什么漏洞
它说indexp.txt
在web的默认目录,那我访问一下。
indexp.txt
下显示了哪些目录可以访问,哪些目录不可以访问,类似于robot.txt
那我把这些可以访问的目录保存在一个文件中
提取Allow的目录
将匹配内容重定向到f1
然后使用循环把Allow的网址访问一遍,看哪个能访问
for i in $(cat f1|awk -F ": " '{print $2}');do echo $i;curl -I "http://192.168.31.154:63777$i" ;done
$() --获取执行结果
awk -F ": " '{print $2}' --以:空格为分隔符,打印分割后的第二个元素
curl -I --只返回响应头信息
其中/gichin/your-button
的响应码是301,其他都404或403
那么我的渗透点就可以定在/gichin/your-button
这个目录里
目录扫描
gobuster dir -u http://192.168.31.154:63777/gichin/your-button -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x php,html,txt -o 154webdir
-x 搜索扩展名
-o 输出内容写入文件
-w 爆破字典
/usr/share/wordlists/ 这个目录是kali自带的,包含很多字典
访问扫到的网页note.html
按一下拿棍的小人,页面跳转
这里提示了Balance is key
这可能是用户密码
源码里有个用户信息,chuck-norris
有用户密码可以尝试下ssh连接
端口要用-p
指定一下,因为不是22端口了
一开始密码填Balance,密码错误,然后想了很久,把Balance改为小写就登录进去了。
现在已经拿到一个普通用户的shell,下个目标就是root的shell
先拿user的flag
发现cat用不了,那cat命令为什么用不了,这时我想到作者可能修改了bash的配置,然后我看了一下
chuck-norris@karate:~$ vi ~/.bashrc
果然,ban了cat
和more
,那我使用less
,你不banmore
,我都不会记得less,真是帮大忙了
chuck-norris@karate:~$ less user.txt
因为刚刚看到find
和sudo
命令都被ban了,所以就不能查看有suid的文件
这里我直接使用LinPEAS脚本
LinPEAS 是一个脚本,用于搜索在 Linux/Unix* 主机上提升权限的可能方法
下载地址:https://github.com/carlospolop/PEASS-ng/releases/tag/20220410
kali搭建一个简易web服务器,让靶机下载我的linpeas.sh
运行linpeas.sh
方法一
利用root用户使用,但普通用户可以写入的文件进行提权
这里找到/lost+found/目录下有个脚本可以利用,应该是root会时不时执行这个脚本
vi 编辑脚本,注释原来内容,在最后一行加上反弹shell代码
kali监听端口,等一会就能连接
cd /root
less root.txt
从提示信息得出,要寻找与maritrini
有关的文件
找到文件,习惯性cat一下,结果后知后觉root用户没有ban cat命令
成功拿到root flag
方法二
根据linpeas脚本得到的漏洞进行利用
SUID的二进制文件
可用的软件
这里就不演示了,手累。
PS:DirtyPipe在这里是可以提权,EXP图片上有。