Enumeration, 列舉, 是從系統或網路中提取使用者名稱、主機名稱、網路、共享資源和服務的過程。
DNS Enumeration
DNS Enumeration using host
$
host offsec.com
$
host -t mx offsec.com
$
host 66.249.66.66
$
for i in {65..68}; do host 66.249.66.$i; done
$
for i in $(seq 1 100); do host 66.249.150.$i; done | grep -v "not found"
$
for i in $(cat list.txt); do host $i.offsec.com; done
DNS Enumeration using dig
$
dig ns offsec.com
DNS Enumeration using dnsrecon
$
dnsrecon -d offsec.com -t std
$
dnsrecon -d offsec.com -t axfr
$
dnsrecon -d offsec.com -D list.txt -t brt
DNS Enumeration using dnsenum
$
dnsenum offsec.com
DNS Enumeration using Nmap
$
nmap -T4 -p 53 --script dns-brute offsec.com
SMTP Enumeration
VRFY
EXPN
RCPT TO
$
nc -nv 192.168.102.8 25

SMTP Enumeration using Nmap
Nmap Scripting Engine (NSE) scripts已經有一些列舉SMTP server的script可用
$
ll /usr/share/nmap/scripts | grep smtp-

SNMP Enumeration
先找出網路上有開UDP161的主機
$
sudo nmap -sU --open -p 161 192.168.113.1-254 -oG open-snmp.txt
SNMP Enumeration using snmpwalk
$
snmpwalk -v1 -c public {IP}
使用 -Oa option
這個參數會自動將任何十六進制字串轉換為 ASCII。
$
snmpwalk -v1 -c public {IP} -Oa
$
snmpwalk -v2c -c public {IP}
$
snmpwalk -v3 -l authPriv -u {USER} -a SHA -A {PASS PHRASE} -x DES -X {PASS PHRASE} {IP}
列出Windows users
$
snmpwalk -v1 -c public 192.168.113.151 1.3.6.1.4.1.77.1.2.25
列出running processes
$
snmpwalk -c public -v1 192.168.113.151 1.3.6.1.2.1.25.4.2.1.2
列出安裝的軟體
$
snmpwalk -c public -v1 192.168.113.151 1.3.6.1.2.1.25.6.3.1.2
列出listening ports
$
snmpwalk -c public -v1 192.168.113.151 1.3.6.1.2.1.6.13.1.3
SNMP Enumeration using Nmap
Nmap Scripting Engine (NSE) scripts已經有一些列舉SNMP的script可用
$
ll /usr/share/nmap/scripts | grep snmp-

$
sudo nmap -sU -p 161 --script snmp-win32-users 192.168.113.151

SNMP Enumeration using onesixtyone
// 做一個community字典檔
cat > community <<EOF
public
private
manager
EOF
// 做一個IP字典檔
for i in $(seq 1 254); do echo 192.168.113.$i; done > IPs
使用onesixtyone加上字典檔進行列舉
$
onesixtyone -c community -i IPs
SNMP Enumeration using snmp-check
這會列出所有snmp資訊, 會跑比較久
$
snmp-check 192.168.113.151
SMB Enumeration
先找出網路上有開139和445的主機
$
nmap 192.168.113.* -p 139,445 --open -oG - | grep Up | cut -d " " -f 2 > smb.list
$
nmap -iL smb.list -p 139,445 -n -Pn -sVC
再列舉NetBIOS information
使用 nbtscan
$
sudo nbtscan -r 192.168.113.0/24
使用 nmap
搭配nbstat的NSE
$
nmap -sV -v --script nbstat 192.168.113.13
Nmap Scripting Engine (NSE) scripts也有一些列舉SMB的script可用
不過只有在有啟動SMBv1的目標有用
$
ll /usr/share/nmap/scripts | grep smb

$
nmap -v -p 139,445 --script smb-os-discovery 192.168.113.152
列出分享的資源
$
smbclient -N -L 192.168.113.13

$
smbclient -N //192.168.113.13/files -c dir

在Windows主機上可以使用net view
C:\
net view \\dc01 /all
SMB Enumeration using enum4linux
可找出 local user
$
for i in $(cat smb-topic-ex.list); do enum4linux $i; done
SMB Enumeration using enum4linux-ng
$
enum4linux-ng 192.168.113.13