it-swarm-vi.com

Làm thế nào để xem một tệp PDF độc hại một cách an toàn?

Tôi có PDF với thông tin quan trọng có thể chứa phần mềm độc hại. Cách tốt nhất để xem nó là gì?

43
user11101

Khai thác dựa trên tài liệu không hướng vào chính tài liệu, mà là một số lỗ hổng trong trình xem. Nếu bạn xem tài liệu trong một chương trình không dễ bị tổn thương (hoặc trong cấu hình có tác dụng ức chế lỗ hổng), thì bạn sẽ không bị khai thác.

Vấn đề thực sự là biết người xem của bạn có dễ bị tổn thương hay không, điều này thường có nghĩa là biết cụ thể việc khai thác là gì. Nhưng có những người xem thay thế PDF như người xem tích hợp hoặc thậm chí là người xem tích hợp của Google chrome không nhất thiết phải có lỗ hổng tương tự như trình xem chính thức của Adobe. Điều này không nhất thiết đúng với tất cả lỗ hổng, vì vậy điều quan trọng là phải hiểu những gì bạn đang đi trước thời hạn.

CHỈNH SỬA
[.__.] Nếu bạn thấy mình thường xuyên phải đối phó với các tài liệu độc hại tiềm tàng, sẽ rất khôn ngoan khi thiết lập một môi trường ảo cứng. Tôi khuyên bạn nên khởi động vào hệ thống Linux và chạy HĐH đích (thường là Windows) trong Virtualbox hoặc môi trường tương tự. Lưu ảnh chụp nhanh của hệ điều hành ảo và sau đó trở lại ảnh chụp nhanh đó sau khi bạn hoàn thành tương tác với nội dung độc hại. Ngoài ra, việc chạy môi trường Host Linux từ cài đặt chỉ đọc (tức là Live-CD) không phải là ý tưởng tồi.

31
tylerl

Đặt nó thông qua trình xem PDF không dễ bị khai thác. Nếu là người xem của người khác, điều đó thậm chí còn an toàn hơn. Hãy thử Google Docs , nơi họ sẽ phân tích cú pháp và hiển thị dưới dạng HTML, do đó, tải trọng độc hại sẽ không gây hại cho bạn. (Tôi chắc chắn rằng trình phân tích cú pháp PDF của họ cực kỳ an toàn, vì vậy bạn không nên cảm thấy tồi tệ về việc có thể lây nhiễm cho họ. )

18
B-Con

Sử dụng pdf.js với trình duyệt hộp cát (như Chromium) trong máy ảo không có truy cập mạng.

Nó là khá khó khăn cho một phần mềm độc hại để thoát khỏi điều này.

7
ysdx

Trong tình huống này, tôi đã luôn sử dụng lệnh "chuỗi" Unix/Linux/OSX Shell. Trên các hệ thống * nix, hãy làm điều này:

strings ScaryFile.pdf | less

Bạn cũng có thể nhận được "chuỗi" cho Windows, như được đề cập bởi Polynomial, bên dưới. Bạn có thể tải xuống tại đây . Chạy trên XP trở lên. Dưới đây là ví dụ về việc sử dụng nó trên Windows:

strings ScaryFile | findstr /i TextToSearchFor

Nhưng đối với phần còn lại của câu trả lời của tôi ở đây tôi sẽ cho rằng bạn đang sử dụng * nix, vì đó là kinh nghiệm của tôi với chuỗi. Giả sử tất cả những gì bạn đang tìm kiếm là nội dung văn bản (không phải bitmap hoặc đồ họa vector), bạn có thể cuộn xuống hoặc tìm kiếm và tìm các bit của văn bản bạn cần. Thật không may, để tìm thấy nó, bạn phải lội qua hàng tấn siêu dữ liệu, hầu hết trong số đó là XML và định dạng cài đặt trong một số đánh dấu khác, cộng với một số nhị phân (như ascii, không phải byte thô). Vì vậy, bạn có thể muốn sử dụng các khả năng tìm kiếm của lệnh "less". Để tìm kiếm tài liệu cho chuỗi phân biệt chữ hoa chữ thường "thingyouwant", hãy sử dụng phím gạch chéo + chuỗi của bạn + return:

/thingyouwant

Sau đó nhấn phím "n" để xem phiên bản tiếp theo của "thingyouwant", lặp đi lặp lại cho đến khi bạn tìm thấy những gì bạn muốn. Bạn có thể dùng "?" chìa khóa để làm điều tương tự theo hướng đi lên. Xem trang ít người hơn (gõ "man less") để biết thêm phép thuật.

Bạn cũng có thể phân tích những thứ như URL mà tài liệu liên kết đến:

strings ScaryFile.pdf| grep -i "http" | sort | uniq | less

Nhưng, như đã nêu ở trên, 99% những gì bạn sẽ thấy từ đầu ra của "chuỗi" sẽ là cài đặt siêu dữ liệu và định dạng.

6
Luke Sheppard

Sử dụng một máy ảo có thể được hoàn nguyên để làm sạch đá phiến sau khi kiểm tra. Nếu trình đọc PDF dễ bị tổn thương, máy trạm thực sự của bạn sẽ ít bị ảnh hưởng hơn.

6
user65388

Một cách đơn giản và dễ hiểu để mở các tệp PDF độc hại có thể có trên máy tính Windows là sử dụng trình xem Sumatra PDF. Sumatra là một trình xem nhỏ, nhẹ PDF không hỗ trợ bất kỳ hình thức tương tác hoặc javascript nào trong các tệp PDF.

Sumatra cũng có tùy chọn cấu hình để khóa nó hơn nữa , chẳng hạn như ngăn chặn hệ thống tệp hoặc truy cập internet.

Định dạng tệp PDF có nhiều tính năng tương tác nhằm làm cho định dạng này hữu ích hơn, nhưng tạo ra rủi ro bảo mật đáng kể, bao gồm: - Việc sử dụng javascript để cung cấp nội dung tương tác , cho phép tự động hóa giao diện người dùng - Khả năng tương tác với cục bộhệ thống tệp - khả năng gửi yêu cầu HTTP đến máy chủ từ xa - khả năng thực hiện tải trọng của tệp đính kèm tùy ý, bao gồm cả phần mềm độc hại - khả năng trình bày dạng có thể điền cho người dùng, sau đó nắm bắt và hành động dựa trên thông tin được điền trong các khả năng này kết hợp với nhau tạo thành một bộ công cụ mạnh mẽ cho kẻ tấn công. Nhiều cuộc tấn công được gọi là "tải xuống theo ổ đĩa" phụ thuộc vào việc sử dụng các tệp PDF.

Common PDF người xem cố gắng cung cấp sự an toàn cho các tính năng này bằng cách tạo môi trường hộp cát hoặc đưa ra lời nhắc cho người dùng, nhưng các giải pháp này đều phức tạp hơn (và do đó có lỗ hổng riêng của họ) và ít tương thích với các tính năng khác sản phẩm của các bên hơn là giải pháp đơn giản hơn chỉ đơn giản là loại bỏ hoàn toàn chức năng đó.

Sumatra là một ví dụ về trình xem PDF không cung cấp nhiều hàm được sử dụng phổ biến nhất trong PDF. Bằng cách loại bỏ hoàn toàn các loại tiềm năng các cuộc tấn công, các chương trình như vậy làm giảm đáng kể nguy cơ xem các tệp không xác định PDF.

Một lợi thế nữa của việc sử dụng một trình xem ít phổ biến hơn là bởi vì nó vừa ít phổ biến hơn vừa kém mạnh mẽ hơn, nó là một mục tiêu ít thú vị hơn.

Trình xem Sumatra có thể có thể bị khai thác bởi một chế tạo đặc biệt PDF, lợi dụng một số lỗi không xác định để gây ra lỗi tràn bộ đệm, chẳng hạn. Tuy nhiên, trường hợp như vậy rất hiếm khi xảy ra khai thác an ninh đáng kể cho Sumatra trong những năm gần đây.

4
barbecue

Các phiên bản mới nhất của Adobe Reader (phiên bản 10.1 trở lên) hỗ trợ "Chế độ được bảo vệ" hoặc hộp cát có thể được sử dụng để xem các tệp không tin cậy PDF. Điều này hạn chế quyền truy cập của quá trình hiển thị tệp PDF thành %appdata%\Adobe\Acrobat và các tệp PDF khác được người dùng mở rõ ràng.

Chế độ được bảo vệ phải được kích hoạt bằng cách vào menu Chỉnh sửa-> Tùy chọn và chọn tab Chung hoặc Bảo mật, tùy thuộc vào phiên bản:

enter image description here

Rõ ràng, bạn sẽ muốn đóng bất kỳ tệp PDF nhạy cảm nào như bảng sao kê ngân hàng của mình trước khi mở tệp không đáng tin cậy.

2
Dmitry Grigoryev

Một tùy chọn dễ dàng và ít tốn thời gian khác là mở nó trong ứng dụng Sandboxie, ứng dụng này sẽ cách ly nó.

1
Lee

Chúng ta có thể nói TẤT CẢ các cuộc tấn công trong tự nhiên hoặc bị nhắm mục tiêu bằng cách sử dụng độc hại PDF được bao phủ bằng các kỹ thuật che giấu để làm cứng quá trình phân tích hoặc phát hiện.

Hầu hết các kỹ thuật obfuscation chủ yếu sử dụng JavaScript obfuscation như eval (), String.fromCharCode (), argument.callee (), base64 và thậm chí với các giá trị khóa PDF như/Author,/Từ khóa,/CreationDate và v.v.

Chúng tôi có thể không thể xem nội dung của tệp PDF (những tệp nằm trong luồng đối tượng PDF) vì nó có thể bị xì hơi phổ biến với FlateDecode. Nhưng có các công cụ có sẵn để cho phép chúng tôi thổi phồng nội dung trong luồng đối tượng PDF, chẳng hạn như trình phân tích cú pháp pdf (http://blog.didierstevens.com/programs/pdf-tools/) và FileInsight ( http://www.McAfee.com/us/doads/free-tools/fileinsight.aspx). Hầu hết các mã JavaScript bị che khuất sẽ nằm trong luồng PDF.

Chúng tôi có thể khuyên bạn nên lấy phiên bản vá mới nhất của PDF có chức năng JavaScript đã tắt để mở tệp, nhưng giải pháp tốt là lấy một máy ảo nơi bạn có thể xóa hoặc hoàn nguyên ảnh chụp nhanh sau khi mở tệp.

1
d3t0n4t0r

Bạn có thể mở PDF trong một thùng chứa. Đây là hình ảnh docker bạn có thể sử dụng: https://hub.docker.com/r/chrisdaish/acroread/

MY_PDF_DIR='/tmp/foobar'
docker pull chrisdaish/acroread
docker run  -v $MY_PDF_DIR:/home/acroread/Documents:rw \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -e uid=$(id -u) \
        -e gid=$(id -g) \
        -e DISPLAY=unix$DISPLAY \
        --name acroread \
        chrisdaish/acroread

Điều này sẽ mở một Acrobat Reader sẽ hiển thị thông qua máy chủ X cục bộ.

Cách tiếp cận làm giảm bề mặt tấn công, nhưng không an toàn 100% vì nó có quyền truy cập vào máy chủ X của bạn.

1
Valer

Bạn có thể sử dụng kết hợp trình xem/HĐH ít phổ biến hơn. Tôi đoán không ai nhắm mục tiêu Okular chạy trên FreeBSD (mặc dù nó vẫn có thể bị tổn thương), vì vậy nếu bạn mở tệp trong a VM thì bạn sẽ rất an toàn.

Để làm hại tải trọng giả mạo phải phù hợp với phiên bản người xem và hệ điều hành và kiến ​​trúc CPU tất nhiên. Đây thực sự là công cụ lắp ráp và bộ nhớ cấp thấp (tải trọng dự kiến ​​sẽ được đặt tại một địa chỉ bộ nhớ cụ thể và dự kiến ​​sẽ có sẵn một số chức năng hệ thống tiêu chuẩn). Nếu bạn thay đổi bất kỳ trong số đó, thì tải trọng có thể không thực thi đúng (hoặc người xem có thể đơn giản gặp sự cố mà không gây hại).

0
filo