Quay lại

Lab: Basic Reconnaissance với nmap và netcat

Linux nmap netcat 1-2 giờ

Mục tiêu

  • Hiểu nguyên lý hoạt động của reconnaissance
  • Sử dụng nmap để scan port và service
  • Sử dụng netcat để banner grabbing
  • Phân tích kết quả scan
  • Viết báo cáo reconnaissance

Môi trường lab

Kali Linux

Attacker machine

Target Machine

Ubuntu/Windows VM

Network

Mạng lab riêng

Cài đặt công cụ

1. Cài đặt nmap:

# Ubuntu/Debian
sudo apt update
sudo apt install nmap

# CentOS/RHEL
sudo yum install nmap

# Kiểm tra version
nmap --version
                                

2. Cài đặt netcat:

# Ubuntu/Debian
sudo apt install netcat-openbsd

# CentOS/RHEL
sudo yum install nc

# Kiểm tra
nc -h
                                

3. Cài đặt thêm công cụ:

# Cài đặt các công cụ bổ sung
sudo apt install whois dnsutils curl wget

# Hoặc cài đặt Kali tools
sudo apt install kali-linux-default
                                

Scan cơ bản với nmap

1. Ping scan (Host Discovery):

# Ping scan để tìm host còn sống
nmap -sn 192.168.1.0/24

# Scan một range IP cụ thể
nmap -sn 192.168.1.1-254

# Scan với timeout nhanh
nmap -sn --max-retries 1 192.168.1.0/24
                                

2. Port scan cơ bản:

# Scan port phổ biến
nmap 192.168.1.100

# Scan tất cả port (65535 port)
nmap -p- 192.168.1.100

# Scan port cụ thể
nmap -p 22,80,443,3306 192.168.1.100

# Scan với timing template
nmap -T4 192.168.1.100
                                

3. Service detection:

# Phát hiện service và version
nmap -sV 192.168.1.100

# Phát hiện OS
nmap -O 192.168.1.100

# Kết hợp tất cả
nmap -sV -O -sC 192.168.1.100
                                

Scan nâng cao

1. Script scan:

# Chạy script mặc định
nmap -sC 192.168.1.100

# Chạy script cụ thể
nmap --script=http-title 192.168.1.100
nmap --script=ssl-cert 192.168.1.100

# Chạy nhiều script
nmap --script=http-*,ssl-* 192.168.1.100

# Chạy script theo category
nmap --script=vuln 192.168.1.100
                                

2. Timing và performance:

# Timing templates (T0-T5)
nmap -T0 192.168.1.100  # Paranoid (rất chậm)
nmap -T1 192.168.1.100  # Sneaky
nmap -T2 192.168.1.100  # Polite
nmap -T3 192.168.1.100  # Normal (mặc định)
nmap -T4 192.168.1.100  # Aggressive
nmap -T5 192.168.1.100  # Insane (rất nhanh)

# Custom timing
nmap --min-rate 1000 192.168.1.100
nmap --max-rate 100 192.168.1.100
                                

3. Output formats:

# Xuất ra file
nmap -oN scan_results.txt 192.168.1.100
nmap -oX scan_results.xml 192.168.1.100
nmap -oG scan_results.grep 192.168.1.100

# Xuất tất cả format
nmap -oA scan_results 192.168.1.100
                                

Banner grabbing với netcat

1. Kết nối TCP cơ bản:

# Kết nối đến port 80 (HTTP)
nc -v 192.168.1.100 80

# Kết nối đến port 22 (SSH)
nc -v 192.168.1.100 22

# Kết nối với timeout
nc -w 5 192.168.1.100 80
                                

2. HTTP banner grabbing:

# Gửi HTTP request
echo -e "GET / HTTP/1.1\r\nHost: 192.168.1.100\r\n\r\n" | nc 192.168.1.100 80

# Hoặc sử dụng curl
curl -I http://192.168.1.100
curl -v http://192.168.1.100
                                

3. SSH banner grabbing:

# Kết nối SSH và xem banner
nc 192.168.1.100 22

# Sử dụng telnet
telnet 192.168.1.100 22

# Sử dụng nmap script
nmap --script=ssh-hostkey 192.168.1.100
                                

Phân tích kết quả

1. Đọc file nmap output:

# Xem file normal output
cat scan_results.txt

# Xem file XML
cat scan_results.xml

# Parse XML với grep
grep "portid\|service\|version" scan_results.xml
                                

2. Tạo báo cáo:

# Tạo summary
nmap -sV -O 192.168.1.100 | tee scan_summary.txt

# Export ra HTML
xsltproc scan_results.xml -o scan_report.html

# Tạo báo cáo tùy chỉnh
nmap -sV --script=banner 192.168.1.100 | \
awk '/^[0-9]/{print "Port: " $1 " Service: " $3 " Version: " $4}'
                                

Kết quả mong đợi

✅ Thông tin thu thập được:

  • Host còn sống trong mạng
  • Port đang mở và dịch vụ chạy
  • Version của service
  • OS fingerprint
  • Banner của các service

📊 Báo cáo cần có:

  • Danh sách host được scan
  • Bảng port và service
  • Version information
  • OS detection results
  • Recommendations

Troubleshooting

Vấn đề thường gặp:

  • Scan chậm: Sử dụng -T4 hoặc --min-rate
  • Host không phản hồi: Kiểm tra firewall và network
  • Permission denied: Chạy với sudo cho một số scan
  • False positive: Kiểm tra với nhiều tool khác nhau

Best Practices

  • Legal Compliance: Chỉ scan mạng của bạn hoặc được phép
  • Documentation: Ghi chép đầy đủ mọi scan
  • Rate Limiting: Không scan quá nhanh để tránh bị phát hiện
  • Multiple Tools: Sử dụng nhiều tool để xác nhận kết quả
  • Regular Updates: Cập nhật nmap và script database

Tài liệu tham khảo

  • Nmap Official Documentation
  • Netcat Manual Pages
  • Kali Linux Tools Documentation
  • Network Security Testing Guide
  • Reconnaissance Methodology