Điều hướng
Mũi tên trái/phải, Space, Home và End.
Lập bản đồ bề mặt tấn công bằng thu thập thông tin thụ động và chủ động
Mũi tên trái/phải, Space, Home và End.
Mở danh sách chủ đề và nhảy đến slide cần xem.
Dùng khi quay video hoặc trình chiếu trực tiếp.
Mỗi slide được tách thành một trang 16:9.
Các khối lệnh quan trọng có nút sao chép.
Tải lại trang vẫn trở về slide đang học.
Hệ thống, phần mềm, cấu hình và kiến trúc mạng luôn biến động.
Không phải một lần quét rồi kết thúc; cần đánh giá định kỳ và sau thay đổi lớn.
Kết quả enumeration quyết định công cụ, độ sâu và bước tiếp theo.
Thông tin tốt giúp ưu tiên mục tiêu và tránh khai thác mù quáng.
IP range, host, ứng dụng, thời gian và kỹ thuật được phép.
Tài sản hoặc hành động không được kiểm thử.
| Tiêu chí | Passive | Active |
|---|---|---|
| Tương tác với mục tiêu | Không hoặc rất ít; thường qua bên thứ ba | Tương tác trực tiếp với dịch vụ/hạ tầng |
| Mức độ lộ diện | Thấp hơn | Cao hơn, dễ tạo log hoặc cảnh báo |
| Độ sâu | Phụ thuộc dữ liệu công khai | Thường cho kết quả chi tiết hơn |
| Ví dụ | WHOIS, search engine, code repo, Shodan | DNS query, port scan, SMB/SMTP/SNMP enumeration |
| Điều kiện | Tuân theo scope và Rules of Engagement | Cần đặc biệt chú ý tải, downtime và IDS/IPS |
Tìm domain, subdomain, IP, công nghệ và dịch vụ liên quan.
Tìm vai trò, tên người dùng, email và thông tin tổ chức có liên quan.
Hỗ trợ password guessing, phishing được ủy quyền và lựa chọn hướng kiểm thử.
Kết quả từ công cụ này trở thành đầu vào cho công cụ khác.
Không truy cập trực tiếp hệ thống của mục tiêu; chỉ dựa trên bên thứ ba.
Tương tác như người dùng Internet bình thường, nhưng chưa kiểm thử lỗ hổng.
| Nhóm dữ liệu | Ví dụ | Câu hỏi tiếp theo |
|---|---|---|
| Tổ chức & con người | Tên, vai trò, email pattern | Có tạo được username list hợp lệ không? |
| Domain & DNS | Registrar, name server, subdomain | Có netblock hoặc host mới cần xác minh không? |
| Web technology | Server, framework, client library | Cần version detection hay kiểm tra cấu hình nào? |
| Code & secrets | Repo, file path, hash, token dấu hiệu | Có phải bí mật thật? Còn dùng được? Thuộc scope? |
| Dịch vụ Internet | IP, port, banner | Ưu tiên active validation ở đâu? |
Registrar, ngày đăng ký, ngày hết hạn, name server.
NetRange, CIDR, NetName và tổ chức sở hữu/được cấp phát.
Registrant, admin, tech contact — nếu không được bảo vệ riêng tư.
Đưa name server, domain liên quan và netblock vào notes.
kali@kali:~$ whois megacorpone.com -h 192.168.50.251
Domain Name: MEGACORPONE.COM
Registrar WHOIS Server: whois.gandi.net
Registrar URL: http://www.gandi.net
...
Registrant Name: Alan Grofield
Registrant Organization: MegaCorpOne
...
Name Server: NS1.MEGACORPONE.COM
Name Server: NS2.MEGACORPONE.COM
Name Server: NS3.MEGACORPONE.COM
...kali@kali:~$ whois 38.100.193.70 -h 192.168.50.251
...
NetRange: 38.0.0.0 - 38.255.255.255
CIDR: 38.0.0.0/8
NetName: COGENT-A
...
OrgName: PSINet, Inc.
Address: 2450 N Street NW
City: Washington
Country: US
...| Toán tử | Mục đích | Ví dụ từ tài liệu |
|---|---|---|
| `site:` | Giới hạn trong một domain | `site:megacorpone.com` |
| `filetype:` / `ext:` | Giới hạn loại file | `site:megacorpone.com filetype:txt` |
| `-` | Loại trừ kết quả | `site:megacorpone.com -filetype:html` |
| `intitle:` | Tìm chuỗi trong tiêu đề trang | `intitle:"index of" "parent directory"` |
| Kết hợp | Thu hẹp theo nhiều điều kiện | Kết hợp domain + loại file + loại trừ |
User-agent: *
Allow: /
Allow: /nanites.phpMột toán tử hiếm khi đủ; giá trị nằm ở cách kết hợp.
Mỗi kết quả hữu ích tạo ra tên file, từ khóa hoặc subdomain mới.
Dùng điều kiện loại trừ để giảm hàng trăm kết quả không liên quan.
Hiểu ý nghĩa kỹ thuật của file và cấu trúc được tìm thấy.
Tìm host/subdomain liên quan đến domain.
Xem thông tin đăng ký, lịch sử và dữ liệu site.
Nhận diện web server, application server, framework và thư viện.
Tìm host khác chia sẻ cùng vùng địa chỉ IP.
Repository, commit history, issue và file.
Đoạn mã và cấu hình chia sẻ nhanh.
Project và source code công khai.
Dự án và gói mã nguồn mở.
| Dấu hiệu | Giá trị cho pentest | Hành động tiếp theo |
|---|---|---|
| Ngôn ngữ / framework | Hiểu stack ứng dụng | Tìm version, cấu hình và bề mặt liên quan |
| Tên file / path | Hiểu cấu trúc triển khai | Tìm file tương tự trên host được phép |
| Username / email | Xây dựng identity context | Đối chiếu với domain và dịch vụ |
| Hash / token / key | Có thể là secret bị commit | Xác minh an toàn, không công khai hoặc lạm dụng ngoài scope |
| Commit history | Secret có thể đã bị xóa khỏi bản mới | Kiểm tra lịch sử khi Rules of Engagement cho phép |
path:users| Cách | Điểm mạnh | Giới hạn |
|---|---|---|
| Manual inspection | Hiểu ngữ cảnh và phát hiện pattern bất thường | Chậm trên repository lớn |
| Gitrob / Gitleaks | Tự động tìm regex và chuỗi entropy cao | Cần access token/API; có false positive và false negative |
| Kết hợp | Automation lọc nhanh, con người xác minh | Vẫn cần quy trình xử lý secret an toàn |
| Search engine | Tập trung | Kết quả thường thấy |
|---|---|---|
| Google và tương tự | Nội dung web được index | Trang, file, text, directory |
| Shodan | Thiết bị kết nối Internet | IP, port, service, banner, version, technology |
Thiếu header không tự động đồng nghĩa có lỗ hổng, nhưng là tín hiệu về hardening.
Một trong các header phòng vệ được tài liệu nhắc đến.
Tắt service thừa, xóa account không dùng, đổi default password và đặt header phù hợp.
Kết quả yếu có thể gợi ý cần kiểm tra kỹ hơn cấu hình và quy trình vận hành.
| Quan sát | Cách hiểu theo tài liệu |
|---|---|
| Hỗ trợ TLS 1.0 / 1.1 | Dùng phiên bản legacy, cho thấy hardening chưa theo best practice hiện hành tại thời điểm tài liệu. |
| Cipher suite cũ | Có thể liên quan thuật toán hoặc mode yếu. |
| Poodle / Heartbleed checks | SSL Labs có thể nhận diện một số vấn đề TLS nổi tiếng. |
| Điểm tổng thể tốt hơn header scan | Không có nghĩa hệ thống đã được harden đầy đủ. |
Truy vấn record, brute-force hostname và reverse lookup.
Xác định host sống, port mở và service.
NetBIOS name, OS/domain context và shares.
Banner và kiểm tra phản hồi VRFY/EXPN.
Community string, MIB, process, software, user và local port.
Dùng công cụ có sẵn trên Windows khi không có Kali.
DNS enumeration
Kiểm tra ICMP/TCP port
Liệt kê SMB share
Tương tác TCP text protocol
| Record | Chức năng |
|---|---|
| NS | Authoritative name server của domain. |
| A | IPv4 của hostname. |
| AAAA | IPv6 của hostname. |
| MX | Mail exchanger; số priority thấp hơn được ưu tiên trước. |
| PTR | Reverse lookup từ IP sang hostname. |
| CNAME | Alias trỏ đến record khác. |
| TXT | Dữ liệu text tùy ý, thường dùng verification hoặc policy. |
kali@kali:~$ host www.megacorpone.com
www.megacorpone.com has address 149.56.244.87
kali@kali:~$ host -t mx megacorpone.com
megacorpone.com mail is handled by 10 fb.mail.gandi.net.
megacorpone.com mail is handled by 20 spool.mail.gandi.net.
megacorpone.com mail is handled by 50 mail.megacorpone.com.
megacorpone.com mail is handled by 60 mail2.megacorpone.com.
kali@kali:~$ host -t txt megacorpone.com
megacorpone.com descriptive text "Try Harder"
megacorpone.com descriptive text "google-site-verification=..."kali@kali:~$ host www.megacorpone.com
www.megacorpone.com has address 149.56.244.87
kali@kali:~$ host idontexist.megacorpone.com
Host idontexist.megacorpone.com not found: 3(NXDOMAIN)kali@kali:~$ cat list.txt
www
ftp
mail
owa
proxy
router
kali@kali:~$ for ip in $(cat list.txt); do host $ip.megacorpone.com; done
www.megacorpone.com has address 149.56.244.87
Host ftp.megacorpone.com not found: 3(NXDOMAIN)
mail.megacorpone.com has address 51.222.169.212
...
router.megacorpone.com has address 51.222.169.214kali@kali:~$ for ip in $(seq 200 254); do host 51.222.169.$ip; done | grep -v "not found"
208.169.222.51.in-addr.arpa domain name pointer admin.megacorpone.com.
209.169.222.51.in-addr.arpa domain name pointer beta.megacorpone.com.
210.169.222.51.in-addr.arpa domain name pointer fs1.megacorpone.com.
...
220.169.222.51.in-addr.arpa domain name pointer vpn.megacorpone.com.kali@kali:~$ dnsrecon -d megacorpone.com -t std
[*] std: Performing General Enumeration against: megacorpone.com...
[-] DNSSEC is not configured for megacorpone.com
[*] SOA ns1.megacorpone.com 51.79.37.18
[*] NS ns1.megacorpone.com 51.79.37.18
[*] MX mail.megacorpone.com 51.222.169.212
[*] TXT megacorpone.com Try Harder
[*] Enumerating SRV Records
[+] 0 Records Foundkali@kali:~$ dnsrecon -d megacorpone.com -D ~/list.txt -t brt
[*] Using the dictionary file: /home/kali/list.txt
[+] A www.megacorpone.com 149.56.244.87
[+] A mail.megacorpone.com 51.222.169.212
[+] A router.megacorpone.com 51.222.169.214
[+] 3 Records Foundkali@kali:~$ dnsenum megacorpone.com
...
admin.megacorpone.com. IN A 51.222.169.208
beta.megacorpone.com. IN A 51.222.169.209
fs1.megacorpone.com. IN A 51.222.169.210
intranet.megacorpone.com. IN A 51.222.169.211
mail.megacorpone.com. IN A 51.222.169.212
...
vpn.megacorpone.com. IN A 51.222.169.220
megacorpone.com class C netranges:
51.79.37.0/24
51.222.39.0/24
51.222.169.0/24
66.70.207.0/24
149.56.244.0/24
...kali@kali:~$ xfreerdp /u:student /p:lab /v:192.168.50.152
C:\Users\student> nslookup mail.megacorptwo.com
Server: UnKnown
Address: 192.168.50.151
Name: mail.megacorptwo.com
Address: 192.168.50.154
C:\Users\student> nslookup -type=TXT info.megacorptwo.com 192.168.50.151
info.megacorptwo.com text = "greetings from the TXT record body"| Kết quả DNS | Bước tiếp theo |
|---|---|
| Hostname mới | Resolve IP, kiểm tra scope, port scan. |
| MX / mail host | SMTP enumeration và banner validation. |
| `snmp`, `siem`, `vpn`, `router` | Ưu tiên theo vai trò, nhưng không suy đoán service chỉ từ tên. |
| NXDOMAIN hàng loạt | Đổi wordlist hoặc kiểm tra wildcard DNS. |
| Netblock mới | Xác minh ownership và scope trước khi sweep. |
| PTR khác với A record | Ghi cả hai và xác minh dữ liệu stale/split DNS. |
Port scanning ngoài lab có thể trái pháp luật; cần sự cho phép trực tiếp bằng văn bản.
Scan lớn có thể làm nghẽn link, quá tải server hoặc gây downtime.
Lưu lượng scan có thể kích hoạt IDS/IPS và tạo log.
Kết quả scan trước quyết định phạm vi và kiểu scan sau.
kali@kali:~$ nc -nvv -w 1 -z 192.168.50.152 3388-3390
(UNKNOWN) [192.168.50.152] 3390 (?) : Connection refused
(UNKNOWN) [192.168.50.152] 3389 (ms-wbt-server) open
(UNKNOWN) [192.168.50.152] 3388 (?) : Connection refused
sent 0, rcvd 0| Tùy chọn | Ý nghĩa |
|---|---|
| `-n` | Không resolve DNS. |
| `-vv` | Verbose hơn. |
| `-w 1` | Timeout 1 giây. |
| `-z` | Zero-I/O mode, không gửi application data. |
kali@kali:~$ nc -nv -u -z -w 1 192.168.50.149 120-123
(UNKNOWN) [192.168.50.149] 123 (ntp) openMặc định quét 1000 TCP port phổ biến.
`-p 1-65535` kiểm tra toàn bộ TCP port.
`-sU` cần diễn giải thận trọng.
kali@kali:~$ sudo iptables -I INPUT 1 -s 192.168.50.149 -j ACCEPT
kali@kali:~$ sudo iptables -I OUTPUT 1 -d 192.168.50.149 -j ACCEPT
kali@kali:~$ sudo iptables -Z| Tùy chọn | Ý nghĩa |
|---|---|
| `-I` | Chèn rule vào chain. |
| `-s` / `-d` | Source / destination IP. |
| `-j ACCEPT` | Chấp nhận traffic để đếm. |
| `-Z` | Đưa packet/byte counters về 0. |
kali@kali:~$ nmap 192.168.50.149
PORT STATE SERVICE
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPsslkali@kali:~$ nmap -p 1-65535 192.168.50.149
...
5985/tcp open wsman
9389/tcp open adws
47001/tcp open winrm
49664/tcp open unknown
...
Nmap done: 1 host up scanned in 2141.22 seconds| Scan | Traffic trong ví dụ | Kết quả |
|---|---|---|
| Default 1000 ports | Khoảng 72 KB | Nhanh hơn, có thể bỏ lỡ high ports. |
| All 65535 ports | Khoảng 4 MB | Tìm thêm WinRM, ADWS và dynamic ports. |
| Kỹ thuật | Tùy chọn | Đặc điểm |
|---|---|---|
| SYN scan | `-sS` | Không hoàn tất handshake; nhanh, cần raw socket. |
| TCP Connect | `-sT` | Hoàn tất handshake; không cần raw socket, chậm hơn. |
| UDP scan | `-sU` | Dựa trên ICMP và probe theo protocol; dễ mơ hồ. |
| Combined | `-sU -sS` | Có bức tranh TCP + UDP đầy đủ hơn, traffic cao hơn. |
| Host discovery | `-sn` | Tìm host sống mà không port scan đầy đủ. |
kali@kali:~$ sudo nmap -sS 192.168.50.149
Not shown: 989 closed tcp ports (reset)
PORT STATE SERVICE
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
...kali@kali:~$ nmap -sT 192.168.50.149
Not shown: 989 closed tcp ports (conn-refused)
PORT STATE SERVICE
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
...kali@kali:~$ sudo nmap -sU 192.168.50.149
123/udp open ntp
389/udp open ldap
kali@kali:~$ sudo nmap -sU -sS 192.168.50.149
53/tcp open domain
445/tcp open microsoft-ds
53/udp open domain
123/udp open ntp
389/udp open ldap
...kali@kali:~$ nmap -sn 192.168.50.1-253
Nmap scan report for 192.168.50.6
Host is up (0.12s latency).
Nmap scan report for 192.168.50.8
Host is up (0.12s latency).
...
Nmap done: 254 IP addresses (13 hosts up) scanned in 3.74 secondskali@kali:~$ nmap -v -sn 192.168.50.1-253 -oG ping-sweep.txt
kali@kali:~$ grep Up ping-sweep.txt | cut -d " " -f 2
192.168.50.6
192.168.50.8
192.168.50.9
...kali@kali:~$ nmap -p 80 192.168.50.1-253 -oG web-sweep.txt
kali@kali:~$ grep open web-sweep.txt | cut -d" " -f2
192.168.50.6
192.168.50.20
192.168.50.21kali@kali:~$ nmap -sT -A --top-ports=20 192.168.50.1-253 -oG top-port-sweep.txt
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3
80/tcp open http Apache httpd 2.4.41 (Ubuntu)
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Under Construction
...kali@kali:~$ cat /usr/share/nmap/nmap-services
finger 79/udp 0.000956
http 80/sctp 0.000000
http 80/tcp 0.484143 # World Wide Web HTTP
http 80/udp 0.035767
hosts2-ns 81/tcp 0.012056
...kali@kali:~$ sudo nmap -O 192.168.50.14 --osscan-guess
Running (JUST GUESSING): Microsoft Windows 2008|2012|2016|7|Vista (88%)
Aggressive OS guesses: Windows Server 2008 R2 (88%), Windows Server 2012 R2 (88%), ...
No exact OS matches for hostkali@kali:~$ nmap -sT -A 192.168.50.14
21/tcp open ftp?
| 220-FileZilla Server 1.2.0
| ssl-cert: Subject: commonName=filezilla-server self signed certificate
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
...kali@kali:~$ nmap --script http-headers 192.168.50.6
80/tcp open http
| http-headers:
| Server: Apache/2.4.41 (Ubuntu)
| Content-Length: 209
| Content-Type: text/html
|_ (Request type: HEAD)
kali@kali:~$ nmap --script-help http-headers
http-headers
Categories: discovery safe
Performs a HEAD request for the root folder ("/") ...PS C:\Users\student> Test-NetConnection -Port 445 192.168.50.151
ComputerName : 192.168.50.151
RemotePort : 445
SourceAddress : 192.168.50.152
TcpTestSucceeded : TruePS C:\Users\student> 1..1024 | % {echo ((New-Object Net.Sockets.TcpClient).Connect("192.168.50.151", $_)) "TCP port $_ is open"} 2>$null
TCP port 88 is open
...| Thành phần | Port / vai trò | Ghi chú |
|---|---|---|
| NetBIOS | TCP 139 và một số UDP port | Session/name service cho mạng cục bộ; dùng cho tương thích cũ. |
| SMB | TCP 445 | File/printer sharing và nhiều chức năng Windows. |
| Quan hệ | Thường cùng xuất hiện | Enumeration 139 và 445 thường đi cùng nhau. |
| Rủi ro | Lịch sử nhiều lỗi và cấu hình yếu | Phiên bản hiện đại đã được cải thiện; vẫn cần xác minh version/config. |
kali@kali:~$ nmap -v -p 139,445 -oG smb.txt 192.168.50.1-254
kali@kali:~$ cat smb.txt
# Ports scanned: TCP(2;139,445)
Host: 192.168.50.21 () Status: Up
Host: 192.168.50.21 () Ports: 139/closed/tcp, 445/closed/tcp
...
# 254 IP addresses (15 hosts up) scannedkali@kali:~$ sudo nbtscan -r 192.168.50.0/24
IP address NetBIOS Name Server User
192.168.50.124 SAMBA <server> SAMBA
192.168.50.134 SAMBAWEB <server> SAMBAWEB
...kali@kali:~$ ls -1 /usr/share/nmap/scripts/smb*
smb2-capabilities.nse
smb2-security-mode.nse
smb-enum-domains.nse
smb-enum-groups.nse
smb-enum-processes.nse
smb-enum-shares.nse
smb-enum-users.nse
smb-os-discovery.nse
...kali@kali:~$ nmap -v -p 139,445 --script smb-os-discovery 192.168.50.152
139/tcp open netbios-ssn
445/tcp open microsoft-ds
| smb-os-discovery:
| OS: Windows 10 Pro 22000
| Computer name: client01
| Domain name: megacorptwo.com
| Forest name: megacorptwo.com
| FQDN: client01.megacorptwo.com
...C:\Users\student> net view \\dc01 /all
Share name Type Comment
ADMIN$ Disk Remote Admin
C$ Disk Default share
IPC$ IPC Remote IPC
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
The command completed successfully.| Command | Mục đích | Giá trị enumeration |
|---|---|---|
| VRFY | Yêu cầu server xác minh địa chỉ/user | So sánh phản hồi để nhận diện username tồn tại. |
| EXPN | Yêu cầu mở rộng thành viên mailing list | Có thể lộ danh sách thành viên nếu server cho phép. |
| Banner | Chuỗi chào khi kết nối port 25 | Gợi ý mail software và nền tảng. |
kali@kali:~$ nc -nv 192.168.50.8 25
220 mail ESMTP Postfix (Ubuntu)
VRFY root
252 2.0.0 root
VRFY idontexist
550 5.1.1 <idontexist>: Recipient address rejected: User unknown in local recipient table
^C| Phản hồi | Cách hiểu |
|---|---|
| `252 2.0.0 root` | Server chấp nhận/xác nhận user theo hành vi trong lab. |
| `550 5.1.1 ... User unknown` | Username không tồn tại theo phản hồi server. |
#!/usr/bin/python
import socket
import sys
if len(sys.argv) != 3:
print("Usage: vrfy.py <username> <target_ip>")
sys.exit(0)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ip = sys.argv[2]
s.connect((ip,25))
print(s.recv(1024))
user = (sys.argv[1]).encode()
s.send(b'VRFY ' + user + b'\r\n')
print(s.recv(1024))
s.close()kali@kali:~/Desktop$ python3 smtp.py root 192.168.50.8
b'220 mail ESMTP Postfix (Ubuntu)\r\n'
b'252 2.0.0 root\r\n'
kali@kali:~/Desktop$ python3 smtp.py johndoe 192.168.50.8
b'220 mail ESMTP Postfix (Ubuntu)\r\n'
b'550 5.1.1 <johndoe>: Recipient address rejected: User unknown in local recipient table\r\n'
PS C:\Users\student> Test-NetConnection -Port 25 192.168.50.8
TcpTestSucceeded : True
PS C:\Windows\system32> dism /online /Enable-Feature /FeatureName:TelnetClient
...
C:\Windows\system32> telnet 192.168.50.8 25
220 mail ESMTP Postfix (Ubuntu)
VRFY goofy
550 5.1.1 <goofy>: Recipient address rejected: User unknown
VRFY root
252 2.0.0 rootDễ bị spoofing/replay hơn nếu triển khai yếu.
Community string và dữ liệu có thể bị chặn trên mạng cục bộ.
`public` và `private` thường bị để mặc định.
Có thể lộ user, process, software, network và cấu hình.
| OID | Dữ liệu |
|---|---|
| `1.3.6.1.2.1.25.1.6.0` | System Processes |
| `1.3.6.1.2.1.25.4.2.1.2` | Running Programs |
| `1.3.6.1.2.1.25.4.2.1.4` | Processes Path |
| `1.3.6.1.2.1.25.2.3.1.4` | Storage Units |
| `1.3.6.1.2.1.25.6.3.1.2` | Software Name |
| `1.3.6.1.4.1.77.1.2.25` | User Accounts |
| `1.3.6.1.2.1.6.13.1.3` | TCP Local Ports |
kali@kali:~$ sudo nmap -sU --open -p 161 192.168.50.1-254 -oG open-snmp.txt
Nmap scan report for 192.168.50.151
Host is up (0.10s latency).
PORT STATE SERVICE
161/udp open snmp
...kali@kali:~$ echo public > community
kali@kali:~$ echo private >> community
kali@kali:~$ echo manager >> community
kali@kali:~$ for ip in $(seq 1 254); do echo 192.168.50.$ip; done > ips
kali@kali:~$ onesixtyone -c community -i ips
Scanning 254 hosts, 3 communities
192.168.50.151 [public] Hardware: Intel64 ... Windows Version 6.3 ...kali@kali:~$ snmpwalk -c public -v1 -t 10 192.168.50.151
iso.3.6.1.2.1.1.1.0 = STRING: "Hardware: Intel64 ... Windows Version 6.3 ..."
iso.3.6.1.2.1.1.4.0 = STRING: "admin@megacorptwo.com"
iso.3.6.1.2.1.1.5.0 = STRING: "dc01.megacorptwo.com"
iso.3.6.1.2.1.2.1.0 = INTEGER: 24
...| Tùy chọn | Ý nghĩa |
|---|---|
| `-c public` | Community string. |
| `-v1` | SNMP version. |
| `-t 10` | Timeout 10 giây. |
kali@kali:~$ snmpwalk -c public -v1 192.168.50.151 1.3.6.1.4.1.77.1.2.25
... = STRING: "Guest"
... = STRING: "krbtgt"
... = STRING: "student"
... = STRING: "Administrator"kali@kali:~$ snmpwalk -c public -v1 192.168.50.151 1.3.6.1.2.1.25.4.2.1.2
... = STRING: "System"
... = STRING: "smss.exe"
... = STRING: "svchost.exe"
... = STRING: "winlogon.exe"
... = STRING: "lsass.exe"
...kali@kali:~$ snmpwalk -c public -v1 192.168.50.151 1.3.6.1.2.1.25.6.3.1.2
... = STRING: "Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.27.29016"
... = STRING: "VMware Tools"
... = STRING: "Microsoft Visual C++ 2015-2019 Redistributable (x86) - 14.27.290"
...kali@kali:~$ snmpwalk -c public -v1 192.168.50.151 1.3.6.1.2.1.6.13.1.3
...88... = INTEGER: 88
...135... = INTEGER: 135
...389... = INTEGER: 389
...445... = INTEGER: 445
...5985... = INTEGER: 5985
...| Trường | Nội dung nên ghi |
|---|---|
| Asset | IP, hostname, domain, owner/scope status. |
| Source | WHOIS, DNS, Nmap, SMB, SMTP, SNMP hoặc nguồn OSINT. |
| Command | Lệnh chính xác đã chạy và thời điểm. |
| Evidence | Output quan trọng, screenshot hoặc file kết quả. |
| Interpretation | Điều gì đã được xác minh — tách khỏi suy đoán. |
| Hypothesis | Câu hỏi kỹ thuật tiếp theo. |
| Next action | Tool/scan cụ thể và điều kiện dừng. |
Version hoặc service chưa được xác minh đủ.
Có thể bỏ lỡ port, UDP, vhost, DNS hoặc share.
Tìm local service, process, software, user hoặc network context mới.
Quay lại DNS, SMB, SNMP và identity mapping.
Banner, OS guess và hostname không khớp; cần nguồn thứ hai.
Đưa asset mới qua toàn bộ chu trình passive/active phù hợp.
| Sai lầm | Cách khắc phục |
|---|---|
| Chỉ chạy default Nmap | Full scan có chọn lọc trên host ưu tiên; nhớ UDP. |
| Tin banner/OS guess tuyệt đối | Xác minh bằng nhiều công cụ và protocol-specific query. |
| Không lưu output | Dùng `-oG`/file output và ghi timestamp. |
| Không phân biệt fact/hypothesis | Đánh dấu rõ “đã xác minh” và “cần kiểm tra”. |
| Quên đưa host mới vào vòng lặp | Duy trì asset inventory và checklist per-host. |
| Scan quá rộng quá sớm | Bắt đầu targeted, mở rộng theo kết quả. |
WHOIS, Google operators, Netcraft, code repositories, Shodan và security posture services.
DNS queries, TCP/UDP scanning và service-specific enumeration.
Scan types, sweep, output format, OS/service detection và NSE.
nslookup, Test-NetConnection, TcpClient, net view và Telnet.
SMB, SMTP và SNMP cung cấp context sâu khi cấu hình cho phép.
Enumeration là quá trình lặp, dựa trên bằng chứng và câu hỏi kỹ thuật.
Học có hệ thống • Thực hành trong lab được cấp phép • Ghi chép theo phương pháp pentest