1. 提权的定义
通常我们在拥有一个webshell的时候,一般权限都是WEB容器权限,如在iis就是iis用户组权限,在apache 就是apache权限,一般都是权限较低,均可执行一些普通命令,如查看当前用户,网络信息,ip信息等。如果我想进行内网渗透就必须将权限提权到最高,如系统权限 超级管理员权限。
2. 创建交互shell
Linux提取中,需要交互式shell,因此,可以使用perl-reverse-shell.pl(记得改里面的接收ip和端口号)建立sockets,接着本地使用nc监听端口:nc -vvlp 1234
然后将perl-reverse-shell.pl通过meterpreter或者小马传到靶机上(upload file命令),并且为他增加权限:chmod +x perl-reverse-shell.pl
3. 查看内核以及发行版本
cat /etc/issue
cat /etc/*release
查看内核版本
uname -a
4. 根据内核版本寻找可用的提权exp
5. 进行提权
将下载下来的exp.c文件传入到靶机上,运行gcc exp.c -o exp将文件进行编译(gcc是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端),然后给新生成的文件赋予权限:chmod +x exp。最后运行
网站上会告知exp的使用方法。
拿到权限后可以查看密文文件: cat /etc/shadow
最后如果靶机电脑上装有python,还可以再将获得的高权限shell变成交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'
当然还有其他方式升级成交互式shell:https://blog.csdn.net/weixin_29029673/article/details/113518211