发布于1小时前1小时 背景与测试边界本文给出一套可复核的 Kali Linux 内网渗透工具使用流程,适用于已取得书面授权的测试网段。目标不是单纯扫描端口,而是依次完成资产发现、服务识别、低影响漏洞验证、流量取证和修复复测。开始前应固定授权网段、测试时间、源 IP、允许使用的模板及停止条件。以下示例使用文档保留网段 192.0.2.0/24,实际执行时只能替换为授权范围。工具安装与来源校验Kali 工具应从官方软件源安装,不建议直接运行来源不明的一键脚本。先检查仓库配置和软件包签名状态,再安装所需工具。grep -vE '^#|^$' /etc/apt/sources.list sudo apt update apt-cache policy nmap nuclei tcpdump sudo apt install --yes nmap nuclei tcpdump curl jq nmap --version nuclei -version tcpdump --version正常情况下,软件源应指向 Kali 官方仓库,apt update 不应出现 NO_PUBKEY、签名失效或证书错误。若企业通过内部镜像分发软件包,应同时核对镜像同步策略和签名链,不能通过关闭签名检查来绕过异常。问题定位:从存活资产到服务暴露面内网测试常见误区是直接全端口、高并发扫描,容易触发设备负载或产生大量无效日志。建议先通过 ARP 或 ICMP 建立资产基线,再对明确存活的主机执行 TCP 服务识别。mkdir -p evidence/{nmap,nuclei,pcap,hash} export TARGET_NET='192.0.2.0/24' export CASE_ID='PT-2025-001' # 同二层网络优先使用 ARP 发现;不做端口扫描 sudo nmap -sn -PR "$TARGET_NET" -oA evidence/nmap/01-discovery # 提取存活地址,避免后续扫描整个网段 awk '/Status: Up/{print $2}' evidence/nmap/01-discovery.gnmap \ > evidence/alive.txt # 先检查常见管理与业务端口,控制速率并保存三种格式结果 sudo nmap -sS -sV --version-light -Pn \ -p 22,80,443,445,3389,8080,8443 \ --max-rate 100 --max-retries 2 --host-timeout 5m \ -iL evidence/alive.txt -oA evidence/nmap/02-services输出中的 open 代表完成了端口层握手,不等于存在漏洞;filtered 通常表示探测包被防火墙丢弃;服务版本也可能受反向代理、端口复用或自定义 Banner 影响。关键服务应使用协议级请求二次确认。现象排查方法常见原因443 开放但无法识别使用 curl 检查响应头和证书SNI、双向 TLS、反向代理445 在多个终端开放结合资产归属和主机防火墙核对文件共享、遗留策略、错误放行端口结果波动降低速率并抓包复核重传限速、丢包、IPS 干预版本与 CMDB 不一致核对协议响应和软件包清单资产漂移、代理隐藏后端版本协议级验证:确认 Web 与 TLS 配置对 Web 服务先进行非破坏性的协议验证,记录状态码、跳转链、响应头和证书信息。不要仅凭 Nmap Banner 直接匹配漏洞编号。# 示例目标必须属于授权资产 TARGET_HOST='192.0.2.10' TARGET_NAME='app.test.example' curl --silent --show-error --insecure \ --resolve "$TARGET_NAME:443:$TARGET_HOST" \ --dump-header evidence/web-headers.txt \ --output /dev/null \ " # 使用 Nmap 安全审计脚本检查证书与 TLS 套件 nmap -Pn -p 443 \ --script ssl-cert,ssl-enum-ciphers \ "$TARGET_HOST" -oA evidence/nmap/03-tlscurl 的 --resolve 可在不修改 DNS 的情况下发送正确的 SNI 和 Host。--insecure 仅用于采集证书异常现场,不能作为忽略证书问题的长期方案。报告中应分别记录证书过期、主机名不匹配、弱协议和弱密码套件,避免合并成模糊的“TLS 不安全”。Nuclei 低影响漏洞验证Nuclei 模板具有不同风险等级。授权测试中应先冻结模板版本,只运行明确允许的 HTTP 配置检查和已知漏洞探测,并排除 fuzz、headless、dos 等高影响标签。首次执行前应人工阅读拟使用模板的请求内容。# 更新官方模板并记录版本,便于后续复现 nuclei -update-templates nuclei -version > evidence/nuclei/version.txt nuclei -tl -tags misconfig,cves \ -exclude-tags fuzz,headless,dos,bruteforce \ > evidence/nuclei/template-list.txt # urls.txt 每行一个经过资产负责人确认的 URL nuclei -list urls.txt \ -tags misconfig,cves \ -exclude-tags fuzz,headless,dos,bruteforce \ -severity medium,high,critical \ -rate-limit 20 -bulk-size 5 -concurrency 5 \ -jsonl -output evidence/nuclei/results.jsonl # 快速整理命中项 jq -r '[."template-id", .info.severity, .matched-at] | @tsv' \ evidence/nuclei/results.jsonl模板命中只能作为验证线索。确认漏洞时至少检查模板编号、原始请求、响应中的匹配字段、目标实际版本以及前置条件。若模板依赖版本字符串,应进一步从资产的软件包、容器镜像或构建清单确认,防止代理 Banner 造成误报。流量留痕与时间关联扫描结果只能说明工具观察到了什么,pcap 则可用于区分目标拒绝、链路丢包、防火墙丢弃和扫描器超时。抓包范围应限定到测试源、目标和相关端口,减少无关业务数据进入证据文件。TARGET_HOST='192.0.2.10' IFACE='eth0' sudo tcpdump -i "$IFACE" -nn -s 0 \ -w evidence/pcap/${CASE_ID}.pcap \ "host $TARGET_HOST and (tcp port 80 or tcp port 443)" # 测试结束后生成证据哈希 find evidence -type f -print0 | sort -z | \ xargs -0 sha256sum > evidence/hash/SHA256SUMS date --iso-8601=seconds > evidence/hash/finished-at.txt抓包前应确认系统时间已同步。测试人员还应把工单编号、源 IP、执行者、命令、开始和结束时间写入变更记录。pcap 可能包含 Cookie、令牌或个人数据,应加密保存并设置最短保留期限。权限边界与停止条件发现登录入口不等于允许口令喷洒;认证测试需要单独授权、测试账号和锁定阈值。发现远程管理端口不等于允许执行载荷;未经明确批准,不进行持久化、横向移动或数据导出。Nuclei 命中高危模板后先审查请求内容,不直接切换到 exploit、fuzz 或 dos 类模板。出现服务延迟升高、连接池耗尽、设备 CPU 异常或告警集中爆发时,应立即停止并通知系统负责人。验证漏洞以最小证据为准,例如状态码、受控测试标识和脱敏响应,不读取与结论无关的真实业务数据。结果复核与误报排查建议把每个发现拆成“资产、入口、证据、前置条件、影响和修复”六部分。以 TLS 弱套件为例,应保留目标地址、SNI、端口、协商结果和扫描时间;以组件漏洞为例,应同时保留模板命中证据与服务器侧版本证明。若只有 Banner 而没有版本或补丁信息,应标记为待确认,而不是直接定为高危。复测时使用相同源 IP、相同 SNI、相同工具版本和相同请求条件。先验证配置或补丁确已发布,再以低速率执行针对性检查,不必重新扫描整个网段。风险与修复建议资产暴露:对照 CMDB 清理未知主机和非必要监听端口;管理端口仅向运维网段开放。TLS 配置:禁用 TLS 1.0、TLS 1.1 和弱密码套件,部署完整证书链,并建立到期告警。Web 配置:删除默认页面和调试接口;统一设置安全响应头;管理后台接入强认证与访问控制。组件漏洞:优先依据厂商公告和发行版安全公告升级,不只通过隐藏版本 Banner 处理。网络边界:对 SMB、RDP、SSH 等服务实施最小网段放行,并记录允许规则的负责人和到期时间。日志能力:集中采集反向代理、主机防火墙、认证和 EDR 日志,确保能按测试源 IP 与时间窗口关联。总结一套可用的 Kali 渗透工具流程,应当同时满足低影响、可复现和可追责。Nmap 用于建立服务基线,curl 与协议脚本用于二次确认,Nuclei 用于受控模板验证,tcpdump 和哈希清单负责证据留存。真正有价值的结果不是扫描数量,而是能把每项发现还原到具体请求、权限边界、风险条件和可执行修复动作。 服务器、云资产与权限边界梳理示意 网络请求、日志与边界流量分析示意
6分钟前6分钟 这套流程里最容易忽略的不是扫描参数,而是范围控制和证据关联。建议先把授权网段、测试窗口、允许探测的端口及禁止动作写进变量或文件,避免误扫旁路地址;Nuclei 也不要直接启用全模板。 可以按“资产确认 → 服务识别 → 低风险验证 → 抓包留痕”的顺序执行: # 固化目标,避免命令行误输入网段 cat > scope.txt <<'EOF' 10.10.20.11 10.10.20.12 EOF mkdir -p evidence date -u +%FT%TZ | tee evidence/start_time.txt # 先做主机发现;若 ICMP 被禁,再对已授权地址使用 -Pn sudo nmap -sn -n -iL scope.txt -oA evidence/01-discovery # 控制速率进行 TCP 服务识别,不建议内网起手就 -p- 或高并发 sudo nmap -sS -sV -n --top-ports 1000 \ --max-rate 300 --max-retries 2 --host-timeout 10m \ -iL scope.txt -oA evidence/02-services # 非 root 环境可将 -sS 改为 -sT 从 Nmap XML 生成 HTTP 目标后再交给 Nuclei,比直接扫整个网段更可控。模板建议限定在配置错误、暴露面和已确认版本对应的 CVE,并排除 fuzz、DoS、headless 等可能影响业务的类别: # 示例:根据实际识别结果整理 URL,明确协议和端口 cat > http-targets.txt <<'EOF' EOF nuclei -l http-targets.txt \ -severity low,medium,high,critical \ -tags exposure,misconfig,cve \ -exclude-tags dos,fuzz,headless,intrusive \ -rl 20 -c 5 -timeout 8 -retries 1 \ -jsonl-export evidence/03-nuclei.jsonl 留痕抓包最好同时限制主机和端口,并使用轮转,防止把无关业务流量或敏感数据全部收进去。先确认实际出口接口,不要默认写死 eth0: ip route get 10.10.20.11 sudo tcpdump -i eth0 -nn -s 0 \ '((host 10.10.20.11 or host 10.10.20.12) and (tcp port 80 or tcp port 443 or tcp port 8080 or tcp port 8443))' \ -G 300 -W 12 \ -w 'evidence/traffic-%Y%m%d-%H%M%S.pcap' 验证结束后,把工具版本、原始结果和哈希一并保存。报告中的每个漏洞至少关联目标、时间、Nuclei 模板 ID、请求响应摘要及对应 PCAP 时间段;敏感响应正文应脱敏,不要只留截图。 nmap --version > evidence/nmap-version.txt nuclei -version > evidence/nuclei-version.txt 2>&1 tcpdump --version > evidence/tcpdump-version.txt 2>&1 find evidence -type f ! -name SHA256SUMS -print0 \ | sort -z | xargs -0 sha256sum > evidence/SHA256SUMS 另外,Nuclei 命中只能视为待确认线索。复核时优先使用只读请求、版本核对和配置检查,不要为了“坐实”结果上传文件、执行命令或触发拒绝服务;确需侵入式验证时,应单独取得书面批准并设置回滚方案。
创建帐户或登录后发表意见