ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

中职组网络安全赛题AB模块解析:从加固到取证的实战训练

中职组网络安全赛题AB模块解析:从加固到取证的实战训练 简介这份资料面向备战全国职业院校技能大赛中职组网络安全赛项的选手与指导教师聚焦2022年赛题A、B两个模块的解析答案帮助读者理解基础设施设置与安全加固、网络安全事件响应与数字取证等核心考点。压缩包内为1个docx文档约2.74MB内容按模块与任务逐条展开涵盖登录安全加固、数据库安全策略、流量完整性、事件监控、防火墙策略、IP协议安全配置以及主机发现与信息收集等典型任务并附有操作命令与配置思路说明。目前已有3936人学习下载适合需要对照赛题复盘、梳理答题逻辑、查漏补缺的中职网络安全竞赛选手也可作为指导教师组织训练时的参考材料。1. 从一套中职组网络安全赛题说起AB 模块到底在考什么2022 年全国职业院校技能大赛中职组网络安全竞赛的 AB 模块是很多 CTF 入门选手第一次接触「真实赛制」的地方。它不像纯线上夺旗赛那样只丢一个 flag 就完事而是把基础设施安全加固、数字取证、应用安全三条线揉进同一套环境里A 模块偏防守与加固B 模块偏取证与应急响应。很多人搜「ctf 数据安全赛真题」「数字取证 流量取证」时真正想找的就是这种有完整场景、有明确评分点的赛题解析。我带过几届中职组的集训发现选手卡住的地方往往不是不会用工具而是不知道题目在问什么、评分点埋在哪。这套题的价值在于它把「网络安全学习路线」里最虚的那部分——怎么把零散知识点串成一条可交付的处置链——用 AB 两个模块逼你走一遍。适合已经会基本 Linux 命令、想从刷题转向实战场景的入门者也适合带队的指导老师拿来当教学骨架。2. A 模块基础设施安全加固从弱口令到服务收敛的完整链路A 模块的核心是「给你一台有问题的机器让你把它改到符合安全基线」。听起来简单但评分点细到配置文件里某一行的值。下面按我实际带训的顺序拆。2.1 先做资产梳理别急着改配置拿到环境第一件事不是passwd而是搞清楚这台机器上跑了什么。常见做法是# 查看监听端口与对应进程确认暴露面 ss -tulnp # 列出所有可登录账户排除系统伪用户 awk -F: $31000 $365534 {print $1} /etc/passwd # 查看计划任务排查持久化后门 crontab -l; ls -la /etc/cron.*ss -tulnp里的-t是 TCP、-u是 UDP、-l是监听态、-n是数字端口、-p显示进程。这一步决定你后面要关哪些服务。awk那条按 UID 区间筛人是因为中职组赛题里经常埋一个 UID 为 0 的隐藏账户光看/etc/passwd末尾容易漏。计划任务目录要连/etc/cron.d、/etc/cron.hourly一起看很多选手只查crontab -l结果反弹 shell 的定时任务在/etc/cron.d/里躺着。资产梳理的输出建议记成一张表后面每改一项打个勾避免改乱。2.2 账户与口令加固的三个必调参数账户这块评分点通常集中在三处多余账户、口令策略、sudo 权限。# 锁定或删除非必要账户 usermod -L testuser userdel -r guest # 设置口令复杂度策略 apt install libpam-pwquality -y # 编辑 /etc/pam.d/common-password加入 # password requisite pam_pwquality.so retry3 minlen10 ucredit-1 lcredit-1 dcredit-1usermod -L是锁定-r删除时连家目录一起清。pam_pwquality.so的参数里minlen10是最小长度ucredit-1表示至少一个大写lcredit小写dcredit数字负号代表「至少」。这里有个坑改完common-password要用pam-auth-update或直接测一个新用户改密码否则 PAM 栈顺序不对会直接锁死所有登录。sudo 权限检查用visudo -c验证语法再看/etc/sudoers.d/下有没有NOPASSWD: ALL这种送分题。2.3 服务收敛与防火墙策略落地服务收敛的原则是「非必要不开」。赛题里常见的是开着 FTP、Telnet、旧版 Samba。# 停用并禁止开机自启 systemctl stop vsftpd systemctl disable vsftpd # 配置 iptables 默认拒绝只放行必要端口 iptables -P INPUT DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables-save /etc/iptables/rules.v4-P INPUT DROP把默认策略设为丢弃这是最容易翻车的一步——如果你先设了 DROP 再放行 22而当前又是 SSH 连着的ESTABLISHED那条规则必须在这之前生效否则自己就被踢出去了。血泪经验改远程防火墙前先开一个at定时任务把规则清空留个后悔药。服务收敛后要复查ss -tulnp确认只剩 22 和你明确要留的端口。评分脚本通常就是扫端口列表比对。3. B 模块数字取证与流量分析把「看不见的攻击」还原成时间线B 模块考的是事后还原能力给你一份流量包或磁盘镜像让你回答「谁在什么时候做了什么」。这块和「数字取证 流量取证」热搜里讨论的场景高度重合。3.1 流量取证用 Wireshark 和 tshark 定位恶意会话拿到 pcap 先别急着翻按协议分层统计。# 统计会话按字节数排序找异常 tshark -r capture.pcap -q -z conv,tcp # 过滤 HTTP 请求看有没有可疑 UA 或上传 tshark -r capture.pcap -Y http.request -T fields -e ip.src -e http.host -e http.request.uri # 提取所有 DNS 查询找隧道特征 tshark -r capture.pcap -Y dns.flags.response0 -T fields -e dns.qry.name | sort -u-z conv,tcp输出 TCP 会话统计字节数畸大的那条往往就是数据外传。-Y是显示过滤器-T fields -e指定输出字段适合批量导出再分析。DNS 查询里如果出现超长随机子域名基本就是 DNS 隧道这是「恶意流量可视化检测」类题目最爱考的。提取文件用File Export Objects HTTP或者命令行tshark --export-objects http,./out。注意导出目录要先建好否则静默失败。3.2 主机取证从镜像里挖出持久化和操作痕迹主机取证常见的是给一个dd镜像或虚拟机磁盘。挂载前先算哈希固定证据。# 固定证据 sha256sum disk.img disk.img.sha256 # 查看分区偏移后挂载 fdisk -l disk.img mount -o ro,loop,offset$((2048*512)) disk.img /mnt/evidenceoffset按fdisk显示的起始扇区乘 512 算ro只读挂载防止污染证据。挂上后重点看几个位置/var/log/auth.log找登录爆破、/root/.bash_history找操作命令、/etc/passwd和/etc/shadow比对新增账户、/tmp和/dev/shm找残留脚本。时间线是取证得分的核心。用find按修改时间排序find /mnt/evidence -type f -newermt 2022-01-01 ! -newermt 2022-12-31 -printf %T %p\n | sort-newermt按时间过滤-printf %T %p输出可排序的时间戳加路径。把这条时间线和流量里的会话时间对齐就能还原出「几点几分攻击者上传了 webshell几点几分执行了命令」。3.3 应用安全Web 日志里的攻击链还原应用安全部分通常给一份 access.log让你找出攻击者用了哪些 payload、有没有成功。# 找出所有含敏感参数的请求 grep -Ei union|select|exec|passwd|/etc/passwd|\.\./ access.log # 统计每个 IP 的请求量和状态码分布 awk {print $1, $9} access.log | sort | uniq -c | sort -rn | head -20第一条抓 SQL 注入和路径穿越特征第二条按 IP 和状态码聚合请求量异常且 200 居多的 IP 就是重点嫌疑。注意日志里的 URL 是编码过的%2e%2e%2f要手动或脚本解码后再判断直接 grep../会漏。把 Web 日志、流量、主机时间线三份数据交叉验证才能回答「攻击者从哪个入口进、提权没有、带走了什么」这类综合题。4. 避坑与排查AB 模块里最容易丢分的五个地方4.1 改防火墙把自己关在门外现象执行iptables -P INPUT DROP后 SSH 断连重连不上。原因默认策略先于放行规则生效且没有保留已建立连接。解决改之前先iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT或者用at now5 minutes排一条iptables -F兜底。4.2 取证挂载污染了证据时间戳现象挂载后find出来的时间全变成当前时间。原因用了读写挂载系统自动更新了 atime。解决一律mount -o ro,loop必要时加noatime。算哈希要在挂载前做。4.3 流量包太大Wireshark 直接卡死现象打开几百 MB 的 pcap界面无响应。原因Wireshark 默认全量解析。解决先用editcap -c 10000切分或用tshark命令行过滤后再导出小包。带训时我一般直接教命令行图形界面只用来最后确认。4.4 口令策略改完所有用户登不上现象改完common-password后连 root 都提示认证失败。原因PAM 模块顺序写错或pam_pwquality没装就引用了。解决改之前备份原文件改完用另一个终端测试别关掉当前会话。真锁死了就进单用户模式恢复。4.5 只改配置不验证评分点对不上现象自认为都改了得分很低。原因赛题评分脚本读的是具体文件的具体行你改的位置不对。解决每改一项用grep回读确认比如grep -r PermitRootLogin /etc/ssh/确保改的是sshd_config而不是备份文件。5. 把赛题变成能力一套可复用的训练与验证方法带过几轮之后我最大的体会是AB 模块的分数差距不在工具会不会用而在有没有形成固定的处置顺序和验证习惯。下面这套方法是我现在带新人必走的流程。第一步建一个自己的检查清单模板。A 模块按「账户 → 口令 → 服务 → 防火墙 → 日志」五段B 模块按「固定证据 → 流量 → 主机 → 应用 → 时间线对齐」五段。每段下面列具体命令和预期输出。这个清单不是抄来的是你每次做完题把漏掉的点补进去长出来的。第二步用虚拟机复现环境。找一台干净的 Ubuntu 或 CentOS自己埋几个弱口令、开几个危险服务、造一段带攻击特征的 pcap然后按清单走一遍。自己出题自己解比刷十套真题都管用因为你知道评分点在哪也就知道真实比赛里出题人会把点埋在哪。第三步验证环节必须量化。改完一项用命令回读并记录检查项验证命令期望输出空口令账户awk -F: ($2){print $1} /etc/shadow无输出SSH 禁止 rootgrep ^PermitRootLogin /etc/ssh/sshd_configPermitRootLogin no防火墙默认策略iptables -L INPUT -n | head -1Chain INPUT (policy DROP)恶意会话定位tshark -r x.pcap -z conv,tcp异常 IP 对这张表每行都是「命令 期望」做完打勾。比赛时时间紧靠记忆容易漏靠表不会。第四步时间线对齐练三遍以上。把流量时间、日志时间、文件修改时间三条线画在同一张纸上找它们的交集。这个能力一旦练出来B 模块的综合题就是送分。我一般要求新人至少完整对齐三套不同来源的数据才算过关。最后说个习惯每次训练结束把这次踩的坑写进清单的「避坑」区下次开始前先读一遍。网络安全这行工具会更新赛制会变但「先固定证据、再动手、改完必验证」这套顺序不会过时。我自己到现在每次上机前还会默念一遍这三句翻车的次数确实少了很多。希望帮到你。本文还有配套的精品资源点击获取
返回列表