Tải bản đầy đủ (.pdf) (21 trang)

bài tập lớn hệ điều hành ngành công nghệ thông tin tìm hiểu mã nguồn virus hooker

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.54 MB, 21 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

TRƯỜ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

<b>HỆ ĐIỀU HÀNH</b>

NGÀNH CÔNG NGHỆ THÔNG TIN

<b>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 </b>

Lớp CNTT - K68VB2 Giáo viên hướng dẫn: Th.S. <b>Đỗ Văn Uy</b>

HÀ NỘI 12-2023

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC </b>

<b>CHƯƠNG I. CƠ SỞ LÝ THUYẾT ... 3 </b>

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

<b>CHƯƠNG II: PHÂN TÍCH HOOKER TROJAN ... 7 </b>

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.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

<b>CHƯƠNG III. BIỆN PHÁP XỬ LÝ KHI BỊ LÂY NHIỄM VÀ CÁCH PHÒNG CHỐNG ... 18 </b>

3.1. Dấu hiệu nhận dạng Trojan ... 18

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>Đặc điểm: </b>

+ 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.

<b>Các ví dụ: </b>

+ 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 xố 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.

<b>Một số nguyên nhân khiến virus Trojan thâm nhập vào hệ thống máy tính: </b>

+ 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 đ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.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>Một số đặc điểm đặc trưng của Trojan: </b>

* 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

<b>Tác hại của Trojan: </b>

* 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.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Về 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.

<b>1.2.2. Phân loại Keylogger </b>

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.

<b>Thiết bị keylogger </b>

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.

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)?

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Keylogger có thể phân loại theo số điểm: </b>

+ 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.

<b>1.2.3. Cách hoạt động của Keylogger 1.2.3.1. Thành phần của Keylogger </b>

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. Ngồ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)…

<b>1.2.3.2. Cách thức cài đặt vào máy </b>

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ẽ tự động chạy theo.

<b>1.2.3.3. Cách hoạt động </b>

a) Phần mềm keylogger

Trong một hệ thống (Windows, Linux, Mac…), khi bấm 1 phím trên bàn phím, bàn phím sẽ chuyển nó thành tín hiệu chuyển vào CPU. CPU sẽ chuyển nó tới hệ điều hành để hệ điều hành dịch thành chữ hoặc số cho chính nó hoặc các chương trình khác sử dụng.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>7 </small>

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ó.

<b>CHƯƠNG II: PHÂN TÍCH HOOKER TROJAN 2.1. Sơ lược về Hooker Trojan </b>

<b>2.1.1. Hooker Trojan là gì </b>

Hooker Trojan Keylogger là một ứng dụng keylogging gửi thư độc hại. Hooker Trojan Keylogger có khả năng ghi lại các thao tác gõ phím vào một tập tin nhật ký (log), tải xuống các tệp độc hại từ internet vào hệ thống bị nhiễm và đưa vào sổ đăng ký hệ thống các mục nhập độc hại. Hooker Trojan Keylogger có thể mở ra một hệ thống để xâm nhập từ xa khiến các tệp và dữ liệu được lưu trữ trên hệ thống bị nhiễm dễ bị đánh cắp. Hooker Trojan Keylogger, sau khi được cài đặt, có thể chạy trong nền và tải khi khởi động mà không bị phát hiện.

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).

<b>2.1.2. Lịch sử của Hooker </b>

<b>2.1.2.1. Version 1.0 </b>

<b>+ Hooker version 1.00 (tháng 1 năm 2004): Đây mới chỉ là một chương trình thử </b>

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.

<b>+ Hooker version 1.20 (tháng 1 năm 2004): Log có thể được lưu và kích thước tệp </b>

tối đa được chỉ định. Log được lưu khi đóng chương trình;

<b>+ Hooker version 1.40 (tháng 2 năm 2004): Stealth mode:: chương trình tự ẩn khi </b>

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.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>+ Hooker version 1.50 (tháng 3 năm 2004): Giao diện các phím F1</b>-12, Arrows, Insert, Delete, Win, Trang chủ, Kết thúc, Tạm dừng, Thoát.

<b>+ Hooker version 1.70 (tháng 5 năm 2004): Khả năng tự thêm/xóa nó vào/khỏi </b>

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.

<b>2.1.2.2. Version 2.0 </b>

<b>+ Hooker version 2.00 (10 tháng 11 năm 2004): ây giờ nó gửi đi một keylog và </b> 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ó xố 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.

<b>+ Hooker version 2.10 (15 tháng 11 năm 2004): Thêm các từ được gửi về sau khi </b>

đăng nhập tràn. Kiểu viền được thay đổi thành bsToolWindow. Trình tự khởi động ổn định.

<b>+ Hooker version 2.12 (4 tháng 12 năm 2004): Log ghi nhớ ln cuộn xuống dịng </b>

cuối cùng (khơng được thực hiện khi ở chế độ Ẩn).

<b>+ Hooker version 2.13 (25 tháng 1 năm 2005): Tên tệp cài đặt INI mặc định hiện </b>

được tạo động bằng cách sử dụng tên tệp cơ sở của tệp thực thi.

<b>+ 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 </b>

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.

<b>+ Hooker version 2.2 beta 2: Cố định lỗi trong chức năng cho biết ngày giờ của hệ </b>

thống.

<b>+ 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. </b>

Đơi khi nó cũng xung đột với một vài chủ đề.Khi đó keyloggingDll được chứa trong LZW.

<b>+ Hooker version 2.3 beta 5: Hooker gửi đi các keylog. Nếu trong cửa sổ chỉ có “.” </b>

đ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ư).

<b>+ Hooker version 2.3 beta 6: Chỉ cần một chút thay đổi trong thủ tục gửi mail là </b>

hooker có thể bắt đầu trên máy mà không cần rasapi32.dll.

<b>+ 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à </b>

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 khố mở rộng như shift,alt... Ngồi ra cịn cố định lỗi trong kết nối IP

<b>+ Hooker version 2.50 (28 tháng 1 năm 2006): Hỗ trợ ghi lại các thay đổi của </b>

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.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<small>9 </small>

<b>+ Hooker version 2.55 (16 tháng 5 năm 2007): Chương trình ghi lại tên của quá </b>

trình mà các phím đã được sử dụng;

<b>+ Hooker version 2.70 (16 tháng 2 năm 2012): Đã thêm tiện ích tải lên và gửi email </b>

nhật ký, qua SMTP và FTP, Thêm links đến Wiki, Forum và Donate;

<b>+ Hooker version 2.70.1 Beta (21- -2013): </b>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;

<b>+ Hooker version 2.70.2 Beta (23- -2013): </b>09 Các phiên bản Công khai và Riêng tư hiện được gọi là "Lite" và "Pro".

<b>+ Hooker version 3.2.2 Beta (2014- -30): </b>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.

<b>+ Hooker 3.2.3 Beta (2014- -11): </b>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;

<b>+ Hooker version 3.2.4 Beta (2014- -04): </b>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").

<b>+ Hooker version 3.2.5 Beta (2014- -08): </b>10 Cho phép sử dụng mật khẩu trống do người dùng xác định.

<b>+ Hooker version 3.3.1 Beta (2015- -27): </b>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.

<b>+ Hooker version 3.3.2 Beta (2016- -15): </b>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.

<b>(openssl-+ Hooker version 3.4 (2017- -29): </b>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.

<b>2.1.3. Cấu tạo của Hooker </b>

<b>a. Thành phần chính: Một con Hooker thường có ba phần chính: </b>

* 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.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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 tồn bộ những gì hook ghi nhận được.Ngồ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,…

<b>2.1.4. Can thiệp của mã nguồn Hooker 2.4 </b>

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}

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

;sendmail host {Server bạn dùng để gửi mail} host=mail.hn.vnn.vn{Thường hay dùng cái này}

;mailfrom - required for some servers

mailfrom={Tên mà trojan lấy khi gửi mail cho bạn - chú ý tên server và phần đuôi của email này nên đặt giống nhau}

;mailto - your email{Địa chỉ email mà bạn muốn nhận thông tin từ trojan} mailto= or

;time to live after installation{Khoảng thời gian trojan tồn tại trên máy victim}

</div>

×