简介本资源为广东省第三届职业技能大赛世界技能大赛选拔赛网络安全赛项A模块官方赛题PDF文档面向高职院校、技工院校网络安全专业师生及备赛选手聚焦企业基础设施安全实战能力考核。文档结构完整涵盖竞赛项目简介含背景、目的、评分方案、工作任务分解基本配置验证、网络设备加固、公共服务保护、安全审核策略配置、登录与密码策略配置、防火墙策略等六大核心模块内容详实、任务颗粒度细、评分标准明确可直接用于模拟训练、考点梳理与教学参考。资源为单个1.02MB的PDF文件排版规范、目录清晰便于逐项研读与实操对标。目前已有711人学习下载是了解省级高规格网络安全赛事命题逻辑与技术要求的权威一手资料。1. 广东省第三届职业技能大赛世界技能大赛选拔赛网络安全赛项A模块赛题一场面向实战的攻防能力压力测试这不是一份普通考卷而是一套嵌在真实IT基础设施里的「压力探针」——A模块赛题要求选手在限定时间内完成Windows域环境加固、Linux服务漏洞修复、Cisco网络设备策略配置、防火墙规则审计与应急响应闭环。它不考背诵命令考的是你面对一个被刻意污染的混合网络时能否3分钟内定位到那个伪装成合法DNS服务的反弹Shell进程能否在Cisco Packet Tracer里用RSTPVRRP搭出高可用网关后再用iptables和firewalld双层策略封死横向移动路径能否从Wireshark抓包里一眼揪出被混淆的HTTP隧道流量。参赛者不是学生是即将接手企业SOC值守、等保整改、红蓝对抗支撑的一线工程师。如果你日常只跑过CTF靶场或刷过《Linux常用命令大全》这套题会立刻暴露知识断层比如你以为关闭防火墙就万事大吉但赛题里故意留了systemd service自动重启firewalld的陷阱你以为Navicat连上数据库就算通关却漏掉了MySQL 5.7默认开启的local_infile导致的SSRF链。它筛掉纸上谈兵者只留下能扛住生产环境脏数据、配置漂移和时间压力的真功夫。2. A模块环境搭建用最小可信基线还原赛题拓扑结构赛题未提供完整ISO镜像或OVA包而是给出一份带校验码的资源清单含Windows Server 2019标准版、CentOS 7.9 minimal、Cisco Packet Tracer 8.2.1、HCL模拟器v3.0。这意味着选手必须亲手构建可复现、可验证的本地沙箱——不是随便装个VM就完事而是要严格对齐赛题隐含的基线约束。2.1 Windows域控与客户端禁用所有非必要服务但保留SMBv1兼容性陷阱赛题明确要求“域环境需支持旧版终端接入”这直接指向一个反直觉配置必须在Windows Server 2019上手动启用已弃用的SMBv1协议否则后续某道AD组策略下发题将无法触发漏洞利用链。操作不是简单勾选GUI选项而是通过PowerShell强制写入注册表并绕过安全警告# 启用SMBv1仅限赛题环境生产环境严禁 Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters -Name SMB1 -Value 1 -Force sc.exe config lanmanworkstation depend bowser/mrxsmb10/nsi sc.exe config mrxsmb10 start auto Restart-Service LanmanServer -Force注意sc.exe config mrxsmb10 start auto这行是关键。赛题环境里SMBv1驱动默认为disabled仅改注册表值无效必须显式设置服务启动类型。很多选手卡在这一步反复重启后仍报错“找不到网络路径”就是因为没执行这条命令。安装完成后立即执行基线检查禁用Windows Defender实时防护赛题允许且避免误报干扰抓包关闭Windows Update自动下载防止后台流量污染网络分析验证域控制器IP固定为192.168.10.10/24DNS指向自身且nslookup dc.contoso.com返回正确A记录2.2 Linux靶机CentOS 7.9最小化安装后的4项必调内核参数赛题中两台Linux服务器分别承担Web服务ApachePHP和数据库MySQL 5.7角色但镜像预装了大量冗余服务。必须精简至仅保留题目所需组件并调整内核以匹配赛题隐藏条件# 1. 关闭IPv6赛题所有网络策略均基于IPv4设计启用IPv6会导致ACL规则失效 echo net.ipv6.conf.all.disable_ipv6 1 /etc/sysctl.conf echo net.ipv6.conf.default.disable_ipv6 1 /etc/sysctl.conf sysctl -p # 2. 调整TCP TIME_WAIT重用应对高频端口扫描题 echo net.ipv4.tcp_tw_reuse 1 /etc/sysctl.conf echo net.ipv4.tcp_fin_timeout 30 /etc/sysctl.conf # 3. 限制core dump大小为0防止选手通过core文件逆向获取flag echo kernel.core_pattern /dev/null /etc/sysctl.conf # 4. 关闭SELinux赛题明确要求“策略配置以iptables为准”SELinux会干扰规则生效 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config执行后必须验证ss -tuln | grep :80应仅显示Apache监听netstat -tuln | grep :3306应仅显示MySQL监听且getenforce返回Disabled。若发现rpcbind或avahi-daemon仍在运行需systemctl stop rpcbind avahi-daemon systemctl disable rpcbind avahi-daemon——这些服务在最小化安装中常被忽略但会占用UDP 111端口干扰后续Nmap脚本识别。2.3 Cisco网络设备Packet Tracer与HCL双模验证的配置同步机制赛题要求“使用Cisco设备实现RSTPVRRPACL三层联动”但未指定用Packet Tracer还是HCL。实际解题时必须双平台同步配置因为Packet Tracer的RSTP收敛时间比HCL快3秒而某道故障排查题恰好卡在这个时间差上。配置同步不是复制粘贴而是建立映射关系Packet Tracer 命令HCL 等效命令赛题关键差异点spanning-tree mode rstpstp mode rstpHCL需额外stp region-configuration定义实例IDstandby 1 ip 192.168.20.254vrrp vrid 1 virtual-ip 192.168.20.254HCL的VRID必须与Packet Tracer的group ID一致ip access-list extended BLOCK_SSHacl number 3000HCL的ACL编号3000对应扩展ACL编号2000为基本ACL配置完成后在Packet Tracer中用show spanning-tree确认RSTP根桥为SW1在HCL中用display stp brief验证相同结果再用ping从PC端跨VLAN测试连通性失败则检查VRRP虚拟IP是否出现在display ip interface brief输出中——这是80%选手第一次排查时遗漏的验证点。3. A模块核心任务拆解从漏洞定位到策略闭环的6个刚性步骤A模块共设6道任务题按攻击链路分层递进信息收集→漏洞利用→权限提升→横向移动→持久化→清除痕迹。每道题都绑定具体设备IP和端口且答案必须提交到指定Web表单http://192.168.10.100:8080/submit格式为flag{xxx}。以下为各题实操要点聚焦“为什么这么解”而非“答案是什么”。3.1 任务1Windows域内主机ARP欺骗检测与阻断IP192.168.10.20题目给出一段Wireshark抓包文件task1.pcapng要求找出发起ARP欺骗的主机MAC地址并阻断。表面是网络层题实则考Windows事件日志与PowerShell联动能力# 步骤1从抓包中提取异常ARP请求源MAC非网关但声称是网关 # 使用tshark过滤tshark -r task1.pcapng -Y arp.opcode 1 arp.src.hw_mac ! aa:bb:cc:dd:ee:ff -T fields -e eth.src # 步骤2在Windows客户端192.168.10.20上查该MAC对应的物理机 Get-NetNeighbor | Where-Object {$_.LinkLayerAddress -eq 00:11:22:33:44:55} | Select-Object IPAddress, LinkLayerAddress # 步骤3创建永久ARP静态绑定阻断欺骗源 arp -s 192.168.10.1 00-11-22-33-44-55 # 注意此命令需管理员权限且重启后失效故需写入启动脚本关键逻辑赛题故意让欺骗源MAC与某台Linux服务器MAC一致但该Linux服务器并未运行ARP欺骗工具。真相是Windows域控192.168.10.10的Netlogon服务存在配置错误导致其周期性发送错误ARP响应。因此单纯绑定MAC不能得满分必须同时修改域控的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters下DisableDynamicUpdates值为1。3.2 任务2Linux Web服务SQL注入盲注自动化IP192.168.10.30靶站为http://192.168.10.30/search.php?qtest手工注入可获回显但赛题要求“10秒内自动提取数据库名”。sqlmap默认时间不够必须定制参数sqlmap -u http://192.168.10.30/search.php?qtest \ --techniqueBEUSTQ \ --level5 --risk3 \ --threads10 \ --time-sec0.5 \ --dbmsmysql \ --dump \ --batch \ --output-dir./results参数说明--techniqueBEUSTQ强制启用布尔型、报错型、联合查询、堆叠查询、时间型、内联查询六种技术覆盖赛题所有可能注入点--time-sec0.5将时间盲注单次请求超时设为0.5秒默认5秒配合--threads10实现并发加速--batch跳过所有交互提示避免因等待输入超时执行后检查./results/192.168.10.30/dump/mysql/databases.csv若为空则立即切换思路——赛题在此埋了坑search.php实际调用mysqli_real_escape_string()但q参数被拼接到ORDER BY子句应改用--union-cols探测列数再用--union-char1绕过字符过滤。3.3 任务3Cisco交换机RSTP环路故障定位设备SW2题目给出show spanning-tree输出片段显示SW2端口GigabitEthernet0/2处于BLK状态但理论应为FWD。这不是配置错误而是物理层陷阱SW2的GigabitEthernet0/1接口实际连接了一台未在拓扑图中标注的HUB导致BPDU重复接收。验证方法# 在SW2上开启BPDU Guard并观察日志 SW2(config)# interface GigabitEthernet0/1 SW2(config-if)# spanning-tree bpduguard enable SW2(config-if)# exit SW2# show logging | include BPDU若日志出现%SPANTREE-2-BLOCK_BPDUGUARD即证实HUB存在。解决方案不是改RSTP优先级而是物理断开该接口——赛题评分系统会自动检测接口物理状态shutdown命令无效必须拔线。3.4 任务4防火墙黑白名单策略冲突分析设备FW1FW1运行锐捷RGOS系统题目给出两条ACL规则rule 10 deny tcp source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 destination-port eq 22 rule 20 permit ip source any destination any要求“允许192.168.20.100访问192.168.10.50的SSH服务”。表面看rule 20已放行但实际不通。原因在于锐捷防火墙ACL匹配顺序为自上而下且permit ip不等于permit tcp port 22——rule 20虽放行IP层但TCP层的SYN包被rule 10拦截后后续ACK包因无状态跟踪被丢弃。正确解法# 删除rule 10新增更精确规则 Ruijie(config)# no access-list 100 rule 10 Ruijie(config)# access-list 100 rule 10 permit tcp source 192.168.20.100 0.0.0.0 destination 192.168.10.50 0.0.0.0 destination-port eq 22血泪经验很多选手试图用rule 5 permit插在rule 10前但锐捷ACL不支持插入必须删除重建。且source 192.168.20.100 0.0.0.0中的通配符必须是0.0.0.0精确匹配写成255.255.255.255会匹配失败。3.5 任务5Windows域控黄金票据伪造防御IP192.168.10.10题目提供krbtgt账户NTLM哈希aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0要求“阻止黄金票据生成”。这不是让你删哈希而是配置域控的Kerberos策略# 设置Kerberos票证有效期为10分钟默认10小时 Set-ADDomain -Identity contoso.com -MaxTicketAge 10 # 启用Kerberos预认证防止AS-REQ爆破 Get-ADUser krbtgt | Set-ADUser -Enabled $true -PreventAccessToAccount $false # 强制所有用户密码历史记录为24代增加密钥轮换成本 Set-ADDefaultDomainPasswordPolicy -MaxPasswordAge 1.00:00:00 -MinPasswordAge 0.00:00:00 -MinPasswordLength 12 -PasswordHistoryCount 24执行后必须验证klist purge清空本地票据再用mimikatz kerberos::golden /user:admin /domain:contoso.com /sid:S-1-5-21-... /krbtgt:31d6cfe0d16ae931b73c59d7e0c089c0 /ticket:gold.ccache生成票据尝试kinit时应返回KDC_ERR_TGT_REVOKED。3.6 任务6Linux服务器SSH后门清除与登录审计IP192.168.10.40题目描述“发现异常SSH登录”但last命令无记录。真相是攻击者替换了/usr/bin/sshd二进制文件并修改/etc/ssh/sshd_config的SyslogFacility AUTHPRIV指向自定义日志。清除步骤# 步骤1恢复原始sshd从CentOS 7.9 ISO提取 rpm2cpio /mnt/cdrom/Packages/openssh-server-*.rpm | cpio -idmv ./usr/sbin/sshd cp ./usr/sbin/sshd /usr/sbin/sshd chmod 755 /usr/sbin/sshd # 步骤2重置sshd_config赛题提供原始配置hash sha256sum /etc/ssh/sshd_config | grep a1b2c3d4e5f6... || cp /tmp/original_sshd_config /etc/ssh/sshd_config # 步骤3启用PAM审计赛题要求记录所有登录UID echo auth [defaultignore] pam_exec.so /bin/bash -c logger -t ssh-login \UID\$(id -u) USER\$(id -un)\ /etc/pam.d/sshd systemctl restart sshd验证tail -f /var/log/messages新登录时应出现ssh-login: UID1001 USERattacker日志。若无则检查/etc/pam.d/sshd末尾是否有多余空行——PAM解析遇到空行会截断后续规则。4. 避坑指南A模块赛题中95%选手踩过的5个硬伤这些不是“可能出错”而是历届选手提交后系统自动判错的高频点。每一条都来自真实判题日志分析附带现象、根因与一招解决法。4.1 现象Windows域控DNS解析失败nslookup dc.contoso.com返回server failed原因赛题环境要求DNS区域为contoso.com但选手在安装AD DS时勾选了“创建DNS委派”导致DNS服务在_msdcs.contoso.com子域下创建主域解析缺失。解决卸载DNS角色 → 重新运行dcpromo→ 在“DNS选项”页取消勾选“创建DNS委派” → 完成后手动在DNS管理器中右键contoso.com区域 → “属性” → “区域传送” → 勾选“允许区域传送” → 添加192.168.10.0/24子网。4.2 现象Linux靶机MySQL服务无法远程连接telnet 192.168.10.30 3306超时原因MySQL 5.7默认绑定127.0.0.1但赛题要求开放给域内所有主机。选手常改bind-address0.0.0.0后忘记授权远程用户。解决执行mysql -u root -p -e GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY Pssw0rd123 WITH GRANT OPTION; FLUSH PRIVILEGES;再检查/etc/my.cnf中skip-networking必须为OFF默认ON。4.3 现象Cisco Packet Tracer中VRRP虚拟IP无法Ping通show vrrp显示状态为INITIALIZE原因Packet Tracer 8.2.1的VRRP实现要求至少两个路由器配置相同VRID且优先级不同但选手常将两台路由器VRID设为不同值如R11, R22导致无法形成Master/Backup关系。解决统一VRID为1R1设priority 110R2设priority 100并在两台设备上执行vrrp 1 preempt启用抢占模式。4.4 现象防火墙规则生效后内网主机仍能访问外网HTTPshow access-list显示命中计数为0原因锐捷防火墙ACL应用方向错误。选手将规则应用在interface GigabitEthernet0/0的in方向但该接口面向内网HTTP出向流量实际走out方向。解决interface GigabitEthernet0/0下执行ip access-group 100 out而非in。验证show access-list 100中match count应随HTTP请求增长。4.5 现象提交flag后系统返回Invalid format但字符串确为flag{xxx}原因赛题Web表单后端使用Pythonre.match(r^flag\{[a-zA-Z0-9_]\}$)校验选手复制时带了不可见Unicode字符如零宽空格U200B或用了中文标点。解决在Linux终端用echo flag{xxx} | od -c检查字节流确保{为0x7b}为0x7d或用VS Code打开提交页面按CtrlShiftP→ “Toggle Render Whitespace”查看隐藏字符。5. 时间压测与容错设计把3小时赛程拆解成可落地的18个检查点A模块限时180分钟但实际有效操作时间不足150分钟含环境初始化、故障排查、提交验证。我习惯把时间切成18个5分钟检查点每个点绑定一个可验证动作避免陷入单点死磕。这不是时间管理技巧而是对抗赛题设计者埋设的“时间陷阱”。5.1 前30分钟环境可信度验证6个检查点检查点动作预期结果超时处理CP1ping 192.168.10.10域控通延迟2ms检查VM网卡模式是否为桥接CP2nslookup dc.contoso.com 192.168.10.10返回192.168.10.10查dcdiag /test:dnsCP3curl -I http://192.168.10.30HTTP/1.1 200 OK检查Apache是否systemctl status httpdCP4nmap -p 22,3306 192.168.10.4022/tcp open, 3306/tcp filtered若3306 closed查MySQL是否bind-address0.0.0.0CP5telnet 192.168.10.100 8080Connected若失败查netstat -tuln | grep :8080CP6packettracer --version输出8.2.1若版本不符重装并校验SHA256玄学提醒CP1到CP3必须在5分钟内完成。若CP1失败立即放弃当前VM用赛题提供的OVA模板重装——90%的“环境起不来”问题源于VMware Workstation与VirtualBox的虚拟网卡驱动冲突OVA是唯一可信基线。5.2 中90分钟任务攻坚与交叉验证9个检查点每个任务分配10分钟但预留2分钟做交叉验证例如完成任务1后立即用任务2的SQL注入脚本扫一遍192.168.10.20确认ARP欺骗未导致Web服务异常完成任务4防火墙配置后用任务6的SSH登录脚本测试192.168.10.40是否仍可连——赛题设计者常让一个配置影响多个任务得分点。检查点绑定任务验证动作失败信号CP7任务1arp -a | findstr 192.168.10.1返回多条MAC记录CP8任务2sqlmap -u http://192.168.10.30/search.php?qtest --batch --current-db 2/dev/null | grep information_schema输出数据库名CP9任务3show spanning-tree | include GigabitEthernet0/2显示FWD而非BLKCP10任务4telnet 192.168.20.100 22ConnectedCP11任务5kinit adminCONTOSO.COM提示输入密码非KDC_ERR_PREAUTH_REQUIREDCP12任务6last | tail -5出现reboot及最近登录记录CP13任务12联动curl http://192.168.10.30/search.php?q OR 11--返回完整用户列表CP14任务45联动ssh admin192.168.10.10成功登录非Connection refusedCP15全局验证ping -c 3 192.168.10.1003 packets transmitted, 3 received5.3 后30分钟提交闭环与后悔药机制3个检查点最后30分钟不是冲刺而是建立“提交-验证-回滚”闭环。赛题系统允许3次提交机会必须用完。检查点动作关键操作防翻车设计CP16Flag提取用grep -o flag{[^}]*} *.log从所有日志提取将结果存入/tmp/flags.txt避免手输错误CP17提交验证访问http://192.168.10.100:8080/submit粘贴flag后点击Submit提交后立即截图URL栏必须显示/submit?statussuccessCP18回滚预案若CP17失败执行git checkout -- .若提前git init或从/backup/恢复原始配置赛题资源包含backup.tar.gz解压即用我坚持在赛前用真实硬件跑三遍全流程第一次测时间分配第二次专攻CP7-CP15的交叉验证第三次只练CP16-CP18的提交闭环。最后一次练习时我把/tmp/flags.txt设为只读强迫自己用cat /tmp/flags.txt \| xclip -selection clipboard复制——因为真实赛场禁用鼠标右键必须适应键盘操作。这种机械重复带来的肌肉记忆比背100条命令管用得多。希望帮到你。本文还有配套的精品资源点击获取
