You are on page 1of 15

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA AN TOÀN THÔNG TIN


¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

THỰC HÀNH

ĐÁNH GIÁ, KIỂM ĐỊNH AN TOÀN HỆ THỐNG THÔNG


TIN

BÀI THỰC HÀNH SỐ 08

KIỂM THỬ AN TOÀN MẠNG CÓ SỬ DỤNG


TƯỜNG LỬA

Người xây dựng bài thực hành:


Phạm Minh Thuấn

HÀ NỘI, 2019
MỤC LỤC

Mục lục ................................................................................................................. 2


Phần 1. Thực hành cài đặt công cụ hỗ trợ kiểm thử tường lửa ......................... 3
1.1. Chuẩn bị .......................................................................................................... 3
1.2. Thực hiện ........................................................................................................ 3
1.2.1. Cài đặt công cụ nmap ........................................................................... 4
1.2.2. Cài đặt công cụ traceroute. .................................................................. 4
1.2.3. Cài đặt công cụ hping3 ......................................................................... 4
1.2.4. Cài đặt công cụ firewalk. ...................................................................... 5

Phần 2. Thực hành xác định tường lửa ............................................................. 10


2.1. Mô hình thực hiện ......................................................................................... 10
2.2. Kiểm tra kết nối. ............................................................................................ 10
2.3. Xác định tường lửa trong hệ thống. ............................................................... 10
2.4. Kiểm tra thông tin tường lửa.......................................................................... 11

Phần 3. Thực hành kiểm thử tường lửa ............................................................ 13


3.1. Kiểm thử tường lửa với nmap. ....................................................................... 13
3.2. Kiểm thử tường lửa với hping........................................................................ 14
3.3. Kiểm thử tường lửa với firewalk. .................................................................. 14

-2-
PHẦN 1. THỰC HÀNH CÀI ĐẶT CÔNG CỤ HỖ TRỢ KIỂM THỬ
TƯỜNG LỬA

1.1. Chuẩn bị
01 máy ảo VMWare chạy HĐH Ubuntu 32 bit hoặc 64 bit
Đặt chế độ card mạng Bridge và đặt địa chỉ IP để có thể kết nối ra ngoài
mạng Internet
Mô hình như sau:

Bridge Internet

Pentester

1.2. Thực hiện


Thực hiện đăng nhập vào hệ thống, sử dụng công cụ terminal để cài đặt.
Để mở giao diện terminal, sử dụng tập phím: Ctrl+Shift+T hoặc vào thanh
menu tìm kiếm termial

Giao diện terminal:

-3-
1.2.1. Cài đặt công cụ nmap
Để thực hiện cài đặt công cụ nmap, tại terminal nhập câu lệnh:
sudo apt-get install nmap

Sau khi cài đặt xong, nhập nmap –h để kiểm tra

Xuất hiện thông báo như trên là đã cài đặt thành công.

1.2.2. Cài đặt công cụ traceroute.


Vào terminal, sử dụng câu lệnh: sudo apt-get install traceroute để thực hiện
cài đặt công cụ traceroute.

Nhập traceroute –h để kiểm tra chắc chắn công cụ đã hoạt động.

Xuất hiện thông báo như trên là đã cài đặt thành công.

1.2.3. Cài đặt công cụ hping3


Vào terminal, sử dụng câu lệnh: sudo apt-get install hping3 để thực hiện cài
đặt công cụ hping3

-4-
Nhập hping3 –h để kiểm tra chắc chắn công cụ đã hoạt động.

Xuất hiện thông báo như trên là đã cài đặt thành công.

1.2.4. Cài đặt công cụ firewalk.


Trước tiên, download firewalk tại trang chủ:
http://packetfactory.openwall.net/projects/firewalk/
Download thêm các gói libnet, lipcap, libdnet đi kèm.
Sau khi download về thực hiện giải nén các file download về bằng cách:
ckick chuột phải => click Extract here.

-5-
-6-
Sau khi giải nén xong thực hiện cài đặt gói libnet.
Sử dụng terminal truy cập vào thư mục libnet và sử dụng câu lệnh sau để
tiến hành cài đặt.
./configure && make && sudo make install
+ ./configure: kiểm tra sự đầy đủ của các thư viện hoặc trình biên dịch
gcc.
+ make: thực hiện biên dịch mã nguồn thành file thực thi.
+ make install: copy file thực thi vào thư mục bin của hệ thống.

Cài đặt gói libpcap:


Sử dụng terminal truy cập vào thư mục libpcap: cd libpcap-1.7.2

Sử dụng câu lệnh sau để tiến hành cài đặt:


./configure && make && sudo make install
+ ./configure: kiểm tra sự đầy đủ của các thư viện hoặc trình biên dịch
gcc.
+ make: thực hiện biên dịch mã nguồn thành file thực thi.
+ make install: copy file thực thi vào thư mục bin của hệ thống.

-7-
Cài đặt gói libdnet:
Sử dụng terminal truy cập vào thư mục libpcap: cd libdnet-1.11

Sử dụng câu lệnh sau để tiến hành cài đặt:


./configure && make && sudo make install
+ ./configure: kiểm tra sự đầy đủ của các thư viện hoặc trình biên dịch
gcc.
+ make: thực hiện biên dịch mã nguồn thành file thực thi.
+ make install: copy file thực thi vào thư mục bin của hệ thống.

Sau khi cài đặt đầy đủ các gói trên tiến hành thực hiện cài đặt công cụ
firewalk.
Sử dụng terminal truy cập vào thư mục libpcap: cd Firewalk

Sử dụng câu lệnh sau để tiến hành cài đặt:


./configure && make && sudo make install
+ ./configure: kiểm tra sự đầy đủ của các thư viện hoặc trình biên dịch
gcc.
+ make: thực hiện biên dịch mã nguồn thành file thực thi.
+ make install: copy file thực thi vào thư mục bin của hệ thống.

-8-
Nhập lệnh firewalk –h để kiểm tra:

Xuất hiện thông báo như trên là đã cài đặt thành công firewalk.

-9-
PHẦN 2. THỰC HÀNH XÁC ĐỊNH TƯỜNG LỬA
Trong bài thực hành này sẽ thực hiện kiểm tra để xác định sự hiện diện của
tường lửa cũng như loại tường lửa.

2.1. Mô hình thực hiện

Bridge Internet

Pentester WebServer
115.146.127.72

Máy Pentester được kết nối ra ngoài mạng Internet, để có thể truy cập tới
WebServer có địa chỉ: 115.146.127.72.
Đầu tiên sẽ kiểm tra xem hệ thống này có sử dụng firewall hay không, nếu
có thực hiên kiểm tra thông tin về firewall.

2.2. Kiểm tra kết nối.


Tại máy Pentester vào terminal.
Tại cửa sổ Terminal thực hiện ping tới địa chỉ IP của máy WebServer

2.3. Xác định tường lửa trong hệ thống.


Sử dụng công cụ traceroute để thực hiện xác định firewall trong hệ thống.
Traceroute là công cụ dòng lệnh dùng để xác định đường đi từ nguồn tới
đích của một gói Giao thức mạng Internet. Tìm đường tới đích bằng cách gửi các
thông báo Echo Request (yêu cầu báo hiệu lại) Internet Control Message Protocol
(ICMP) tới từng đích. Sau mỗi lần gặp một đích, giá trị Time to Live (TTL), tức
thời gian cần để gửi đi sẽ được tăng lên cho tới khi gặp đúng đích cần đến. Đường
đi được xác định từ quá trình này.
Tại máy Pentester vào cửa sổ terminal.
Tại cửa sổ terminal thực hiện câu lệnh: traceroute 115.146.127.72 để xác
định các hop mà gói tin đi qua.
- 10 -
Từ kết quả trên có thể thấy các gói tin chỉ đi đến hop thứ 9 là dừng lại không
thể đi tiếp.
Tiếp tục sử dụng lệnh: traceroute –I 115.146.127.72 để gửi các gói tin
ICMP.

Vậy từ 2 kết quả trên, chúng ta có thể xác định được ip 183.91.5.2 là firewall
vì có sự cản lọc các gói tin.

2.4. Kiểm tra thông tin tường lửa.


Sau khi xác định được firewall, tiến hành xác định thông tin firewall.
Tại máy Pentester vào terminal và nhập câu lệnh:
sudo –sV nmap –script=banner 183.91.5.2

- 11 -
Từ kết quả trên, ta có thể xác định được thông tin firewall:
+ Firewall của cisco
+ OS: IOS
+ CPE: cpe:/o:cisco:ios

- 12 -
PHẦN 3. THỰC HÀNH KIỂM THỬ TƯỜNG LỬA

3.1. Kiểm thử tường lửa với nmap.


Nmap là một công cụ rất hữu hiệu để phát hiện thông tin về tường lửa. Khi
nmap quét một hệ chủ, nó không chỉ đưa ra thông báo về các cổng, dịch vụ đang
hoạt động mà còn cho biết các cổng đang bị phong tỏa. Lượng thông tin nhận được
từ một lần quét cổng có thể cho biết khá nhiều về cấu hình của bức tường lửa. Một
cổng đã lọc trong nmap biểu hiện cho một trong ba nội dung sau:
+ không nhận gói tin SYN/ACK nào.
+ không nhận gói tin RST/ACK nào.
+ Ðã nhận một thông báo ICMP type 3 (Destination Unreachable) có
một mã 13 (Communication Administratively Prohibited -
[RFC1812]).
Tại máy Pentester vào terminal
Tại terminal sử dụng câu lệnh sau để thực hiện kiểm tra firewall.
nmap --script=firewalk –traceroute 115.146.127.72
+ --script=firewalk: sử dụng option script
+ --traceroute: kiểm tra các hop mà gói tin đi qua.

Kết quả thu được:

- 13 -
Từ kết quả trên có thể thấy địa chỉ IP 183.91.5.2 có sự cản lọc các gói tin và
chỉ cho phép các port 80, 1521, 8389 vào server.

3.2. Kiểm thử tường lửa với hping.


Hping của Salvatore Sanfilippo, làm việc bằng cách gửi các gói tin TCP đến
một cổng đích và báo cáo các gói tin mà nó nhận trở lại. Hping trả về nhiều đáp
ứng khác nhau tùy theo vô số điều kiện. Mỗi gói tin từng phần và toàn thể có thể
cung cấp một bức tranh khá rõ về các kiểu kiểm soát truy cập của bức tường lửa.
Ví dụ, khi dùng hping ta có thể phát hlện các gói tin mở, bị phong tỏa, thả, và loại
bỏ.
Tại máy Pentester vào terminal
Tại terminal sử dụng câu lệnh sau để thực hiện kiểm tra port 80 của firewall.
hping3 183.91.5.2 -c 2 –S –p 80
+ -c: gửi 2 gói tin.
+ -p: port muốn gửi đến.

Theo kết quả thì port 80 có thể đi qua firewall.


Để xác định nhiều port cùng 1 lúc thì tại terminal sử dụng câu lệnh sau:
hping3 183.91.5.2 -c 100 –S –p ++1

Theo kết quả trên thì có nhiều port có thể đi qua được firewall này.

3.3. Kiểm thử tường lửa với firewalk.


Firewalk là một công cụ nhỏ tiện dụng, như một bộ quét cổng, được dùng để
phát hiện các cổng mở đằng sau một bức tường lửa. Ðược viết bởi Mike
Schiffnlan, còn gọi là Route và Dave Goldsmith, trình tiện ích này sẽ quét một
server xua dòng từ một bức tường lửa và báo cáo trở lại các quy tắc đợc phép đến
server đó mà không phải thực tế chạm đến hệ đích. Firewalk làm việc bằng cách
kiến tạo các gói tin với một IP TTL được tính toán để kết thúc một chặng vượt qua

- 14 -
bức tường lửa. Về lý thuyết, nếu gói tin được bức tường lửa cho phép, nó sẽ đợc
phép đi qua và sẽ kết thúc như dự kiến, suy ra một thông điệp "ICMP TTL expired
in transit." Mặt khác, nếu gói tin bị ACL của bức tường lửa phong tỏa, nó sẽ bị thả,
hoặc không có đáp ứng nào sẽ được gửi, hoặc một gói tin lọc bị ICMP type 13
admin ngăn cấm sẽ được gửi.
Tại máy Attacker vào terminal
Tại terminal sử dụng câu lệnh sau để thực hiện kiểm tra firewall.
firewalk -pTCP 183.91.5.2 115.146.127.72

Kết quả thu được.

Theo kết quả trên thì có 1 port open.

- 15 -

You might also like