PDA

View Full Version : T́m kiếm malware trên máy tính Windows bằng ḍng lệnh


khanh11121988
10-22-2009, 09:20 AM
Hy vọng rằng tiêu đề của bài viết không làm cho các bạn sợ. Sở dĩ có chúng tôi cần nói điều này là v́ có rất nhiều người muốn lánh xa tiện ích ḍng lệnh của Windows và có thiện cảm hơn với các giao diện đồ họa người dùng phức hợp. Tuy nhiên khi nói đến việc nghiên cứu tỉ mỉ sự tiêm nhiễm của malware, các công cụ ḍng lệnh lại có rất nhiều lợi ích, trong khi đó các công cụ dựa trên GUI không phải lúc nào cũng luôn luôn thực hiện được việc này.

Đầu tiên, hăy khởi chạy nhắc lệnh. Vào Start --> Run và đánh 'cmd.exe'. Việc gơ thêm cả đuôi '.exe' ở cuối mục rất quan trọng; đây là cách làm an toàn trong việc triệu gọi nhắc lệnh. Để đánh lừa một số người dùng, một số chương tŕnh mă độc có thể cố ấy tên 'cmd.com' và trong trường hợp như vậy, malware sẽ được khởi chạy nếu bạn chỉ đánh vào lệnh 'cmd'.

'netstat'

Tiếp đến, khi nhắc lệnh xuất hiện, chạy lệnh netstat. Lệnh 'netstat –na' có thể cung cấp danh sách các cổng TCP và UDP trên máy tính. Thêm ‘o’ vào lệnh trên bạn có thể biết được process ID của mỗi quá tŕnh đang sử dụng một cổng. Bắt đầu từ XP SP2, thêm ‘b’ bạn sẽ thấy tên file EXE đang sử dụng trên mỗi cổng, cùng với đó là các thư viện liên kết động (DLL) mà nó load để truyền thông với mạng. Tuy nhiên cần lưu ư rằng hành động thêm ‘b’ sẽ ngốn đi của hệ thống rất nhiều tài nguyên CPU.

Tuy nhiên hăy kiên tŕ. Giả dụ rằng bạn muốn quan sát việc sử dụng một cổng nào đó và xem cách chúng thay đổi thế nào theo thời gian. Hăy bổ sung thêm một dấu cách và sau đó một số nguyên vào lệnh netstat đó, lúc này nó sẽ có dạng "netstat –nao 1", lệnh trên sẽ được chạy với tần suất tương đương với số nguyên được cho, trong trường hợp này tần suất là 1s. Hiển thị sẽ liên tục được xổ trên màn h́nh, bạn có thể xem thể hiện trong h́nh bên dưới.
[Only registered and activated users can see links]
Rơ ràng, để xác định malware đang sử dụng các cổng TCP và UDP, bạn cần biết được hoạt động thông thường của một cổng. Để nghiên cứu các cổng có tác dụng như thế nào với máy tính, bạn có thể t́m kiếm và nghiên cứu các cổng trên Google. Microsoft cũng có một danh sách các cổng nói chung được sử dụng cho cả máy khách và máy chủ Windows mà bạn có thể tham khảo tại đây (Rơ ràng, để xác định malware đang sử dụng các cổng TCP và UDP, bạn cần biết được hoạt động thông thường của một cổng. Để nghiên cứu các cổng có tác dụng như thế nào với máy tính, bạn có thể t́m kiếm và nghiên cứu các cổng trên Google. Microsoft cũng có một danh sách các cổng nói chung được sử dụng cho cả máy khách và máy chủ Windows mà bạn có thể tham khảo tại đây. Ngoài ra bạn cũng có thể t́m kiếm thêm các cổng có liên quan với cả Microsoft và các ứng dụng của các hăng thứ ba,… Nếu phát hiện thấy sự dị thường xuất hiện trên các cổng TCP hoặc UDP, bạn có thể thực hiện t́m kiếm trên Google. Sử dụng "site:" và dẫn sau là một công ty antivirus như Symantec, Sophos hoặc McAfee. Các site này có thể sẽ có một bài phê b́nh về malware sử dụng cổng đó. Đây là một ví dụ về truy vấn t́m kiếm hữu dụng này: site:symantec.com tcp port 4444. 'reg' Một bài phê b́nh của một hăng antivirus có thể giúp bạn có thêm kiến thức bên trong các registry key mà malware có thể đă sửa đổi. Để truy vấn registry key bằng ḍng lệnh, hăy sử dụng lệnh reg. Cho dù một trang antivirus không cung cấp các registry key để phục vụ mục đích t́m kiếm th́ bạn có thể nghiên cứu các registry key chung nhất bị sửa đổi bởi malware: các key có liên quan đến startup của hệ thống và đăng nhập của người dùng. Được biết đến như "run" registry key, lệnh reg có thể giúp hiển thị các giá trị của chúng tại cửa sổ ḍng lệnh. Tuy nhiên lưu ư rằng, rất nhiều phần mềm hợp lệ cũng tự kích hoạt bằng cách sử dụng các key này. Sau khi chạy lệnh, bạn sẽ thấy các mục bên dưới các registry key này. Tiếp đến, thực hiện một vài t́m kiếm trên Google cho những ǵ được hiển thị để giúp bạn loại ra đâu là các thiết lập hợp lệ và đâu là malware. C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run once C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run once Chúng tôi khuyên các bạn chạy các lệnh với một lượng thời gian tương đối, thay thế HKLM bằng HKCU. Sự thay thế nào sẽ t́m các auto-start registry key có liên quan đến người dùng, thay v́ chỉ các thiết lập toàn bộ hệ thống bằng HKLM. 'dir' Bạn cũng nên kiểm tra thư mục autostart để t́m các chương tŕnh không mong muốn bắt đầu từ đây. Chạy lệnh dir, sử dụng /A để hiển thị các file có hoặc không có tập các thuộc tính, cũng như các file bị ẩn và không bị ẩn. C:\> dir /A "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" 'net users' và 'localgroup administrators' Một số malware có thể tạo tài khoản trong máy tính nội bộ của bạn. Trong trường hợp đó, chúng ta cần chạy lệnh 'net users', đây là lệnh kiểm tra các tài khoản được định nghĩa trên hệ thống. Thêm vào đó, v́ một số phần mềm bot có thể đăng kư tài khoản của nhóm quản trị viên nội bộ, khi đó chúng ta nên chạy lệnh "localgroup administrators", đây là lệnh kiểm tra thành viên của nhóm này. Bạn có biết tất cả những người trong nhóm quản trị viên không? H́nh dưới đây sẽ hiển thị một ví dụ về trường hợp này.). Ngoài ra bạn cũng có thể t́m kiếm thêm các cổng có liên quan với cả Microsoft và các ứng dụng của các hăng thứ ba,…

Nếu phát hiện thấy sự dị thường xuất hiện trên các cổng TCP hoặc UDP, bạn có thể thực hiện t́m kiếm trên Google. Sử dụng "site:" và dẫn sau là một công ty antivirus như Symantec, Sophos hoặc McAfee. Các site này có thể sẽ có một bài phê b́nh về malware sử dụng cổng đó. Đây là một ví dụ về truy vấn t́m kiếm hữu dụng này:

site:symantec.com tcp port 4444.

'reg'

Một bài phê b́nh của một hăng antivirus có thể giúp bạn có thêm kiến thức bên trong các registry key mà malware có thể đă sửa đổi. Để truy vấn registry key bằng ḍng lệnh, hăy sử dụng lệnh reg. Cho dù một trang antivirus không cung cấp các registry key để phục vụ mục đích t́m kiếm th́ bạn có thể nghiên cứu các registry key chung nhất bị sửa đổi bởi malware: các key có liên quan đến startup của hệ thống và đăng nhập của người dùng. Được biết đến như "run" registry key, lệnh reg có thể giúp hiển thị các giá trị của chúng tại cửa sổ ḍng lệnh. Tuy nhiên lưu ư rằng, rất nhiều phần mềm hợp lệ cũng tự kích hoạt bằng cách sử dụng các key này. Sau khi chạy lệnh, bạn sẽ thấy các mục bên dưới các registry key này. Tiếp đến, thực hiện một vài t́m kiếm trên Google cho những ǵ được hiển thị để giúp bạn loại ra đâu là các thiết lập hợp lệ và đâu là malware.

C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run once
C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run once

Chúng tôi khuyên các bạn chạy các lệnh với một lượng thời gian tương đối, thay thế HKLM bằng HKCU. Sự thay thế nào sẽ t́m các auto-start registry key có liên quan đến người dùng, thay v́ chỉ các thiết lập toàn bộ hệ thống bằng HKLM.

'dir'

Bạn cũng nên kiểm tra thư mục autostart để t́m các chương tŕnh không mong muốn bắt đầu từ đây. Chạy lệnh dir, sử dụng /A để hiển thị các file có hoặc không có tập các thuộc tính, cũng như các file bị ẩn và không bị ẩn.

C:\> dir /A "C:\Documents and Settings\All Users\Start Menu\Programs\Startup"

'net users' và 'localgroup administrators'

Một số malware có thể tạo tài khoản trong máy tính nội bộ của bạn. Trong trường hợp đó, chúng ta cần chạy lệnh 'net users', đây là lệnh kiểm tra các tài khoản được định nghĩa trên hệ thống. Thêm vào đó, v́ một số phần mềm bot có thể đăng kư tài khoản của nhóm quản trị viên nội bộ, khi đó chúng ta nên chạy lệnh "localgroup administrators", đây là lệnh kiểm tra thành viên của nhóm này. Bạn có biết tất cả những người trong nhóm quản trị viên không? H́nh dưới đây sẽ hiển thị một ví dụ về trường hợp này.
[Only registered and activated users can see links]
'tasklist /svc'

Ngoài ra c̣n có những vùng mang tính sống c̣n hơn mà chúng ta cần phân tích: các quá tŕnh đang chạy. Trên Windows XP Professional, lệnh tasklist có thể cung cấp rất nhiều thông tin hữu dụng. Bản thân lệnh này sẽ hiển thị các quá tŕnh đang chạy, số process ID của chúng và việc sử dụng bộ nhớ. Tuy nhiên nếu chạy 'tasklist /svc', bạn sẽ thấy tất cả các dịch vụ đă chạy hết tiến tŕnh, xem thể hiện bên dưới. Điều này cung cấp cho bạn nhiều thông tin để t́m kiếm khi nghiên cứu xem hệ thống có bị tiêm nhiễm bởi các chương tŕnh xấu hay không. Đặc biệt, các quá tŕnh svchost.exe thường khá bận rộn, chạy nhiều dịch vụ. Bên cạnh đó spyware đôi khi cũng chèn các dịch vụ khác vào bên trong các quá tŕnh này hoặc các dịch vụ để kiểm tra hoặc điều khiển máy tính của bạn.
[Only registered and activated users can see links]
Một số lệnh mà chúng tôi giới thiệu cho các bạn trong bài này sẽ cung cấp cho các bạn những hiểu biết sâu hơn trong cấu h́nh của một máy tính Windows. Tuy nhiên thực tập nhiều sẽ làm cho bạn trở nên hoàn hảo. Cần bỏ thời gian để phân tích các hệ thống “sạch”, từ đó bạn sẽ có được những kiến thức về những ǵ xuất hiện trên một máy tính Windows b́nh thường. Khi đó bạn mới có thể phát hiện một máy tính nào đó có bị tiêm nhiễm hay không. Với một số sự chuẩn bị và thực hành, các kỹ năng ḍng lệnh sẽ cải thiện đáng kể sự hiểu biết của bạn về máy tính Windows và chuẩn bị cho bạn trước trận chiến với malware đang diễn ra hàng ngày.
theo Quantrimang/ Techtarget