Tiến hành bắt gói tin - Wireshark là công cụ dùng để phân tích các giao thức của mạng cho phép xem chitiết các giao thức mạng hiện có, bắt các gói tin từ nhiều nguồn khác nhau và phân tí
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
AN TOÀN THÔNG TIN MẠNG
Trang 2Contents
Bài 1: Tấn công bắt gói tin 3
Bài 2: Tấn công bẻ khóa 15
Bài 3: Quét thông tin máy chủ 21
Bài 4: Xây dựng các luật cho Snort 33
Bài 5: Phân tích mã độc 39
Bài 7: Dịch ngược mã nguồn và tìm password 48
Bài 8: Windows Server Firewall 53
Trang 3Bài 1: Tấn công bắt gói tin
Sử dụng công cụ Wireshark, thực hiên:
1 Tiến hành bắt gói tin
- Wireshark là công cụ dùng để phân tích các giao thức của mạng cho phép xem chitiết các giao thức mạng hiện có, bắt các gói tin từ nhiều nguồn khác nhau và phân tíchoffine chúng Wireshark có thể hoạt động trên nhiều hệ thống mạng khác nhau
- Để bắt được gói tin trong mạng, ta cần cài Wireshark trên máy tính có kết nối mạng
và chương trình Wireshark phải chạy trước khi diễn ra quá trình trao đổi dữ liệu.Khởi động chương trình Wireshark, chon card Wi-fi 2 sau đó Start capturing packets
để bắt đầu bắt gói tin
Giao diện chương trình sẽ hiển thị các gói tin đi qua card theo thời gian thực Để
Trang 42 Phân tích gói tin
Để xem nội dung chi tiết gói tin, click vào vị trí gói tin cần phân tích Gói tin được phân tích ở đây có số thứ tự 6801
Trang 5Một cửa sổ mới hiện ra chứa thông tin được chia theo các lớp tương ứng với mô hình TCP/IP của gói tin được chọn
Trang 6Tại mục đầu tiên cho phép ta xem các thông tin tổng quát về gói tin bắt được bao gồm kích thước, thời gian bắt…
Trang 7Mục thứ 2 cho phép ta xem thông tin của lớp Link bao gồm địa chỉ MAC đích, địa chỉ MAC nguồn, kiểu frame
Trang 8Mục thứ 3 cho phép ta xem thông tin của lớp Internet bao gồm phiên bản, chiều dài header, tổng chiều dài, địa chỉ IP nguồn, đích, giao thức…
Trang 10Mục thứ 4 cho phép ta xem thông tin gói tin ICMP như type, code, data
a Lọc theo luật các gói tin
Để lọc gói tin theo luật cụ thể, ví dụ các gói tin dùng giao thức TCP, tạo trường filter
và nhập tcp sau đó Enter
Trang 11b Phân tích quá trình bắt tay 3 bước theo giao thức TCP
Để phân tích quá trình bắt tay 3 bước, trước tiên ta cần xác định địa chỉ IP của Server đích
Để xác định địa chỉ IP của server đích, tại cửa sổ cmd ta gõ lệnh ping <domain name>
Trang 12Bước tiếp theo là khởi động Wireshark và bắt đầu quá trình bắt gói tin trên card mạng
đã chọn Nhập vào trường filter nội dụng ip.addr == <ip server> Ví dụ ở đây là ip.addr
== 113.171.23.11 sau đó enter
Mở trình duyệt và truy cập vào địa chỉ web server trên, quá trình bắt tay 3 bước của giao thức TCP sẽ đc wrieshark bắt lại
Trang 13Để dễ quan sát ta chọn Statistics-> Flow Graph Tích vào chọn mục Limit to display filter và chọn TCP Flows tại mục Flow type
Ta gọi máy có địa chỉ IP = 192.168.1.6 là máy A, server có IP = 113.171.23.11 là máy
B
A gửi gói tin TCP có cờ SYN = 1 (yêu cầu kết nối), giá trị sequence number khởi đầu
Trang 14B đồng ý kết nối, trả lời bằng gói tin TCP có cờ ACK = 1, cờ SYN = 1 và giá trị sequence number seq(B) = 0, ACK = seq(A) + 1 = 0+1 = 1(đã nhận được gói tin 0 của
A và chờ gói tin 1)
A xác nhận thiết lập kết nối bằng việc trả lời gói tin TCP có cờ ACK = 1, giá trị ACK
= seq(B) + 1 = 0+1(nghĩa là đã nhận gói tin) của B và chời gói tin 1)
c Lưu file dữ liệu bắt được
d Để lưu lại, đầu tiên ta dừng quá trình bắt gói tin bằng việc nhấn nút ô vuông màu đỏ (Stop capturing packets) Sau đó chọn File->Save, chon vị trí lưu
Trang 15
Bài 2: Tấn công bẻ khóa
Trang 16Kết nối từ xa
Kết nối thông qua địa chỉ IP của máy ở xa
Nhập Username và Password để đăng nhập vào máy ở xa
Trang 17Quản lí Groups, Users, Share Folders trên máy ở xa
Trang 183 Chức năng Cracker
Bẻ khóa mã hóa MD5
Trang 194 Chức năng Sniffer
Trang 21Bài 3: Quét thông tin máy chủ
1 Công cụ GFI
GFI Languard Network Security Scanner cho phép quét mạng, phát hiện các nguy cơ xâm nhập, phân tích các cổng (ports) đang mở trên các máy tính, các tài nguyên đang được chia sẻ, các cảnh báo về lỗ hổng, yếu điểm của các máy tính, mức độ cập nhật các phiên bản, các lỗ hổng…
Ngoài ra, công cụ GUI Languard còn một số chức năng khác NSLookup,SNMP… cho phép phát hiện được cac lỗi trong toàn bộ hệ thống mạng , từ đó giúp người quản trị cấu hình mạng, phát hiện và khắc phục lỗi
1.1 Bắt đầu 1 lượt quét mới
Mục tiêu được chọn ở đây là một máy tính chạy Windows có địa chỉ IP là: 192.168.20.2 Chế đọ quét là Full Scan Tại mục Credentials chọn Alternative Credentials, sau đó điền User và Password của user trên máy tính đó, sau đó chọn Scan
Trang 221.2 Kết quả sau khi quét
1.3 Thông tin các cổng TCP, UDP đang mở trên máy được quét
1.4 Thông tin các thư mục được chia sẻ trên máy được quét
Trang 231.5 Thông tin về tài khoản người dùng trên máy được quét
1.6 Thông tin về các tiến trình đang chạy trên máy được quét
\ 1.7 Danh sách các lỗ hổng tiềm ẩn trên máy được quét
Trang 241.8 Thống kê bảo mật cho máy
2 Công cụ Whois
Dùng để lấy thông tin của một máy chủ trên mạng mà ta cần thu thập thông tin liên quan đến máy chủ này
Sử dụng các website chuyên dụng như www.whois.com Để tìm các thông tin về địa chỉ
ip, email, khai thác thông tin liên quan phục vụ cho công việc sau này
2.1 Mở trình duyệt web, nhập vào địa chỉ http://whois.domaintools.com
Nhập tên miền hay địa chỉ IP của máy chủ muốn thu thập thông tin, sau đó tìm kiếm Ở đây ta nhập vào địa chỉ ip của phòng đào tạo 113.117.23.11
Trang 252.2 Mục Doamin Profile
Mục này cung cấp thông tin về: trạng thái đăng ký (Regiter Status), name server, địa chỉ
IP, vị trí tương đối , ASN
Ta cần thu thập tất cả các thông tin, kể cả những thông tin bình thường nhất về máy chủ này
2.3 Mục Website
Trang 26- Phát hiện các host trong mạng
- Liệt kê các port đang mở một host
- Xác định các dịch vụ đang chạy trên các port đang mở cùng phần mềm và phiên bản đang sử dụng
- Xác định hệ điều hành của thiết bị
- Chạy các script đặc biệt
3.1 Kiểm ta máy chủ có đang hoạt động hay không
Nmap –vv –sn –PS443 –PA80 daotao.dut.udn.vn
Trang 27Trong đó:
- vv: kết xuất nhiều thông tin hơn
- sn: chỉ sử dụng ping scan, không scan port
- PS443: gửi gói tin TCP SYN với cổng đích 443 đến máy chủ
- PA80: gửi gói tin TCP ACK với cổng đích 80 đến máy chủ
- daotao.dut.udn.vn: tên miền
Trang 283.2 Qué các loain hệ điề hành đang chạy trên máy chủ và port đang mở nmap -sS -sV -O -v -Pn daotao.dut.udn.vn
Trang 294 Công cụ Nessus
Nessus là một công cụ quét lỗ hổng bảo mật độc quyền được phát triển bởi công ty an ninh mạng Tenable
Nessus cho phép quét các loại lỗ hổng
- Lỗ hổng cho phép hacker từ xa kiểm soát hoặc truy cập dữ liệu nhạy cảm trên hệ thống
- Cấu hình sai
- Mật khẩu mặc định, một vài mật khẩu thường được sử dụng, và mật khẩu trống trên các tài khoản hệ thống
- Tấn công từ chối dịch vụ bộ nhớ Stack TCP/IP bằng gói tin độc hại
- Chuẩn bị cho việc kiểm tra bảo mật (PSI DSS)
Sau đây là quá trình quét lỗ hổng cho website
4.1 Tạo một lượt quét ứng dụng web mới
Trang 304.2 Thiết lập các thông số cho lượt quét mới
4.3 Tiến hành quét với các thông số vừa thiết lập
Trang 314.4 Xem kết quả
4.5 Danh sách chi tiết các lỗ hổng
Trang 324.6 Thông tin chi tiết về lỗ hổng
Trang 33
Bài 4: Xây dựng các luật cho Snort
Chọn card mạng để chạy Snort
Hiển thị IP và TCP/UDP/ICMP header: C:\Snort\bin> snort -v -i 1
Trang 34Xem thông tin truyền của các ứng dụng: C:\Snort\bin\> snort -vd -i
Trang 35Hiển thị thêm các header của gói tin: C:\Snort\bin> snort -dev -i 1
Trang 36Tạo luật cảnh báo khi bên ngoài thực hiện PING đến máy chủ Snort
Tạo luật cảnh báo khi trong mạng có truy cập đến Website
Trang 37Tạo luật cảnh báo khi bên ngoài thực hiện NMAP đến máy chủ Snort
Tạo luật cảnh báo khi có truy xuất dịch vụ FTP với tài khoản user01
Trang 38Tạo luật cảnh báo khi trong mạng có tấn công SQL Injection
Trang 39Bài 5: Phân tích mã độc
Công cụ ProcessExplorer và TCPView v3.05
Trang 40Công cụ Resource Hacker
Resource Hacker là một chương trình chỉnh sửa resource dành cho các ứng dụng 32 bit và
64 bit của hệ điều hành windows Chương trình này bao gồm trình resource compiler và trình decompiler- cho phép xem và chỉnh sửa resource của một file thực thi (file*.exe,*.dll ) và các thư viện resource đã biên dịch(file *.res )
Sau đây là các bước để thay đổi giao diện của chương trình Unikey sử dụng Resource Hacker
1 Khởi động chương trình và chạy file Unikey.exe
Trang 41Sau khi mở file Unikey.exe chương trình sẽ xuất hiện giao diên
Bảng điều khiên bên trái cửa sổ là các resource của chương trình Unikey mà Resource Hacker cho phép ta can thiệp như
- Cursor Cursor Group: chứa các resource liên quan đến các biểu tưởng của con trỏ chuột
- Icon Icon group: chứa các resource liên quan đến cac biểu tượng chương trình
- Menu:chưa các resource liên quan đến menu chương trình
- Dialog: chứa các resource liên qua đến hộp thoại của chương trình
- Version info: chứa các resource leein quan đến phiên bản của chương trình
2 Thay đổi biểu tượng của chương trình
Trong phần này, ta sẽ thay đổi biểu tượng của chương trình Unikey được thực hiện khi
Trang 42Bước 1: Từ bảng điều khiển bên trái, chọn mục Group, một danh sách các biểu tượng của chương trình xuất hiện
Bước 2: chọn vào icon group có mã 101:1033, sau đó nhấn tổ hợp phím Ctrl + R mở hộp thoại thay đổi biểu tượng
Bước 3: Click vào Open file with new icon… để mở hộp thoại chọn biểu tượng mới cho chương trình Unikey Ở đây ta chọn biểu tượng giống trình duệ chrome, nhấn Open Tiếp tục click replace để thay đổi biểu tượng chương trình
Trang 43Bước 4: sau khi thay đổi, biểu tượng của icon group là mã 101:1033 thay đổi thành màu
đỏ đồng thời bảng điều khiển bên phải đã thay đổi biểu tượng mới Nhấn Save or Save As
để lưu lại file Unikey đã thay đổi File được lưu với tên Unikey+mod.exe để so sánh với phiên bản cũ
Trang 44Bước 6: Kiểm tra kết quả ở mành hình Desktop
Trang 45Bước 7: Chạy thử chương trình sau khi chỉnh sửa, kết quả biểu tượng Unikey trước đây đã
bị thay thế bởi biểu tượng Chrome
Trang 46
Các công cụ phân tích mã độc khác
PE Studio
Exeinfo PE
Trang 47PPEE (Puppy)
Trang 48Bài 7: Dịch ngược mã nguồn và tìm password
Phân tích chương trình Easy_CrackMe.exe
Nhấn F9 để chạy chương trình, sau đó gõ thử password là 12345
Nhận thấy string thông báo của chương trình là : ”Incorrect Password” và thông báo được
đưa ra bởi 1 message box
Trang 49Nháy nút phải chuột, xuất hiện menu, chọn Search for
Double click vào chuỗi “Incorrect Password” để tìm đến đoạn mã chứa chuỗi đó
Ta thấy có 2 trường hợp thông báo: 1 là thông báo sai password “Incorrect Password”, 2 chắc là thông báo password đúng “Congratulation !!”
Trang 50Câu lệnh đầu tiên của đoạn code in ra thông báo “Incorrect Password” tại địa chỉ
0x00401135 Go to địa chỉ 0x004010B5
Để ý đến câu lệnh ở địa chỉ 0x004010AA có comment: getDlgItemTextA – lấy 1 đoạn dữ
liệu từ 1 dialog box → có thể đây chính là câu lệnh thực hiện nhiệm vụ đọc password ta nhập vào
Ấn F2 để đặt breakpoint tại địa chỉa 0x004010AA và chạy lại chương trình Nhập
password rồi ấn nút “??” Chương trình dừng tại 0x004010AA
Ấn F8 để chạy qua hàm getDlgItemTextA Kết quả như sau:
Trang 51Quan sát Stack, password ta nhập vào “12345” đã được đưa vào stack bắt đầu tại địa chỉ 0x0012FA18
Câu lệnh: 004010B0 CMP BYTE PTR SS:[ESP+5], 61 thực hiện so sánh giá trị tại địa
chỉ ESP+5 và 0x61 [ESP+5] là ký tự thứ 2 trong password ta vừa nhập vào
Tiếp theo: 004010B5 JNZ SHORT Easy_Cra.00401135
Sau câu lệnh CMP, nếu 2 giá trị được mang ra so sánh mà khác nhau, cờ ZF vẫn mang giá trị 0 và lệnh JNZ được thực hiện, đoạn code thông báo “Incorrect Password” sẽ được thực hiện và bật ra thông báo Như vậy bước kiểm tra đầu tiên để password được chấp nhập thì thì ký tự thứ 2 của password là ký tự có mã 0x61, tức là kí tự “a” Ghi nhớ và sửa cờ ZF=1
để tiếp tục
F7 để tiếp tục thực hiện chương trình đến câu lệnh:
004010C3 CALL Easy_Cra.00401150
Thì dừng lại và quan sát Stack
2 chuỗi “345”, “5y” và giá trị 0x02 được đẩy vào stack trước khi thực hiện lệnh CALL
Trang 52thực hiện công việc so sánh 2 ký tự thứ 3 và 4 của password với chuỗi “5y” Như vậy ta
có 3 ký tự thứ 2, 3, 4 của password là “a5y” Tiếp tục sửa cờ ZF để vượt quá câu lệnh
004010CD JNZ SHORT Easy_Cra.00401135
Tiếp tục so sánh các ký tự từ thứ 5 trở đi đến hết password với chuỗi “R3versing”
Như vậy ta có password có dạng “xa5yR3versing” với ký tự đầu tiên chưa tìm ra Restart lại chương trình và nhập vào password có dạng như trên Dừng lại ở câu lệnh:
0040110D CMP BYTE PTR SS:[ESP+4], 45
So sánh ký tự đầu tiên của password với ký tự “E” Vậy password chính xác là
“Ea5yR3versing”
Trang 53Bài 8: Windows Server Firewall
1 Từ giao diện Server Manager Nhấp vào menu Tools và chọn Windows Firewall with Advanced Security
2 Chọn Windows Firewall Properties, tính năng cho phép truy cập để sửa đổi các thiết lập cho ba chế độ firewall; Domain, Private và Public
Trang 54Tùy chỉnh cho phép mức độ kiểm soát lưu lượng truy cập vào và ra máy chủ Windows Server 2012
1 Mở Server Manager từ thanh tác vụ, nhấn vào menu Tools và chọn Windows
Firewall with Advanced Security
2 Chọn một trong hai Inbound Rules hoặc Outbound Rules dưới Windows Firewall with Advanced Security ở phía bên trái của giao diện điều khiển quản lý Inbound Rules
sẽ liệt kê những điều khiển các kết nối gửi đến máy chủ Còn nút Outbound Rules điều
khiển các kết nối gửi đi được tạo bởi máy chủ
3 Từ Action bên phải của một trong hai Inbound Rules hoặc Outbound Rules
-> New Rule (cách mở port trên firewall)
Trang 554 Chọn Port từ Rule Type Radial button -> next
5 Tuỳ chọn loại giao thức trong protocol and Ports và bấm Next (sử dụng giao thức TCP trên cổng 80 (HTTP).)
Trang 566 Click Allow the connection (Chọn một hành động để đưa vào phù hợp với lưu lượng truy cập) -> Next
Trang 577 Check chọn cho phép firewall rule: Domain, Private, Public -> Next
Trang 58Ghi mô tả vào Name và Description -> Finish
Trang 59Mở giao thức ICMP cho phép ping trên Windows
Để mở Rule cho gói ICMP ta mở Windows Firewall -> Advanced setting -> chọn Inbound
Rules
Tiêp tục chọn New rule trong mục Actions -> trong của sổ New Inbound
Rule chọn Custom rồi nhấn Next
Trang 60Chỉ định chương trình chịu tác động
Trang 61Ở đây chúng ta chọn ICMPv4 nếu dùng mạng IPv4 hoặc ICMPv6 nếu dùng IPv6 Sau khi chọn xong, nhấn Next để tiếp tục
Trang 62Thêm địa chỉ IP bị tác động
Trang 64Sử dụng firewall để block dải đại chỉ IP
Trang 698 Tạo quy tắc gửi đến, chỉ cho phép lưu lượng truy cập cho chương trình Windows Messenger từ các máy tính trên cùng mạng con với máy tính cục bộ
9 Tạo quy tắc chỉ cho phép lưu lượng truy cập mạng Windows Messenger bên trong nếu kết nối từ máy tính từ xa được xác thực bằng cách sử dụng quy tắc bảo mật kết nối riêng
10 Thêm quy tắc gửi đến không có bảo mật đóng gói cho messenger.exe
11 Add an outbound rule for port 80
12 Thêm quy tắc gửi đến yêu cầu bảo mật và mã hóa cho lưu lượng truy cập cổng TCP 80
13 Thêm quy tắc gửi đến cho messenger.exe và yêu cầu bảo mật
14 Thêm quy tắc bỏ qua tường lửa được xác thực cho nhóm acmedomain \ scanners được xác định bởi chuỗi SDDL
Trang 70udp-17 Tạo quy tắc cho phép lưu lượng TCP được gửi đến cổng 12345 và phạm vi cổng 5000-5020 đến một ứng dụng cụ thể từ các máy tính ở phía xa của thiết bị cạnh (NAT), sử dụng giao diện Teredo IPv6
18 Kích hoạt kết nối máy tính từ xa: Một trong những điều đầu tiên tôi làm với hầu hết các hệ thống máy chủ tôi thiết lập là bật Kết nối máy tính từ xa để quản
lý hệ thống từ xa dễ dàng Mở Windows Firewall cho kết nối máy tính từ xa
21 Open TCP Port 139 inbound and outbound
22 Open Port in Firewall using Command Line