全文面向渗透测试入门学习者,贴合实战场景,全程可在默认 Kali 环境复现,总字数约 2900 字,配套明确的截图标注指引,零基础可直接跟着操作落地。

一、前言:渗透测试为什么必须掌握这项技能

这绝非单纯的运维知识,而是贯穿渗透全流程的核心能力:

  1. 本地环境管理:Metasploit、钓鱼站点等核心渗透工具,全依赖对应系统服务的正常运行;
  2. 信息收集:目标主机的服务与进程,会直接暴露端口、业务架构、防护软件等关键情报;
  3. 权限维持与痕迹清理:拿到目标权限后,需排查监控进程、隐藏后门、清理操作痕迹,避免触发告警。

二、核心基础概念(新手极简版)

  • 系统服务(Daemon):后台常驻运行的特殊进程,通常随系统开机启动,对外提供功能(如 SSH 远程、Apache 网页服务),命名常以d结尾,无终端交互。
  • 进程:程序运行的实例,是系统资源分配的最小单位。服务本质是常驻后台的进程,但进程不一定是服务(比如执行一次ls生成的临时进程)。
  • 核心规则:Kali 基于 Debian 系统,默认使用systemd管理所有服务,核心操作命令为systemctl。

三、系统服务核心管理命令(渗透高频必学)

以下命令均需先执行sudo -i切换 root 权限执行,避免权限不足报错,适配 Kali 2023 及以上所有版本。

核心命令核心作用渗透高频使用场景
systemctl status 服务名查看服务运行状态、开机自启配置、运行日志排查 Metasploit 依赖的 PostgreSQL 服务是否正常
systemctl start/stop 服务名启动 / 停止指定服务临时开启 SSH 远程、启动 Apache 钓鱼站点服务
systemctl enable/disable --now 服务名开启 / 关闭服务开机自启,--now让配置立即生效配置 SSH 开机自启,关闭不必要的风险服务
systemctl list-units --type=service --state=running查看所有正在运行的服务排查本地开放服务、目标主机的业务服务
systemctl list-unit-files --type=service查看所有服务的开机自启状态排查目标主机的后门服务、恶意自启程序

image-20260224220838023

四、进程监控与管理核心工具(全系统自带,无需额外安装)

1. 静态进程全量排查:ps 命令

入门必背ps aux,可列出系统所有进程的完整信息,是渗透信息收集、进程排查的首选命令。

核心字段(新手只需记住 4 个):USER(进程所属用户)、PID(进程唯一 ID,所有进程操作的核心)、%CPU/%MEM(资源占用率)、COMMAND(进程对应的程序路径)

高频过滤用法:ps aux | grep 关键词,比如ps aux | grep sshd,快速定位目标进程

image-20260224221023583

执行ps aux | grep sshd命令后,终端输出的完整结果,红框标注PID字段,这个数字是进程的唯一身份证,后续终止、排查全靠它

2. 动态进程实时监控:top/htop

top:系统自带工具,实时刷新进程的 CPU、内存占用,按P按 CPU 占用排序,按M按内存排序,按k输入 PID 可终止进程,按q退出。

htop:新手友好型替代工具,界面更直观,支持鼠标操作,安装命令apt install htop -y。

image-20260224221411184

如上图PID、CPU%、MEM%、COMMAND等这些是进程信息,底部F9(终止进程)、F10(退出)这些是快捷键,降低新手操作门槛

3. 端口 - 进程关联排查:lsof(渗透核心命令)

核心作用是打通「端口 - 进程 - PID」的对应关系,是解决端口占用、排查目标网络连接的必备工具,渗透测试高频使用。

  • 高频用法 1:lsof -i :端口号,比如lsof -i :22,查看指定端口对应的进程与 PID
  • 高频用法 2:lsof -i,列出所有进程的网络连接,排查目标主机的外联行为、抓包进程

image-20260224222021901

4. 进程终止核心命令

  • 优先使用:kill -15 PID,优雅终止进程,会让程序正常退出并释放资源
  • 强制使用:kill -9 PID,针对卡死、恶意的进程,谨慎使用
  • 新手友好:pkill 进程名,按进程名批量终止,无需输入 PID,比如pkill apache2

五、实战案例复现

案例 1:解决工具依赖、端口占用问题

场景:日常渗透中,远程管理 Kali、搭建钓鱼站点、启动 Metasploit 都依赖服务启停,新手常遇到端口占用、工具启动失败问题,本案例全流程复现解决。

前置准备:Kali 终端执行sudo -i切换 root 权限

image-20260224222258653

步骤 1:SSH 远程服务配置(远程管理 Kali 必备)

查看服务默认状态(Kali 默认未启动、关闭开机自启)

为了恢复Kali 默认未启动、关闭开机自启ssh的环境,先停止ssh服务,禁用开机自启

# 关闭服务
systemctl stop ssh
# 禁用ssh自启
systemctl disable ssh
# 查看ssh状态
systemctl status ssh

image-20260224222947829

如上图禁用成功,如何开启呢?

# 关闭服务
systemctl start ssh
# 开启ssh自启
systemctl enable ssh
# 查看ssh状态,开启成功
systemctl status ssh

image-20260224223251336

active (running)表示服务正在启动中、enabled表示此服务开机自动启动

步骤 2:解决端口占用问题(搭建钓鱼站点高频踩坑)

执行systemctl start apache2,启动 Apache 服务(默认占用 80 端口)

image-20260225152245414

模拟踩坑:执行python3 -m http.server 80,会出现「Address already in use」端口占用报错

image-20260225152344940

排查占用源:执行lsof -i :80,获取占用 80 端口的 Apache 进程 PID

image-20260227214005404

释放端口:如上图,apache2服务占用了80端口,我们可以执行systemctl stop apache2,终止 Apache 服务

验证:重新执行python3 -m http.server 80,端口正常启动

image-20260227214222994

案例 2:目标主机进程排查与痕迹清理

场景:模拟拿到目标 Linux 主机 Shell 后的标准操作,排查防护进程、清理操作痕迹,贴合真实渗透流程,本地 Kali 即可复现。

  1. 排查目标防护进程,规避告警

    • 执行ps aux | grep -E 'snort|suricata|clamav|tcpdump|auditd',过滤入侵检测、杀毒、抓包、审计类防护进程

      image-20260227214549661

    • 输出了内容即代表目标运行这些防护进程,需要谨慎操作,执行系统命令

    • 执行top,动态排查 CPU 占用异常的监控进程

    image-20260227214746236

六、新手避坑指南(渗透红线必看)

  1. 禁止随意使用kill -9终止systemd、init等系统核心进程,会直接导致系统崩溃;
  2. 开启sshd等远程服务时,必须设置强密码,禁止使用弱密码,避免 Kali 系统被恶意入侵;
  3. 授权渗透测试中,禁止随意终止目标主机的业务进程,否则会导致业务中断,触发合规风险;
  4. 非必要服务不要开启开机自启,既会拖慢 Kali 开机速度,也会带来长期安全风险。

七、总结

系统服务与进程管理,是渗透测试从 “脚本小子” 走向专业从业者的必备基础。本文覆盖的命令与实战,既能满足日常 Kali 渗透环境的管理需求,也能直接应用于真实渗透的信息收集、权限维持与痕迹清理环节。下一篇我们将进入《Kali Linux 网络通信与连接分析》,深入学习渗透测试中的网络核心技能。

🎯 网络安全学习资源推荐

觉得文章对你有帮助?想获取更多实战干货?

我们为你准备了一套 「从零到一的网络安全学习资料包」,包括:

  • 🔥 红队攻防实战手册 - 内网渗透、漏洞利用、权限提升
  • 📚 网络安全学习路线图 - 零基础入门到就业完整路径
  • 💼 最新网络安全面试题 - 大厂真题+面试技巧
  • 🛠️ 渗透测试工具包 - 常用工具+使用教程
  • 🎯 靶场搭建全套方案 - DVWA、SQLi-Labs等实战环境

如何获取?

  • 微信搜索公众号:[智榜样网络安全学习中心]
  • 关注后回复关键词:「网络安全」
  • 即可免费领取全套学习资料

💡 适合人群:网络安全初学者、转行人员、在校学生、想要提升实战能力的从业者

我们在网络安全培训领域深耕多年,专注红蓝对抗实战与就业指导,帮助数百名学员成功入行!

更多推荐