跳转至

主动信息收集

DNS 服务枚举

Bash
# 查询域名对应的 IP 地址
host www.megacorpone.com

# 尝试解析该域名下的所有子域名(通配符查询)
host *.megacorpone.com

# 查询域名的邮件交换(MX)记录,定位邮件服务器
host -t mx megacorpone.com

# 查询域名的 TXT 记录,查找 SPF/DKIM 等安全配置
host -t txt megacorpone.com

# 爆破子域名
for n in $(cat list.txt); do host $n.megacorpone.com; done

# 反向解析 IP 段(1.1.1.50-100)对应的域名
for i in {50..100}; do host 1.1.1.$i; done

# 使用 nslookup 查询 MX 记录,功能与 host -t mx 类似
nslookup -type=mx megacorpone.com

# 排查区域传输漏洞
dig ns example.com
dig axfr example.com @ns1.example.com #利用ns得到得到的结果继续枚举
dig axfr intelligence.htb @10.10.10.248 # 只有主机IP情况

# dnsrecon 综合扫描:区域传输、爆破、各类记录查询等
dnsrecon -d megacorpone.com -t axfr
dnsrecon -d megacorpone.com -D list.txt -t brt -f -a -s -b -y -k -w -z --iw --threads 100

# 枚举域名相关信息(endenum工具)
endenum megacorpone.com

TCP 服务扫描

Bash
# 无端口扫描,仅发现存活主机(1.1.1.0/24网段)
sudo nmap -sn 1.1.1.0/24

# 全端口扫描(1-65535)目标 IP,查找开放端口
sudo nmap -p- 1.1.1.1

# 扫描 21、80 端口,并启用综合分析(OS/服务版本/脚本)
sudo nmap -p21,80 -A 1.1.1.1

# UDP 端口扫描(速度慢,需耐心)
sudo nmap -sU 1.1.1.1

# 扫描 TOP20 常用端口,并启用综合分析
sudo nmap -A --top-ports=20 1.1.1.1

# 操作系统指纹识别
sudo nmap -O 1.1.1.1

# 分段扫描 65535 端口(每 500 个端口为一段),过滤开放端口(避免 nmap 一次性扫描超时)
for a in $(seq 1 500 65535); do let b=$((a+499)); sleep 2; echo --$a--$b----; sudo nmap -p $a-$b 192.168.208.211 | grep open; done

# rustscan 高速端口扫描(-u 5000指定并发数)
rustscan -a 192.168.190.140 -u 5000

# 扫描目标并执行所有 smb 相关的 nmap 脚本
sudo nmap 1.1.1.1 --script=smb*

# masscan 超高速端口扫描(仅扫描 80 端口)
sudo masscan -p80 1.1.1.0/24

# 综合使用
# TCP
sudo nmap -p- 1.1.1.1 --min-rate=2000
sudo nmap -p端口 -sCV 1.1.1.1
# UDP
sudo nmap -p- -sU 1.1.1.1 --min-rate=2000
sudo nmap -p端口 -sU -sCV 1.1.1.1

SMB 服务枚举

Bash
# 扫描 139/445(SMB核心端口)
sudo nmap -p139,445 -sCV 1.1.1.1

# 批量扫描网段内的 NetBIOS 名称
sudo nbtscan 1.1.1.0/24

# 详细扫描单个 IP 的 NetBIOS 信息
nbtscan-unixwiz -f 1.1.1.1

# 综合枚举 SMB 信息:用户/共享/策略等(指定账号密码)
enum4linux -U -M -S -P -G -d -u user -p pass 1.1.1.1
enum4linux -a 1.1.1.1
enum4linux-ng -A 1.1.1.1
smbmap -H 192.168.145.111 -u user -p pass

# 列出目标 SMB 共享列表
smbclient -L //10.0.2.72

# 连接目标 tmp 共享目录
smbclient //10.0.2.72/tmp

NFS 服务枚举

Bash
# 安装 NFS 客户端工具
sudo apt install nfs-common

# 查看目标 RPC 服务(NFS依赖RPC)
rpcinfo -p <IP>

# 查看目标 NFS 共享列表
showmount -e 192.168.134.161

# 扫描网段 RPC 服务
nmap -sV -p 111 --script=rpcinfo 10.11.1.1-254

# 执行所有 NFS 相关 nmap 脚本
nmap -p 111 --script nfs* 10.0.2.72

# 挂载目标 NFS 共享到本地 /rhome 目录
sudo mount -o nolock 10.11.1.72:/home /rhome/
sudo mount -t nfs 172.18.0.1:/srv/web.fries.htb /mnt

SMTP 服务枚举

Bash
# 连接 SMTP 25 端口
nc -nv 10.11.1.217 25

# 验证 root 用户是否存在(VRFY命令)
VRFY root

# 查看 SMTP 支持的命令
help a

# 通过工具枚举爆破用户
sudo apt install smtp-user-enum
smtp-user-enum -M VRFY -U /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt -t 192.168.169.136

SNMP 服务枚举

Bash
# 安装 SNMP 工具和 MIB 库
sudo apt install snmp snmp-mibs-downloader
sudo download-mibs

# 编辑 SNMP 配置文件,启用所有 MIB
sudo nano /etc/snmp/snmp.conf
mibs +ALL

# 批量扫描 SNMP 社区字符串
onesixtyone -c community -i ips

# 查询系统信息(OID:system)
snmpwalk -v2c -c public -O q 192.168.56.127 system

# 查询已安装软件
snmpwalk -v2c -c public -O q 192.168.56.127 HOST-RESOURCES-MIB::hrSWInstalledName

# 查询运行中的进程
snmpwalk -v2c -c public -O q 192.168.56.127 HOST-RESOURCES-MIB::hrSWRunName

# 查询 SNMP 扩展输出(可能包含敏感命令执行结果)
snmpwalk -c public -v2c 192.168.154.149 NET-SNMP-EXTEND-MIB::nsExtendOutputFull
snmpwalk -c public -v2c 192.168.174.156 NET-SNMP-EXTEND-MIB::nsExtendObjects

# 批量查询 SNMP 扩展输出
snmpbulkwalk -c public -v2c 192.168.174.156 NET-SNMP-EXTEND-MIB::nsExtendOutputFull

# 枚举一些有用信息
snmpwalk -v2c -c public 192.168.190.156 1.3.6.1.4.1