Ghidra, một bộ công cụ thiết kế ngược của NSA

ghydra

Trong hội nghị RSA, Cơ quan An ninh Quốc gia Hoa Kỳ (NSA) đã công bố mở quyền truy cập vào bộ công cụ phân tích ngược “Ghidra” , bao gồm một trình dịch ngược tương tác hỗ trợ dịch ngược mã C và cung cấp các công cụ mạnh mẽ để phân tích các tệp thực thi.

Dự án này đã được phát triển trong gần 20 năm và đang được các cơ quan tình báo Hoa Kỳ tích cực sử dụng để xác định các dấu hiệu nhận dạng, phân tích mã độc hại, nghiên cứu các tập tin thực thi khác nhau và phân tích mã đã biên dịch.

Về khả năng, sản phẩm này tương đương với phiên bản mở rộng của gói phần mềm độc quyền IDA Pro , nhưng được thiết kế dành riêng cho phân tích mã và không bao gồm trình gỡ lỗi.

Mặt khác, Ghidra hỗ trợ dịch ngược thành mã giả giống C (trong IDA, tính năng này có sẵn thông qua các plugin của bên thứ ba), cũng như các công cụ mạnh mẽ hơn để phân tích đồng thời các tệp thực thi.

Các tính năng chính

Trong bộ công cụ thiết kế ngược Ghidra, chúng ta có thể tìm thấy những điều sau:

  • Hỗ trợ nhiều bộ hướng dẫn bộ xử lý và định dạng tệp thực thi.
  • Phân tích hỗ trợ tệp thực thi cho Linux, Windows và macOS.
  • Nó bao gồm một trình tháo gỡ, một trình hợp dịch, một trình dịch ngược, một trình tạo đồ họa thực thi chương trình, một mô-đun để thực thi các tập lệnh và một bộ lớn các công cụ phụ trợ.
  • Khả năng thực hiện ở các chế độ tương tác và tự động.
  • Hỗ trợ plug-in với việc triển khai các thành phần mới.
  • Hỗ trợ tự động hóa các hành động và mở rộng chức năng hiện có thông qua kết nối các tập lệnh bằng ngôn ngữ Java và Python.
  • Sẵn có kinh phí để làm việc theo nhóm của các nhóm nghiên cứu và điều phối công việc trong quá trình thiết kế ngược các dự án rất lớn.

Điều thú vị là, chỉ vài giờ sau khi Ghidra được phát hành, gói phần mềm này đã phát hiện ra một lỗ hổng trong việc triển khai chế độ gỡ lỗi (mặc định bị vô hiệu hóa), chế độ này mở cổng mạng 18001 để gỡ lỗi ứng dụng từ xa bằng cách sử dụng JDWP (Java Debug Wire Protocol).

Theo mặc định, các kết nối mạng được thiết lập trên tất cả các giao diện mạng khả dụng, thay vì chỉ 127.0.0.1 , cho phép bạn kết nối với Ghidra từ các hệ thống khác và chạy bất kỳ mã nào trong ngữ cảnh ứng dụng.

Ví dụ: bạn có thể kết nối với trình gỡ lỗi và hủy thực thi bằng cách đặt một điểm ngắt và thay thế mã của bạn để thực thi thêm bằng lệnh "in mới", chẳng hạn như »
in mới java.lang.Runtime (). execute ('/ bin / mkdir / tmp / dir') ».

Ngoài ra, người ta cũng có thể thấy sự ra mắt của phiên bản được sửa đổi gần như hoàn toàn của trình dịch ngược tương tác mã nguồn mở REDasm 2.0.

Chương trình có kiến ​​trúc có thể mở rộng cho phép bạn kết nối trình điều khiển để có thêm bộ hướng dẫn và định dạng tệp dưới dạng mô-đun. Mã dự án được viết bằng C ++ (giao diện dựa trên Qt) và được phân phối theo giấy phép GPLv3. Hoạt động được hỗ trợ trên Windows và Linux.

Gói phần mềm cơ bản tương thích với các định dạng firmware PE, ELF, DEX (Android Dalvik), Sony Playstation, XBox, GameBoy và Nintendo64 . Các tập lệnh được hỗ trợ bao gồm x86, x86_64, MIPS, ARMv7, Dalvik và CHIP-8.

Trong số các tính năng, chúng ta có thể kể đến hỗ trợ trực quan hóa tương tác theo kiểu IDA, phân tích ứng dụng đa luồng , xây dựng biểu đồ tiến độ trực quan, công cụ xử lý chữ ký số (hoạt động với các tệp SDB) và các công cụ quản lý dự án.

Làm thế nào để cài đặt Ghidra?

Đối với những ai quan tâm đến việc cài đặt bộ công cụ phân tích ngược “Ghidra” này , họ cần biết rằng phải có ít nhất những thứ sau:

  • GB RAM 4
  • 1 GB cho bộ nhớ Kit
  • Đã cài đặt Java 11 Runtime và Development Kit (JDK).

Để tải Ghidra, bạn cần truy cập trang web chính thức của trò chơi. Link tải ở đây.

Sau khi hoàn tất các bước trên, bạn chỉ cần giải nén gói đã tải xuống và bên trong thư mục đó bạn sẽ tìm thấy tệp “ghidraRun”, tệp này sẽ chạy bộ công cụ.

Nếu bạn muốn tìm hiểu thêm, bạn có thể truy cập vào liên kết sau.


Thêm vào danh sách nguồn ưu tiên trên Google.