当前位置: 首页 > java >正文

利用 Kali Linux 进行信息收集和枚举

重要提示: 在对任何系统进行信息收集和枚举之前,务必获得明确的授权。未经授权的扫描和探测行为是非法的,并可能导致严重的法律后果。本教程仅用于教育和授权测试目的。

Kali Linux 官方链接:

  • 官方网站: https://www.kali.org/
  • 官方文档: https://www.kali.org/docs/
  • Kali Linux 工具列表: https://www.kali.org/tools/

教程:利用 Kali Linux 进行信息收集和枚举

信息收集通常分为被动信息收集和主动信息收集。枚举则更侧重于主动探测和识别特定系统、服务和用户的详细信息。

一、 被动信息收集 (Passive Information Gathering)

被动信息收集是指在不直接与目标系统交互的情况下收集信息。这可以最大限度地减少被目标检测到的风险。

  • 1. Whois 查询:

    • 目的: 获取域名的注册信息,如注册人、联系方式、域名服务器等。
    • 工具: whois
    • 示例:
      whois example.com
      
    • 官方链接/信息: whois 是一个标准的命令行工具,通常预装在 Kali Linux 中。你可以通过 man whois 查看其手册页。
  • 2. DNS 信息收集:

    • 目的: 查询与域名相关的 DNS 记录,如 A 记录 (IP 地址)、MX 记录 (邮件服务器)、NS 记录 (域名服务器) 等。
    • 工具: dig, nslookup, host
    • 示例:
      dig example.com ANY
      nslookup example.com
      host -a example.com
      
    • 子域名枚举工具 (被动):
      • Sublist3r: 一个基于 Python 的工具,利用搜索引擎(Google, Bing, Yahoo, Baidu, Ask)以及一些在线服务(Netcraft, Virustotal, ThreatCrowd, DNSdumpster, ReverseDNS)来发现子域名。
        • 安装 (如果未预装): sudo apt install sublist3r
        • 示例: sublist3r -d example.com
        • 官方链接/信息: Sublist3r 是一个流行的开源工具,你可以在 GitHub 上找到它的项目页面 (搜索 “Sublist3r github”)。
      • theHarvester: 另一个强大的工具,可以收集电子邮件地址、子域名、虚拟主机、开放端口/Banner 以及来自不同公共来源(如搜索引擎、PGP 密钥服务器和 SHODAN 计算机数据库)的员工姓名。
        • 安装 (如果未预装): sudo apt install theharvester
        • 示例: theharvester -d example.com -b google
        • 官方链接/信息: theHarvester 也是一个开源工具,可以在 GitHub 上找到其项目页面 (搜索 “theHarvester github”)。
  • 3. 搜索引擎 Hacking (Google Dorking):

    • 目的: 利用搜索引擎的高级搜索操作符来查找特定类型的文件、目录、配置错误、登录页面等敏感信息。
    • 工具: 任何网络浏览器和搜索引擎 (如 Google, Bing, DuckDuckGo)。
    • 示例 (Google Dorks):
      • site:example.com filetype:pdf (查找 example.com 站点下的 PDF 文件)
      • inurl:admin site:example.com (查找 example.com 站点下 URL 中包含 “admin” 的页面)
      • intitle:"index of" site:example.com (查找 example.com 站点下开放的目录列表)
    • 资源: Google Hacking Database (GHDB) 是一个很好的 Dorks 集合。
  • 4. 公开资源和社交媒体:

    • 目的: 从公司网站、社交媒体平台 (LinkedIn, Twitter, Facebook)、新闻文章、公开的财务报告等收集关于目标组织、员工和技术栈的信息。
    • 工具: 网络浏览器、社交媒体分析工具。

二、 主动信息收集和枚举 (Active Information Gathering and Enumeration)

主动信息收集涉及直接与目标系统进行交互,这可能会在目标系统的日志中留下痕迹。

  • 1. 网络扫描和主机发现:

    • 目的: 发现网络上存活的主机。
    • 工具: ping, arp-scan, nmap
    • 示例:
      • ping -c 4 example.com (发送 4 个 ICMP 请求)
      • sudo arp-scan --localnet (在本地网络进行 ARP 扫描)
      • Nmap 主机发现:
        • nmap -sn 192.168.1.0/24 (Ping 扫描,不进行端口扫描)
        • nmap -PS 192.168.1.0/24 (TCP SYN Ping)
        • nmap -PA 192.168.1.0/24 (TCP ACK Ping)
        • nmap -PU 192.168.1.0/24 (UDP Ping)
    • Nmap 官方链接: https://nmap.org/ (Nmap 是 Kali Linux 中最核心和最强大的网络扫描工具之一)
  • 2. 端口扫描:

    • 目的: 识别目标主机上开放的 TCP 和 UDP 端口,从而了解其运行的服务。
    • 工具: nmap
    • 示例 (Nmap 端口扫描):
      • nmap 192.168.1.1 (扫描目标 IP 的常见端口)
      • nmap -p- 192.168.1.1 (扫描目标 IP 的所有 65535 个 TCP 端口)
      • nmap -sU 192.168.1.1 (扫描 UDP 端口)
      • nmap -sS 192.168.1.1 (TCP SYN 扫描,也称为半开放扫描,更隐蔽)
      • nmap -sT 192.168.1.1 (TCP Connect 扫描,较容易被检测)
      • nmap -p 80,443,22 192.168.1.1 (扫描特定端口)
  • 3. 服务版本探测:

    • 目的: 识别开放端口上运行的具体服务及其版本号。版本信息对于查找已知的漏洞至关重要。
    • 工具: nmap
    • 示例 (Nmap 服务版本探测):
      • nmap -sV 192.168.1.1
      • nmap -sV --version-intensity 5 192.168.1.1 (设置版本探测强度)
  • 4. 操作系统探测:

    • 目的: 尝试识别目标主机的操作系统类型和版本。
    • 工具: nmap
    • 示例 (Nmap 操作系统探测):
      • nmap -O 192.168.1.1
      • nmap -A 192.168.1.1 (启用操作系统探测、版本探测、脚本扫描和 Traceroute)
  • 5. Nmap 脚本引擎 (NSE):

    • 目的: Nmap 脚本引擎允许用户编写 (或使用现有的) 脚本来自动化各种网络发现任务,包括更高级的枚举、漏洞检测等。
    • 工具: nmap
    • 示例 (Nmap 脚本扫描):
      • nmap --script default 192.168.1.1 (运行默认类别的脚本)
      • nmap --script vuln 192.168.1.1 (运行漏洞扫描类别的脚本)
      • nmap --script banner 192.168.1.1 (抓取服务 Banner)
      • nmap --script smb-enum-users.nse 192.168.1.1 (针对 SMB 服务枚举用户)
    • Nmap 脚本官方链接: https://nmap.org/nsedoc/
  • 6. SMB 枚举:

    • 目的: 针对 Windows 系统或使用 Samba 的 Linux 系统,枚举共享、用户、组等信息。
    • 工具: enum4linux, nmap (使用 SMB 相关脚本), smbclient, rpcclient
    • 示例:
      • enum4linux -a target_ip
      • nmap -p 139,445 --script=smb-os-discovery.nse target_ip
      • smbclient -L //target_ip (列出共享)
    • 官方链接/信息: enum4linux 是一个常用的 SMB 枚举工具,你可以在其项目页面或 Kali 包描述中找到更多信息。
  • 7. SNMP 枚举:

    • 目的: 如果目标设备启用了简单网络管理协议 (SNMP) 并且配置不当 (例如使用默认的 community string如 “public” 或 “private”),可以获取大量关于系统配置、网络接口、路由表等信息。
    • 工具: snmpwalk, onesixtyone, nmap (使用 SNMP 相关脚本)
    • 示例:
      • snmpwalk -c public -v1 target_ip
      • onesixtyone target_ip public (快速扫描 community string)
      • nmap -sU -p 161 --script=snmp-sysdescr target_ip
    • 官方链接/信息: snmpwalk 是 Net-SNMP 工具集的一部分,通常预装在 Kali 中。
  • 8. SMTP 枚举:

    • 目的: 尝试通过 SMTP 服务枚举有效的用户邮箱地址。
    • 工具: smtp-user-enum, nmap (使用 SMTP 相关脚本)
    • 示例:
      • smtp-user-enum -M VRFY -U user_list.txt -t target_mail_server_ip
      • nmap -p 25 --script smtp-commands target_mail_server_ip
  • 9. Web 服务枚举:

    • 目的: 发现 Web 服务器上的目录、文件、子域名、虚拟主机、使用的技术栈等。
    • 工具:
      • Dirb / Dirbuster / GoBuster / Feroxbuster: 用于目录和文件爆破。
        • 示例 (GoBuster): gobuster dir -u http://example.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
        • 官方链接/信息: 这些都是流行的开源目录扫描工具,可以在 GitHub 上找到它们的项目页面。
      • Nikto: Web 服务器漏洞扫描器,可以识别已知的漏洞、配置错误、敏感文件等。
        • 示例: nikto -h http://example.com
        • 官方链接/信息: https://cirt.net/Nikto2
      • WhatWeb: 识别网站使用的技术,如 CMS、JavaScript 库、Web 服务器软件等。
        • 示例: whatweb http://example.com
        • 官方链接/信息: WhatWeb 是一个开源项目,可以在 GitHub 上找到。
      • Wappalyzer: 浏览器插件和命令行工具,用于识别网站技术。
      • Burp Suite / OWASP ZAP: 虽然是更全面的 Web 应用安全测试工具,但它们的爬虫和扫描功能也用于枚举 Web 应用的结构和内容。
        • Burp Suite 官方链接: https://portswigger.net/burp
        • OWASP ZAP 官方链接: https://www.zaproxy.org/
http://www.xdnf.cn/news/4121.html

相关文章:

  • 【AI论文】FormalMATH:大型语言模型形式化数学推理能力基准测试
  • 【计网】ICMP、IP、Ethernet PDU之间的封装关系
  • 如何通过代理 IP 实现异地直播推流
  • uniapp app 端获取陀螺仪数据的实现攻略
  • Apache Doris与StarRocks对比
  • 关于论文中插入公式但是公式相对于段落的位置偏上应该如何调整备份
  • netty单线程并发量评估对比tomcat
  • HTML8:媒体元素
  • tinyrenderer笔记(透视矫正)
  • LearnOpenGL---绘制三角形
  • URP - 屏幕图像(_CameraOpaqueTexture)
  • 链表结构深度解析:从单向无头到双向循环的实现全指南
  • 【Redis | 基础总结篇 】
  • 【C++ Qt】常用输入类下:Combo Box/Spin Box/DataTimeEdit/Dial/Slide
  • 逆向常见题目—迷宫类题目
  • 《繁花》投资、交易启示及思考
  • USB资料摘录for后期,bus hound使用
  • 【ROS2】 QoS(服务质量)介绍
  • 信息安全基石:加解密技术的原理、应用与未来
  • 关于string类的构造函数
  • 【C++进阶十】多态深度剖析
  • Paramiko源码深入解析
  • 2025年PMP 学习四
  • Monster Hunter Rise 怪物猎人 崛起 [DLC 解锁] [Steam] [Windows SteamOS]
  • MySQL基础关键_008_DDL 和 DML(一)
  • linux、window安装部署nacos
  • STC单片机与淘晶驰串口屏通讯例程之02【HDMI数据处理】
  • LangChain构建大模型应用之Chain
  • APP 设计中的色彩心理学:如何用色彩提升用户体验
  • 模型训练实用之梯度检查点