Lập trình virus bằng ngôn ngữ assemble

11 666 0
Lập trình virus bằng ngôn ngữ assemble

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình Virus ngôn ngữ assemble FRIDAY, 23 NOVEMBER 2007, 13:58:53 Bạn có muốn trở thành VXer? Mục đích muốn giới thiệu cho newbie cách viết VR Yêu cầu trước hết biết lập trình ASM Đoạn không hướng dẫn bác tự mua sách học lấy Tôi không đưa dạng lệnh đâu Làm hết tính sáng tạo người Chúng ta định nghĩa Xin lỗi chua thêm câu: suy nghĩ kỹ thực hành, không chịu trách nhiệm bác làm Bạn có muốn trở thành VXer? Mục đích muốn giới thiệu cho newbie cách viết VR Yêu cầu trước hết biết lập trình ASM Đoạn không hướng dẫn bác tự mua sách học lấy Tôi không đưa dạng lệnh đâu Làm hết tính sáng tạo người Chúng ta định nghĩa Xin lỗi chua thêm câu: suy nghĩ kỹ thực hành, không chịu trách nhiệm bác làm BÀI 1: VR gì? E hèm khó thực tế VR HẾT SỨC ĐA DẠNG Tuy nhiên ta định nghiã nôm na VR đoạn code có khả tự chép, nhân (không với trojan ) VR nằm tệp khả thi (executable files) COM EXE, boot sector, MBR Chọn ngôn ngữ lập trình Thông thường VR xây dựng Assembler không thiết VR thực tế xây dựng Pascal, C, VB chí có VR viết tệp BAT Tuy khuyên nên chọn ASM với lý sau: Kích thước nhỏ: ngôn ngữ ASM cho ta khả lập trình với kích thước nhỏ Đây đặc tính quan VR Bằng ASM ta bớt nhiều code không cần thiết trùng lặp trình biên dịch ngôn ngữ bậc cao sinh Trong trình tối ưu mã code ta tối ưu đến byte mã lệnh Lựa chọn lệnh có kết với kích thước nhỏ Khả kiểm soát: Ta kiểm soát lệnh, move code từ vị trí sang vị trí khác, vừa chạy vừa patch code ( patch on-the-fly ) Mã hoá code phần Tính linh hoạt: ưu điểm mạnh ASM lập trình Là ngôn ngữ phi cấu trúc, khả sáng tạo ASM không bị giới hạn Cuối nhiều VR không hoàn toàn chương trình (boot VR chẳng hạn) nên chẳng có lý để chọn ngôn ngữ bâc cao bạn lười Một Vxer cần có Như vậy, trang bị cho chút kiến thức ASM ta bắt tay với vài công cụ tối thiểu sau: Chương trình dịch ASM Bạn chọn TASM, MASM chương trình dịch tuỳ thích Nói chung với tasm 3.1 đủ với dos VR Chương trình link Có thể Tlink link.exe Một tool debuger Có nhiều lắm, debug, symdeb (dos) softice, win32dasm (win) Một chương trình soạn text (quickedit, notepad, utraedit ) Kiếm vài mẫu VR bản, đừng VR phức tạp không bạn mệt mỏi debug thuật toán mã hoá vượt qua đống mã anti-debug Kiếm vài cô cổ LittleGirl, onehalf Tool dump nhớ Nếu sài tạm chức debuger Bảng tra cứu ngắt vài lập trình hệ thống dùng tech-help Chương trình diệt VR (các AV xịn BKAV đâu) để kiểm tra xem VR bạn thực tàng hình trước kiểm tra heuristic chưa Email cần giúp đỡ Còn không nhỉ? Thôi tạm Có điều Vxer nên ghi nhớ KHÔNG MÁY MÓC Bạn biết làm VR đừng máy móc theo dập khuôn Sáng tạo kỳ quặc VR bạn nguy hiểm Đảo code thoải mái miễn đạt kết Nghĩ nhiều tips & trịck tốt Tôi hy vọng giới thiệu đủ VR file dos, boot VR, VR file win, VR file Linux, trojan cuối VR nhiều hệ điều hành DOS-WIN-UNIX Ta bắt đầu với VR file đơn giản Một VR file thường làm gì: Mở file cần lây nhiễm Kiểm tra xem nhiễm chưa Nếu bỏ qua Lưu ngày file Lưu đoạn code đầu chương trình (COM) header (EXE) Nhét lệnh nhảy tới VR ta đè lên code lưu (COM) sửa header (EXE) để VR bắt đầu trước chương trình gốc Nối thêm VR ta vào file Cập nhật ngày tháng cũ OK, ta có VR đơn giản Tôi phân tích mục phần sau Thực có loại VR tồi tệ overwriting VR VR thường ghi đè lên tệp gốc dẫn đến què quặt liệu Bạn định tranh luận với có nhiều hình thức lây lan khác ư? Tôi biết cho newbie đừng quên điều Tiếp tục nhá, thao tác khác VR làm gì: Thường trú: Nhiều người nghĩ VR phải thường trú không hẳn Chính không liệt thao tác vào nhóm thao tác thường làm Lây nhiễm: Một VR lây nhiễm nhiều cách (ở lây nhiễm tệp khả thi) qua files, email boot sector (đĩa mềm), macro Nạn nhân chạy file lây nhiễm mà Alê hấp, VR nắm quyền điều khiển Nắm quyền điều khiển: Một VR chạy ta làm điều ta muốn Phát huy trí tưởng tượng thoải mái Bạn lấy thông tin nạn nhân (trojan hay làm) từ pwd email đến thư tình chí mở backdoor để điều khiển máy tính từ xa Phá hoại: Một nắm quyền điều khiển, bạn phá hoại bạn thích phá Theo nhận xét tôi, phá hoại hình thức beginner thích làm Nó thất đức, tất nhiên có VR hoàn toàn không phá hoại Một vài kỹ thuật nâng cao phân tích thêm viết là: ARMOURING: chống debug disassembler Đây kỹ thuật tự bảo vệ cho VR (xem thêm kỹ thuật lập trình VR) Tôi cung cấp chi tiết cho bạn số cách bẫy ngắt lạ (int 1, int 0, int ), đánh lừa stack, đặt điểm dừng (break points), fetch code on-the-fly STEALTH: có số thuật toán hay ( FCB, Handles, SFT, tự tháo gỡ ) Các kỹ thuật nhằm làm nạn nhân thấy tệp tin chưa bị nhiễm Nó trả kích thước chuẩn nạn nhân rờ đến chí tự tháo gỡ VR khỏi tệp nạn nhân mở file Tôi trình bày kỹ FCBStealth, SFTStealth, Handle stealth Tự tháo gỡ bạn tự làm ENCRYPTION: trình bày vài cách mã hoá đơn giản thông dụng VR thường mã hoá code giải mã chạy POLYMORPHISM: Đa hình kỹ thuật tự thay đổi code mã hoá nhằm tạo nhiều phiên tốt Tự thay đổi liên tục chức sinh tồn ANTI-HEURISTIC: Thuật toán chống tìm kiếm hueristic (xem thêm Kỹ thuật lập trình VR) TUNNELING: kỹ thuật bẫy ngắt ANTI-TUNNELING: Cách giữ ngắt cho riêng mình, tránh AV VR khác ANTI-BAIT: Điều cần tránh lây nhiễm (xem thêm kỹ thuật lập trình VR) OPTIMIZATION: Một số kinh nghiệm tối ưu code Tôi có ý định trình bày kỹ lập trình VR từ loại VR COM/EXE không thường trú DOS, VR có thướng trú, boot VR sang win/unix nhằm tạo cho bạn nắm kiến thức trước Tuy nhiên thấy số bạn quan tâm tới kỹ thuật nhiều cắt ngắn chương trình đào tạo Tôi có ý định trình bày kỹ lập trình VR từ loại VR COM/EXE không thường trú DOS, VR có thướng trú, boot VR sang win/unix nhằm tạo cho bạn nắm kiến thức trước Tuy nhiên thấy số bạn quan tâm tới kỹ thuật nhiều cắt ngắn chương trình đào tạo Chúng ta phân tích nhanh VR file COM DOS để lấy khái niệm sau vào VR win unix Sau bạn tự thực hành trở thành VXer, bạn muốn nâng cao trình độ thảo luận kỹ thuật nâng cao Kỹ thuật lập trình VR Như ta phân tích trước, VR COM làm thao tác nối (append) vào chương trình nạn nhân Yêu cầu VR nắm quyền kiểm soát trước chương trình gốc chạy Chính VR thay đổi code đầu chương trình gốc để tạo lệnh nhảy xuống đoạn mã VR nối thêm Sau VR chạy xong, đoạn mã gốc phục hồi VR trả lại quyền điều khiển để chương trình gốc chạy bình thường Chính nạn nhân ung dung hút thuốc làm việc bình thường mà máy tính nhiễm VR Hình vẽ sau mô tả hoạt động VR Tôi muỗn đưa nhiều hình vẽ minh hoạ làm nào, bạn xem tạm |Jump VR| - -| File | + |Virus | ===>|File | - - |Virus | Tất nhiên bạn dễ dàng nhận có cách khác đẩy chương trình gốc sau VR theo dạng - -| File | + |Virus | ===>|Virus | - - |File | Tuy nhiên cách thường không sử dụng chạy chậm nhiều Tổng kết khái niệm là: VR tệp tin sau lây nhiễm hợp làm một, VR nắm quyền điều khiển chương trình chạy trước, chương trình gốc trả lại nguyên vẹn chạy sau VR kết thúc Dựa nguyên tắc cách trình bày phương pháp thực bạn sáng tạo tuỳ theo ý để đạt mục đích Sơ đồ sau diễn giải tệp COM trước sau lây nhiễm: Bat dau ct | -| | | | Ma dau ct cu | | | Ma jump cho VR | | | -| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| | | | | | >| Ma dau ct cu | | | | | | |[...]...1 Tập viết một chương trình bằng ASM hiển thị tất cả các tệp *.com trong thư mục hiện hành và gốc c:\ 2 Viết một chương trình nối một đoạn mã vào một tệp 3 Hãy nghiên cứu và trả lời các câu hỏi sau: - Thông thường kích thước tốii đa của một tệp com trên dos là bao nhiêu - ... điểm mạnh ASM lập trình Là ngôn ngữ phi cấu trúc, khả sáng tạo ASM không bị giới hạn Cuối nhiều VR không hoàn toàn chương trình (boot VR chẳng hạn) nên chẳng có lý để chọn ngôn ngữ bâc cao bạn... thuật lập trình VR Như ta phân tích trước, VR COM làm thao tác nối (append) vào chương trình nạn nhân Yêu cầu VR nắm quyền kiểm soát trước chương trình gốc chạy Chính VR thay đổi code đầu chương trình. .. trước Tuy nhiên thấy số bạn quan tâm tới kỹ thuật nhiều cắt ngắn chương trình đào tạo Tôi có ý định trình bày kỹ lập trình VR từ loại VR COM/EXE không thường trú DOS, VR có thướng trú, boot

Ngày đăng: 03/12/2015, 23:08

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan