0x00、前言
Linux本地提权在入侵过程中起到重要的作用。当黑客通过webshell等方式获取到低权限的用户的时候,需要高级权限才能完全控制目标主机,这时候本地提权就起到作用了。在自适应安全横行安全圈的今天,本地提权也是攻击链检测锚点的重要组成部分。
0x01、本地提权途径分析
1、漏洞提权
最主要的提权方式是本地linux漏洞导致的提权。
2015年~2019年OSKTV本地提权的漏洞(14项):
其实内核漏洞提权检测的原理也很简单:
@1、获取内核版本以及依赖软件版本
解析uname -a
getUname() { local uname=$1 KERNEL=$(echo "$uname" | awk '{print $3}' | cut -d '-' -f 1) KERNEL_ALL=$(echo "$uname" | awk '{print $3}') ARCH=$(echo "$uname" | awk '{print $(NF-1)}') OS="" echo "$uname" | grep -q -i 'deb' && OS="debian" echo "$uname" | grep -q -i 'ubuntu' && OS="ubuntu" echo "$uname" | grep -q -i '\-ARCH' && OS="arch" echo "$uname" | grep -q -i '\-deepin' && OS="deepin" echo "$uname" | grep -q -i '\-MANJARO' && OS="manjaro" echo "$uname" | grep -q -i '\.fc' && OS="fedora" echo "$uname" | grep -q -i '\.el' && OS="RHEL" echo "$uname" | grep -q -i '\.mga' && OS="mageia" }
获取软件包
getPkgList() { local distro=$1 local pkglist_file=$2 # take package listing from provided file & detect if it's 'rpm -qa' listing or