You are on page 1of 95

THU THẬP & PHÂN TÍCH

THÔNG TIN AN NINH MẠNG


Bài 4. Kỹ thuật phân tích
Thông tin giảng viên

TS. Lại Minh Tuấn


(Khoa ATTT – Học viện Kỹ thuật mật mã)

 Điện thoại: 0907-696-066


 Email: lmtuan1989@gmail.com
1 Phân tích giao thức

2 Phân tích luồng dữ liệu

3 Phân tích WLAN


1 Phân tích giao thức

2 Phân tích luồng dữ liệu

3 Phân tích WLAN


Giáo trình và Tài liệu tham khảo
1. Network Forensics: Tracking Hackers through Cyberspace
(Chapter 4, 5, 6)
2. Practical Packet Analysis: Using Wireshark to Solve Real-
World Network Problems
3. Wireshark 101: Essential Skills for Network Analysis (2nd
Edition)

5
Phân tích giao thức
 Thực hiện kiểm tra một hoặc nhiều trường dữ liệu
trong một giao thức.
 Phân tích giao thức giúp chúng ta hiểu rõ được nội
dung các gói tin hay các luồng dữ liệu:
 Ai đang sử dụng băng thông.
 Xác định các hành vi tấn công, phá hoại.
 Chỉ ra các ứng dụng không được bảo mật.
 Thông tin về các giao thức – RFC, IEEE-SA, …
 RFC 793 Transmission control protocol
 IEEE 802.11, IEEE 802.3...
6
Phân tích giao thức
1. Nhận dạng giao thức (Protocol
Identification).
2. Giải mã nội dung giao thức (Protocol
Decoding).
3. Trích xuất nội dung trong giao thức
(Exporting Fields).

7
Nhận dạng giao thức
 Dựa trên việc phân tích nội dung gói tin
 Dựa trên các giá trị nhị phân, thập lục phân,
ASCII đi kèm trong một giao thức cụ thể.
 Dựa trên thông tin nhận dạng trong giao thức
đóng gói.
 Dựa trên các cổng TCP/UDP gắn liền với các
giao thức, dịch vụ quy chuẩn.
 Dựa trên việc phân tích thông tin địa chỉ
nguồn, địa chỉ đích.
8
Một số khái niệm toán học
 Byte, nibble,bit.
 Hệ nhị phân, hệ thập phân, hệ thập lục phân.
 Lưu ý việc đếm byte bắt đầu từ 0 chứ không
phải 1.
 Ví dụ:
01000101 (byte)
0100(4) 0101(5)
0b01000101 =0x45
9
Ethernet Frame

10
MAC Header

Ethernet type:
0x0800 – IPv4
0x0806 (ARP)
0x888E (EAPoL)…
11
Example – IPv4 Header
• d0 d0 fd c4 09 94 00 08 74 2d 2f 94 08 00 45
00 00 34 7e cf 40 00 40 06 b4 fc c0 a8 1e 1e
0a 1e 1e 14 02 02 84 36 85 68 76 e4 2c 7d 16
73 80 10 07 d3 cb 34 00 00 01 01 08 0a 1b af
ee af 1e 64 ae 84
• Destination MAC: d0 d0 fd c4 09 94
• Source: 00 08 74 2d 2f 94
• Ethernet Type: 0x0800 (IPv4)

12
IPv4 Header

13
Protocol Header

Protocol Number (DEC) Abbreviation


1 ICMP
2 IGMP
6 TCP
17 UDP
41 ENCAP
89 OSPF
132 SCTP
… …

14
Example – IPv4 Header
d0 d0 fd c4 09 94 00 08 74 2d 2f 94 08 00 45 00 00 34
7e cf 40 00 40 06 b4 fc c0 a8 1e 1e 0a 1e 1e 14 02
02 84 36 85 68 76 e4 2c 7d 16 73 80 10 07 d3 cb 34 00
00 01 01 08 0a 1b af ee af 1e 64 ae 84
• IP version (4 bit): 4
• Header length (4 bit): 5*4=20 byte
• Protocol: 06 – TCP
• Source: c0 a8 1e 1e (192.168.32.32)
• Destination: 0a 1e 1e 14 (10.30.30.20)

15
TCP Header

16
Example – TCP Header

• d0 d0 fd c4 09 94 00 08 74 2d 2f 94 08 00 45
00 00 34 7e cf 40 00 40 06 b4 fc c0 a8 1e 1e
0a 1e 1e 14 02 02 84 36 85 68 76 e4 2c 7d 16
73 80 10 07 d3 cb 34 00 00 01 01 08 0a 1b af
ee af 1e 64 ae 84
• Source port: 02 02 (514)
• Destination port : 84 36 (33846)
• Header length: 8*4=32 byte
17
Example 1
00 21 70 4d 4f ae d0 d0 fd c4 09 94 08 00 45 00
02 dc 7e b2 40 00 34 06 3f 89 d1 6b d5 60 c0 a8
1e 6c 00 50 06 93 ab 78 fa 79 a2 a0 ed ef 50 18
1a 10 fc c5 00 00 48 54 54 50 2f 31 2e 31 20 33
30 32 20 4d 6f 76 65 64 20 54 65 6d 70 6f 72 61
72 69 6c 79 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65
6e 67 74 68 3a 20 30 0d 0a 4c 6f 63 61 74 69 6f
- Source, Destination MAC? Ethernet type?
- Source, Destination IP? IP header length? TTL?

- Source, Destination Port? TCP header length?


18
Example 1
00 21 70 4d 4f ae d0 d0 fd c4 09 94 08 00 45 00 02 dc
7e b2 40 00 34 06 3f 89 d1 6b d5 60 c0 a8 1e 6c 00 50
06 93 ab 78 fa 79 a2 a0 ed ef 50 18 1a 10 fc c5 00 00
48 54 54 50 2f 31 2e 31 20 33 30 32 20 4d 6f 76 65 64
20 54 65 6d 70 6f 72 61 72 69 6c 79 0d 0a 43 6f 6e 74
65 6e 74 2d 4c 65 6e 67 74 68 3a 20 30 0d 0a 4c 6f 63
61 74 69 6f
-Source, Destination MAC? Ethernet type?
d0 d0 fd c4 09 94 , 00 21 70 4d 4f ae, 0x8000 (IPv4)
-Source, Destination IP? IP header length? TTL?
d1 6b d5 60 (209.107.213.96), c0 a8 1e 6c
(192.168.30.108), 0x5 (20 byte), 0x34=52
-Source, Destination Port? TCP header length?
00 50 (80), 06 93 (1683), 0x5 (20 byte) 19
Example 1

20
Example 2
00 0c 29 63 c9 a8 00 0c 29 38 63 95 08 06 00
01 08 00 06 04 00 02 00 0c 29 38 63 95 c0 a8
01 0a 00 0c 29 63 c9 a8 c0 a8 01 1e
 Source, Destination MAC? Ethernet type?
 Source, Destination IP? IP header length?
TTL
 Source, Destination Port? TCP header
length?

21
Example 2
00 0c 29 63 c9 a8 00 0c 29 38 63 95 08 06 00
01 08 00 06 04 00 02 00 0c 29 38 63 95 c0 a8
01 0a 00 0c 29 63 c9 a8 c0 a8 01 1e

 Source, Destination MAC? Ethernet type?


00 0c 29 38 63 95
00 0c 29 63 c9 a8
08 06 (ARP)
 Source, Destination IP? IP header length?
TTL
 Source, Destination Port? TCP header
length? 22
Nhận dạng giao thức
1. Dựa trên các giá trị nhị phân, thập lục
phân, ASCII đi kèm trong một giao thức cụ
thể.

0x4500 – gói tin IPv4

23
Nhận dạng giao thức
2. Dựa trên thông tin nhận dạng trong giao
thức đóng gói
 Các giao thức thường chứa thông tin cho
biết loại giao thức được đóng gói.
 Mô hình OSI, các trường giao thức lớp thấp
thường chỉ ra giao thức lớp cao hơn có thể
được đóng gói, nhằm tạo điều kiện thuận lợi
cho việc xử lý.

24
Nhận dạng giao thức
Protocol Number (0-255) – IANA (Internet
Assigned Numbers Authority)

25
Nhận dạng giao thức

0x4500 – IPv4
0x06 - TCP 26
Nhận dạng giao thức

0x60000000 –IPv6 0x32 – ESP


27
Nhận dạng giao thức
3. Dựa trên các cổng TCP/UDP gắn liền với các
giao thức, dịch vụ quy chuẩn.
Ví dụ:
 Port 80 – HTTP
 Port 443 – HTTPS
 Port 20, 21 – FTP
 Port 22 – SSH

28
Nhận dạng giao thức

Xác định giao thức NTP


thông qua cổng mặc định 123 29
Nhận dạng giao thức

Wireshark xác định nhầm giao thức cho nên


không thể giải mã chi tiết phần SSL 30
Nhận dạng giao thức
4. Dựa trên việc phân tích thông tin địa chỉ
nguồn, địa chỉ đích.

HTTP hoặc AIM?

31
Giải mã nội dung giao thức
 Là kỹ thuật thông dịch các dữ liệu trong
gói tin theo một cấu trúc đặc tả.
 Để giải mã lưu lượng mạng theo một đặc
tả giao thức:
• Sử dụng bộ giải mã tự động tích hợp sẵn
trong công cụ.
• Tham khảo các tài liệu được công bố công
khai và tự giải mã.
• Viết bộ giải mã riêng.

32
Giải mã nội dung giao thức

Wireshark giải mã gói tin


33
Giải mã nội dung giao thức

Wireshark giải mã gói tin


34
Giải mã nội dung giao thức

Wireshark giải mã gói tin


35
Giải mã nội dung giao thức

Wireshark giải mã gói tin


36
Trích xuất nội dung giao thức
 File Signature: Là các dấu hiệu nhận biết dữ
liệu được chứa trong giao thức.

37
Trích xuất nội dung giao thức

38
Phân tích chi tiết nội dung gói tin
 Thanh tra nội dung hoặc metadata trong
một hoặc nhiều gói tin.
 Các kỹ thuật cơ bản được sử dụng:
 Khớp mẫu (pattern matching).
 Trích xuất các trường giao thức (parsing
protocol fields).
 Lọc chọn gói tin (packet filtering).

39
Khớp mẫu
 Xác định các gói tin cần quan tâm bằng
cách tìm kiếm các giá trị thích hợp trong tập
các gói tin cần phân tích.

40
Khớp mẫu

41
Trích xuất các trường dữ liệu
 Trích xuất nội dung các trường của giao
thức bên trong tập các gói tin quan tâm.

42
Lọc chọn gói tin
Thực hiện việc tách gói tin dựa trên giá trị
của các trường trong giao thức.

ip.src==10.1.11.00/24
tcp.port==80 || tcp.port==3389

43
CTF Time
Seems like someone intercepted and altered the frames. Can you
patch it?
>>Ingress>>
0x0000: 35 02 d2 d2 d2 d2 64 c4 14 74 02 94 08 00 45 00
0x0010: 00 3c a6 65 40 00 3e 06 75 a5 45 75 14 25 e3 02
0x0020: e4 14 dd c4 1f 90 00 00 00 00 00 00 00 00 a0 02
0x0030: 38 90 c7 d0 00 00 02 04 05 b4 04 02 08 0a e4 14
0x0040: 45 84 00 00 00 00 01 03 03 07

<<Egress<<
0x0000: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 08 00 45 00
0x0010: 00 3c 00 00 40 00 3e 06 1c 0b ?? ?? ?? ?? ?? ??
0x0020: ?? ?? 1f 90 dd c4 00 00 00 00 00 00 00 01 a0 ??
0x0030: 38 90 18 79 00 00 02 04 05 b4 04 02 08 0a 53 e3
0x0040: 8e e8 e4 14 45 84 01 03 03 07
44
1 Phân tích giao thức

2 Phân tích luồng dữ liệu

3 Phân tích WLAN


Luồng dữ liệu
 Luồng dữ liệu (RFC3679) là một chuỗi các
gói tin được gửi từ một nguồn cụ thể tới
một đích hoặc nhiều đích, trong đó nguồn
gán nhãn cho chuỗi các gói tin này là một
luồng riêng.

46
Kỹ thuật phân tích luồng dữ liệu

 Một số dấu hiệu cần chú ý:


Địa chỉ IP nguồn, đích.
Cổng.
Giao thức và cờ hiệu.
Hướng luồng dữ liệu.
Khối lượng dữ liệu được truyền

47
Kỹ thuật phân tích luồng dữ liệu

 Quan hệ giữa các địa chỉ:


Một - Nhiều.
Nhiều – Một.
Nhiều – Nhiều.
Một – Một.

48
Kỹ thuật phân tích luồng dữ liệu

 Quan hệ Một – Nhiều:


Máy chủ Web, máy chủ Mail, DB.
Spam.
Scan port.

49
Kỹ thuật phân tích luồng dữ liệu

 Quan hệ Nhiều – Một:


DDoS.
Máy chủ Syslog.
Máy chủ cơ sở dữ liệu.

50
Kỹ thuật phân tích luồng dữ liệu

 Quan hệ Nhiều – Nhiều:


Chia sẻ dữ liệu ngang hàng .
Phát tán virus.
Đồng bộ dữ liệu.

51
Kỹ thuật phân tích luồng dữ liệu

 Quan hệ Một – Một:


Tấn công có mục tiêu.
Truyền tin bình thường.

52
Kỹ thuật phân tích luồng dữ liệu
 Phân tích luồng dữ liệu thực hiện việc thanh
tra một chuỗi các gói tin có liên quan đến
nhau nhằm xác định các hành vi nghi ngờ,
trích xuất dữ liệu hay phân tích các giao
thức trong luồng.

53
Wireshark-Follow TCP Stream

54
Kỹ thuật phân tích luồng dữ liệu

1. Liệt kê luồng.
2. Trích xuất luồng.
3. Trích xuất dữ liệu từ luồng.

55
Liệt kê luồng

Liệt
. kê luồng sử dụng Tshark

56
Liệt kê luồng
Liệt kê luồng sử dụng Wireshark
.

57
Trích xuất luồng

58
Trích xuất luồng

59
Trích xuất dữ liệu

• 4 bytes đầu trong luồng là OFT2 đánh dấu bắt đầu


của OFT header. Bytes 6-7 là 0x0101 cho biết người
gửi sẵn sàng gửi dữ liệu .
60
Trích xuất dữ liệu

• Bytes 28-31 thể hiện “Total Size” của file được gửi.
Trong trường hợp này “Total Size” là 0x00002EE8
(12008 bytes).
61
Trích xuất dữ liệu

• Tại Bytes 256 chúng ta thấy OFT header thứ 2 với “type” là
0x0202 thể hiện người nhận sẵn sàng nhận dữ liệu

62
Trích xuất dữ liệu

• Dấu hiện nhận biết .docx file được truyền đi có dạng


0x504b030414000600
63
Trích xuất dữ liệu

• File .docx kết thúc tại 0x30E8 với 4 bytes null


(0x00000000). Theo sau đó là OFT2 “Done” header
(Type 0x0204)

64
Trích xuất dữ liệu

• ‘
• Size’ 0x2EE8 trong OFT2 “Done” header (Type 0x0204) cho biết
số lượng dữ liệu đã được truyền. Con số này trùng khớp với
Total Size của file được gửi. Điều này có nghĩa là file được
truyền hoàn tất.
65
1 Phân tích giao thức

2 Phân tích luồng dữ liệu

3 Phân tích WLAN


Phân tích WLAN
 WLAN là một hệ thống các thiết bị có khả năng
giao tiếp với nhau thông qua sóng vô tuyến.
 WLAN sử dụng chuẩn 802.11 IEEE.

67
Quá trình kết nối

68
Phân tích WLAN
 Client tìm kiếm SSID chứa trong các khung Beacon
 SSID được sử dụng như tên mạng, là chuỗi ký tự số
và chữ cái, phân biệt chữ hoa và chữ thường, có chiều
dài từ 2-32 ký tự.
 Beacon được gửi từ AP đến các trạm Client (trong
mạng Infrastructure) hoặc từ trạm tới trạm (trong
mạng Ad-hoc) để tổ chức và đồng bộ các truyền thông
trong mạng WLAN.
• Đồng bộ thời gian
• Beacon interval
• Thông tin SSID
• Tốc độ hỗ trợ…
69
Quá trình kết nối
 Có 3 tiến trình xảy ra:
 Tiến trình thăm dò (Probe)
 Tiến trình xác thực (Authentication)
 Tiến trình kết nối (Association)

70
Thăm dò bị động
 Quét bị động (Passive Scanning):

71
Thăm dò chủ động

72
Tiến trình xác thực
 Client bắt đầu gởi một khung Authentication
Request đến AP.
 AP sẽ chấp nhận hay từ chối yêu cầu này và
sau đó báo cho máy trạm biết bằng cách gửi
một khung Authentication Response.
 Tiến trình xác thực có thể thực hiện tại AP
hay AP có thể chuyển trách nhiệm này sang
tại một máy chủ xác thực khác (RADIUS
server).
73
Tiến trình kết nối
 Sau khi xác thực Client sẽ gửi một khung
Association Request đến AP và AP sẽ trả lời
bằng khung Association Response trong đó
cho phép hoặc không cho phép kết nối.
 Toàn bộ tiến trình xác thực và kết nối gồm 3
trạng thái khác nhau:
 Chưa xác thực và chưa kết nối
 Đã xác thực và chưa kết nối
 Đã xác thực và đã kết nối
74
Một số giao thức xác thực
 IEEE 802.1x và EAP
Supplicant Authenticator Radius Server
EAP-Start
1
Port closed
EAP-Request/Identify
2
EAP-Response/Identify Radius-Access-Request
3
EAP-Request Radius-Access-Challenge
4
EAP-Response Radius-Access-Request
5
Radius-Access-Accept
6
EAP-Success Port open

EAPoL EAP RADIUS 75


Tập dịch vụ
 BSS (Basic Service Set)
 ESS (Extended Service Set)
 IBSS (Independent BSS - Adhoc)

76
Tập dịch vụ
 BSS (Basic Service Set)
 ESS (Extended Service Set)
 IBSS (Independent BSS - Adhoc)

77
Tập dịch vụ
 BSS (Basic Service Set)

Access Point

Client

Client

Client

78
Tập dịch vụ
 ESS (Extended Service Set)

Wired Network

79
Tập dịch vụ
 IBSS (Independent BSS - Adhoc)

80
Bảo mật trong WLAN
 WEP (Wired Equivalent Privacy-RC4)
 WPA (Wifi Protected Access-TKIP)
 WPA2 (version 2- AES)

81
802.11 Frame

82
802.11 Frame

83
MAC header - Beacon Frame

84
MAC header - Beacon Frame

85
Định dạng khung
Tương tự mạng Ethernet, khi các client tham gia
vào mạng nó sẽ giao tiếp với các thiết bị khác bằng
cách gửi các khung (frame) ở lớp 2
WLAN phân loại khung dựa trên chức năng tổng
quát.
Có 3 dạng khung trong WLAN:
 Khung quản lý (Management Frame – Type 0)

 Khung điều khiển (Control Frame – Type 1)

 Khung dữ liệu (Data Frame – Type 2)

86
Khung quản lý
 Management Frames dùng để truyền thông
trong WLAN, giữ kết nối các trạm tới AP…
– 0x0- Association request frame
– 0x1- Association response frame
– 0x2- Reassociation request frame
– 0x3- Reassociation response frame
– 0x4- Probe request frame
– 0x5- Probe response frame
– 0x8- Beacon frame
– 0x9- ATIM frame
– 0xA- Disassociation frame
– 0xB- Authentication frame
– 0xC- Deauthentication frame 87
Khung Beacon

88
Khung điều khiển
 Control Frames được sử dụng để điều khiển
luồng lưu lượng trong mạng không dây.
– 0x1B - Request to send (RTS)
– 0x1C - Clear to send (CTS)
– 0x1D - Acknowledgement (ACK)

89
Khung điều khiển

90
Khung dữ liệu
 Data frame được sử dụng để truyền tải dữ
liệu trong mạng không dây.
– 0x0 - Data
– 0x4 – Null Data

91
Khung dữ liệu

92
Big-Endian vs Little-Endian
Big-Endian: những byte có trọng số cao sẽ được
biểu diễn hoặc truyền tải trước
0x1E240 => 0x00 0x01 0xE2 0x40
Little-Endian: những byte có trọng số thấp sẽ được
biểu diễn hoặc truyền tải trước.
0x1E240 => 0x40 0xE2 0x01 0x00
Mixed-Endian: những byte có trọng số thấp sẽ được
biểu diễn hoặc truyền tải trước.
0x1E240 => 0x01 0x00 0x40 0xE2
0xABCD=>0xB 0xA 0xD 0xC
93
Big-Endian vs Little-Endian

Ví dụ: Data frame

94
95

You might also like