Professional Documents
Culture Documents
Lab4. Kỹ thuật phân tích gói tin
Lab4. Kỹ thuật phân tích gói tin
1. Lab FTP-authentication
Khôi phục lại password được sử dụng khi đăng nhập vào ftp server.
2. Lab Telnet-authentication
Tìm mật khẩu được sử dụng trong quá trình sử dụng Telnet.
3. Lab Ethernet-Patched transmission
Đề bài cho nội dung 2 gói tin: trong đó 1 gói tin đến và 1 gói tin đi. Sinh viên
cần phải điền nội dung những byte còn thiếu vào dấu ??.
(Gợi ý: một số dấu hiệu nhận biết 0x45- IPv4, 0x06-TCP, 0x02- ???, sv tự tìm
hiểu dựa trên phân tích 1 kết nối tcp trong file pcap có sẵn – vd như webpage.pcap
ở lab1).
Xem xét qua các stream khác một lượt không thấy có gì đặc biệt cho đến
stream 36. Tại đây ta thấy có quá trình truyền file từ client lên server. File này có
tên là Wh1t3H4T.zip
Tiếp tục phân tích Stream 37, chúng ta thấy Header PK…Đây là header của
rất nhiều các định dạng khác nhau như ZIP, JAR, DOC, PPTX
(http://www.garykessler.net/library/file_sigs.html). Tuy nhiên ở trên chúng ta nhận
định có 1 file Wh1t3H4T.zip được truyền nên chúng ta tiến hành trích xuất Stream
37 và lưu lại với tên Wh1t3H4T.zip. Bên trong file Wh1t3H4T.zip có chứa 1 file
flag.png.
Chọn Show and save data as “RAW” và sau đó click vào Save as… để lưu lại
file với tên Wh1t3H4T.zip
Thử tiến hành giải nén file zip chúng ta vừa thu được nhưng thấy thông báo
đòi mật khẩu để giải nén. Vậy ta phải tìm pass giải nén cho file zip này.
Tiếp tục thanh tra các stream không thấy gì đặc biệt cho đến stream 41, tại
stream này có sử dụng các kết nối SSL để mã hóa dữ liệu.
Thực hiện trích xuất chứng thư số được gửi bởi client và server.
Click vào Certificate chọn Export Packet Byte để trích xuất ra Certificate trao
đổi giữa client và server.
và lưu thành file có dạng public.der (Chuẩn X.509).
Sử dụng bộ công cụ OpenSSL trên Linux để xem thông tin chứa bên trong
chứng thư số mà ta thu được. Mã hóa RSA với public key 696 bit. Do đây là bài
tập mẫu nên chiều dài khóa chỉ có 696 bit. Trên thực tế để đảm bảo bảo mât, các hệ
thống thường dùng RSA 2048 bit.
Module được sử dụng có giá trị như trong hình
(BEF86C237C6AA1807256ED1A78E1F451BC49C5E80495FC2D06BB9A7764E
ED272A8CCBC490EEEF6D333243CEB87B907AA1C99D05479DF6F56AC779
26BC7C1BADE54845378C4DB13B8C098C42F3BCC4EB6A9CCE7C1559C1B).
Như trên hình chúng ta có thể thấy đã phân tích số nguyên tố của chúng ta có
chiều dài 210 bit ra thành tích của 2 số p và q có chiều dài 105 bit.
Sau khi thu được 2 số p và q, sử dụng công cụ rsatool
(https://github.com/ius/rsatool) để tính khóa mật được sử dụng. Để sử dụng rsatool,
trước tiên phải cài đặt thêm module gmpy.
Sử dụng rsatool để tính khóa bí mật dựa trên 2 số p, q đã biết và lưu lại thành
file private.key
Tiến hành giải mã SSL với private.key vừa tính được. Vào Edit > Preferences
> Protocol > SSL. Lưu ý địa chỉ IP được sử dụng ở đây là 192.168.146.1 và
192.168.146.137
Trong phần RSA key list chọn Edit > + rồi điền các giá trị tương ứng. Ví dụ
hàng đầu tiên sẽ giải mã các gói tin đến từ địa chỉ 192.168.146.1 trên cổng 443
thành http với khóa bí mật thu được ở trên.
So sánh nội dung luồng dữ liệu trước và sau khi giải mã. Trước:
Sau:
Sau khi giải mã gói tin ta có thể đọc được nội dung dưới dạng bản rõ. Gói tin
2293 có chứa một tập tin pass.txt.
Thực hiện trích xuất tập tin này bằng cách chọn File > Export Objects >
HTTP sau đó chọn file pass.txt cần trích xuất rồi save lại.