【红队笔记】Linux提权精讲学习笔记

一、原理和枚举

提权一词原文:Privilege Escalation

1、权限体系

常用的安全机制

UGO体系

suid sgid 体系

Capabilities

AppArmor Selinux

ACL 访问控制列表

不常用的安全机制:

Grsecurity

Pax

ExecShied

ASLR

TOMOYO Linux

SMACK

Yama

CGroups

Linux Namespaces

StackGuard

proplice

seccomp

ptrace

capsicum

Mprotect

chroot

firejail

提权的原理:

基于对安全机制的了解,而对安全机制的利用、破坏、和妙用

1、低权限可以修改可执行权限或脚本,执行时按照高权限运行

  • UGO
  • SUID SGID

2、从用户行为的角度,用低权限用户运维人员也需要记忆输入备份凭据,以备使用高权限用户时候完成操作

3、在权限体系的上层,会在内存和CPU的层面,在这个层面寻找和捕捉凭据信息,并利用。

提权枚举

获取初始立足点之前的信息收集:侦查

用于横向移动和提权的信息收集:提权枚举

升级完整的命令行提示符:

python -c 'import pty;pty.spawn("/bin/bash")'

stty raw -echo

export TERM-xterm-color

rlwrap nc -lvnp 443

手工提权枚举

枚举用户信息

whoami	
id		
who		看当前登录的所有用户的信息
w		提供当前登录的所有用户的详细信息
last	显示最新的系统登录记录

枚举系统和内核信息

uname -a	看内核版本信息
lsb_release -a
cat /proc/version
cat /etc/issue
hostnamectl

枚举IP地址信息

ip addr		查看IP地址和网卡信息
ifconfig	查看IP地址和网卡信息
ip route	查看路由表信息
ip neigh	查看网络邻居,用于内网
arp -a		局域网中IP地址与MAC地址绑定的记录
hostname	用户名信息
hostnamectl	详细用户信息
sudo -l		列出所有sudo权限
getcap -r / 2>/dev/null
ls -a		查看隐藏文件
ls -liah	查看隐藏文件
history		命令执行记录
cat /etc/passwd	系统用户信息表
cat /erc/crontab	查看系统定时任务

echo $PATH	环境变量查看
env		查看整体环境变量的命令

ps -ef	查看进程信息
ps axjf	查看进程树
ps aux	列出所有进程,列出进程的用户,列出没有连接到终端的进程
top -n 1	查看进程

netstat	-a	网络统计,显示所有正在使用和建立链接的端口信息
netstat -ano

find / -perm -u=s -type f 2>/dev/null

which	查看当前系统安装了哪些工具

cat /etc/fstab	查看未挂载的硬盘

自动化提权枚举

优点:自动化

缺点:

1、PEASS-ng

linpeass.sh

读取输出文件:less -r linpeass.out

2、LinEnum

比较老,CVE可能少,但是算法并不弱,在老系统上可以更好的使用

3、Linux-smart-enumeration

4、Linux-exploit-suggester

5、Linuxprivchecker

使用python写的

6、unix-privesc-check

二、演示1- 服务漏洞利用提权,以MySQL-UDF提权为例

三、Linux提权