CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

21
Chương 2 1.1 Footprintting 1.1.1 Giới thiệu Footprinting là việc dùng các công cụ và kỹ thuật để lấy thông tin cơ bản đầu tiên về một tổ chức, một trang web hoặc một ứng dụng nào đó muốn tấn công. Footprinting một hệ thống một tổ chức sẽ cho phép hacker thấy rõ tình hình an ninh ( độ bảo mật) của tổ chức đó như : tên miền, các khối mạng, các dịch vụ và ứng dụng mạng, kiến trúc hệ thống, intrusion detection systems, IP addresses, số điện thoại, contact addresses, cơ chế xác thực và system enumeration Foot Printing giúp xác định những thông tin quan trọng của hệ thống của nạn nhân, từ đó hacker có cơ sở để thực hiện các tấn công. Nếu không sử dụng kỹ thuật này thì hacker khó có thể đạt được thành công trong việc tấn công, nhất là đối với những hệ thống lớn hay có độ bảo mật cao. 1.1.2 Kỹ thuật footprinting Các bước thực hiện footprinting :

Transcript of CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Page 1: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Chương 2

1.1 Footprintting

1.1.1 Giới thiệu

Footprinting là việc dùng các công cụ và kỹ thuật để lấy thông tin cơ bản đầu tiên

về một tổ chức, một trang web hoặc một ứng dụng nào đó muốn tấn công.

Footprinting một hệ thống một tổ chức sẽ cho phép hacker thấy rõ tình hình an

ninh ( độ bảo mật) của tổ chức đó như : tên miền, các khối mạng, các dịch vụ và

ứng dụng mạng, kiến trúc hệ thống, intrusion detection systems, IP addresses, số

điện thoại, contact addresses, cơ chế xác thực và system enumeration

Foot Printing giúp xác định những thông tin quan trọng của hệ thống của nạn

nhân, từ đó hacker có cơ sở để thực hiện các tấn công. Nếu không sử dụng kỹ

thuật này thì hacker khó có thể đạt được thành công trong việc tấn công, nhất là

đối với những hệ thống lớn hay có độ bảo mật cao.

1.1.2 Kỹ thuật footprinting

Các bước thực hiện footprinting :

Bước 1: Xác định và giới hạn phạm vi hoạt động :

Bước này chúng ta phải xác định rõ mục tiêu mà chúng ta muốn hack là gì

(một trang web, một server hay là một ứng dụng nào đó trên internet ).

Page 2: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Lúc đầu, chúng ta nên đọc kỹ và ghi lại những thông tin mà trang các trang

web cung cấp cho chúng ta về mục tiêu cần tấn công ( như số ĐT, mail của

webmaster, địa chỉ...). Những mục đáng quan tâm bao gồm :

o Các vị trí của công ty hay công ty sở hữu trang web đó.

o Các bộ phận liên quan.

o Các kết nối hoặc tin tức có được.

o Các cơ chế bảo mật đã thiết đặt ( cấu hình firewall chẳng hạn ).

o Các số điện thoại, tên liên lạc và Email.....

Những search engine tìm kiếm là chìa khoá cho chúng ta tìm được

những thông ti về lỗi bảo mật của hệ thống đích. Sau là một vài search

engine nổi tiếng :

http://www.google.com

http://www.sec.gov

http://www.cyberarmy.com

http://www.astalavista.com

http://www.arin.net/whois/

Bước 2 : Enumeration mạng

Trong bước này, việc đầu tiên là xác định các domain, mạng hay các server

có liên quan đến mục tiêu cần tấn công. Để thực hiện điều này, chúng ta sẽ

truy xuất dữ liệu của network solution (www.networksolution.com) và

American Registry for Internet Number (www.arin.net) hay các tool hỗ trợ

sẽ được giới thiệu dưới đây.

Một số thông tin cần thiết :

Organizational : Tất cả các thông tin có liên quan đến một tổ

chức

Domain: Tất cả các thông tin có liên quan đến domain.

Page 3: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Network: Tất cả các thông tin có liên quan đến mạng hoặc IP.

Point of contact: Tất cả thông tin từ những mối liên hệ đến

nạn nhân như bạn bè, gia đình, …..

Bước 3 : Truy vấn DNS

Sau khi xác định được các domain, chúng ta bắt đầu truy vấn DNS của mục

tiêu. Nếu DNS server được cấu hình không chính xác, ta có thể tìm được

thông tin tiết lộ về tổ chức này. Một trong những cấu hình sai nghiêm trọng

nhất trên các server DNS là admin thường quên cấu hình DNS zone

transfer. Lỗi này cho phép người dùng internet không tin cậy thực hiện các

việc như: có thể thấy được tên của các máy chủ hay các tên miền con dưới

tên miền này, các IP ẩn.... nói chung là các thông tin thường được che dấu.

Đây là kiểu tấn công Zone transfer và nó sẽ được nói rõ trong phần DNS

Vulnerability.

Bước 4: Trinh sát mạng:

Sau khi thực hiện qua ba bước trên, chúng ta bắt đầu “tìm đường” đến với

mục tiêu. Để thực hiện công việc này, ta sẽ sử dụng các tools hỗ trợ như

trace route- một công cụ khá mạnh và có trong hầu hết phiên bản của Unix

& WinNT. Trace route là một công cụ chẩn đoán do Van Jacobson viết để

cho phép xem tuyến đường mà một gói tin IP sẽ theo từ server này sang

server khác. Ngoài ra, chúng ta còn có thể thực hiện một kỹ thuật phức tạp

hơn gọi là "tiến trình quét giao thức firewall".

1.1.3 Giới thiệu một số công cụ cho footprinting

Sam spade:

Sam spade là một công cụ rất mạnh có tích hợp rất nhiều tool giúp ta thu

thập những thông tin cần thiết như Whois, ping, nslooup…

Page 4: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Hình 1:Sam spade

Các trang web Whois:

Whois cung cấp những thông tin truy vấn từ một địa chỉ IP ra những thông

tin về domain sở hữu IP đó. Những nguồn cung cấp cơ sở dữ liệu Whois

được chứng nhận như:

ARIN (North America and sub-Saharan Africa)

APNIC (Asia Pacific region)

LACNIC (Southern and Central America and Caribbean)

RIPE NCC (Europe and northern Africa)

Page 5: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Hình 2:Whois

Thông thường do lịch sử nên những câu truy vấn sẽ mặc định đến ARIN

Whois databases. Nếu IP ngoài vùng của ARIN thì nó sẽ tự động chuyển

sang các server tương ứng với vùng đó như APNIC hay RIPE.

Thông tin về IP lấy từ ARIN:

Hình 3: ARIN

Nslookup:

Sử dụng để tìm ra các DNS server của một trang web. Có thể sử dụng lỗi

zone transfer để chúng ta có thể biết thêm rất nhiều thông tin của các record

đang chứa trên server đó.

Page 6: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Các tool khác:Visual route, NeoTrace…

Hình 4: Visual Route

Teleport pro:

Sử dụng để download tất cả cơ sở dữ liệu của một trang web nào đó. Từ cơ

sở dữ liệu này chúng ta có thể phân tích được lỗ hổng của nó.

1.2 Scanning

1.2.1 Giới thiệu

1.2.1.1 Định nghĩa

Scanning là một trong ba phương pháp giúp hacker thu thập thông tin. Những

thông tin thu thập từ scanning là:

Các địa chỉ IP.

Hệ điều hành.

Cấu trúc hệ thống.

Các dịch vụ đang chạy trên mỗi máy tính.

1.2.1.2 Phân loại

Chúng ta có các phương pháp scanning :

Page 7: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Port Scanning: là một chuỗi những message được gửi bởi một người nào

đó nhằm mục đích xâm nhập vào máy tính và tìm xem trên máy tính đó có

những dịch vụ nào đang chạy, bởi mỗi dịch vụ thường mở một cổng nào

đó. Các port được quét thường được gọi là “well known port”.

Network Scanning: là một phương thức để xác định trong mạng có bao

nhiêu máy tính hoạt động để tấn công hay kiểm tra độ bảo mật của mạng

đó.

Vulnerability Scanning: là một quá trình nhằm xác định các lỗ hổng của

các máy tính trên mạng một cách tự động

1.2.1.3 Mục tiêu scanning

Phát hiện ra các hệ thống đang hoạt động trên mạng

Dò ra những cổng dịch vụ nào đang chạy.

Dò ra hệ điều hành nào đang chạy trên hệ thống đích.

Dò ra các dịch vụ nào đang chạy trên hệ thống đích.

Dò ra các địa chỉ IP của hệ thống đích.

1.2.2 Các phương pháp Scanning

Các phương pháp chính hiện nay:

Vanilla or TCP connect( ) scanning

Half open or TCP SYN scanning

Stealth scanning

TCP FTP proxy (bounce attack) scanning

SYN/FIN scanning using IP fragments

UDP scanning

ICMP scanning

REVERSE IDENT scanning

IDLE scan

LIST scan

Page 8: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

RPC scan

WINDOW scan

Ping Sweep

Strobe scanning

TCP Xmas Tree

Giới thiệu một số phương pháp quét phổ biến:

1.2.2.1 TCP connect

Đây là phương pháp quét dựa vào kết nối TCP. Kết nối TCP được gọi thông qua

hàm connect( ) của hệ thống vào một cổng của một ứng dụng nào đó trên server.

Nếu cổng này mở thì kết nối thành công, ngược lại thì cổng đó không sử dụng.

1.2.2.2 SYN Stealth / Half Open Scan

Phương pháp này sử dụng cách mở kết nối một nửa của TCP chứ không như cách

ở trên, có nghĩa là nó sẽ không tạo một kết nối TCP đầy đủ mà chỉ một nữa mà

thôi. Lúc đầu, một gói TCP/SYN được gửi tới server trên một cổng nào đó yêu cầu

mở một kết nối TCP và chờ câu trả lời. Tiếp theo, nếu server trả lời về gói TCP

/SYN ACK thì port này đã trong trạng thái ACTIVE /LISTENING, ngay sau khi

nhận được gói SYN ACK ta sẽ gửi gói tin RST(Reset) để ngắt kết nối. Nếu server

gửi gói tin RST thì cổng đó không trong trạng thái ACTIVE hay LISTENING.

1.2.2.3 FTP Bounce Scan

Cách Scan này lợi dụng lỗ hổng Bounce Attack trên FTP server. Lỗ hổng cho

phép người ta có thể dùng FTP này để yêu cầu kết nối với một server thứ 2 khác.

Do đó hacker có thể dùng nó để scan port và sau đó gửi kết quả trả về. Cách tấn

công có ưu điểm là hacker có thể quét trong nội bộ mạng LAN và vượt qua mặt

Firewall và rất khó xác định được hacker ở đâu.

Page 9: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Hình 5:FTP Bounce Scan

1.2.2.4 UDP Scanning: UDP RAW ICMP Port Unreachable Scanning

Cách scanning này cũng giống như TCP nhưng thay vì gửi gói tin TCP thì sẽ gửi

gói tin UDP. Tuy nhiên, do giao thức này quá đơn giản và rất khó thực hiện nên

khó nhận được kết quả.

1.2.2.5 ICMP Scanning

ICMP scanning là sử dụng công cụ ping để dò ra các host hoạt động trên mạng.

ICMP scanning có thể chạy song song nên có thể quét song song nhiểu cổng hay

nhiều host một lúc.

1.2.2.6 TCP FIN Scanning

Kỹ thuật gửi một gói tin FIN cho cổng đích. Dựa trên RFC 793, hệ đích sẽ gửi trả

một RTS cho tất cả các cổng đã đóng. Kỹ thuật này thường chỉ làm việc trên các

ngăn xếp TCP/IP gốc Unix.

1.2.3 Các công cụ dùng để scanning

1.2.3.1 NMAP

Đây là một phần mềm miễn phí cho việc khám phá mạng và tốc độ dò rất nhanh.

Các kiểu scanning mà NMAP hỗ trợ: Xmass tree, SYN stealth, Null scan,

Page 10: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Windows scan, ACK scan. NMAP còn có các chức năng khác như: OS scan,

version scan, ping sweeps.

1.2.3.2 Hping

Hping là công cụ sử dụng giao diện command line dùng để phân tích và thiết lập

các gói tin TCP/IP. Nó còn hỗ trợ những giao thức như UDP, ICMP và RAW–IP.

Công cụ này còn dùng để test firewall, port scanning, network testing, Remote OS

fingerprinting, Remote uptime guessing, TCP/IP stacks auditing, TCP/IP stacks

auditing, Advanced Traceroute.

1.2.3.3 NESSUS

Nessus là một chương trình sử dụng để quét các lỗ hổng của các phần mềm hay

một máy tính nào đó. Hack có thể sử dụng này để tìm ra những lỗi có thể xâm

nhập vào hệ thống.

Các đặc điểm chính của chương trình này gồm:

o Có kiến trúc dựa vào các plug-in

o NASL (Nessus Attack Scripting Language)

o Có thể quét cùng lúc nhiều mục tiêu.

o Nhận dạng các dịch vụ một cách thông minh.

o Mô hình Client/Server

o Nâng cấp cơ sở dữ liệu chứa các lỗ hổng bảo mật thường xuyên.

1.2.3.4 SAINT

SAINT được biết như là Security Administrator's Integrated Network Tool. Công

cụ này có thể tìm ra những lỗi trong những máy tính từ xa nhưng không dùng các

phương pháp tấn công vào nó. Bên cạnh đó nó còn cho phép chúng ta biết được

những thông tin về hệ điều hành, những dịch vụ đang chạy và những port nào

đang mở.

Page 11: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Những đặc điểm chính của SAINT:

o Quản lý dữ liệu.

o Cấu hình scanning.

o Lập lịch quét.

o Phân tích dữ liệu

o Interface engines to discover vulnerabilities

o Báo cáo được định dạng plaint text.

1.2.3.5 GLANGUARD

GFI LANGUARD là một chương trình dùng để phân tích các hệ điều hành và

những ứng dụng chạy trên mạng để tìm ra những lỗi bảo mật. Nó quét toàn mạng

LAN từng IP và cung cấp những thông tin như service pack, các lỗi của các bảng

path ….

Các đặc điểm chính:

o Quét cổng TCP và UDP rất nhanh.

o Tìm thấy tất cả các dữ liệu được chia sẽ trên mạng.

o Thông báo khi tìm thấy lỗ hổng

o Tự động dò tìm các lỗ hổng mới.

o Kiểm tra chính sách về mật khẩu.

o Tìm ra tất cả các dịch vụ đang chạy ở hệ thống đích.

1.3 Enumeration

1.3.1 Giới thiệu

Enumeration ( điểm danh ) là một cách để tìm ra các tài khoản hợp lệ hoặc các tài

nguyên từ hệ thống được bảo vệ kém trên hệ thống đích.

Page 12: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Sự khác biệt chính giữa các kỹ thuật thu thập thông tin Foot Printing, Scanning và

kỹ thuật Enumeration nằm ở cấp xâm nhập của hacker. Enumeration liên quan đến

các tuyến nối còn active và các truy vấn trực tiếp đến các hệ thống.

Phần lớn thông tin thu thập được qua kỹ thuật Enumeration thoạt nhìn có vẻ như

vô hại. Tuy nhiên, những thông tin rò rĩ từ lỗ thủng theo sau nó có thể gây tai hại.

Nói chung, sau khi Enumeration một tên người dùng hoặc một phần dùng chung

hợp lệ, vấn đề còn lại là thời gian trước khi hacker đoán được mật hiệu tương ứng

hoặc tìm ra các điểm yếu kết hợp với các giao thức chia sẽ tài nguyên.

Những thông tin mà kỹ thuật Enumeration thu được có thể tạm thu gọn thành các

phạm trù sau :

Các tài nguyên mạng và các phần dùng chung.

User và các group.

Các ứng dụng và biểu ngữ (banner)

Kỹ thuật Enumeration cũng cụ thể theo từng hệ điều hành của server nên nó cũng

phụ thuộc vào các thông tin thu thập được từ Footprinting và scanning. Do đó

chúng ta sẽ không tìm hiểu hết những hệ điều hành mà chỉ tìm hiểu một cái đặc

trưng như Windows.

Có các phương pháp Enumeration sau :

Network resources and shares

Users and groups

Applications and banners

Page 13: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

1.3.2 Enumeration trong Windows NT

1.3.2.1 Null Session

Trong WinNT cho phép người dùng nặc danh ( anonymous user ) kết nối và

enumerate một số tài nguyên nhất định mà không cần sự "cho phép". Do đó hacker

có thể lợi dụng lỗ hổng này để xâm nhập vào các tài nguyên trên máy tính và có

thể cài đặt các loại malware để phá hoại hay điều khiển máy tính đó.

Sử dụng Null Session có thể thu thập những thông tin sau:

Danh sách users và groups.

Danh sách các máy tính.

Danh sách các tài nguyên được chia sẽ.

Users và host SIDs (Security Identifiers)

Để thực hiện một tuyến nối phiên làm việc rỗng, ta dùng cú pháp:

Ví dụ:

Lệnh trên sẽ tạo cho chúng ta một kết nối đến các tài nguyên được chia sẻ trên

máy tính thông qua kết nối ẩn (IPC$) tại địa chỉ IP mà ta cung cấp dưới dạng

người dùng nặc danh là [user:''''] và một mật khẩu rỗng [''''''']. Nếu thành công, ta

có thể có một lệnh mở để sử dụng những kỹ thuật khác nhau nhằm "thu gom" càng

nhiều thông tin càng tốt : thông tin mạng, các phần dùng chung, các người dùng,

các nhóm, các khóa Registry....

Công cụ để thực hiện cách tấn công này :

o DumpSec

C:\> net use \\IP\IPC$ ''''''' /user:'''''

C: \>net use \\192.168.0.1 \IPC$ “” /u: “”

C:\> net use \\IP\IPC$ ''''''' /user:'''''

Page 14: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

DumpSec sẽ cho chúng ta thấy tất cả những kết nối null session với

mục tiêu là một máy tính cụ thể.

o Winfo

Winfo sử dụng null session để trả về những thông tin từ một máy

tính đích.

Các thông tin mà Winfo có thể lấy được :

System information

Domain information

Password policy

Logout policy

Sessions

Logged in users

User accounts

1.3.2.2 SNMP Enumeration

Một hệ thống NT thường chạy các các dịch vụ NT SNMP để có thể truy cập bằng

các chuỗi cộng đồng ngầm định như "public".

Các thông tin mà người điều hành cần biết :

o a reboot

o những interfaces bị lỗi.

Công cụ dùng để SNMP Enumeration:

o Solarwinds: Đây là một công cụ bao gồm nhiều công cụ khác nhằm

mục đích quản trị mạng.

Những đặc điểm của công cụ này bao gồm:

Discovery

Cisco Tools

Ping Tools

Address Management

Page 15: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG

Monitoring

MIB Browser

Security

Miscellaneous

o Enum: Enum là công cụ dựa trên nền console Win32 với mục đích

là khai thác thông tin.

Sử dụng null session enum có thể khai thác các thông tin: user lists,

machine lists, share lists, name lists, group and membership lists,

password và LSA policy information.

Bên cạnh đó nó còn có thể tấn công bruteforce từ điển vào một

account cá nhân nào đó.

o SNScan v1.05: SNScan sử dụng giao diện đồ hoạ cùng SNMP

scanning để dò ra các máy tính đang hoạt động trong mạng.

Bên cạnh đó nó có thể quét những thông tin ports và uses public, và

user defined, SNMP community names.

Thu thập thông tin người dùng.

Hai công cụ mạnh cho cách tấn công này là :

o sid2user

o user2sid

Những công cụ này có thể dò được những số sid của các user trên một máy nào đó

Hình 6: sid2user

Page 16: CÁC BƯỚC CHUẨN BỊ TRƯỚC KHI TẤN CÔNG