Quét (Scanning) là một bước tiếp theo trong tiến trình tấn công hệ
thống. Gia đoạn này giúp chúng ta xác định được nhiều thông tin của mục tiêu cần
tấn công. Chương trước, bạn đã tìm hiểu các vấn đề về Footprinting và Social
Engineering, là công việc liên quan đến con người. Có nghĩa là chúng ta đã tiến
hành thu thập thông tin về tổ chức mà chúng ta tấn công, như vị trí địa lý,
thói quen sinh hoạt của nhân viên…Đến phần này, Scanning, chúng ta sẽ làm việc
với máy móc. Tức là sau khi chúng ta tìm được vài thông tin có liên quan đến
máy tính cần tấn công, công đoạn tiếp theo là thu thập thông tin về máy tính
đó. Những thông tin cần thu thập như tên máy (computer name), địa chỉ ip, cấu
hình máy tính, hệ điều hành, dịch vụ đang chạy, port đang mở…Những thông tin
này sẽ giúp cho hacker có kế hoạch tấn công hợp lý, cũng như việc chọn kỹ thuật
tấn công nào. Quét giúp định vị hệ thống còn hoạt động trên mạng hay không. Một
hacker chân chính sử dụng cách này đề tìm kiếm thông tin của hệ thống đích.
1. Phân loại Scanning
Sau khi các giai đoạn hoạt động thăm dò chủ động và bị động của hệ
thống mục tiêu hoàn tất, chúng ta tiến hành quét. Quét được sử dụng để xác định
một hệ thống có trên mạng hay không và có đang sẵn sàng hoạt động. Công cụ quét
được sử dụng để thu thập thông tin về một hệ thống như địa chỉ IP, hệ điều
hành, và các dịch vụ chạy trên các máy tính mục tiêu. Hình sau liệt kê ba loại
quét chủ yêu mà chúng ta nhắm tới.
Hình 5.1:
Phân loại Scanning
Port scanning
Port scanning là quá trình xác định cổng TCP/IP mở và có sẵn trên một hệ thống.
Công cụ Port scanning cho phép một hacker tìm hiểu về các dịch vụ có sẵn trên một hệ thống
nhất định. Mỗi dịch vụ hay ứng dụng máy tính được kết hợp với một số cổng thông
dụng. Ví dụ, một công cụ quét đó là xác định cổng 80 mở cho một web sever đang
chạy trên đó. Hacker cần phải biết rõ với số cổng thông dụng.
Note : trên hệ thống windows, những cổng
thông dụng nằm ở vị trí C:\windows\system32\drivers\etc\services file. Tập tin
dịch vụ là một file ẩn. Mở tập tin bằng Notepad.
Network scanning
Network scanning là một quy trình
để xác định máy chủ đang hoạt động trên mạng, hoặc để tấn công chúng hoặc là đánh
giá an ninh mạng. Máy chủ được xác định bởi IP cá nhân của chúng. Các công cụ network-scanning cố gắng xác
định tất cả các máy chủ trực tiếp hoặc trả
lời trên mạng và địa chỉ IP tương ứng của chúng.
Vulnerability scanning
Vulnerability scanning là quá trình
chủ động xác định các lỗ
hổng của hệ thống máy
tính trên mạng. Thông thường, một máy
quét lỗ hổng đầu tiên xác định các hệ điều hành và số phiên bản, bao gồm các
gói dịch vụ có thể được cài đặt. Sau đó, máy quét lỗ hổng xác định các điểm yếu,
lỗ hổng trong hệ điều hành.Trong giai đoạn tấn công sau đó, một hacker có thể
khai thác những điểm yếu để đạt được quyền truy cập vào hệ thống.
Một
hệ thống phát hiện xâm nhập (IDS) hay một mạng an ninh tinh vi chuyên nghiệp với các công cụ thích hợp có thể
phát hiện các hoạt động port-scanning. Các công cụ dò quét cổng TCP/IP tìm
kiếm các cổng mở và địa chỉ IP, và lỗ hổng thường có thể bị phát hiện, vì các
máy quét phải tương tác với hệ thống đích trên mạng.
2. Đối tượng cần quét
Scan là hoạt động tương tác trên hệ thống
máy tính. Đối tượng mà chúng ta đang nhắm tới chính là hệ thống máy tính với những
thành phần của nó. Khi tiến hành quét hệ thống, chúng ta chú ý đến các mục đích
sau:
Live
System: Xác định xem hệ thống mà chúng ta đang nhắm
tới có còn hoạt động hay không. Máy tính (host) đang quét có hoạt động trên
internet hay không. Địa chỉ ip có đang trong trạng tháy public.
Port: Mục tiêu tiếp theo là xác định các port đang mở. Việc xác định port
này cho phép chúng ta biết máy tính đó đang mở các dịch vụ nào. Từ đó xác định
được mục đích của cuộc tấn công.
Operating
System: Xác định hệ điều hành đang sử dụng trên máy
tính mục tiêu sẽ giúp hacker tìm ra các lỗ hổng thông dụng. Các hệ điều hành
không nhiều thì ít cũng tiềm ẩn những lỗ hổng tạo điều kiện cho kẻ tấn công đột
nhập. Xác định hệ điều hành còn phải xác định phiên bản của nó.
Service: Hiểu rõ những dịch vụ đang chạy và lắng nghe trên hệ thống đích.
Phiên bản của dịch vụ nào cũng chứa những lỗi nhỏ, mà nếu biết khai thác lỗ nhỏ
đó thì nó không còn nhỏ chút nào.
IP
Address: Không chỉ có một ip của một host, mà chúng
ta cũng cẩn xác định dãy địa chỉ mạng, và những host khác có liên quan như
Default gateway, DNS Server…
3. Các phương pháp quét
Quá trình Scan được mô tả trong hình 4.2. Phương
pháp này là quá
trình mà theo đó hacker tiến hành quét mạng. Nó đảm bảo rằng không
có hệ thống hoặc lỗ
hổng nào bị bỏ qua
và các hacker tập hợp tất cả thông tin cần thiết để thực
hiện một cuộc tấn công.
Hình 5.2: Tiến trình scan
Theo đó, tiến trình quét mạng có thể được
mô tả vắn tắt qua các bước như sau:
Kiểm tra xem hệ thống có tồn tại, có đang hoạt động hay không.
Kiểm tra các port nào đang được mở mà chúng ta có thể tương tác được.
Nhận biết các dịch vụ tương ứng với những port đang mở.
Phát họa sơ đồ mạng, đặc biệt chú ý đến những host dễ bị tổn thương.
Ghi dấu hệ điều hành và những thông tin có liên quan đến hệ điều
hành.
Chuẩn bị một proxy để tấn công.
Tấn công: Tất nhiên ở đây chỉ mang tính minh họa, chứ thực chất việc
tấn công còn nhiều công đoạn khác.
3.1. Kiểm tra sự tồn tại của hệ thống đích
Chúng ta sẽ đi vào việc tìm hiểu vài kỹ thuật
được áp dụng để kiểm tra sự tồn tại của hệ thống ngay sau đây.
Tìm hiểu kỹ thuật Ping Sweep
Các phương
pháp quét bắt đầu với việc kiểm tra các hệ thống sống trên mạng, có nghĩa là hệ
thống phản ứng với các
yêu cầu thăm dò hoặc kết nối. Đơn giản nhất, mặc dù không phải
là cách chính xác nhất, cách để xác định dù hệ thống có sống hay không là thực hiện ping sweep cho một dãy IP. Tất cả các hệ thống phản ứng với một tin trả lời ping được coi là sống trên mạng.
Internet
control message protocol (ICMP) scanning là quá trình gửi một yêu cầu ICMP hoặc ping cho tất cả các host trên mạng để xác
định những host đang tồn tại và trả
lời ping. Lợi ích của ICMP scanning là nó có thể
chạy song song, có nghĩa là tất cả các hệ thống được quét đồng
thời, do đó nó
có thể chạy nhanh chóng trên toàn bộ mạng. Hầu hết các
công cụ hack bao gồm một lựa chọn ping-sweep, mà chủ
yếu là thực hiện
một yêu cầu ICMP đến mỗi máy chủ trên mạng.
Một vấn
đề đáng kể với phương
pháp này là phần mềm tường lửa cá nhân và tường
lửa hệ thống mạng có thể chặn hệ
thống từ trả lời ping sweeps. Một vấn đề
khác là các máy
tính phải được quét.
Hacking Tools
Pinger, Friendly Pinger, and WS_ping_Pro là tất cả những phần mềm có thể giúp
chúng ta thực hiện quá trình Ping Sweep. Bạn sẽ được hướng dẫn sử dụng các công
cụ này trong phần lab.
Chống lại Ping Sweep
Hầu như bất kỳ hệ thống phòng
chống xâm nhập (IDS) hoặc hướng
dẫn (IPS), sẽ phát hiện
và cảnh báo cho quản trị viên bảo mật về
một quá trình quét ping đang
xảy ra trên mạng. Hầu hết các tường lửa và proxy server chặn trả lời ping vì vậy hacker không thể
xác định chính xác xem liệu hệ
thống có sẵn sàng bằng cách sử dụng một quá
trình quét ping được. Quét cổng
“dồn dập” được sử dụng nếu hệ
thống không trả lời với một quá trình quét ping. Chỉ vì một quá
trình quét ping không trả
lại bất kỳ máy chủ
nào hoạt động trên mạng không có nghĩa
là chúng không có sẵn, bạn cần phải thử những phương
pháp nhận dạng xen kẽ khác. Hãy nhớ hack mất thời gian, kiên nhẫn, và kiên trì.
3.2. Thăm dò cổng(port) và xác định dịch vụ (service)
Kiểm tra các cổng đang
mở là bước thứ
hai trong tiến trình quét. Port scanning là phương
pháp được sử dụng để kiểm tra các cổng đang
mở. Quá trình
quét bao gồm việc thăm dò mỗi
cổng trên máy chủ để xác định các
cổng đang mở. Thông thường Ports
scanning có giá trị hơn một quá trình quét ping về máy chủ và các lỗ hổng trên hệ thống.
Xác định các Service hoạt động là bước thứ
ba trong tiến trình. Nó thường
được thực hiện bằng cách sử dụng các công
cụ tương tự như port scanning. Bằng cách xác định cổng mở, hacker thường xác
định các dịch vụ liên
kết với số cổng đó.
Biện pháp đối phó Port-Scan
Biện pháp đối phó là quá
trình hoặc bộ công
cụ được sử dụng bởi các quản trị viên an ninh để
phát hiện và có thể ngăn
chặn port-scanning các máy chủ trên
mạng của họ. Danh sách các biện pháp đối phó cần được thực
hiện để ngăn chặn một hacker thu thập thông tin từ quá trình quét cổng:
Kiến trúc an ninh thích hợp, chẳng hạn như thực hiện
các IDS và tường lửa nên được
đi chung.
Hacker chân chính sử dụng công
cụ của họ thiết lập
để kiểm tra việc Scanning, thực hiện các biện pháp đối phó. Khi tường
lửa được đặt ra, công cụ aport-scanning nên được
chạy cho các máy chủ trên mạng
để cho phép tường lửa phát hiện chính xác
và dừng các hoạt động của port-scanning.
Tường lửa có thể phát
hiện các hoạt động thăm dò được
gửi bởi các công cụ port-scanning. Các tường lửa
nên tiến hành lấy trạng thái kiểm tra (stateful inspections).
Có nghĩa là nó sẽ kiểm tra không
chỉ các tiêu đề TCP
mà cả dữ liệu của gói
tin để xác định liệu được phép đi qua tường
lửa.
Network IDS nên được sử
dụng để phát hiện các phương pháp dò tìm hệ điều hành được sử dụng bởi một số công
cụ hacker phổ biến như Nmap.
Chỉ có các
cổng cần thiết nên được giữ ở trạng
thái mở. Phần còn lại sẽ được lọc hoặc bị
chặn.
Các nhân
viên của tổ chức sử dụng các hệ
thống cần được đào tạo thích hợp
nhận thức về an ninh. Cũng nên
biết chính sách bảo mật khác
nhau mà họ đang cần
làm theo.
Tìm hiểu Nmap Command Switches
Nmap là một công cụ miễn
phí mã nguồn mở thực hiện nhanh chóng và hiệu
quả ping sweeps, quét cổng, dịch vụ nhận
dạng, xác định địa chỉ IP, và xác định hệ
điều hành. Nmap có lợi khi quét số lượng lớn các máy trong một phiên
duy nhất. Nó hỗ
trợ nhiều hệ điều hành, bao gồm cả Unix, Windows, và Linux. Trạng thái của cổng được xác định bởi Nmap scan
có thể ở ba trạng thái open, filtered,
or unfiltered. Open có
nghĩa là các máy tính mục tiêu chấp nhận
yêu cầu gửi đến trên cổng đó. Filtered có nghĩa là
một bức tường lửa hoặc bộ
lọc mạng sàng lọc các cổng và
ngăn ngừa Nmap phát hiện
cho dù cổng đó là mở. Unfiltered có nghĩa cổng được xác định là đóng, và không có tường
lửa can thiệp với các yêu cầu Nmap.
Nmap hỗ trợ nhiều loại quét. Hình 4.3 mô tả một số phương
pháp quét phổ biến
Hình 5.3: Một số phương pháp scan hổ trợ bởi
NMAP
Loại Nmap
Scan
|
Mô tả
|
TCP connect
|
Kẻ tấn công tạo kết nối TCP(full TCP) tới hệ thống
đích
|
XMAS tree scan
|
Những kẻ tấn công kiểm tra dịch vụ TCP bằng cách gửi
gói dữ liệu XMAS-tree. XMAS-tree có nghĩa là FIN,URG and PSH flag (nghĩa của
flag giải thích ở phần sau).
|
SYN stealth scan
|
Được gọi là quét nữa mở(haft-open scanning). Hacker
gửi 1 gói SYN và nhận 1 gói SYN-ACK từ server. Đó là 1 cách “tàng hình” vì kết
nối full TCP không được mở.
|
Null scan
|
Đây là một cách quét tiên tiến có thể đi qua tường lửa
mà không bị phát hiện hay bị sửa đổi. Null (chữ được dùng để đánh lạc hướng
trong mật mã) scan có tất cả cờ hay không thiết lập. Null scan chỉ hoạt động
trên hệ thống UNIX.
|
Windows scan
|
Đây là loại quét tương tự như ACK scan và cũng có
phát hiện các cổng mở.
|
ACK scan
|
Loại quét được sử dụng để vạch ra các quy tắc tường
lửa. Chỉ làm việc trên UNIX.
|
Nmap có rất nhiều lệnh chuyển đổi để thực
hiện các loại hình quét khác nhau. Các lệnh quét phổ biến được liệt kê trong hình
4.4
Hình 5.4: Các tùy chọn chuyển đổi chế độ Scan
Bạn sẽ đi vào tìm hiểu cách sử dụng công cụ
Nmap cụ thể hơn trong phần thực hành.
Tìm hiểu SYN, STEALTH,XMAS, NULL, ADLE, và FIN Scans
Là hacker bạn cần quen thuộc với các thuật
ngữ Scan sau :
SYN
: SYN hoặc stealth scan cũng được gọi là haft-open
scan vì nó không thực hiện đầy đủ quy trình bắt tay ba bước của TCP (three-way
hanshake). TCP/IP three-way handshake đề cập trong phần sau. Hacker gửi gói tin
SYN đến đích, nếu nhận lại một SYN/ACK, sau đó nó giả định các mục tiêu sẽ hoàn
thành việc kết nối và các cổng đang
lắng nghe.
Nếu nó nhận một 1 RST từ mục tiêu, nó giả định cổng không hoạt động hay bị
đóng. Lợi thế của the SYN stealth scan là ít bị phát hiện hơn bởi các hệ thống
IDS, hơn là đăng nhập như cố gắng tấn công hoặc kết nối.
XMAS: XMAS scans gửi
một gói với cờ FIN,URG, và PSH được thiết lập. Nếu cổng mở, không đáp lại; nếu
đóng mục tiêu gửi lại gói RST/ACK. XMAS scan chỉ làm việc trên hệ thống máy
đích theo RFC 793 của TCP/IP và không chống lại bất cứ version nào của Windows.
FIN: FIN scan tương tự XMAS scan nhưng gửi gói dữ
liệu chỉ với cờ FIN được thiết lập. FIN scan nhận trả lời và có giới hạn giống
như XMAS scan.
NULL: NULL scan cũng
tương tự như XMAS và FIN trong giới hạn và trả lời, nhưng nó chỉ gửi một packet
mà không có flag set.
IDLE: IDLE scan sử dụng
địa chỉ IP giả mạo để gửi một gói SYN đến mục tiêu. Phụ thuộc vào trả lời, cổng
có thể được xác định là mở hoặc đóng. IDLE scans xác định phản ứng quét cổng
bằng cách theo dõi số thứ tự IP header.
Giao thức kết nối TCP
Các
loại TCP scan được xây trên TCP three-way handshake. Kết nối TCP yêu cầu
three-way handshake trước khi kết nối được tạo và truyền dữ liệu giữa người gửi
và người nhận. Hình 4.5 mô tả chi tiết các bước của TCP three-way
handshake.
Hình 5.5: Mô tả quy trình bắt tay ba bước của
TCP
Để hoàn
thành three-way
handshake và tạo một kết nối thành công giữa hai máy, người gửi phải gửi một gói tin
TCP với các
thiết lập bit đồng bộ (SYN). Sau đó, hệ thống nhận
được trả lời bằng một gói
tin TCP với các
đồng bộ hóa (SYN) và thừa
nhận bit thiết lập phản hồi (ACK) để cho
biết máy chủ đã sẵn sàng để nhận dữ liệu. Hệ thống nguồn sẽ
gửi một gói tin cuối
cùng với các bit xác nhận thiết lập (ACK) để chỉ
ra các kết nối được
hoàn tất và dữ liệu đã sẵn sàng để được
gửi đi.
Bởi vì TCP là một giao
thức hướng kết nối, một quy trình để thiết
lập kết nối (three-way handshake), khởi động lại một kết nối không
thành công và kết thúc một kết nối là một phần của
giao thức. Những giao
thức dùng để thông báo được gọi là Flags. TCP chứa
các flasg như ACK, RST, SYN, URG, PSH và FIN. Danh sách
dưới đây xác định các chức
năng của các cờ TCP:
SYN-Synchronize. Khởi
tạo kết nối giữa các máy.
ACK-acknowledge. Thiết lập kết nối giữa các máy.
PSH-Push: Hệ thống chuyển tiếp dữ liệu đệm.
URG-Urgent: Dữ liệu trong các gói phải được sử lý nhanh chóng.
FIN-Finish: Hoàn tất giao tiếp, không truyền thêm.
RST-Reset: Thiết lập lại kết nối.
Hacker có thể chống lại sự phát hiện bằng
cách sử dụng cờ thay vì hoàn thành một kết nối TCP thông thường.
Hacking Tool
Một vài công cụ sau đây xin giới thiệu đến
các bạn để thực hiện việc Scan Port và xác định dịch vụ.
IPEye là máy quét cổng TCP có thể làm SYN, FIN,Null, và XMAS scans. Nó là
công cụ command-line(dòng lệnh). IPEye thăm dò cổng trên máy đích và phản hồi lại
các trạng thái closed, reject, drop, or open. Closed có nghĩa là có một máy ở đầu
bên kia nhưng nó không lắng nghe tại cổng. Reject là tường lửa từ chối kết nối
tại cổng. Drop có nghĩa là tường lửa hủy bỏ mọi thứ vào cổng hoặc không có máy
tính ở đầu bên kia. Open có nghĩa một số loại dịch vụ đang lắng nghe tại cổng.
Những phản hồi này giúp hacker xác định loại của hệ thống đang trả lời.
IPSecScan là công cụ có thể quét một địa IP duy nhất hoặc một dãy địa chỉ IP
tìm kiếm thông tin hệ thống.
Netscan
Tools Pro 2000, Hping2, KingPingicmpenum, và SNMP Scanner là tất cả các công cụ quét và cũng có thể sử dụng để lấy dấu hệ điều
hành.
Icmpenum không chỉ dùng gói ICMP Echo để thăm dò mạng, mà còn dùng gói ICMP
Timestamp và ICMP Information. Hơn nữa, nó hỗ trợ gói trả lời giả mạo hoặc đánh
hơi. Icmpenum thì tuyệt vời cho quét mạng khi tường lửa khóa ICMP Echo nhưng lỗi
khi khóa Timestamp hoặc Information.
Hping2 đáng chú ý vì nó bao gồm một loạt các tính năng khác ngoài OS
fingerprinting như TCP, User Datagram Protocol (UDP),ICMP, và giao thức ping
raw-IP, chế độ traceroute, và khả năng gửi nhiều files giữa hệ thống nguồn và
đích.
SNMP
Scanner cho phép quét một dãy hoặc một danh sách
các máy chủ thực hiện ping, DNS, và Simple Network Managerment Protocol (SNMP).
Tìm hiểu về kỹ thuật War-Dialing
War-Dialing là quá trình quay số modem để
tìm một kết nối modem đang mở, kết nối này cung cấp truy cập từ xa vào mạng, để
tấn công vào hệ thống đích. Thuật ngữ War dialing bắt nguồn từ những ngày đầu của
Internet khi hầu hết các công ty đã được kết nối với Internet thông qua kết nối
dial-up modem. War dialing được xem như là một phương pháp quét bởi vì nó tìm
thấy một kết nối mạng mà có thể có bảo mật yếu hơn so với các kết nối Internet
chính. Nhiều tổ chức thiết lập truy cập từ xa qua modem, mà bây giờ đã cổ, nhưng
đã không thể loại bỏ các máy chủ truy cập từ xa này. Điều này cho phép tin tặc
dễ dàng xâm nhập vào mạng với cơ chế bảo mật yếu hơn nhiều. Ví dụ, nhiều hệ thống
truy cập từ xa sử dụng phương thức xác nhận PAP (Password Authentication
Protocol), gửi mật khẩu ở dạng clear text,hay hơn nữa là dùng công nghệ VPN mới
hơn với mật khẩu được.
War-dialing là công cụ làm việc trên tiền đề
rằng: các công ty không kiểm soát quay số tại cổng chặt chẽ như tường lửa, và
máy tính với modem gắn liền có mặt ở khắp mọi nơi, ngay cả khi những modem
không còn sử dụng. Nhiều máy chủ vẫn còn có modem với đường dây điện thoại được
kết nối như là một sao lưu dự phòng trong trường hợp kết nối Internet chính gặp
xự cố. Những kết nối modem có thể được sử dụng bởi một chương war-dialing để truy cập từ xa vào hệ thống và mạng nội bộ.
Hình 4.6 là mô hình hoạt động cơ bản của War-dialing.
Tại đây chúng ta thấy hacker có thể sử dụng modem của mình để giả một kết nối
vào hệ thống mạng của công.
Hình 5.6: Mô hình hoạt động của War-dialing
Hacking Tool
THC-Scan,
Phonesweep, war dialer, và telesweep là tất cả công
cụ được sử dụng để xác định các số điện thoại và có thể quay số đến mục tiêu để
tạo kết nối tới modem máy tính. Những công cụ thường làm việc bằng cách sử dụng
một danh sách người dùng và mật khẩu đã được xác định trước để cố gắng truy cập
hệ thống. Hầu hết các truy cập từ xa bằng kết nối quay số không được bảo vệ bằng
mật khẩu hoặc sử dụng bảo mật rất thô sơ.
3.3. Tìm hiểu về công nghệ Banner Grabing và Operating System Fingerprint
Banner Grabbing và đồng nhất hệ điều hành –
cũng có thể định nghĩa là Fingerprinting
TCP/IP stack – là bước thứ 4 trong
phương pháp quét của CEH. Quá trình fingerprinting cho phép hacker xác định
vùng đặc biệt dế bị tổn thương của mục tiêu trên mạng. Banner grabbing là quá
trình tạo kết nối và đọc biểu ngữ được gửi trả lời bởi ứng dụng. Nhiều server
(mail, web, ftp…) sẽ trả lời đến một kết nối telnet với tên và version của
software. Hacker có thể tìm thấy nhiều mối liên hệ giữa hệ điều hành và phần mềm
ứng dụng. Ví dụ, Microsoft Exchange e-mail server chỉ cài được trên HĐH
Windows.
OS Fingerprint là kỹ thuật xác định thông
tin hệ điều hành chạy trên host đích. Có hai phương thức để thực hiện OS
Fingerprint như sau:
Active stack fingerprinting là hình thức phổ biến nhất của fingerprinting. Nó bao gồm việc gửi
dữ liệu đến hệ thống để xem cách hệ thống trả lời. Nó dựa trên thực tế là
các nhà cung cấp hệ điều hành thực hiện các TCP stack khác nhau, và khác nhau dựa trên hệ điều hành. Các phản
ứng này sau đó được so sánh với cơ sở dữ liệu để xác định hệ điều hành. Active stack fingerprinting bị phát
hiện bởi vì nó cố
gắng nhiều lần để kết nối với hệ
thống mục tiêu.
Passive stack fingerprinting thì “tàng hình” hơn và bao gồm sự kiểm tra lưu lượng trên mạng để
xác định hệ điều hành. Nó sử dụng kỹ thuật Sniffing thay vì kỹ thuật Scanning. Passive stack fingerprinting thường
không phát hiện ra bởi IDS hoặc hệ thống bảo mật khác nhưng ít chính xác hơn Active fingerprinting.
Hacking Tool
Sử dụng telnet cũng có thề thu thập thông
tin hệ điều hành, khi bạn kết nối đến host.
POF,
HTTPRINT, Mairn HTTP Header là những công cụ thực
hiện thu thập thông tin hệ điều hành theo cơ chế Passive. Trong khi các công cụ
như XPRobe2, Ring V2 Nercraft thì
thu thập thông tin bằng cơ chế Active.
Đối phó với thu thập thông tin hệ điều hành
Thay đổi thông tin hệ điều hành trong phần
banner header của webserver.
Với Apache bạn có thể load module có tên là mod_headers lên, và chỉnh sửa cấu hình trong file httpd.conf
Header set Server "New Server Name"
Với IIS bạn có thể sử dụng các tool như IIS lockdown Tool, ServerMask. Cả hai công cụ này đều có chức năng
thay đổi banner header của server hoặc khóa hẳn luôn, không hiển thị cho người
dùng.
3.4. Vẽ sơ đồ mạng
Vẽ sơ đồ mạng của máy chủ là cần thiết, đặc
biệt chú ý đến những máy chủ dễ bị tổn thương. Công cụ quản lý mạng có thể hỗ
trợ bước này. các công cụ như vậy thường được sử dụng để quản lý các thiết bị mạng
nhưng có thể quay lưng lại với các quản trị viên bảo mật bởi các hacker có gan.
SolarWinds Toolset, Queso,
Harris Stat, và Cheops là các công cụ quản lý mạng
sử dụng nhận biết hệ điều hành, lập bảng đồ, sơ đồ mạng, danh sách các dịch vụ
đang chạy trên mạng, quét cổng thông thường và hơn nữa. Những công cụ này vẽ
toàn bộ mạng trong giao diện GUI gồm routers, servers, hosts và firewalls. Hầu
hết các công cụ này để có thể tìm ra IP, host names, services, hệ điều hành, và
thông tin version.
Hình 5.7: Giao diện làm việc của phần mềm
LanState
Netcraft và HTTrack là công cụ ghi dấu một hệ điều hành. Cả hai sử dụng để xác định hệ
điều hành và số phiên bản phần mềm web-server.
o
Netcraft là website mà định kỳ thực
hiện các cuộc thăm dò web server để xác định phiên bản hệ điều hành và phiên bản
phần mềm web-server. Netcraft có thể cung cấp thông tin hữu ích cho hacker có
thể sử dụng phát hiện những tổn thưởng trên phần mềm web server. Ngoài ra,
Netcraft có thanh công cụ anti-phishing (chống lừa đảo) và công cụ xác nhận
web-server, bạn có thể sử dụng để đảm bảo rằng đang sử web-server thật, không
phải giả.
o
HTTrack sắp xếp cấu trúc liên kết
tương đối, ban đầu của các trang web. Bạn mở một trang của website được nhân
đôi trong trình duyệt,và sau đó bạn có thể duyệt các trang web từ liên kết để
liên kết như thể bạn đang xem nó trực tuyến. HTTrack cũng có thể cập nhật một
trang web hiện có được nhân đôi và phục hồi download bị gián đoạn.
3.5. Triển khai Proxy Server để tấn công
Chuẩn bị máy chủ proxy là bước cuối cùng
trong phương pháp quét CEH. Một proxy server là một máy tính hoạt động trung
gian giữa hacker và máy tính đích.
Sử dụng một proxy server có thể cho phép
hacker trở thành vô danh trên mạng. Hacker trước tiên kết nối tới máy proxy
server rồi yêu cầu kết nối tới máy đích thông qua kết nối có sẵn đến proxy. Cơ
bản, proxy yêu cầu truy cập đến mục tiêu mà không phải là máy tính của hacker.
Điều này làm hacker lướt web vô danh hoặc ẩn trong cuộc tấn công.
Hình 5.8: Mô hình tấn công của attacker
Trong hình 4.8 là mô hình tấn công được các
attacker áp dụng. Trong đó, tấn công trực tiếp (1) ít được sử dụng nhất, vì
nguy cơ bị phát hiện rất cao. Hai phương
pháp còn lại lại thông qua một proxy (2) và qua hàng loạt các máy tính trung
gian (3) được áp dụng nhiều hơn. Tuy nhiên cách thứ 3 thì khó triển khai hơn,
và thường áp dụng cho một cuộc tấn công trên quy mô lớn.
Bạn có thể dễ dàng tìm thấy các proxy
server miễn phí này trên mạng. Với từ khóa “free
proxy server” trên google bạn có thể tìm thấy nhiều trang web cung cấp tính
năng này.
Hacking Tool
SocksChain là công cụ cung cấp cho hacker khả năng tấn công thông qua một chuỗi
proxy servers. Mục đích chính của việc này là ẩn IP thực và do đó sự phát hiện
sẽ ở mức thấp nhất. Khi một hacker làm việc thông qua vài proxy servers trong
series, thì khó khăn hơn nhiều để xác định vị trí hacker. Theo dõi địa chỉ IP của
kẻ tấn công thông qua các bản ghi của máy chủ proxy là một số công việc phức tạp
và tẻ nhạt. nếu một trong các tập tin đăng nhập của proxy server bị mất hoặc
không đầy đủ, dây chuyền bị hỏng, và addess IP củahacker vẫn còn vô danh.
SSL Proxy
SSL Proxy là proxy trong suốt được sử dụng
để chuyển đổi giữa hai hệ thống, một được mã hóa, và một không có mã hóa nào. Bạn
sử dụng SSL Proxy trong các trường hợp sau:
·
Tấn công vào một hệ thống có
cài đặt dịch vụ SSL
·
Khai thác những thông tin của một
hệ thống thông qua IDS.
·
Sử dụng SSL Proxy để tạo đường
hầm (tunnel) kết nối đến hệ thống đích, chạy ngang qua một IDS, nơi mà có thể bị
chặn đứng trong cuộc tấn công.
Hình 5.9: Mô hình sử dụng SSL Proxy để thực hiện
tấn công
Hacking Tool
SSL Proxy cũng chính là tên công cụ dòng lệnh
cho phép chúng ta tạo một SSL Proxy Tunnel, phục vụ cho cuộc tấn công sắp tới.
Trong hình bên dưới là hướng dẫn cơ bản dòng lệnh chúng ta sử dụng khi đã cài
SSL Proxy.
Hình 5.10: Hướng dẫn sử dụng SSL Proxy
4. Kỹ thuật Anonymously
Anonymously (tạm gọi là ân danh) là dịch vụ
cố gắng lướt web vô danh sử dụng một website mà hoạt động như một proxy server
cho web client. Phần mềm ẩn danh đầu tiên phát triển bởi Anonymizer.com; nó được
tạo ra năm 1997 bởi Lance Cottrell. Dịch vụ Anonymizers loại bỏ tất cả thông
tin xác định từ máy tính người dùng trong khi họ lướt web trên Internet, theo
cách đó đảm bảo sự riêng tư của người sử dụng. Để vào một website ẩn danh,
hacker vào địa chỉ website qua phần mềm ẩn danh, và phần mềm ẩn danh tạo yêu cầu
chọn trang web. Tất cả các trang web yêu cầu được chuyển tiếp qua các trang web
ẩn danh, khó theo dõi các yêu cầu từ trang web.
Trong hình 4.11 là một vi dụ, khi bạn muốn
truy cập vào website www.target.com nhưng lại
bị cấm bởi các chính sách bảo mật của web server. Bạn thực hiện truy cập bằng
cách thông qua một trang web giúp bạn ẩn
danh là www.proxify.com
Hình 5.11: Ví dụ truy cập web thông qua Anonymizers
Hacking Tool
Vài trang web sau đây sẽ giúp chúng ta giả
danh trong việc truy cập web
5. Kỹ thuật HTTP TUNNELING
Một phương pháp phổ biến của vòng qua tường
lửa hoặc IDS là một tạo một đường hầm (như SMTP) thông qua một giao thức cho
phép (như HTTP). Hầu hết các IDS và tường lửa hoạt động như một proxy giữa máy
tính của khách hàng và Internet, và chỉ cho phép truy cập với những host được định
nghĩa là được phép. Hầu hết các công ty cho phép HTTP giao thông bởi vì nó thường
truy cập web lành tính. Tuy nhiên, hacker có thể tạo ra một đường hầm bằng giao
thức HTTP để truy cập vào mạng bên trong với giao thức không được phép.
HTTP Tunneling không hẳn là chỉ dành cho
hacker. Bạn có thể áp dụng nó để tạo ra một hệ thống kết nối hai chi nhánh an
toàn bằng giao thức HTTP. Trong hình 4.12 là một ví dụ về việc kết nối hai chi
nhánh để trao đổi dữ liệu qua giao thức FTP, trong khi giao thức này bị chặn bởi
tường lửa. Bằng cách này, client có thể kết nối về máy chủ FTP để lấy dữ liệu
thông qua HTTP Tunneling.
Hình 5.12: Client kết nối về FTP thông qua HTTP
Tunneling
Hacking Tool
HTTPort,
Tunneld, và BackStealth là tất cả công cụ để đi qua
đường hầm thông qua HTTP. Chúng cho phép bỏ qua một proxy của HTTP, mà khóa những
phương pháp truy cập Internet nhất định. Những công cụ này cho phép các ứng dụng
như Email, IRC, ICQ, AIM, FTP… các phần mềm nguy hiểm được sử dụng từ phía sau
một proxy HTTP.
6. Kỹ thuật giả mạo IP (Spoofing IP)
Một hacker có thể giả mạo địa chỉ IP khi quét máy hệ
thống để hạn chế thấp nhất khả năng bị phát hiện. Khi nạn nhân (Victim) gửi trả
lời về địa chỉ IP, nó sẽ không gửi đến địa chỉ giả mạo được. Một nhược điểm của
giả mạo IP là một phiên TCP không thể hoàn thành được, do không thể gửi hồi đáp ACK.
Source routing cho phép kẻ tấn công chỉ định việc định
tuyến một gói tin có thông qua Internet. Điều này cũng có thể giảm thiểu cơ hội
phát hiện bằng cách bỏ qua IDS và tường lửa. Source routing được cài đặt trong
giao thức TCP/IP với hai hình thức:
·
Loose
Source routing (LSR): Routing không chính xác. Người gửi
gửi một danh sách ip trong đó bao gồm ip của mình.
·
Strict
Source routing (SSR):
Routing chính xác. Người gửi chỉ ra một phần của đường dẫn để chuyển gói
tin. Gói tin trả lời sẽ đi qua đường dẫn đó.
Source routing sử dụng trường địa chỉ của gói tin IP
Header lên đến 39-byte tức là sẽ có tối đa 8 địa chỉ ip được thêm vào trường đỉa
chỉ. Khi đó máy gửi sẽ gửi qua một loạt ip giả, trong số đó có ip thật của kẽ tấn
công.
Hình 5.13: Quá trình tấn công giả địa chỉ ip
Hình 4.13 là một ví dụ vể quá trình giả IP. Bạn nhận
thấy gói tin giả mạo có địa chỉ người gửi (from address) là 10.0.0.5 và gửi gói
tin đến 10.0.0.25 Khi máy tính 10.0.0.25 gửi trả lời thì nó chuyển đến máy
10.0.0.5, mà đây không phải là máy tính của hacker.
Chống lại việc giả IP
Để phát hiện giả mạo
địa chỉ IP,
bạn có thể so
sánh thời gian sống
(TTL)
các giá trị:TTL
của kẻ tấn công sẽ khác với TTL của địa chỉ giả mạo.
Hình 5.14: Phát hiện giả mạo ip
7. Các biện pháp đối phó với Scanning
Trong bài viết, chúng ta cũng được giới thiệu
vài phương pháp đối phó với các kỹ thuật của Scanning. Tuy nhiên, tôi muốn nói
thêm với các bạn vài vấn để nữa để đối phó với Scanning.
Firewall là một phần quan trọng của mạng. Như bạn thấy trong bài,
các công cụ scan đều khó lòng vượt qua khỏi firewall.
Hệ thống phát hiện xâm nhập (IDS) cũng là một phần không thể thiếu
khi triển khai mạng, muốn chống lại việc scanning. Hệ thống này chỉ có khả năng
phát hiện quá trình scan mà không thể chặn quá trình scan được.
Chỉ nên mở những port cần thiết, và đóng những port không cần để
tránh attacker lợi dụng.
Những thông tin nhạy cảm không nên đưa ra internet. Ví dụ như thông
tin về hệ điều hành, phiên bản phần mềm đang dùng…
8. Tổng Kết
Trong chương này bạn cần nắm rõ các vấn đề
như sau:
·
Có ba loại scanning chính là
Port, network, and vulnerability scanning
·
Làm sao để biết được một hệ thống
còn sống hay không. Sử dụng ICMP để Ping Sweep như thế nào.
·
Tìm hiểu về công cụ scanning
port nổi tiếng là NMAP.
·
Sự khác biệt của các loại
scanning trong gia đình TCP như: TCP connect, SYN, NULL, IDLE, FIN, and XMAS và
khi nào sử dụng loại nào.
·
Tìm hiểu về quy trình bắt tay
ba bước TCP. Điều này giúp chúng ta tấn công giảm độ rũi ro bị phát hiện.
·
Hệ thống IDS, IPS được dùng để
chống lại scanning.
·
War dialing là gì? Nó được sử dụng
trong tấn công vào hệ thống dial-in.
·
Kỹ thuật fingerprinting có hai
loại Active và Passive, Nó được dùng để thu thập thông tin hệ điều hành.
·
Kỹ thuật anonymously để lướt
web vô danh và cơ chế HTTP Tunneling cùng kỹ thuật IP Spoofing là những kỹ thuật
giúp chúng ta ân danh trong hoạt động tấn công. Sử dụng nó giúp tránh bị phát
hiện.
HACKER
Nếu bạn muốn tạo video chuyên nghiệp và sáng tạo hãy tham gia khóa học HƯỚNG DẪN TỰ TẠO VIDEO CLIP CHUYÊN NGHIỆP SÁNG TẠO
Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ vui lòng liên hệ qua email: dinhanhtuan68@gmail.com hoặc Zalo