Thứ Năm, 17 tháng 1, 2013

Xác định hệ thống bị tấn công bằng các lệnh Windows -P2


4. Netstat
Lệnh netstat trong Windows có thể hiển thị hành vi mạng, tập trung vào TCP và UDP mặc định. Vì malware thường truyền thông trong toàn mạng, nên người dùng có thể tìm kiếm các kết nối không bình thường trong đầu ra của netstat, chạy lệnh dưới đây:
C:\> netstat -nao
Tùy chọn –n sẽ thông báo cho netstat hiển thị các số trong đầu ra của nó, trừ tên máy và giao thức mà thay vì đó sẽ hiển thị các địa chỉ IP và TCP hoặc số cổng UDP. –a chỉ thị hiển thị tất cả các kết nối và các cổng đang lắng nghe. Tùy chọn –o thông báo cho netstat hiển thị số processID của mỗi chương trình đang tương tác với cổng TCP hoặc UDP. Nếu thay vì TCP và UDP, bạn chỉ quan tâm đến ICMP, khi đó bạn có thể chạy lệnh netstat như dưới đây:
C:\> netstat –s –p icmp
Lệnh trên chỉ thị rằng nó sẽ trả về thống kê (-s) của giao thức ICMP. Mặc dù không thể hiện nhiều chi tiết bằng TCP và UDP nhưng người dùng có thể thấy được liệu máy tính có đang gửi lưu lượng ICMP không mong đợi trên mạng hay không. Tuy nhiên một số backdoor và một số malware khác có thể truyền thông bằng cách sử dụng tải trọng của các thư ICMP Echo.
Giống như WMIC, lệnh netstat cũng cho phép chúng ta chạy nó theo một chu kỳ lặp đi lặp lại. Tuy nhiên thay vì sử dụng cú pháp "/every:[N]" như WMIC, người dùng chỉ cần thêm sau lệnh triệu gọi netstat dấu cách và số nguyên. Như vậy, để liệt kê các cổng TCP và UDP đang sử dụng trên máy tính cứ sau 2 giây một lần, người dùng có thể chạy:
C:\> netstat –na 2
5. Find
Hầu hết các lệnh mà chúng tôi đã giới thiệu cho đến đây đều hiển thị rất nhiều đầu ra trên màn hình, điều này đôi khi làm khó người dùng trong việc quan sát toàn bộ để tìm ra một mục nào đó mà họ quan tâm. Tuy nhiên Windows có một công cụ khác có thể giúp bạn khắc phục điều này. Người dùng có thể tìm kiếm trong toàn bộ đầu ra của mỗi lệnh bằng cách sử dụng lệnh findstr và find trong Windows. Lệnh find sẽ tìm kiếm các chuỗi đơn giản, trong khi đó lệnh findstr sẽ hỗ trợ cho các từ ngữ thông thường, một cách phức tạp hơn để phân biệt các mẫu tìm kiếm. Do các từ ngữ thông thường được hỗ trợ bởi findstrvượt ra ngoài phạm vi của bài viết này, nên chúng tôi chỉ tập trung vào lệnh find. Mặc định lệnh find sẽ phân biệt giữa chữ hoa và chữ thường, tuy nhiên bằng cách sử dụng tùy chọn/i bạn có thể làm mất đi sự phân biệt này.
Lệnh find cũng có khả năng đếm. Được triệu gọi với lệnh /c, nó sẽ đếm số dòng của đầu ra gồm có chuỗi đã cho. Nếu người dùng muốn đếm số lượng dòng trong đầu ra của lệnh để biết được số lượng quá trình đang chạy, số lượng mục startup đang hiện diện, hoặc một loạt các hành động khác trên máy. Để đếm số dòng đầu ra, người dùng có thể dẫn đầu ra của họ qua find /c /v "". Lệnh này sẽ đếm (/c) số dòng trừ dòng trống.

Lúc này, với lệnh find, người dùng có thể quan sát đầu ra của mỗi một lệnh mà chúng tôi đã giới thiệu cho đến đây để tìm ra những điều thú vị riêng. Cho ví dụ, để xem thông tin mỗi giây về các quá trình cmd.exe đang chạy trên máy tính, bạn hãy đánh:
C:\> wmic process list brief /every:1 | find "cmd.exe"
Để đếm số file mở trên máy tính khi openfiles được kích hoạt, bạn chỉ cần đánh:
C:\> openfiles /query /v | find /c /v ""
Dù có đếm các mục theo một cách nào đi nữa, các bạn cần nhớ trừ đi số dòng được liên kết với header cột. Ví dụ, để xem với độ chính xác theo mỗi giây khi cổng TCP 2222 bắt đầu được sử dụng trên máy tính, cùng với process ID đang sử dụng trên cổng, chạy:
C:\> netstat –nao 1 | find "2222"
Nghiên cứu đầu ra
Với 5 công cụ này, người dùng có thể xử lý các thông tin về cấu hình, trạng thái bảo mật của mỗi một máy tính Windows. Mặc dù vậy để sử dụng mỗi lệnh trong việc nhận diện sự thỏa hiệp, người dùng cần phải so sánh các thiết lập hiện hành củ máy tính bị nghi ngờ với máy tính bình thường.
Có ba cách có thể thiết lập sự so sánh này. Đầu tiên, nếu người dùng là một “thợ săn” malware đã có kinh nghiệm thì anh ta có thể nhận biết về những gì đúng và những gì sai với máy tính, nhận ra những vấn đề không bình thường dựa trên kinh nghiệm. Cách thứ hai, so sánh này có thể được thực hiện với một máy không bị tiêm nhiễm nếu có. Nếu không có một máy tính “sạch”, người dùng có thể dựa vào tùy cách thứ ba – tìm kiếm các file, tên quá trình, tên file và số cổng cụ thể được nhận biết bởi các lệnh này và tìm kiếm chúng online nhằm xác định xem chúng có phải là các file thông thường cho máy tính và phần mềm mà nó đã cài đặt hay có liên quan tới một số loại malware.
Trong phần này, chúng tôi đã giới thiệu cho các bạn 5 lệnh rất mạnh trong Windows. Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu tiếp cho các bạn 5 lệnh hữu dụng khác từ dòng lệnh.


Văn Linh (Theo Techtarget)

Không có nhận xét nào:

Đăng nhận xét