Sie sind auf Seite 1von 16

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 ).
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.
• 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…
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)
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 đó.
• 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 :
• 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
• 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.
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,
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ở.
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.

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

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:
C:\> net use \\IP\IPC$ ''''''' /user:'''''

Ví dụ:

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


C:\> net use \\IP\IPC$ ''''''' /user:'''''
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
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
• 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

Das könnte Ihnen auch gefallen