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 dò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ụ dò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 trì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á trì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 trì. 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.
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 dò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ổ dò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 gì đượ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 trì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.
'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á trì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á trì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 trì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 trình xấu hay không. Đặc biệt, các quá trì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á trì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.
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 gì 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 dò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.
'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á trì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 trì. 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.
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 dò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ổ dò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 gì đượ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 trì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.
'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á trì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á trì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 trì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 trình xấu hay không. Đặc biệt, các quá trì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á trì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.
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 gì 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 dò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.
Nguồn: ceh.vn
Không có nhận xét nào:
Đăng nhận xét