1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Keylogger - Kiểm thử xâm nhập mạng (có demo)

15 221 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 807,67 KB

Nội dung

Viết Keylogger ghi lại toàn bộ hành vi của người dùng https://www.youtube.com/watch?v=OS-YgOFuhL4 Sinh viên thực hiện: Nguyễn Hoàng Sơn B15DCAT141Nguyễn Hoàng Bảo Khánh B15DCAT101Nguyễn Thái Cường B15DCAT033Nguyễn Văn Đại B15DCAT037Nguyễn Duy Phong B15DCAT130

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN Học phần: Kiểm thử xâm nhập mạng Bài báo cáo: Keylogger theo dõi người dùng Giảng viên hướng dẫn: Sinh viên thực hiện: Nguyễn Hoàng Sơn Nguyễn Hoàng Bảo Khánh Nguyễn Thái Cường Nguyễn Văn Đại Nguyễn Duy Phong Hà Nội 2019 TS Nguyễn Ngọc Điệp B15DCAT141 B15DCAT101 B15DCAT033 B15DCAT037 B15DCAT130 MỤC LỤC LỜI MỞ ĐẦU I Giới thiệu kiến thức: Keylogger: 1.1 Keylogger gì? 1.2 Phân loại keylogger: 1.3 Cách hoạt động keylogger: Windows Hook: .5 2.1 Quy trình xử lý thơng điệp (message) Windows: 2.2 Hook gì? .5 2.3 Cơ chế hoạt động hook .6 2.4 Các loại hook (hook type) 2.5 Phạm vi Hook .9 2.6 Hook Prodecure .9 2.7 Các hàm API cần thiết .9 Marco Virus: 10 II Kịch công: 11 III Demo: 13 IV Phân chia công việc: 13 V Kết luận: 14 VI Tài liệu tham khảo: 15 LỜI MỞ ĐẦU Bảo mật bảo đảm an tồn thơng tin liệu vấn đề thời nhiều nhà khoa học tập trung nghiên cứu, chủ đề rộng có liên quan đến nhiều lĩnh vực Hiện có nhiều cách cơng để hacker lấy thông tin quan trọng người dùng, số phải kể đến keylogger I Giới thiệu kiến thức: Keylogger: 1.1 Keylogger gì? Keylogger phần mềm nhỏ gọn – đơi lúc nguy hiểm chí thiết bị phần cứng – với khả ghi lại phím bấm mà người dùng nhấn bàn phím Tổng hợp kết tổ hợp phím này, kẻ cài đặt keylogger thu tin nhắn cá nhân, nội dung email, số thẻ tín dụng dĩ nhiên nguy hiểm loại mật người dùng 1.2 Phân loại keylogger: Keylogger bao gồm hai loại, loại keylogger phần cứng loại phần mềm Báo cáo đề cập đến loại phần mềm Keylogger phần mềm phân loại theo loại theo mức độ nguy hiểm tăng dần:  Loại số 1: Keylogger loại bình thường; chạy cơng khai, có thơng báo cho người bị theo dõi, với mục đích giám sát  Loại số 2: Keylogger nguy hiểm; chạy ngầm, hướng đến mục đích thám nhiều giám sát (nguy hại đến thông tin cá nhân tài khoản cá nhân, mật khẩu, thẻ tín dụng người dùng khơng biết)  Loại số 3: Keylogger loại nguy hiểm; ẩn giấu hoàn toàn theo dõi phạm vi rộng, mục đích thám rõ ràng  Loại số 4: Keylogger nguy hiểm nghiêm trọng, thường mang theo trojan-virus khó tháo gỡ, loại keylogger nguy hiểm Chính (và đồng thời "đồng bọn" trojan-virus) thường hay bị chương trình chống virus tìm tiêu diệt Trong báo cáo demo, nhóm em làm loại số nguy hiểm nhất, lấy liệu người dùng, ẩn thân, get log, remote từ server hacker đồng thời bypass AV 1.3 Cách hoạt động keylogger: 1.3.1 Thành phần Keylogger: Thơng thường, chương trình keylogger gồm có ba phần chính:  Chương trình điều khiển (Control Program): dùng để theo điều phối hoạt động, tinh chỉnh thiết lập, xem tập tin nhật ký cho Keylogger Phần phần giấu kỹ keylogger, thơng thường gọi tổ hợp phím tắt đặc biệt   Tập tin hook, chương trình monitor dùng để ghi nhận lại thao tác bàn phím, capture screen (đây phần quan trọng nhất) Tập tin nhật ký (log), nơi chứa đựng/ghi lại toàn hook ghi nhận Ngồi ra, tùy theo loại có thêm phần chương trình bảo vệ (guard, protect), chương trình thơng báo (report)… 1.3.2 Cách thức cài đặt vào máy: Trong đa số trường hợp, keylogger malware cài đặt cách âm thầm lên máy người dùng sau thâm nhập thành công Nếu máy tính người dùng bị thâm nhập, đoạn mã độc mang sẵn chức phần mềm keylogger nhỏ gọn – hoạt động Trojan, tiến hành tải cài đặt gói keylogger cách âm thầm, chí kèm theo nhiều phần mềm độc hại khác Thường malware tự động thiết lập kênh để gửi thông tin mà keylogger thu cho “chủ nhân” Có thể nói keylogger công cụ tin tặc ưa chuộng chúng thu loại thông tin người dùng phương pháp 1.3.3 Cách hoạt động: Trong hệ thống (Windows, Linux, Mac…), bấm phím bàn phím, bàn phím chuyển thành tín hiệu chuyển vào CPU CPU chuyển tới hệ điều hành để hệ điều hành dịch thành chữ số cho chương trình khác sử dụng Nhưng hệ thống có keylogger, khơng có hệ điều hành theo dõi mà hook file/monitor program keylogger theo dõi ghi nhận dịch lại tính hiệu ghi vào tập tin nhật ký Đồng thời cịn theo dõi hình thao tác chuột Windows Hook: 2.1 Quy trình xử lý thông điệp (message) Windows: Đầu tiên kiện, hành động người dùng click chuột, gõ phím, … hệ điều hành chuyển kiện, hành động tương ứng thành thơng điệp (message) Sau Windows đẩy thơng điệp vào hàng đợi hệ thống (system queue) từ hàng đợi hệ thống thông điệp chuyển cho hàng đợi ứng dụng (application queue) Từ lúc này, ứng dụng lấy thông điệp hàng đợi ứng dụng để xử lý thơng qua vịng lặp chờ thơng điệp 2.2 Hook gì? Hook chế từ hàm chặn kiện (message, bàn phím, chuột, …) trước chúng gửi tới hàng đợi ứng dụng Các hàm thực số thao tác kiện vài trường hợp hồn tồn định nghĩa lại chí hủy bỏ kiện mà bắt Một điểm cần lưu ý hàm gọi Windows từ ứng dụng Windows hỗ trợ nhiều loại hook khác nhau, loại nhắm tới việc bắt chặn loại thơng điệp cụ thể Ví dụ, ứng dụng sử dụng WH_KEYBOARD để giám sát kiện ấn phím hệ thống Nhờ loại hook mà chương trình can thiệp vào tạo khả gõ Tiếng Việt soạn thảo văn Một loại hook khác WH_MOUSE cho phép theo dõi kiện liên quan tới hoạt động chuột 2.3 Cơ chế hoạt động hook Như nói trên, có nhiều loại hook (như chuột, bàn phím) hệ điều hành ln trì danh sách hook procedure cho loại Mỗi danh sách hook procedure gọi hook chain Bản chất hook chain dãy trỏ trỏ tới Hook procedure Khi hệ thống thực kiện đó, tìm kiếm hook chain tương ứng với kiện Nếu hook procedure phù hợp tìm thấy, hệ thống thực lấy lại quyền điều khiển hook chain kết thúc Vì hook procedure thực xong, phải thực việc chuyển quyền điều khiển cho hook procedure hook chain Tuy nhiên chế tùy thuộc vào nhiều loại hook Như số loại hook thực việc theo dõi thông điệp, cho dù hook procedure có chuyển quyền điều khiển cho hook procedure hay không, hệ thống tự động làm việc Hình 0.1 Hoạt động Hook Một điều lưu ý hook làm chậm hệ thống, nên cài đặt hook cần thiết loại bỏ hồn tất cơng việc 2.4 Các loại hook (hook type) Các loại hook Tác dụng Cho phép theo dõi thông điệp gửi WH_CALLWNDPROC tới window procedure (các cửa sổ WH_CALLWNDPROCRET windows) WH_CBT Hệ thống gọi hook WH_CBT trước kích hoạt, tạo, hủy, thu nhỏ, phóng to, di chuyển, thay đổi kích cỡ cửa sổ Windows, trước hồn thành lệnh hệ thống, trước xóa kiện chuột bàn phím khỏi hàng đợi hệ thống trước đồng hóa với hàng đợi hệ thống Giá trị mà hook trả xác định xem hệ thống có cho phép ngăn chặn hoạt động hay không Hệ thống gọi hook WH_DEBUG trước gọi hook procedure liên kết với WH_DEBUG hook hệ thống Hook sử dụng để xác định xem có cho phép hệ thống gọi hook procedure liên kết với hook khác hay không Hook cho phép ứng dụng theo dõi thông báo trả hàm GetMessage PeekMessage Có thể sử WH_GETMESSAGE dụng hook để giám sát đầu vào chuột hay bàn phím thông điệp khác gửi lên hàng đợi ứng dụng Hook cho phép ứng dụng chèn thông điệp vào hàng đợi hệ thống Có thể dùng WH_JOURNALPLAYBACK hook để lấy lại loạt kiện chuột vào bàn phím ghi lại trước cách sử dụng WH_JOURNALRECORD Hook cho phép theo dõi ghi lại WH_JOURNALRECORD kiện đầu vào Thơng thường sử dụng Các loại hook WH_KEYBOARD_LL WH_KEYBOARD WH_MOUSE_LL WH_MOUSE WH_MSGFILTER WH_SYSMSGFILTER Tác dụng hook để ghi lại kiện chuột vào bàn phím phát lại sau cách sử dụng hook WH_JOURNALPLAYBACK Hook cho phép theo dõi kiện bàn phím mà truyền vào hàng đợi Hook cho phép ứng dụng giám sát lưu lượng thông điệp cho thông điệp WM_KEYDOWN WM_KEYUP mà trả từ hàm GetMessage PeekMessage Có thể dùng hook để giám sát đầu vào bàn phím truyền tới hàng đợi Hook cho phép giám sát kiện đầu vào chuột truyền vào hàng đợi Hook cho phép theo dõi thông điệp chuột trả hàm GetMessage PeekMessage Có thể sử dụng hook để giám sát đầu vào chuột truyền hàng đợi Các hook cho phép theo dõi thông điệp xử lý menu, cuộn, hộp tin nhắn, hộp thoại, để phát cửa sổ khác kích hoạt người dùng tổ hợp phím ALT+TAB ALT+ESC Bảng 3.1 Các loại Hook 2.5 Phạm vi Hook Dựa theo hook ta cài đặt hook procedure có phạm vi cục (local hook/thread hook) toàn cục (global hook) Tất loại hook cài đặt để trở thành global hook Một số cho phép chọn lựa phạm vi hook dựa vào tham số hàm cài đặt (SetWindowsHookEx) - Local hook (thread hook): có ảnh hưởng phạm vi thread - Global hook: có ảnh hưởng tồn hệ thống Trường hợp này, hook procedure phải chứa thư viện DLL 2.6 Hook Prodecure Hook procedure loại “callback function” (hàm hồi quy) Hệ thống gọi hàm kiện, thông điệp tương ứng với loại hook Mỗi loại hook có hook procedure khác có tham số Với hook procedure khác việc xét giá trị tham số khác nhau: LRESULT CALLBACK HookProc (int nCode, WPARAM wParam, LPARAM lParam) - nCode: giá trị giúp xác định cách xử lý thông điệp Nếu nCode nhỏ 0, hook procedure gọi CallNextHookEx Ngược lại thực công việc xử lý trước gọi CallNextHookEx - wParam lParam: tùy theo loại hook có ý nghĩa khác Ví dụ bạn hook bàn phím wParam có giá trị phím nhấn, lParam chứa thơng tin số lần nhấn, phím tắt, trạng thái phím, … 2.7 Các hàm API cần thiết Để sử dụng hook, ta cần sử dụng hàm API cần thiết: - SetWindowsHookEx: cài đặt hook procedure vào hook chain HHOOK WINAPI SetWindowsHookEx (int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId) - idHook: loại hook (được liệt kê trên) - lpfn: trỏ đến hook procedure Nếu global hook tham số phải trỏ đến hook procedure DLL Ngược lại trỏ đến đoạn mã đóng vai trị hook procedure process - hMod: handle DLL chứa hook procedure Trong trường hợp local hook tham số đặt NULL - dwThreadId: định danh thread mà hook procedure gắn vào Nếu giá trị thread bị ảnh hưởng (global), ngược lại có thread xác định bị ảnh hưởng (local) - CallNextHookEx: chuyển quyền điều khiển thông tin hook cho hook procedure hook chain Bạn khơng sử dụng hàm nhiên bạn muốn chặn hook procedure lại hook chain LRESULT WINAPI CallNextHookEx (HHOOK hhk, int nCode,WPARAM wParam, LPARAM lParam) - hhk: handle hook lấy từ SetWindowsHookEx, nhiên tham số thực không cần thiết - nCode: tham số gọi tên hook code Giá trị định hook procedure có thực công việc xử lý không Nếu giá trị âm, bạn cần gọi hàm CallNextHookEx để chuyển tới hook procedure bỏ qua bước xử lý (xem phần hook procedure) Giá trị có hệ thống định bạn không nên thay đối giá trị - wParam / lParam: tham số lưu trữ thông tin cần thiết cho hook procedure - UnhookWindowsHookEx: gỡ hook procedure khỏi hook chain cài đặt SetWindowsHookEx - hhk: handle hook loại khỏi hook chain, lấy từ SetWindowsHookEx Marco Virus: Macro đoạn mã lệnh sử dụng để thực số nhiệm vụ cách tự động Việc sử dụng Macro giúp người sử dụng đơn giản hóa thao tác lặp lặp lại để thực công việc cụ thể đó, câu lệnh Macro Các ứng dụng Microsoft Office Word, Excel, PowerPoint cho phép tạo Macro file văn bản, file bảng tính hay file trình diễn Hacker lợi dụng điều để tạo virus Macro, lây nhiễm file văn (.doc, docx), file bảng tính (.xls, xlsx) hay file trình diễn (.ppt, pptx) phần mềm Word, Excel hay PowerPoint 10 II Kịch cơng: Nhóm em chuẩn bị bao gồm: - File doc có chứa marco virus - File exe chứa Keylogger Resource làm nhiệm vụ cài đặt - File Keylogger có chức ghi lại thao tác nhập từ bàn phím thơng tin cửa sổ, tab website người dùng - Server để nhận file log remote Sơ đồ công: - Nạn nhân nhận file doc có chứa virus marco độc hại - Khi mở file doc ra, marco tự động thực thi: Download thực thi file exe chứa mã độc cài đặt - File exe thực giải nén lưu Keylogger vào thư mục %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup (nhằm mục đích để Keylogger ln khởi động Windows) - Process Keylogger chạy nền: ghi lại tồn thao tác nhập từ bàn phím thơng tin cửa sổ, tab website mà nạn nhân truy cập lưu lại file log theo ngày thư mục %APPDATA%\Microsoft\Windows\Windows Data - Khi cần, Hacker dùng server connect đến Keylogger để lấy file log 11 File log lưu lại hàng ngày thư mục Windows Data: File log ngày 7-5-2019: 12 III Demo: Để dễ hình dung, nhóm em xin phép demo video test môi trường local https://www.youtube.com/watch?v=OS-YgOFuhL4&feature=youtu.be IV Phân chia công việc: Thành viên Công việc Nguyễn Hoàng Bảo Khánh Code server, marco virus, file exe tự cài đặt Nguyễn Hoàng Sơn Code Keylogger Nguyễn Thái Cường Code client Keylogger Nguyễn Văn Đại Hỗ trợ code server Nguyễn Duy Phong Viết báo cáo, hỗ trợ code 13 V Kết luận: Về cốt lõi, phần mềm keylogger xếp vào dạng mã độc – malware Việc bảo vệ trước loại mã độc điều quan trọng Với công nghệ ngày phát triển, kéo theo nhiều đồ dùng thiết bị điện tử việc bị theo dõi keylogger hàng ngày nguy hiểm Trong báo cáo này, nhóm em cố gắng mơ lại xảy bị hacker công lấy thông tin Keylogger Do thời gian có hạn khối lượng kiến thức cần nghiên cứu vô rộng lớn nên báo cáo khơng thể tránh khỏi thiếu sót, mong đóng góp ý kiến thầy bạn để hồn thiện 14 VI Tài liệu tham khảo: [1] Wikipedia [2] TCP/IP Sockets in C: Practical Guide for Programmers (The Morgan Kaufmann Practical Guides Series) 2nd Edition [3] Hacking: How to Make Your Own Keylogger in C++ Programming Language 15 ... gồm: - File doc có chứa marco virus - File exe chứa Keylogger Resource làm nhiệm vụ cài đặt - File Keylogger có chức ghi lại thao tác nhập từ bàn phím thơng tin cửa sổ, tab website người dùng -. .. loại phần mềm Báo cáo đề cập đến loại phần mềm Keylogger phần mềm phân loại theo loại theo mức độ nguy hiểm tăng dần:  Loại số 1: Keylogger loại bình thường; chạy cơng khai, có thơng báo cho người... dõi keylogger hàng ngày nguy hiểm Trong báo cáo này, nhóm em cố gắng mơ lại xảy bị hacker cơng lấy thơng tin Keylogger Do thời gian có hạn khối lượng kiến thức cần nghiên cứu vô rộng lớn nên báo

Ngày đăng: 19/12/2020, 11:04

TỪ KHÓA LIÊN QUAN

w