Reconnaissance
Last updated
Last updated
Reconnaissance is gathering information about a target system or network, to identify vulnerabilities that could be exploited. This process is known as Footprinting or Information Gathering
Two main types of reconnaissance:
Passive: Passive reconnaissance involves gathering information without directly interacting with the target system. This can be done through publicly available source, such as websites and research engines.
Active: Active reconnaissance involves directly interacting with the target system. This can include techniques such as network scans and vulnerability scans and can raise the risk of detection
Ethical Hacker / Pentester looking for?
Network Information: Domain name, Internal Domain, Ip Address, Unmonitored/private websites, TCP/UDP Services, VPN/IDS/IPS/access controls, VPN info, Phone numbers/, Network topology, Network devices
Operating System Information: Users and group names/info, Banner grabbing, Routing tables, SNMP, System architecture, Remote systems, System names, Passwords, Dumpster diving(Lặn thùng rác), Version, Patch level
Organization Information: Organization website, Company directory, Employee information, Business structure, Location details, Comments in HTML source code, Security policies deployed, webserver links, Background of organization, Marketing and advertising, Prevailing events(sự kiện thịnh hành), Partners, Phone, Financial information
External Network Pentester looking for? (external networks include public Wi-Fi networks, cloud-based services, and other third-party networks)
Network Information, Operating systems and applications, Publicly accessible information, Phone, Website Mirroring, Archive Sites, Github recon, Whois, Web server Content, Email Header, Google and Search Engine, People Sites, Social Network, Job Sites, Alert Website.
Internal Network Network Pentester looking for?
IP Address, Internal DNS, Private Website, Dumpster Diving, Shoulder, Surfing
Web Application Pentester looking for?
Network Information: Ip address, Domain name, Network topology, Open ports and services
Web Application Information: Web server technology used, Application framework, Source code, Session management, Input validation and data handling, Authentication and authorization mechanisms
Web Server Information: Operating system, Web server software version, Server-side scripting language and version, Database management system and version
Web Application Components: Dynamic content generation, Client-side scripting languages, Third-party components and libraries
Visit the target website
Employee information: Name, Job titles, Responsibilities
Contact information: Physical addresses, Email Address, Phone numbers
Sử dụng tệp robots.txt và sitemap
Sitemap cung cấp thông tin về cấu trúc và nội dung của trang web, trong khi tệp robots.txt hướng dẫn về những phần nào của trang web mà chúng có thể và không thể truy cập.
Source code Review
Comments
Backend Language
Scripts
External resources
Metadata
External resources
Website structure
Website functionality
Website Traffic
Server-side scripting language Information.
Operating System Information.
System architecture
Web server software Information.
WHOIS: Cung cấp thông tin quan trọng về việc đăng ký và quyền sở hữu tên miền, có thể tìm kiếm qua Whois, Securitytrails, ViewDNS, Central OPS, IPVoid
Reverse Whois: Phương pháp tìm kiếm tên miền và các thông tin khác liên quan đến một cá nhân hoặc tổ chức cụ thể, có thể qua Domainiq, WhoXY, ViewDNS, ICANN
WHOIS history: Cung cấp thông tin về những thay đổi được thực hiện đối với chi tiết đăng ký tên miền theo thời gian
IP Address
Tìm tên miền từ IP Addresses: có thể qua các website như DNS Tools, Central OPS, DNS Lookup, DNS SPY, DNS Record Viewer hoặc qua các lệnh dig, host, nslookup
Theo dõi lịch sử IP Address: Giúp điều tra các mối đe dọa bảo mật tiềm ẩn hoặc hoạt động đáng ngờ, có thể sử dụng các tool như ViewDNS, Securitytrails
Xác định vị trí địa lý của IP Address, sử dụng một số công cụ như Shodan, IP location, IP2location, IPinfo, IPvoid, IPregistry, Check-host
Hay còn gọi là Google Dorking, là kỹ thuật sử dụng để khám phá thông tin nhạy cảm trên internet bằng cách sử dụng các kỹ thuật tìm kiếm nâng cao với Google search.
Shodan
OSINT Framework
IP logger
IP logger là công cụ tạo liên kết hoặc touchable , khi nhấp hoặc truy cập, sẽ ghi lại địa chỉ IP và siêu dữ liệu khác của thiết bị được sử dụng để truy cập
Email Tracking OR Spoofing
Email tracking có thể sử dụng để trinh sát, thu thập thông tin về mục tiêu như IP, vị trí địa lý và thông tin thiết bị của họ. Ngoài ra còn giúp attacker xác định xem mục tiêu đã mở hay nhấn vào email hay chưa, giúp attacker hiểu thêm về mức độ quan tâm của mục tiêu với nội dung cụ thể.
Email spoofing có thể được sử dụng để thu thập thông tin nhạy cảm, đánh cắp thông tin xác thực hoặc triển khai malware trên thiết bị nạn nhân
Technical Support Forums
1. Port Scanning: Kỹ thuật này bao gồm quét các cổng của hệ thống mục tiêu để xác định các cổng, dịch vụ và ứng dụng mở. Thông tin này có thể được sử dụng để xác định các lỗ hổng tiềm ẩn trong hệ thống mục tiêu.
Một vài kỹ thuật quét cổng:
TCP Connect Scanning: Cố gắng thiết lập kết nối TCP đầy đủ với hệ thống mục tiêu. Nếu kết nối thành công, cổng được coi là mở và dịch vụ hoặc ứng dụng đang chạy trên cổng đó có thể được xác định
SYN Scanning: Kỹ thuật liên quan đến việc gửi các gói SYN đến các cổng của hệ thống mục tiêu. Nếu cổng mở, hệ thống mục tiêu sẽ phản hồi bằng một gói SYN-ACK. Nếu cổng đóng, hệ thống mục tiêu sẽ phản hồi bằng một gói RST
UDP Scanning: Gửi các gói UDP đến các cổng của hệ thống đích. Nếu hệ thống đích phản hồi, cổng được coi là mở và dịch vụ hoặc ứng dụng đang chạy trên cổng đó có thể được xác định
XMAS Scanning: Gửi các gói tin có cờ FIN, URG và PUSH được đặt đến các cổng của hệ thống đích. Nếu hệ thống đích phản hồi, cổng được coi là mở và dịch vụ hoặc ứng dụng đang chạy trên cổng đó có thể được xác định
Lưu ý: Dễ bị phát hiện bởi IDS và có thể kích hoạt báo động hoặc cảnh báo
Công cụ và phần mềm được sử dụng: Nmap, Masscan, Zenmap(Nmap with GUI), Angry IP Scanner, Superscan, Netcat, …
2. Network Mapping: Lập bản đồ mạng là quá trình xác định các thiết bị và cấu trúc mạng. Kỹ thuật này được sử dụng để xác định số lượng thiết bị trên mạng, hệ điều hành của chúng và các dịch vụ mà chúng đang chạy.
Một vài kỹ thuật:
Ping Sweeping: Gửi một loạt ICMP echo requests đến một phạm vi địa chỉ IP để xác định máy chủ nào đang hoạt động trên mạng
Port Scanning
SNMP Scanning: Truy vấn các thiết bị hỗ trợ SNMP trên mạng để thu thập thông tin về cấu hình của chúng, bao gồm hệ điều hành, phiên bản phần mềm và giao diện mạng. Kỹ thuật này có thể được sử dụng để tạo danh mục chi tiết các thiết bị mạng và xác định bất kỳ cấu hình sai hoặc lỗ hổng nào
Công cụ khám phá mạng: Như NetDiscover, có thể được sử dụng để tự động quét mạng và lập bản đồ cấu trúc mạng. Các công cụ này có thể phát hiện các thiết bị mạng và kết nối của chúng, cung cấp hình ảnh trực quan về cấu trúc mạng.
Packet Sniffing: Thu thập và phân tích lưu lượng mạng để xác định các thiết bị và dịch vụ đang chạy trên mạng => Xác định các lỗ hổng tiềm ẩn, chẳng hạn như mật khẩu chưa được mã hóa hoặc dữ liệu nhạy cảm được truyền dưới dạng rõ.
Công cụ và phần mềm được sử dụng: Nmap, Zenmap, NetDiscover, SolarWinds Network Topology Mapper, LantopoLog
3. Vulnerability Scanning: Quét lỗ hổng là quá trình xác định lỗ hổng trong hệ thống hoặc mạng mục tiêu. Kỹ thuật này bao gồm việc sử dụng các công cụ tự động/thủ công để quét hệ thống mục tiêu nhằm tìm lỗ hổng đã biết
Quá trình quét lỗ hổng thường bao gồm các bước sau:
Bước 1: Xác định tài sản trong hệ thống hoặc mạng cần quét: máy chủ, máy trạm, thiết bị mạng hoặc bất kỳ thiết bị nào khác trong mạng …
Bước 2: Quét lỗ hổng bằng công cụ tự động hoặc kỹ thuật thủ công
Bước 3: Phân tích kết quả
Một số công cụ tự động: Nessus, OpenVAS, Qualys, Rapid7, Acunetix, Burp Suite, Metasploit
4. DNS Enumeration: DNS enumeration là quá trình thu thập thông tin về các bản ghi hệ thống tên miền (DNS). Kỹ thuật này có thể được sử dụng để xác định các mục tiêu tiềm năng cho một cuộc tấn công mạng.
Một vài kỹ thuật DNS Enumeration:
Zone transfers: Yêu cầu một bản sao của DNS zone file từ máy chủ DNS. Chuyển vùng có thể cung cấp nhiều thông tin về tên miền, gồm các bản ghi DNS, tên miền và địa chỉ IP được liên kết với tên miền.
DNS queries: Truy vấn máy chủ DNS để biết thông tin cụ thể về tên miền, chẳng hạn như mail exchange (MX) records, service (SRV) records, và name server (NS) records
Brute-force attacks: Mục tiêu là tìm ra tên miền và tên miền phụ ẩn không dễ nhìn thấy
Social engineering: Ví dụ, kẻ tấn công có thể liên hệ với nhân viên của tổ chức và đóng giả là thành viên của bộ phận CNTT, yêu cầu thông tin về cơ sở hạ tầng DNS.
Công cụ: DNSenum, Fierce, Recon-ng, Nmap, theHarvester, Dig, DNSenum, nslookup
5. Service Fingerprinting: Dấu vân tay dịch vụ là quá trình xác định loại, phiên bản và cấu hình của các dịch vụ đang chạy trên hệ thống mục tiêu. Thông tin này có thể được sử dụng để xác định lỗ hổng và khai thác nào có thể áp dụng cho hệ thống và có thể điều chỉnh cuộc tấn công của mình cho phù hợp.
Một số kỹ thuật phổ biến:
Banner grabbing: Nắm bắt thông tin biểu ngữ hoặc tiêu đề của một dịch vụ để phản hồi yêu cầu kết nối. Thông tin này có thể tiết lộ loại và phiên bản của dịch vụ, thông tin về hệ điều hành, phần mềm máy chủ web, framework ứng dụng.
Phân tích giao thức: Phân tích lưu lượng mạng được trao đổi giữa hệ thống mục tiêu và kẻ tấn công => Tìm các giao thức cụ thể được các dịch vụ sử dụng …
Quét cổng
Quét lỗ hổng
Công cụ: Nmap, Netcat, Httprint, WhatWeb, Fingerprinter, p0f
6. Password Cracking: Bẻ khóa mật khẩu là quá trình cố gắng truy cập vào hệ thống mục tiêu bằng cách đoán hoặc bẻ khóa mật khẩu. Kỹ thuật này thường được sử dụng kết hợp với các kỹ thuật trinh sát chủ động khác.
Kỹ thuật phổ biến:
Brute-force attacks
Dictionary attacks
Hybrid attack
Công cụ: John the Ripper, Hashcat, Aircrack-ng(wireless network), Cain and Abel, Hydra, Ophcrack(Windows password), …
TCP Communication Flags: TCP Control Bít (Flags)
Kết nối TCP hợp lệ bắt đầu bằng quá trình bắt tay 3 bước (three-way handshake)
Handshake được sử dụng để trao đổi “Sequence Number” nhăm theo dõi việc gửi và truyền đạt thứ tự gói
UDP: truyền tải hướng không kết nối, không đảm bảo tính tin cậy khi truyền dữ liệu
UDP đơn giản hơn so với TCP, không có khái niệm “trạng thái kết nối”
Ít lựa chọn hơn cho việc dò quét.
Dò quét chậm và ít tin cậy hơn.
Nmap (Network Mapper) là một công cụ quét mạng mã nguồn mở, được phát triển bởi Gordon “Fyodor” Lyon & công sự. Không chỉ đơn thuần là công cụ dò quét cổng, Nmap còn có khả năng quét lỗ hổng bảo mật thông tin qua Nmap Scripting Engine (NSE).
Command
Description
nmap 10.0.0.1
Scan a single host IP
nmap 192.168.10.0/24
nmap 10.1.1.5-100
Scan the range of IPs between 10.1.1.5 up to 10.1.1.100
nmap -iL hosts.txt
Scan the IP addresses listed in text file “hosts.txt”
nmap 10.1.1.3 10.1.1.6 10.1.1.8
Scan the 3 specific IPs only
nmap www.somedomain.com
First resolve the IP of the domain and then scan its IP address
Chú ý: Không chỉ định gì thêm thì lệnh sẽ mặc định khám phá first host và quét 1000 cổng phổ biến nhất theo mặc định.
Command
Description
nmap -p80 10.1.1.1
Scan only port 80 for specified host
nmap -p20-23 10.1.1.1
Scan ports 20 up to 23 for specified host
nmap -p80,88,8000 10.1.1.1
Scan ports 80,88,8000 only
nmap -p- 10.1.1.1
Scan ALL ports for specified host
nmap -sS -sU -p U:53,T:22 10.1.1.1
Scan ports UDP 53 and TCP 22
nmap -p http,ssh 10.1.1.1
Scan http and ssh ports for specified host
Command
Description
nmap -sS 10.1.1.1
TCP SYN Scan (best option)
nmap -sT 10.1.1.1
Full TCP connect scan
nmap -sX 10.1.1.1
nmap -sF 10.1.1.1
FIN Scan
nmap -sN 10.1.1.1
NULL Scan
nmap -sU 10.1.1.1
Scan UDP ports
nmap -sP 10.1.1.0/24
Do a Ping scan only
nmap -Pn 10.1.1.1
Don’t ping the hosts, assume they are up.
Tương tự –PN hoặc –P0
Nmap Network Probe/Sweeping Options:
PE: Gửi ICMP Echo Request (ICMP type 8)
PSports : Sử dụng TCP SYN với các cổng chỉ định trong danh sách cổng(vd -PS22, 80)
sn -sP: Chỉ thăm dò (ping only)
Pn: Không thăm dò, giả định chúng đều đang chạy, Tương tự –PN hoặc –P0
PP: Gửi ICMP Timestamp Request (ICMP type 13)
PM: Gửi ICMP Address Mask Request (IVMP type 17)
PR: Sử dụng ARP tới những host xác định (chạy trên Windows hoặc UID 0 trên Linux), option này chỉ hoạt động với những host chạy trên cùng subnet và được sử dụng mặc định khi mục tiêu trên cùng subnet
Tối ưu Host Detection bằng cách chỉ định port phổ biến với option -PS
nmap -PS22, 23, 25, 80, 110 -PE -iL hosts.txt
Sau khi Host Detection, tiến hành quét cổng:
sudo nmap -n -PN -sT -sU -p- scanme.nmap.ort
Sử dụng cờ T: và U: để mix TCP và UDP port
– open: Chỉ show cổng mở
-F: Scan top 100 ports
–top-ports N: N port phổ biến nhất
Command
Description
nmap -sV 10.1.1.1
Version detection scan of open ports (services)
nmap -O 10.1.1.1
Identify Operating System version
nmap -A 10.1.1.1
This combines OS detection, service version detection, script scanning and traceroute.
Command
Description
nmap -T0 10.1.1.1
Slowest scan (to avoid IDS)
Gửi gói tin mỗi 5 phút (serial)
nmap -T1 10.1.1.1
Sneaky (to avoid IDS)
Gửi gói tin mỗi 15 giây (serial)
nmap -T2 10.1.1.1
Polite (10 times slower than T3)
Gửi gói tin mỗi 0.4 giây (serial)
nmap -T3 10.1.1.1
Default scan timer (normal)
Thực hiện quét song song(parallel)
nmap -T4 10.1.1.1
Aggressive (fast and fairly accurate)
Không đợi phản hồi quá 1.25s (parallel)
nmap -T5 10.1.1.1
Very Aggressive (might miss open ports)
Chỉ dành tối đa 15 phút cho mỗi máy mục tiêu và chỉ đợi 0.3 giây phản hồi
Import a list of hosts using: -iL filename
Command
Description
nmap -oN [filename] [IP hosts]
Normal text format
nmap -oG [filename] [IP hosts]
Grepable file (useful to search inside file)
nmap -oX [filename] [IP hosts]
XML file
nmap -oA [filename] [IP hosts]
Output in all 3 formats supported:
normal => basename.nmap
greppable => basename.gnmap
XML => basename.xml
Ví dụ:
nmap -oN scan.txt 192.168.0.0/24 (this will scan the subnet and output the results in text file “scan.txt”)
Command
Description
nmap -PS22-25,80 10.1.1.0/24
Discover hosts by TCP SYN packets to specific ports (in our example here the ports are 22 to 25 and 80)
nmap -Pn 10.1.1.0/24
Disable port discovery. Treat all hosts as online.
nmap -PE 10.1.1.0/24
Send ICMP Echo packets to discover hosts.
nmap -sn 10.1.1.0/24
Ping scan.
Command
Description
nmap --script="name of script" 10.1.1.0/24
Run the specified script towards the targets.
nmap --script="name of script" --script-args="argument=arg" 10.1.1.0/24
Run the script with the specified arguments.
nmap --script-updatedb
Update script database
Command
Description
nmap -6 [IP hosts]
Scan IPv6 hosts
nmap --proxies url1,url2
Run the scan through proxies
nmap --open
Only show open ports
nmap --script-help="script name"
Get info and help for the specified script
nmap -V
Show currently installed version
nmap -S [IP address]
Spoof source IP
nmap --max-parallelism [number]
Maximum parallel probes/connections
nmap --max-rate [number]
Maximum packets per second
Masscan tập trung vào tốc độ: Có thể quét toàn bộ mạng dưới 6 phút, gửi 10 triệu gói tin mỗi giây
Sử dụng tương tự nmap:
masscan -p22, 445, 3389 –reate 15000 10.0.0.0/8
Kiểm tra port 22, 445, 3389
Giới han 15000 gói tin mỗi giây
Scan 10.x.x.x subnet
Luôn sử dụng “rate limit” khi scan
Đối với “large” scans, sử dụng định dạng binary của Masscan để lưu kết quả:
masscan -p0-65535 –rate 15000 -oB myscan.mass 10.0.0.0/8
Output formats:
▪ List (-oL): status, protocol, port, IP, timestamp
▪ XML (-oX): XML format
▪ Binary (-oB): Custom Masscan format
▪ Grepable (-oG)/JSON (-oJ)/Uniconscan (-oU)
Binary file format có thể chuyển đổi sang định dạng khác với --readscan
masscan --readscan myscan.mass -oX myscan.xml
Chuyển đổi binary file sang greppable:
masscan –open –readscan myscan.mass -oG myscan.grep
Sử dụng grep để trích xuất dữ liệu mong muốn:
“Get all live hosts”
grep /open/ myscan.grep | cut –d ‘ ‘ –f 2 | sort –uV >newscan.txt
“Get all ports”
grep /open/ myscan.grep | cut –d ‘ ‘ –f 4 |cut –d / -f 1| sort –nk 1| uniq >newscan.txt
Netcat: General-purpose TCP/UDP network tool
Có sẵn trong nhiều phiên bản Linux(hoạt động trên cả Windows)
Nmap đã có sẵn ncat
Netcat nhận dữ liệu từ “Standard In: và gửi chúng qua mạng
Nhận dữ liệu từ mạng và đẩy tới “Standard Out”
Thông báo từ Netcat đẩy tới “Standard Error”
Sử dụng netcat để lấy thông tin dịch vụ:
nc -nv [targetIP] [port]
sẽ lấy thông tin dịch vụ tương ứng với port
Lấy thông tin connection strings từ một loạt cổng trên máy mục tiêu:
Chỉ định phạm vị cổng X-Y.
nc –nvw2 [targetIP] [port-range]
$echo “” | nc –nvw2 [targetIP] [port-range
Moving Files:
Chúng ta có thể chuyển file với Netcat bằng cách chuyển hướng file (dữ liệu không được mã hóa).
sender#nc -w 3 [destination IP] 9899 < out.file
receiver#nc -lvp 9899 > out.file
Kiểm tra lại dữ liệu với md5sum
sender#md5sum out.file
c6779ec2960296ed9a04f08d67f64422
receiver#md5sum out.file
c6779ec2960296ed9a04f08d67f64422
Reverse & Bind shell withnc
References:
Website/Tool: , ,
: có thể cung cấp thông tin chi tiết có giá trị về lịch sử, quá trình phát triển và nội dung của trang web
Website để tìm Web archive: , , ,
Website hỗ trợ: , ,
Truy tìm Route của một IP Address: Sử dụng , , ,
là một công cụ tìm kiếm cho các thiết bị kết nối internet. Nó cho phép người dùng tìm kiếm các loại thiết bị cụ thể (ví dụ: webcam, bộ định tuyến, máy chủ, v.v.) và cung cấp thông tin về các thiết bị có thể truy cập công khai trên internet. Shodan sử dụng nhiều kỹ thuật quét khác nhau để thu thập thông tin về các thiết bị, bao gồm các cổng mở, thông tin biểu ngữ và siêu dữ liệu khác.
là viết tắt của Open-Source Intelligence, dùng để chỉ việc thu thập, phân tích và phổ biến thông tin từ các nguồn công khai. Các nguồn này có thể bao gồm các nguồn trực tuyến và ngoại tuyến, chẳng hạn như nền tảng truyền thông xã hội, blog, bài báo, hồ sơ công khai, báo cáo của chính phủ và các nguồn thông tin công khai khác.
References:
Scan a Class C
XMAS Scan