Ethical Hacking

Ethical Hacking – Fingerprinting

Written by ductri

Thuật ngữ OS Fingerprinting trong Ethical Hacking dùng để chỉ phương pháp nào được sử dụng để xác định hệ điều hành của máy tính mục tiêu.

  • Active Fingerprinting – Fingerprinting chủ động được thực hiện bằng cách gửi các gói tin đặc biệt đến máy mục tiêu, sau đó ghi lại phản hồi và phân tích thông tin thu thập được để xác định HĐH của máy mục tiêu. Chúng tôi sẽ đưa ra một ví dụ để giải thích cách bạn có thể sử dụng công cụ NMAP để phát hiện hệ điều hành của một domain mục tiêu.
  • Passive Fingerprinting – Fingerprinting thụ động dựa trên các dấu vết khi sniffer từ một hệ thống từ xa. Dựa trên các gói tin sniffer được (như Wireshark), bạn có thể xác đinh được hệ điều hành của máy mục tiêu.

Chúng ta có bốn yếu tố quan trọng sau đây để xem xét và xác định hệ điều hành:

  • TTL – Những gì hệ điều hành thiết lập cho Time-To-Live trên gói tin outbound.
  • Window Size – Những gì hệ điều hành thiết lập cho Window Size.
  • DF – Hệ điều hành có thiết lập Don’t Fragment không.
  • TOS – Hệ điều hành có thiết lập Type of Service không.

Bằng việc phân tích các yếu tố này của một gói tin, bạn có thể xác định hệ điều hành của máy tính mục tiêu tuy không chính xác 100%.

Các bước cơ bản

Trước khi tấn công một hệ thống, bạn phải biết hệ điều hành nào đang hoạt động trên máy chủ hosting. Khi hệ điều hành được nhận biết, việc xác định lỗ hổng nào có thể xuất hiện để khai thác hệ thống mục tiêu trở nên dễ dàng hơn.

Dưới đây là một lệnh nmap đơn giản có thể được sử dụng để xác định hệ điều hành của hosting, địa chỉ IP và tất cả các port đã mở.

$nmap -O -v huudoanh.com

Một số thông tin nhạy cảm được hiển thị dưới đây:

Starting Nmap 7.80 ( https://nmap.org ) at 2019-09-24 11:44 EDT
Initiating Ping Scan at 11:44
Scanning huudoanh.com (148.66.137.19) [4 ports]
Completed Ping Scan at 11:44, 0.04s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 11:44
Completed Parallel DNS resolution of 1 host. at 11:44, 6.56s elapsed
Initiating SYN Stealth Scan at 11:44
Scanning huudoanh.com (148.66.137.19) [1000 ports]
Discovered open port 143/tcp on 148.66.137.19
Discovered open port 25/tcp on 148.66.137.19
Discovered open port 587/tcp on 148.66.137.19
Discovered open port 443/tcp on 148.66.137.19
Discovered open port 995/tcp on 148.66.137.19
Discovered open port 993/tcp on 148.66.137.19
Discovered open port 21/tcp on 148.66.137.19
Discovered open port 110/tcp on 148.66.137.19
Discovered open port 80/tcp on 148.66.137.19
Discovered open port 8080/tcp on 148.66.137.19
Discovered open port 3306/tcp on 148.66.137.19
Discovered open port 22/tcp on 148.66.137.19
Discovered open port 3128/tcp on 148.66.137.19
Discovered open port 465/tcp on 148.66.137.19
Discovered open port 1248/tcp on 148.66.137.19

Khắc phục nhanh

Bạn có thể ẩn hệ thống chính của mình đằng sau máy chủ proxy hoặc VPN để đảm bảo an toàn cho hệ thống chính của bạn.

Port Scanning

Chúng ta vừa có được các thông tin khi chạy lệnh nmap. Lệnh này liệt kê tất cả các port đang mở trên một máy chủ.

PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop3

Bạn cũng có thể kiểm tra xem một port cụ thể có được mở hay không bằng cách sử dụng lệnh sau:

$nmap -sT -p 443 huudoanh.com

Và kết quả như sau:

Starting Nmap 7.80 ( https://nmap.org ) at 2019-09-24 12:23 EDT
Nmap scan report for huudoanh.com (148.66.137.19)
Host is up (0.0068s latency).
PORT STATE SERVICE
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 6.96 seconds

Khi một hacker biết về các port đang mở, anh ta có thể lên kế hoạch cho các kỹ thuật tấn công khác nhau thông qua các port đang mở đó.

Khắc phục nhanh

Thường xuyên kiểm tra và đóng tất cả các port không sử dụng để bảo vệ hệ thống khỏi các cuộc tấn công độc hại.

Ping Sweep

Ping Sweep là một kỹ thuật quét mạng mà bạn có thể sử dụng để xác định các máy chủ đang hoạt động trong một dải IP cụ thể. Ping Sweep còn được gọi là ICMP sweep.

Bạn có thể sử dụng lệnh fping để Ping Sweep. Lệnh này là một chương trình giống như ping sử dụng Internet Control Message Protocol (ICMP) để xác định xem máy chủ có hoạt động không.

fping khác với ping ở chỗ bạn có thể chỉ định số lượng máy chủ trên dòng lệnh hoặc chỉ định một tệp chứa danh sách các máy chủ để ping. Nếu một máy chủ không phản hồi trong một giới hạn thời gian nhất định nó sẽ được coi là không thể truy cập được.

Khắc phục nhanh

Để vô hiệu hóa Ping Sweep trên mạng, bạn có thể chặn các yêu cầu ICMP ECHO từ các nguồn bên ngoài. Điều này có thể được thực hiện bằng cách sử dụng lệnh sau đây để tạo rule cho tường lửa trong iptable.

$iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP

DNS Enumeration

Domain Name Server (DNS) giống như một bản đồ hoặc sổ địa chỉ. Trên thực tế, nó giống như một cơ sở dữ liệu phân tán được sử dụng để dịch địa chỉ IP sang tên miền và ngược lại.

DNS Enumeration là quá trình định vị tất cả các máy chủ DNS và các bản ghi tương ứng của chúng cho một tổ chức. Ý tưởng là thu thập càng nhiều thông tin càng tốt về mục tiêu của bạn trước khi bắt đầu một cuộc tấn công.

Bạn có thể sử dụng lệnh nslookup có sẵn trên Linux để lấy DNS và thông tin liên quan đến máy chủ. Ngoài ra, bạn có thể sử dụng tập lệnh DNSenum để nhận thông tin chi tiết về tên miền.

Kịch bản DNSenum có thể thực hiện các hoạt động quan trọng sau đây:

  • Lấy địa chỉ của host
  • Lấy thông tin về nameserver
  • Lấy thông tin về MX record
  • Thực hiện truy vấn axfr trên nameserver
  • Lấy thêm tên và tên miền phụ thông qua Google scraping