Đặc điểm: + Trojan horse là chương trình máy tính thường ẩn mình dưới dạng một chương trình hữu ích và có những chức năng mong muốn, hay ít nhất chúng trông như có các tính năng này.. Mộ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
BÀI TẬP LỚN
HỆ ĐIỀU HÀNH
NGÀNH CÔNG NGHỆ THÔNG TIN
Sinh viên thực hiện: Chu Tiến Hưng-20232010P
Lê Đức Trung-20232014P Trần Minh Đức-20221158P Nguyễn Công Minh-20221155P Nghiêm Thành Thắng-20221149P
Lớp CNTT - K68VB2 Giáo viên hướng dẫn: Th.S Đỗ Văn Uy
HÀ NỘI 12-2023
Trang 2MỤC LỤC
CHƯƠNG I CƠ SỞ LÝ THUYẾT 3
1.1 Giới thiệu chung về Trojan 3
1.2 Tìm hiểu về Keylogger 5
1.2.1 Keylogger là gì? 5
1.2.2 Phân loại Keylogger 5
1.2.3 Cách hoạt động của Keylogger 6
1.2.3.1 Thành phần của Keylogger 6
1.2.3.2 Cách thức cài đặt vào máy 6
1.2.3.3 Cách hoạt động 6
CHƯƠNG II: PHÂN TÍCH HOOKER TROJAN 7
2.1 Sơ lược về Hooker Trojan 7
2.1.1 Hooker Trojan là gì 7
2.1.2 Lịch sử của Hooker 7
2.1.3 Cấu tạo của Hooker 9
2.1.4 Can thiệp của mã nguồn Hooker 2.4 10
2.1.5 Một số loại Hooker 12
2.2 Các cách thức tấn công/lây nhiễm 13
2.2.1 Lý do thiết bị nhiễm Hooker Keylogger 13
2.2.2 Các dạng lây nhiễm 14
2.2.3 Cách lây bám 15
2.3 Cách hooker hoạt động 15
2.3.1 Cách hooker ngụy trang 15
2.3.2 Cách thức lấy thông tin 16
2.3.3 Cách gửi thông tin cho chủ nhân 17
CHƯƠNG III BIỆN PHÁP XỬ LÝ KHI BỊ LÂY NHIỄM VÀ CÁCH PHÒNG CHỐNG 18
3.1 Dấu hiệu nhận dạng Trojan 18
3.2 Cách thức phòng chống Trojan tấn công 18
3.2.1 Cách loại bỏ Trojan khi bị nhiễm 18
3.2.2 Cách phòng tránh Trojan 20
Tài liệu tham khảo 21
Trang 33
CHƯƠNG I CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu chung về Trojan
Trojan còn có tên gọi khác là Trojan horse, là một loại mã hoặc phần mềm độc hại nhưng được ẩn dưới lớp vỏ của các phần mềm hợp pháp Một Trojan được thiết kế để làm hỏng, phá hoại, đánh cắp hoặc nói chung gây ra một số hành động gây hại khác trên dữ liệu hoặc mạng của bạn Trojan khi đã vào được máy tính của bạn có thể gây ra hư hỏng chức năng phần mềm, Windows, hệ thống, phá hoại, đánh cắp dữ liệu quan trọng và các tác hại khác
Đặc điểm:
+ Trojan horse là chương trình máy tính thường ẩn mình dưới dạng một chương trình hữu ích và có những chức năng mong muốn, hay ít nhất chúng trông như có các tính năng này Một cách bí mật, nó lại tiến hành các thao tác khác không mong muốn Những chức năng mong muốn chỉ là phần bề mặt giả tạo nhằm che giấu cho các thao tác này
+ Trong thực tế, nhiều Trojan horse chứa đựng các phần mềm gián điệp nhằm cho phép máy tính thân chủ bị điều khiển từ xa qua hệ thống mạng
+ Khác nhau căn bản với virus máy tính là Trojan Horse về mặt kỹ thuật chỉ là một phần mềm thông thường và không có ý nghĩa tự lan truyền Các chương trình này chỉ lừa người dùng để tiến hành các thao tác khác mà thân chủ sẽ không tự nguyện cho phép tiến hành Ngày nay, các Trojan horse đã được thêm vào đó các chức năng tự phân tán Điều này đẩy khái niệm Trojan horse đến gần với khái niệm virus và chúng trở thành khó phân biệt
Các ví dụ:
+ Ví dụ đơn giản của một Trojan horse là một chương trình mang tên "SEXY.EXE" được đăng trên một trang Web với hứa hẹn của "ảnh hấp dẫn" Nhưng khi chạy, chương trình này lại xoá tất cả tệp trong máy tính và hiển thị các câu trêu chọc
+ Một ví dụ mẫu về Trojan horse có ở "www.freewebs.com/em_ce_do/doctor.exe" Chương trình này sẽ tự động tắt máy khi chạy và sẽ tự chép phiên bản vào thư mục
"StartUp" và như vậy máy sẽ tự động tắt ngay lập tức mỗi lần máy được khởi động Con Trojan horse này sẽ tự hủy sau một giờ hoạt động hay có thể được xóa bỏ bằng cách khởi động vào chế độ chờ lệnh (command prompt) và từ đó xóa tệp này bằng lệnh xóa Chương trình này chỉ chạy được trên Windows XP
Một số nguyên nhân khiến virus Trojan thâm nhập vào hệ thống máy tính:
+ Nhấp vào đường link và tệp tin lạ trong Email
+ Xảy ra lỗi ở trình duyệt web, ứng dụng hoặc phần mềm Lỗi xuất hiện thường do người dùng không cập nhật đều đặn hoặc vá lỗi từ nhà sản xuất
+Do tải tệp tin từ trang web hoặc các trang mạng xã hội có các đuôi như
là exe,.com,.scr,.bat, hay.pif chứa nhiều chương trình độc hại về máy tính
Trang 4Một số đặc điểm đặc trưng của Trojan:
* Có khả năng tạo nên một chương trình máy tính ẩn mình dưới lớp vỏ của một chương trình hữu ích với tính năng có thể đáp ứng nhu cầu và mong muốn của người
Tác hại của Trojan:
* Xoá hay viết lại dữ liệu trên máy tính
* Làm hỏng chức năng của các tệp
* Lây nhiễm các phần mềm độc tính khác như virus
* Cài đặt mang cho máy có thể bị làm sáng bởi máy khác hoặc sử dụng máy tin nhắn để gửi những thư đã sử dụng
* Đọc lén các thông tin cần thiết và gửi báo cáo đến nơi khác
* Ăn cặp thông tin như là mật khẩu và số thẻ tín dụng
+ Destructive Trojans: đây là hình thức trojan có thể phá hủy hệ thống
+ Denial-of-Service Trojan: loại này có thể vô hiệu hóa dịch vụ, sử dụng trong các cuộc tấn công DDoS
+ Security Software Disable Trojan: đúng như cái tên, trojan hoạt động theo cách này làm tắt các phần mềm bảo mật trên máy tính của bạn
Trang 5Về sau, khi keylogger phát triển cao hơn nó không những ghi lại thao tác bàn phím
mà còn ghi lại cả các hình ảnh hiển thị trên màn hình (screen) bằng cách chụp (screen-shot) hoặc quay phim (screen capture) thậm chí còn ghi nhận cách con trỏ chuột trên máy tính -
di chuyển
1.2.2 Phân loại Keylogger
Hoạt động theo dõi thao tác bàn phím có thể được thực hiện bằng một phần mềm (phần mềm keylogger) hoặc một thiết bị phần cứng (thiết bị keylogger) Để so sánh các phần mềm keylogger và thiết bị keylogger, chúng ta cần hiểu sự khác biệt giữa hai loại này Mặc dù loại phổ biến nhất là thiết bị phần mềm, nhưng chúng ta cũng nên biết cách thức hoạt động của thiết bị keylogger
Thiết bị keylogger
Chúng được gắn giữa bàn phím và máy tính, giống như một thiết bị trung gian
Thiết bị keylogger “ưu việt” hơn phần mềm keylogger ở chỗ những thao tác gõ phím khi máy tính chưa mở cũng sẽ bị ghi lại
Phần mềm keylogger
Người ta thường hay phân loại phần mềm keylogger theo mức độ nguy hiểm bằng các câu hỏi:
1 Nhiễm vào máy không qua cài đặt
2 Có thuộc tính ẩn trong process manager
3 Theo dõi không thông báo
4 Có thêm chức năng Capture Screen hoặc ghi lại thao tác chuột?
-5 Khó tháo gỡ?
6 Có khả năng lây nhiễm, chống tắt (anti-kill process)?
Trang 6Keylogger có thể phân loại theo số điểm:
+ Loại 1: Không điểm: Keylogger loại bình thường
+ Loại 2: Một đến hai điểm: Keylogger nguy hiểm
+ Loại 3: Ba đến năm: Keylogger rất nguy hiểm
+ Loại 4: Sáu điểm: Keylogger nguy hiểm nghiêm trọng
1.2.3 Cách hoạt động của Keylogger
1.2.3.1 Thành phần của Keylogger
Thông thường, một chương trình keylogger sẽ 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 các thiết lập, xem các tập tin nhật ký cho Keylogger Phần này là phần được giấu kỹ nhất của keylogger, thông thường chỉ có thể gọi ra bằng một tổ hợp phím tắt đặc biệt Tập tin hook, hoặc là một chương trình monitor dùng để ghi nhận lại các thao tác bàn phím, capture screen (đây là phần quan trọng nhất)
Tập tin nhật ký (log), nơi chứa đựng/ghi lại toàn bộ những gì hook ghi nhận được Ngoài ra, tùy theo loại có thể có thêm phần chương trình bảo vệ (guard, protect), chương trình thông báo (report)…
1.2.3.2 Cách thức cài đặt vào máy
Các loại keylogger từ 1 3 thông thường khi cài đặt vào máy cũng giống như mọi - chương trình máy tính khác, đều phải qua bước cài đặt Đầu tiên nó sẽ cài đặt các tập tin dùng để hoạt động vào một thư mục đặc biệt (rất phức tạp), sau đó đăng ký cách thức hoạt động rồi đợi người dùng thiết lập thêm các ứng dụng Sau đó nó bắt đầu hoạt động Loại keylogger số 4 có thể vào thẳng máy của người dùng bỏ qua bước cài đặt, dùng tính năng autorun để cùng chạy với hệ thống Một số loại tự thả (drop) mình vào các chương trình khác, để khi người dùng sử dụng các chương trình này keylogger sẽ
Trang 77
Nhưng khi trong hệ thống đó có keylogger, không những chỉ có hệ điều hành heo dõi mà cả hook file/monitor program của keylogger theo dõi nó sẽ ghi nhận và dịch lại các tínhhiệu ghi vào tập tin nhật ký Đồng thời nó còn có thể theo dõi cả màn hình và thao tác chuột
b) Phần cứng keylogger
Các phần cứng keylogger đều có hai bộ phận sau:
• M t b ộ ộ vi điều khiển
• M t thi t bộ ế ị “non volatile memor” (bộ- nh c nh) ớ ố đị
Người cài nó vào máy tính có thể tháo rời và dễ dàng độc dữ liệu ghi trong bộ nhớ
Một số loại phần cứng keylogger thế hệ mới còn có khả năng gửi dữ liệu qua Internet về cho chủ nhận của nó
CHƯƠNG II: PHÂN TÍCH HOOKER TROJAN
2.1 Sơ lược về Hooker Trojan
Hooker tương thích với mọi phiên bản Windows từ Windows 98 trở đi Win32/Win64(Windows XP, Vista, Windows 7, Windows 8/8.1, Windows 10, Windows 11)
2.1.2 Lịch sử của Hooker
2.1.2.1 Version 1.0
+ Hooker version 1.00 (tháng 1 năm 2004): Đây mới chỉ là một chương trình thử
nghiệm với khả năng hoạt động rất yếu (chỉ là một keylog đơn giản) Và nó đã được viết lại hoàn toàn trong phiên bản kế tiếp
+ Hooker version 1.20 (tháng 1 năm 2004): Log có thể được lưu và kích thước tệp
tối đa được chỉ định Log được lưu khi đóng chương trình;
+ Hooker version 1.40 (tháng 2 năm 2004): Stealth mode:: chương trình tự ẩn khi
khởi động; bỏ ẩn khi mật khẩu được nhập chính xác Cải thiện DLL chỉ còn 16K Đã thêm tab trạng thái
Trang 8+ Hooker version 1.50 (tháng 3 năm 2004): Giao diện các phím F1-12, Arrows, Insert, Delete, Win, Trang chủ, Kết thúc, Tạm dừng, Thoát
+ Hooker version 1.70 (tháng 5 năm 2004): Khả năng tự thêm/xóa nó vào/khỏi
Autorun (sử dụng Windows Đăng ký, yêu cầu quyền quản trị) Xử lý lặp phím, được kích hoạt khi nhấn phím nhiều hơn đó 3 lần, viết bộ đếm làm tiền tố cho một khóa Chức năng Clear Log -> xóa file Log, xóa Log hiện tại, đặt lại bộ hẹn giờ để tự động lưu
2.1.2.2 Version 2.0
+ Hooker version 2.00 (10 tháng 11 năm 2004): ây giờ nó gửi đi một keylog và B sao chép mật khẩu dưới tệp (*.pwl) Sau đó nó thiết lập một đăng kí xác định đường dẫn cho người sử dụng Nó có thể xác định kích thước tối đa của một tập tin log-file Sau khi gửi file log đi thì nó xoá file đó và lập file- -log mới Hooker sẽ thêm vào trước các
từ mã trong tiêu đề và lưu trữ các tính năng này
+ Hooker version 2.10 (15 tháng 11 năm 2004): Thêm các từ được gửi về sau khi
đăng nhập tràn Kiểu viền được thay đổi thành bsToolWindow Trình tự khởi động ổn định
+ Hooker version 2.12 (4 tháng 12 năm 2004): Log ghi nhớ luôn cuộn xuống dòng
cuối cùng (không được thực hiện khi ở chế độ Ẩn)
+ Hooker version 2.13 (25 tháng 1 năm 2005): Tên tệp cài đặt INI mặc định hiện
được tạo động bằng cách sử dụng tên tệp cơ sở của tệp thực thi
+ Hooker version 2.2 beta 1: Cố định các lỗi rất lớn trong keylogging và móc nối các
chức năng trong keylogdll khiến trojan trở nên ổn định hơn với nhiều chức năng hơn
+ Hooker version 2.2 beta 2: Cố định lỗi trong chức năng cho biết ngày giờ của hệ
thống
+ Hooker version 2.3 beta 4: Nó phát hiện thêm lỗi kết nối RAS và cố định lỗi này
Đôi khi nó cũng xung đột với một vài chủ đề.Khi đó keyloggingDll được chứa trong LZW
+ Hooker version 2.3 beta 5: Hooker gửi đi các keylog Nếu trong cửa sổ chỉ có “.”
điều đó có nghĩa là trojan không thể gửi thư đi (Hooker chỉ cần làm đầy hộp thư với một lượng lớn các thư)
+ Hooker version 2.3 beta 6: Chỉ cần một chút thay đổi trong thủ tục gửi mail là
hooker có thể bắt đầu trên máy mà không cần rasapi32.dll
+ Hooker version 2.4: Đây là bản phát hành.Cố định ít lỗi trong tên người dùng và
tên máy chủ phát hiện.Có thêm một vài tính năng:
o Keylog đầy đủ: nếu không được kiểm tra Hoocker sẽ chỉ đăng nhập cửa sổ, nơi mà
đã được keystrokes
o Nâng cao đăng nhập: nếu không được kiểm tra, Hoocker sẽ không đăng nhập phím khoá mở rộng như shift,alt Ngoài ra còn cố định lỗi trong kết nối IP
+ Hooker version 2.50 (28 tháng 1 năm 2006): Hỗ trợ ghi lại các thay đổi của
Clipboard, Đã thêm Trình xem nhật ký (Log View), cho phép duyệt và tìm kiếm thông qua nhật ký, Tên người dùng được ghi vào tệp nhật ký, Cập nhật giao diện người dùng đồ họa
Trang 99
+ Hooker version 2.55 (16 tháng 5 năm 2007): Chương trình ghi lại tên của quá
trình mà các phím đã được sử dụng;
+ Hooker version 2.70 (16 tháng 2 năm 2012): Đã thêm tiện ích tải lên và gửi email
nhật ký, qua SMTP và FTP, Thêm links đến Wiki, Forum và Donate;
+ Hooker version 2.70.1 Beta (21- -2013): 09 Có thể ghi các ký tự Unicode, Nội dung tệp log và email được mã hóa bằng UTF-8;
+ Hooker version 2.70.2 Beta (23- -2013): 09 Các phiên bản Công khai và Riêng tư hiện được gọi là "Lite" và "Pro"
+ Hooker version 3.2.2 Beta (2014- -30): 01 Đã thêm hộp thoại xác nhận trước khi hủy đăng ký sản phẩm phiên bản Pro
+ Hooker 3.2.3 Beta (2014- -11): 02 Đã thêm gợi ý để chạy với tư cách quản trị viên khi không thể áp dụng cài đặt hệ thống;
+ Hooker version 3.2.4 Beta (2014- -04): 10 Mật khẩu có thể định cấu hình để truy cập giao diện người dùng (tính năng "Pro")
+ Hooker version 3.2.5 Beta (2014- -08): 10 Cho phép sử dụng mật khẩu trống do người dùng xác định
+ Hooker version 3.3.1 Beta (2015- -27): 08 Sử dụng thư viện gửi thư SMTP mới hơn Đã thêm tùy chọn mã hóa thư SMTP: SSL/TLS, STARTTLS Đã thêm liên kết đến bài viết trợ giúp mô tả các tùy chọn bảo mật email
+ Hooker version 3.3.2 Beta (2016- -15): 12 Thư viện OpenSSL đi kèm 1.0.2j-i386-win32) Đã thêm một tùy chọn menu để hiển thị các khoản tín dụng / xác nhận Cập nhật thông tin bản quyền
(openssl-+ Hooker version 3.4 (2017- -29): 06 phiên bản cập nhật sau cùng cho đến hiện tại với các tính năng nổi bật: Chế độ ẩn, ghi lại các thay đổi trong khay nhớ tạm, chụp quá trình hiện đang sử dụng, nhập vào tệp, email của FTP, mã hóa tệp nhật ký, trình xem nhật ký tích hợp
2.1.3 Cấu tạo của Hooker
a Thành phần chính: Một con Hooker thường 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 các thiết lập, xem các tập tin nhật ký cho Hooker Phần này là phần được giấu
kỹ nhất của Hooker, thông thường chỉ có thể gọi ra bằng một tổ hợp phím tắt đặt biệt
Trang 10* Tập tin hook, hoặc là một chương trình monitor: dùng để ghi nhận lại các thao tác bàn phím, capture screen (đây là phần quan trọng nhất)
* Tập tin nhật ký (log): nơi chứa đựng/ghi lại toàn bộ những gì hook ghi nhận được.Ngoài ra, tùy theo loại có thể có thêm phần chương trình bảo vệ (guard, protect), chương trình thông báo (report) cho chủ nhân con virus
Tổng kết lại các tập tin trong hệ thống: History.txt, Hkconf.exe, Hkconf.ini, Hooker.exe, HookLib.dll, libeay32.dll, ssleay32.dll,…
2.1.4 Can thiệp của mã nguồn Hooker 2.4
Với phiên bản Hooker Keylogger 2.4, thì chúng ta có thể can thiệp trên file Hkconf.ini: [main]
ras = 1 ; {Nếu máy victim truy nhập internet thông qua mạng Lan (máy dịch vụ) thì set =
0, máy đơn (được gắn trực tiếp vào moderm) set = 1}