Linux

Linux 安全 CTF 实战题

通过安全练习掌握 Linux 命令、文件权限、进程、日志与权限边界。

你将学到什么

  • 使用基础命令调查系统
  • 理解文件与权限机制
  • 从日志和进程中寻找证据

Linux挑战

共 39 题。

Linux难度 1

03:Linux 入门——找到文件

你已连接到 Linux 服务器;主目录中有一个写着旗标的文件。请用基本命令找到它。

Linux难度 1

04:找到隐藏文件

Linux 中以 `.` 开头的文件默认不会被普通 `ls` 显示。服务器上有一个隐藏文件,请找到它。

Linux难度 1

Linux-01:用 grep 在日志堆中定位目标

`/var/log/app` 下有大量按日期归档的日志,只有一条 `ERROR` 记录包含旗标。请用 grep 或 find 找到它。

Linux难度 1

Linux-SSH 密钥搜索:发现隐藏私钥文件

应用配置目录深处藏着一个类似私钥的文件。请用 `find` 根据扩展名和目录线索找到并检查它。

Linux难度 1

Linux-归档:解开 tar 包中的秘密

主目录中的压缩归档 `.tar.gz` 内藏有写着旗标的文件。请用 tar 解开并检查内容。

Linux难度 1

Linux-自定义:检查定时备份脚本

检查 `/usr/local/bin` 中的定时脚本及注册它的 cron 配置;脚本注释也可能含有线索。

Linux难度 1

Linux-服务配置:深入 Nginx 配置文件

`/etc` 下有多份服务配置,混有诱饵和真实线索;请连同注释一起仔细检查。

Linux难度 1

Linux-符号链接基础:跟随链接链到终点

一条符号链接链连接了多个文件。请用 `ls` 或 `readlink` 一直跟到真实文件。

Linux难度 1

Linux-磁盘用量:用 du 追踪膨胀文件

隐藏目录中有一个大小异常的大文件。请用 du 或 find 的大小选项定位并检查它。

Linux难度 1

Linux-权限基础:运行没有执行位的脚本

某个脚本没有执行权限。请检查其权限,用 `chmod` 添加执行位后运行它。

Linux难度 1

Linux-文件类型伪装:用 file 看穿文件真身

扩展名为 `.jpg` 的文件未必真是图片。请使用 file 找出扩展名和实际内容不一致的文件。

Linux难度 1

Linux-进程基础:检查 sleep 命令参数

请从数个后台进程中找到具有目标命令行参数的进程,练习 `ps` 的基本用法。

Linux难度 1

Linux-深度搜索:用 find 找到深层文件

唯一的旗标文件藏在多层嵌套目录深处;请用 `find` 排除诱饵并找到它。

Linux难度 1

Linux-环境变量基础:检查 shell 启动变量

shell 启动时设置的环境变量中有一个保存旗标。请用 env 或 echo $变量名检查。

Linux难度 1

Linux 基础:权限与 SUID

学习 Linux 基本命令和文件权限。请依据提示找到 SUID 文件,并使用题目指定的可执行文件取得旗标。

Linux难度 2

Linux-02:通过 sudo 允许的 vim 提权

检查普通用户可免密码通过 sudo 运行的命令;某个命令可用已知 GTFOBins 技巧进入 shell。

Linux难度 2

Linux-03:解读 cron 配置文件

系统包含 `/etc/cron.d`、`/etc/crontab` 和用户 crontab 等多处 cron 配置。检查它们,找出写有旗标的位置。

Linux难度 2

Linux-Cron 提权:劫持可写的 root 脚本

root 会定期运行一个 cron 脚本。检查其权限,并思考普通用户可写时下次执行会发生什么。

Linux难度 2

Linux-systemd:检查服务单元的环境变量

systemd 单元可在 `[Service]` 段设置环境变量。请检查已注册服务的定义和值。

Linux难度 2

Linux-符号链接迷宫:穿过分岔路径

多个目录由符号链接交错相连。请不要被诱饵提示文件误导,逐一跟随链接到真正的旗标文件。

Linux难度 2

Linux-脚本调试:修复损坏的 Bash 脚本

脚本内有多个故意设置的拼写和语法错误,无法运行到最后。请用 Bash 调试功能逐一修复。

Linux难度 2

Linux-网络基础:连接监听端口

后台服务正在某个端口监听。请用 `ss` 或 `netstat` 找到端口,并以 `nc` 连接来接收旗标。

Linux难度 2

Linux-备份查找:辨认真正的临时文件

项目目录有多个以 `.bak`、`.tmp` 或 `~` 结尾的诱饵备份和临时文件;真正的旗标位于隐藏文件中。

Linux难度 2

Linux-管道:用 grep 和 awk 筛选日志

访问日志包含大量记录,其中多行有旗标。请用管道 `|` 串联命令,只提取所需字段。