Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
1,17 MB
Nội dung
Ket-noi.com kho tài liệu miễn phí HỌC VIỆN QUẢN LÝ GIÁO DỤC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH MẠNG ĐỀ TÀI: KEYLOGER Thực Sinh viên Trần Quốc Tuấn Hà Nội, ngày 20 / 06 / 2014 Ket-noi.com kho tài liệu miễn phí MỤC LỤC LỜI NÓI ĐẦU PHẦN I TỔNG QUAN VỀ ĐỀ TÀI Lý chọn đề tài Mục tiêu nhiệm vụ đề tài 3 Ngơn ngữ lập trình cơng cụ cài đặt PHẦN II NỘI DUNG ĐỀ TÀI .6 I Cơ sở lý thuyết Giới thiệu giao thức SMTP (Simple Mail Transfer Protocol) Lớp DNS NameSpace System.Net System.Net.Socket .6 Giới thiệu NameSpace System.IO .7 II Khảo sát trạng Keylogger PHẦN III XÂY DỰNG ĐỀ TÀI 11 Phân tích thiết kế phần mềm 11 Hướng dẫn cài đặt sử dụng 13 PHẦN IV KẾT LUẬN .19 Đánh giá ưu, nhược điểm chương trình xây dựng 19 PHẦN V TÀI LIỆU THAM KHẢO 20 Ket-noi.com kho tài liệu miễn phí LỜI NĨI ĐẦU Ngày dịng chảy sống nhanh khiến cho bậc cha mẹ có q thời gian bên gia đình để kiểm soát tránh khỏi tệ nạn xã hội, đặc biệt mạng Internet, giới ảo, chứa tệ nạn gây hại khơng tới việc học tập, tâm lý trẻ em tuổi lớn Chính lẽ đó, tơi tìm hiểu, nghiên cứu xây dựng chương trình Keylogger đơn giản để theo dõi, ghi lại thao tác bàn phím máy tính để giúp bậc phụ huynh nâng cao khả quản lý, dạy dỗ em Chương trình Keylogger hoạt động ghi lại thao tác bàn phím, bao gồm bàn phím ảo cung cấp thông tin qua E-mail định trước Do đó, giúp cho phụ huynh nắm bắt kịp thời em ta hoạt động để từ đưa biện pháp giáo dục, dạy dỗ tốt Tôi xin chân thành gửi lời cảm ơn tới Thầy, Cô khoa công nghệ thông tin Học viện Quản lý Giáo dục cung cấp, truyền đạt kiến thức bổ ích Đặc biệt thầy Bùi Ngọc Châu - giảng viên khoa CNTT tận tình hướng dẫn, giúp đỡ, giải đáp thắc mắc tạo điều kiện thuận lợi tài liệu phương tiện để tơi hồn thành đề tài Do kiến thức hạn chế nên chương trình khó tránh khỏi sai sót Vì vậy, tơi mong nhận góp ý thầy bạn bè để chương trình ngày hồn thiện Xin chân thành cảm ơn ! Hà Nội, ngày 20/06/2014 Ket-noi.com kho tài liệu miễn phí PHẦN I TỔNG QUAN VỀ ĐỀ TÀI Lý chọn đề tài Ngày nay, khoa học công nghệ phát triển mạnh mẽ với mạng lưới Internet phủ khắp nơi giúp cho tiếp cận thông tin nhanh chóng, thỏa mãn nhu cầu giải trí, tìm hiểu tất lĩnh vực xã hội, rút ngắn khoảng cách người mặt địa lý dịch vụ Chat, Facebook… Tuy nhiên bên cạnh lợi ích cịn tồn mặt tiêu cực, ảnh hưởng xấu tới người Đặc biệt, hệ trẻ cịn chưa nhận thức, làm chủ thân nên dẫn dễ khiến hệ trẻ vào đường sai trái Keylogger hay cịn gọi “trình theo dõi bàn phím” chương trình máy tính viết với mục đích theo dõi ghi lại thao tác thực bàn phím vào tập tin (log) để người cài đặt dễ sử dụng Do khả theo dõi chương trình nên Keylogger coi phần mềm gián điệp Tuy nhiên, mang lại nhiều lợi ích giúp phụ huynh theo sát hành động em Internet để đưa biện pháp giáo dục kịp thời Từ điều trên, tơi định tìm hiểu, nghiên cứu “xây dựng chương trình Keylogger đơn giản” để giúp bậc phụ huynh kiểm soát tốt em Mục tiêu nhiệm vụ đề tài a Mục tiêu - Xây dựng chương trình có khả ẩn mình, thu thập phím - Ghi lại liệu vào file sau gửi qua phương thức E – mail b Nhiệm vụ - Keylogger có khả ẩn - Tự động khởi chạy Windows Ket-noi.com kho tài liệu miễn phí - Bắt bàn phím ảo - Lấy IP máy để quản lý liệu gửi Ngơn ngữ lập trình cơng cụ cài đặt a Ngơn ngữ lập trình Csharp Ngơn ngữ CSharp (C#) phát triển đội ngũ kỹ sư Microsoft, xây dựng dựa tảng hai ngôn ngữ mạnh C++ Java - Thứ nhất: C# ngôn ngữ đơn giản : C# loại bỏ vài phức tạp rối rắm ngôn ngữ Java C++, bao gồm việc loại bỏ macro, template, đa kế thừa, lớp sở ảo (Virtual base class) Chúng nguyên nhân gây nhầm lẫn cho người lập trình Ngơn ngữ C# đơn giản dựa tảng C C++ cải tiến để làm cho ngôn ngữ đơn giản - Thứ hai, C# ngôn ngữ đại : Vì C# chứa tất đặc tính sau : Xử lý ngoại lệ, thu gom nhớ tự động, kiểu liệu mở rộng, bảo mật mã nguồn - Thứ ba, C# ngôn ngữ hướng đối tượng : Vì C# hỗ trợ tất đặc tính như: đóng gói (encapsulation), kế thừa (inheritance) đa hình (polymorphism) - Thứ tư, C# ngôn ngữ mạnh mẽ mềm dẻo - Thứ năm, C# ngơn ngữ từ khóa : C# ngôn ngữ sử dụng giới hạn từ khóa, khoảng 80 từ khóa - Thứ sáu, C# ngơn ngữ hướng module : Mã nguồn C# viết phần gọi lớp, lớp chứa phương thức thành viên Những lớp phương thức sử dụng lại ứng dụng hay chương trình khác Bằng cách truyền mẫu Ket-noi.com kho tài liệu miễn phí thơng tin đến lớp hay phương thức tạo mã nguồn dùng lại có hiệu Chính mục đích đó, tơi lựa chọn ngơn ngữ lập trình C# b Giới thiêụ Visual Studio - Visual Studio cơng cụ hồn chỉnh cho phép xây dựng ứng dụng cho máy để bàn lẫn ứng dụng web doanh nghiệp theo nhóm Ngồi khả xây dựng ứng dụng desktop tốc độ cao, bạn cịn sử dụng cơng cụ phát triển mạnh mẽ dựa thành phần công nghệ khác nhằm đơn giản hóa thiết kế, phát triển triển khai giải pháp doanh nghiệp theo nhóm - Visual Studio đơn giản hóa q trình phát triển giải pháp, giảm thiểu nguy tăng cường kết trả Các công cụ cho giai đoạn chu trình phát triển, từ thiết kế, phát triển đến kiểm định triển khai, cho phép bạn thỏa sức thể trí tưởng tượng mang đến giải pháp có ảnh hưởng lớn Cung cấp mơi trường tích hợp cơng cụ kiến trúc máy chủ nhằm đơn giản hóa tồn tiến trình phát triển ứng dụng Ket-noi.com kho tài liệu miễn phí PHẦN II NỘI DUNG ĐỀ TÀI I Cơ sở lý thuyết Giới thiệu giao thức SMTP (Simple Mail Transfer Protocol) - SMTP (Simple Mail Transfer Protocol – Giao thức truyền tải thư tín đơn giản) chuẩn truyền tải thư điện tử qua mạng Internet - Giao thức dùng ESMTP (extended SMTP – SMTP mở rộng) - SMTP dùng cổng 25 giao thức TCP Lớp DNS NameSpace System.Net System.Net.Socket - Lớp DNS lớp static dùng để lấy thơng tin host cụ thể - Thông tin host từ truy vấn DNS trả thông quan thể lớp IPHostEntry - Lớp DNS cung cấp số phương thức đồng bất đồng Phương thức Mô tả GetHostName() Trả tên máy tính cục mà chương trình chạy GetHostByAddress(IPAddress) Tạo thể IPHostEntry từ IPAddress GetHostAddresses (string hostNameOrAddresses) Trả mảng địa IP cho host tham số hostNameOrAddress GetHostEntry(IPAddress): Phân giải địa IP thành thể IPHostEntry GetHostByAddress(string) Tạo thể IPHostEntry từ IPAddress GetHostByName(string hostName) Trả đối tượng IPHostEntry chứa thông tin địa IP host hostName GetHostEntry(String) Phân giải hostname địa IP thành thể IPHostEntry Resolve(string HostName) Trả thể IPHostEntry chứa thông tin host Bảng 1:Phương thức đồng lớp DNS Ket-noi.com kho tài liệu miễn phí Giới thiệu NameSpace System.IO a Lớp StreamReader StreamWriter StreamReader StreamWriter sử dụng để điều khiển việc đọc ghi liệu dạng text Stream Hai lớp thực thi với lớp NetworkStream giúp chúng giải dễ dàng vấn đề ranh giới thông điệp truyền liệu theo giao thức TCP o Lớp StreamWriter StreamReader thường khởi tạo sau: Public StreamReader (Stream stream) Public StreamWriter(Stream stream) Biến stream tham chiếu đến loại đối tượng Stream bao gồm đối tượng NetworkStream * Một số thành phần lớp StreamReader Phương thức Mơ tả Close() Đóng đối tượng StreamReader Read() Đọc nhiều byte liệu từ StreamReader ReadLine() Đọc liệu từ StreamReader bao gồm ký tự ngắt dòng ReadToEnd() Đọc hết liệu có stream Bảng Một số thành phần lớp StreamReader * Một số thành phần lớp StreamWriter Phương thức Mô tả Flush() Gửi tất liệu đệm vào stream Write() Gửi nhiều byte liệu lên stream WriteLine() Gửi liệu kèm theo ký tự ngắt dòng Bảng Một số thành phần lớp StreamWriter Ket-noi.com kho tài liệu miễn phí II Khảo sát trạng Keylogger Hiện trạng Keylogger hay tiến trình thao tác bàn phím chương trình máy tính ban đầu viết nhằm mục đích theo dõi ghi lại thao tác thực bàn phím vào tập tin nhật ký người cài đặt sử dụng Hiện nay, Keylogger phát triển cao khơng ghi lại thao tác bàn phím mà cịn ghi lại hình ảnh hình (screen) cách chụp (screen-hot) quay phim (screen- capture) chí cịn ghi nhận cách trỏ chuột máy tính di chuyển Khảo sát a Phân loại keylogger theo mức độ nguy hiểm Keylogger bao gồm hai loại: lọa keylogger phần cứng loại phần mềm Nhưng đề tài tìm hiểu Keylogger phần mềm Theo người lập trình, keylogger viết với có loại giúp bạn giám sát xem họ làm với PC, với internet, chat với người lạ Nhưng cách sử dụng chức keylogger giới khiến người ta thường phân loại mức độ nguy hiểm câu hỏi: Nhiễm vào máy không qua cài đặt/ Cài đặt vào máy cực nhanh (quick install)? Có thuộc tính ẩn giấu trình quản lý tiến trình (process manager) trình cài đặt, dỡ bỏ chương trình(add and remove program)? Theo dõi khơng thơng báo/ PC bị nhiểm khó tự phát hiện? Có chức Captureescreen ghi lại thao tác chuột? Khó tháo gỡ? Có khả lây nhiễm, chống tắt (kill process)? Ket-noi.com kho tài liệu miễn phí Cứ câu trả lời “có” cho điểm Điểm cao, keylogger vượt khỏi mục đích giám sát đến với mục đích thám tính nguy hiểm ngày cao Keylogger phân loại theo số điểm Loại số 1: Khơng điểm 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: Một đến hai điểm 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: Ba đến năm điểm Keylogger loại nguy hiểm, ẩn dấu hoàn toàn theo dõi phạm vi rộng, mục đich thám rõ ràng Loại số 4: Sáu điểm Keylogger nguy hiểm nghiêm trọng, thường mang theo trojanvirus khó tháo gỡ, lại keylogger nguy hiểm Chính thường hay bị chương trình chống virus tìm thấy tiêu diệt b Thành phần keylogger Thơng thường, chương trình keylogger gồm ba thành phần chính: o 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 chỏ gọi tổ phím tắt đặc biệt o Tập tin hook chương trình monitor: dùng để ghi nhận lại thao tác bàn phím (đây phần quan trọng nhất) Ket-noi.com kho tài liệu miễn phí Tập tin nhật ký (log): nơi chứa đựng/ ghi lại toàn hook ghi o nhận c Cách cài vào máy Các loại keylogger từ 1-3 thông thường cài đặt vào máy giống chương tình máy tính khác, phải qua bước cài đặt Đầu tiên cài đặt tập tin dùng để hoạt động vào thư mục đặc biệt, sau đăng ký cách thức hoạt động đợi người dùng thiết lập thêm ứng dụng Sau bắt đầu hoạt động Loại keylogger số vào thẳng máy người dùng bỏ qua bước cài đặt, dùng tính autorun để chạt với hệ thống Một số loại tự thả (drop) vào chương trình khác, để người dùng sử dụng chương trình keylogger tự động chạy theo d Cách thức 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à có hook file/ monitor program keylogger theo dõi, ghi nhận dịch tín 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 10 Ket-noi.com kho tài liệu miễn phí PHẦN III XÂY DỰNG ĐỀ TÀI Phân tích thiết kế phần mềm FILE.TXT L Ư U CLIENT Bắt bàn phím ĐÍNH KÈM FILE KEYLOGGER Lấy IP máy MAIL Gửi thơng tin đến mail Hình Sơ đồ sử lý Keylogger Keylogger viết hình Console Application, sau bắt thông tin gửi Mail Các chức Keylogger o chức thu bàn phím gõ, bàn phím ảo lấy IP máy người dùng: Khi Keylogger chạy máy người dùng, Keylogger lấy IP máy người dùng để ghi vào file nhằm phân biệt máy Khi người dùng gõ bàn phím hay click chuột kể bàn phím ảo, Keylogger thu thập phím gõ lưu thành tập tin, sau thời gian cố định tự động gửi vào gmail cài đặt trước o chức gửi mail: Theo thứ tự để gửi thông điệp, cần phải sử dụng máy chủ SMTP (Simple Mail Transfer Protocol) Trong project, sử dụng máy chủ SMTP Gmail miễn phí 11 Ket-noi.com kho tài liệu miễn phí o chức ẩn mình: Keylogger chạy ẩn máy người dùng hoạt động cách lút, khơng có biểu tượng destop hay tast bar, khơng có tên chương trình xuất danh sách Task Manager Hình Ảnh minh họa tệp tin Keylogger gửi cho Gmail 12 Ket-noi.com kho tài liệu miễn phí Hướng dẫn cài đặt sử dụng a Hướng dẫn cài đặt - Trước tiên, click vào file Keylogger.exe, giao diện cài đặt xuất hình Click vào Next để tiếp tục: Ảnh Hướng dẫn cài đặt 13 Ket-noi.com kho tài liệu miễn phí - Chọn Next tiếp để tiếp tục: Ảnh Hướng dẫn cài đặt 14 Ket-noi.com kho tài liệu miễn phí - Click chọn Browse để chọn nơi cài đặt Sau chọn Next để tiếp tục: Ảnh Hướng dẫn cài đặt 15 Ket-noi.com kho tài liệu miễn phí - Chương trình hỏi bạn có muốn tạo Shortcuts cho chương trình Desktop khơng Nếu có bạn tích chọn sau chọn Next để tiếp tục cài đặt: Ảnh Hướng dẫn cài đặt 16 Ket-noi.com kho tài liệu miễn phí - Chương trình đưa thơng tin mà bạn chọn như: vị trí cài đặt chương trình….Chọn Install để bắt đầu cài đặt: Ảnh Hướng dẫn cài đặt 17 Ket-noi.com kho tài liệu miễn phí - Chờ đợi giây lát chương trình cài đặt, sau thành công bạn chọn Finish để kết thúc Ảnh Hướng dẫn cài đặt b Hướng dẫn sử dụng - Chương trình có tính AutoRun sau cài đặt thành công nên khơng cần phải thao tác thêm - Tất liệu Keylogger thu thập gửi qua E-mail mà đăng ký trước theo chu kỳ 30 giây lần Kết đạt Chương trình đạt chức sau: - Ẩn máy cài đặt - Thu thập phím gõ kể bàn phím ảo - Tự động khởi chạy Windows - Gửi thông tin thu thập Gmail - Lấy IP máy cài đặt 18 Ket-noi.com kho tài liệu miễn phí PHẦN IV KẾT LUẬN Đánh giá ưu, nhược điểm chương trình xây dựng Với hướng dẫn giúp đỡ nhiệt tình thầy Bùi Ngọc Châu, q trình thực đề tài tơi tìm hiểu tham khảo từ nhiều nguồn tài liệu internet, chương trình thực số chức sau: - Ẩn máy cài đặt - Thu thập phím gõ kể bàn phím ảo - Tự động khởi chạy Windows - Gửi thông tin thu thập Gmail - Lấy IP máy cài đặt Bên cạnh kiến thức chưa đủ thời gian hạn hẹp nên số ý tưởng chưa thực thi: - Chưa có chức chụp ảnh hình - Chạy ẩn desktop chưa có chức ẩn Taskbar Hướng phát triển Phần mềm Keylogger phát triển hồn thiện chức sau: - Chạy ẩn Taskbar Task Manager - Ẩn phần mềm diệt virus - Có thể cài đặt, update, xóa điều khiển từ xa - Có chức chụp lại hình 19 Ket-noi.com kho tài liệu miễn phí PHẦN V TÀI LIỆU THAM KHẢO STT TÊN TÀI LIỆU http://vubka.blogspot.com https://www.youtube.com/watch?v=jz0o8ZSzboU www.congdongCviet.com http://www.c10mt.com/ 20 Ket-noi.com kho tài liệu miễn phí ĐÁNH GIÁ CỦA GIẢNG VIÊN ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… 21