Sử dụng Wireshark để phân tích gói tin trong hệ thống mạng

30/12/2020

Ở bài trước, mình đã hướng dẫn cách sử dụng Wireshark cơ bản để capture các gói tin, lọc ra các gói tin cần xem và làm việc với file pcap. Ở bài này mình sẽ làm các bài tập để thực hành cách sử dụng Wireshark để phân tích các gói tin bắt được với các yêu cầu cụ thể.

1. Chuẩn bị

Chỉ cần có Wireshark chạy trên một hệ điều hành bất kỳ. Nếu chưa có Wireshark trên máy của mình, bạn có thể tải về Wireshark phiên bản mới nhất tại đây.

Tải về file FTPlogin.pcapng, sau đó mở file FTPlogin.pcapng bằng Wireshark.

2. Bắt đầu

Giao diện khi mở 1 file chứa các gói tin bắt được trước đó hoặc khi bắt gói tin trực tiếp có 3 phần như sau :

  1. Packet List : Ở đây hiển thị các gói tin bắt được trên 1 card mạng, ở phần này mỗi gói tin là 1 dòng. Các gói tin được đánh số theo thứ tự lớn dần từ trên xuống dưới.
  1. Packet Details : Ở phần này mục đầu tiên cho biết dung lượng gói tin, mục thứ 2 cho biết các địa chỉ MAC, mục thứ 3 cho biết địa chỉ IP nguồn và đích, mục thứ 4 cho biết giao thức TCP port hoặc UDP port.
  1. Packet Bytes : Hiển thị dữ liệu dưới dạng hệ cơ số 16 và ASCII.

3. Tìm mật khẩu FTP

Tiếp tục thao tác với file FTPlogin.pcapng đã mở ở trên. Tại filter, nhập vào ftp để lọc ra các gói tin sử dụng giao thức ftp

Khi lọc ra các gói tin sử dụng ftp, ta có thể dễ dàng thấy được tài khoản và mật khẩu FTP.

4. Tìm mật khẩu HTTP

Tải về file httpLogin.pcapng, sau đó mở file httpLogin.pcapng bằng wireshark và làm như sau:

Sử dụng filter để lọc ra các gói tin sử dụng giao thức http

Sau đó kích vào gói tin số 49 như hình sau :

sau khi kích vào gói tin, hãy nhìn xuống mục Packet Details và kích vào dòng số 6 đó chính là phần form điền tài khoản và mật khẩu trên web.

Sau khi kích vào form, toàn bộ thông tin về tài khoản và mật khẩu đã hiện ra. Ta có thể dễ dàng thấy rằng user đăng nhập là Isaac và mật khẩu đăng nhập là Flapper

nhưng đó chỉ là các tài khoản và mật khẩu người dùng đã nhập vào chưa chắc đã là tài khoản dùng để đăng nhập. Ta xét tiếp các gói tin ngay sau gói tin đó, gói tin số 51 chứa status code là 200. Kích vào Line-based để xem chi tiết.

Sau khi kích vào Line-based ta thấy rằng đây là thông báo đăng nhập không chính xác. Như vậy là người dùng đã nhập sai tài khoản mật khẩu. Tiếp theo ta kiểm tra các gói tin tiếp theo để tìm kiếm gói tin chứa tài khoản và mật khẩu người dùng nhập chính xác.

Tiếp theo ta thấy gói tin số 66 cũng là gói tin chứa thông tin đăng nhập khi người dùng nhập vào form đăng nhập

Ta xem gói tin sau đó là gói tin số 68 cho biết đây cũng là thông tin đăng nhập không chính xác.

Chuyển sang gói tin số 84, ta sẽ thấy thông tin đăng nhập người dùng nhập vào như sau:

Kiểm tra gói tin chứa mã trạng thái, gói tin số 86 thì ta thấy rằng thông tin đăng nhập đã được chấp thuận. Tức là người dùng sau nhiều lần thử đã đăng nhập thành công bằng user Isaac và password Slapper.

Tìm mật khẩu HTTP Basic Authentication

HTTP Basic Authen sử dụng Base64 để mã hóa mật khẩu trước khi truyền đi. Điều này không khác gì nhiều so với truyền đi 1 đoạn text thông thường vì wireshark sẽ tự động giải mã nó.

Tải xuống file BasicLogin.pcap để thực hành phần này.

Mở file BasicLogin.pcapng và sử dụng filter để lọc ra các gói tin sử dụng giao thức HTTP, sẽ được kết quả như dưới đây

Từ các gói tin trên, ta thấy rằng gói tin số 17 có mã là 401 tức là yêu cầu phải đăng nhập trước khi truy cập web.

Để tìm mật khẩu mà người dùng sử dụng để đăng nhập vào, ta xem gói tin tiếp theo, gói tin số 37 :

Tiếp theo kích vào giao thức HTTP

Ta thấy rằng có 2 trường là GET và Authorization, ta muốn xem mật khẩu đăng nhập HTTP Basic Authentication của WALDO nên ta sẽ kích vào Authorization.

Sau khi kích vào Authorization, ta đã thấy được mật khẩu của user WALDO là VERYSECURE

Kết luận

Như vậy mình đã hướng dẫn cách sử dụng wireshark để phân tích các gói tin dưới dạng các bài tập đi tìm mật khẩu của FTP và HTTP. Trên đây chỉ là 1 vài cách cơ bản về cách sử dụng Wireshark để kiểm tra, phân tích dữ liệu và các gói tin trong hệ thống mạng, còn rất nhiều thứ ta có thể làm với wireshark như kiểm tra các vấn đề bảo mật, hoặc có thể khai thác nhiều thông tin hơn nữa trên các gói tin bắt được.

Chúc các bạn thành công !

Tài liệu tham khảo :

https://bowneconsultingcontent.com/pub/EH/proj/H420.htm

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Install Python 3 on CentOS 7

In this article, I will show you how to install Python 3.x, mainly Python 3.4, Python 3.5, Python 3.6 along with PIP for...
28/12/2020

[Rsyslog] [ApacheLog] [LAB] [Phần 2] Hướng dẫn cấu hình đẩy Log Apache về Ryslog Server

Tiếp nối phần 1, ở phần 2 mình sẽ hướng dẫn 2 cách đẩy Log Apache về Server Log tập trung. ...
30/12/2020

LDAP [Phần 2] – Triển khai dịch vụ LDAP trên Onet Onet

Trong phần trước, Onet đã hướng dẫn các bạn triển khai LDAP trên CentOS 7. Trong bài này, mình sẽ...
30/12/2020