[Tutorial] Unpack

HustReMw

VIP Members
20/12/2016
251
544 bài viết
[Tutorial] Unpack
Chào các bạn, trong tutorial này mình sẽ giới thiệu về pack, unpack. Mục đích chính và cùng các bạn unpack các trình pack phổ biến hiện nay.

1704788079942.png

Dưới đây là toàn bộ khung chương trình của mình

1. Giới thiệu lý thuyết về pack và unpack
2. Thực hành unpack các trình pack phổ biến đến nâng cao
2.1. Unpack UPX (dễ)
2.2. Unpack ASP (dễ)
2.3 Unpack PSG (trung bình)
2.4 Unpack MEW (trung bình)
2.5 Unpack WinPack (trung bình)
2.6. Unpack PECompact(khó)
2.7. Unpack SLVcode (khó)
 
Chỉnh sửa lần cuối bởi người điều hành:
Chào các bạn, trong tutorial này mình sẽ giới thiệu về pack, unpack. Mục đích chính và cùng các bạn unpack các trình pack phổ biến hiện nay.

Dưới đây là toàn bộ khung chương trình của mình

1. Giới thiệu lý thuyết về pack và unpack
2. Thực hành unpack các trình pack phổ biến đến nâng cao
2.1. Unpack UPX (dễ)
2.2. Unpack ASP (dễ)
2.3 Unpack PSG (trung bình)
2.4 Unpack MEW (trung bình)
2.5 Unpack WinPack (trung bình)
2.6. Unpack PECompact(khó)
2.7. Unpack SLVcode (khó)

Phần I: Giới thiệu lý thuyết về Pack và Unpack

I.1. Pack là gì?
Pack là một phương thức nén, mã hóa file thực thi. Nhằm mục đích che dấu code và giảm kích thước file
Đối với các phần mềm chuẩn thường dùng pack để giảm kích thước file hơn là mục đích che dấu code.
Đối với virus thì hướng tới mục đích che dấu code, gây khó khăn trong quá trình dịch ngược.

I.2. Nguyên lý hoạt động của pack
Để có thể hiểu được nguyên lý về pack và unpack các bạn phải nắm rõ cấu trúc file PE.
Một file thực thi(PE file) sẽ có cấu trúc như sau (File trước khi pack):
upload_2017-9-13_2-13-4.png


Sau khi pack file lại thì chúng ta thành packed data
upload_2017-9-13_2-14-58.png


Cuối cùng, packed data sẽ được packer thêm vào một section trong một PE file do packer tạo ra.
upload_2017-9-13_2-16-2.png
 
Comment
Sao bài viết này không cập nhật hết kiến thức nhỉ
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Chào các bạn, trong tutorial này mình sẽ giới thiệu về pack, unpack. Mục đích chính và cùng các bạn unpack các trình pack phổ biến hiện nay.

Dưới đây là toàn bộ khung chương trình của mình

1. Giới thiệu lý thuyết về pack và unpack
2. Thực hành unpack các trình pack phổ biến đến nâng cao
2.1. Unpack UPX (dễ)
2.2. Unpack ASP (dễ)
2.3 Unpack PSG (trung bình)
2.4 Unpack MEW (trung bình)
2.5 Unpack WinPack (trung bình)
2.6. Unpack PECompact(khó)
2.7. Unpack SLVcode (khó)

Mình đã trở lại, lần này mình cùng với các bạn thử unpack một mẫu đào tiền ảo được pack bởi trình pack upx. Một trình pack rất phổ biến và cũng rất dễ unpack. Trình pack này rất hay được mã độc sử dụng.

Mẫu mình đã đính kèm. Pass là: whitehat nhé :D

Màn hình đầu tiên cho chúng ta thấy được các lệnh đặc trưng của trình pack rất hay có:
pushad, chúng ta để ý ngay bên dưới là vòng lặp giải mã
upload_2018-3-29_14-21-10.png


Lan man một hồi F7, F8 để chạy từng lệnh của vòng lặp giải mã, cuối cùng mình cũng break ra được. Nhảy được tới địa chỉ 4EE5AA mình nhận thấy nó gọi hàm LoadLibrary GetProAddress phần nào cũng đoán được đang lấy địa chỉ các API để phục vụ quá trình khôi phục file gốc.
upload_2018-3-29_14-25-38.png


Tiếp tục đi tiếp, mình nhận thấy bắt gặp lệnh popad, như vậy quá trình giải nén, giải mã file gốc đã hoàn thành, ngay bên lệnh popad là lệnh sub ep - 80, jmp 401500 đó chính là lệnh nhảy tới file gốc
upload_2018-3-29_14-49-11.png


Quá trình unpack đã thành công.
upload_2018-3-29_14-51-18.png


Cuối cùng ta dùng plugin của olly để dump file unpack được. File unpack mình cũng đã gửi bên dưới để các bạn thực hành và so sánh kết quả. Chúc các bạn thành công :D!
upload_2018-3-29_14-53-36.png


Tổng kết lại của trình pack upx là: Các lệnh đặc trưng của trình pack này: pushad, popad, sub ebp, jmp ....(địa chỉ EP của file gốc)
Mẫu + unpack: https://drive.google.com/file/d/136q5GN6Dv292ocfWAOwHlWt4J3ypYjt-/view?usp=sharing
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bạn ơi, có phần mềm kg a
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên