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 [You must be registered and logged in to see this link.]. 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\Runonce
C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Runonce
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.
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 [You must be registered and logged in to see this link.]. 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\Runonce
C:\> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Runonce
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.
| ||||
Văn Linh (Theo Techtarget) |