|
||||||||
|
||||||||
|
|
Công Cụ | Xếp Bài |
25-02-2010, 04:19 PM | #1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Administrator
Gia nhập: Jul 2009
Trả Lời: 245
|
Xác định hệ thống bị tấn công bằng các lệnh Windows
Các máy tính Windows là những máy tính bị tấn công nhiều nhất. Chính vì vậy mà Microsoft đã xây dựng rất nhiều công cụ trong hệ điều hành Windows để các quản trị viên và một số người dùng có thể phân tích nhằm xác định xem máy tính của họ hiện có bị thỏa hiệp hay không. Trong hướng dẫn gồm hai phần này, phần đầu tiên chúng tôi sẽ giới thiệu cho các bạn về 5 công cụ dòng lệnh hữu dụng trong Windows để thực hiện một hành động phân tích đó.
1. WMIC Windows Management Instrumentation Command-line (WMIC) không chỉ đơn thuần là một lệnh mà có rất nhiều tính năng khác. Công cụ này có một giao diện dòng lệnh cho Windows Management Instrumentation API bên trong Windows. WMIC cho phép quản lý người dùng truy cập các thông tin chi tiết trên máy tính Windows, gồm có các thuộc tính chi tiết của hàng ngàn các thiết lập và đối tượng. WMIC được xây dựng bên trong Windows XP Professional, Windows 2003 và Windows Vista. Để sử dụng nó, người dùng phải khởi chạy chương trình bằng cách chạy lệnh WMIC, theo sau là phần mà người dùng quan tâm (thường được gọi là các alias bên trong hệ thống). Cho ví dụ, để biết về các quá trình đang chạy trên máy tính, người dùng có thể chạy lệnh:
Cho ví dụ, chúng ta có thể quan sát mọi quá trình đang chạy trên máy tính bằng cách chạy lệnh:
Ngoài các alias về các quá trình, người dùng có thể thay thế startup để nhận danh sách các chương trình tự động khởi chạy trên máy tính, gồm có các chương trình khởi chạy khi hệ thống khởi động hoặc người dùng đăng nhập, đây là những chương trình được định nghĩa bởi một auto-start registry key hoặc thư mục:
Một tùy chọn khác bên trong WMIC là khả năng chạy một lệnh để thu thập thông tin trên trên một chu kỳ nào đó bằng cách sử dụng cú pháp "/every:[N]" sau phần còn lại của lệnh WMIC. [N] ở đây là một số nguyên, chỉ thị rằng WMIC sẽ chạy lệnh trên cứ [N] giây một lần. Bằng cách đó, người dùng có thể tìm kiếm các thay đổi trong các thiết lập của hệ thống theo thời gian, cho phép khảo sát một cách kỹ lưỡng đầu ra. Sử dụng chức năng này để kéo toàn bộ các thông tin về quá trình trong 5 giây một lần, người dùng có thể chạy:
Giới thiệu ở trên, WMIC là một lệnh tương đối mới, tuy nhiên còn có một số lệnh khác không phải là mới nhưng khá hữu dụng đó là lệnh "net". Các quản trị viên có thể sử dụng lệnh này để hiển thị tất cả các thông tin hữu dụng. Cho ví dụ, lệnh "net user" sẽ hiển thị tất cả các tài khoản người dùng được định nghĩa nội bộ trên máy tính. Lệnh "net localgroup" sẽ hiển thị các nhóm, lệnh "net localgroup administrators" sẽ hiển thị thành viên của nhóm quản trị viên và lệnh "net start" hiển thị các dịch vụ đang chạy. Các hacker thường đưa người dùng vào một hệ thống hoặc đặt các tài khoản của họ vào một nhóm quản trị viên, vì vậy chúng ta luôn phải kiểm tra đầu ra của các lệnh này để xem liệu hacker đã sửa đổi các tài khoản trên máy tính hay chưa. Thêm vào đó, một số hacker có thể tạo các dịch vụ xấu trên máy tính, vì vậy người dùng nên cần thận với chúng. 3. Openfiles Nhiều quản trị viên Windows không quen với việc sử dụng các lệnh openfiles mạnh có trong Windows. Mặc dù vậy, như tên ngụ ý của nó, lệnh này sẽ hiển thị tất cả các file được mở trong máy tính, chỉ thị tên quá trình đang tương tác với mỗi file. Nó được xây dựng trong các phiên bản Windows đời mới, từ XP Pro đến Vista. Giống như lệnh lsof phổ biến cho Linux và Unix, nó cũng thể hiện cho các quản trị viên tất cả các file đang mở trên máy tính, cung cấp tên quá tình và đường dẫn hoàn chỉnh cho mỗi file. Tuy nhiên không giống như lsof, nó không cung cấp nhiều thông tin chi tiết, chẳng hạn như số ID của quá trình, số người dùng hoặc các thông tin khác. Xem xét phân vùng thông tin mà nó thu thập được, bạn sẽ không hề ngạc nhiên rằng lệnh openfiles thực sự tiêu hao rất nhiều hiệu suất. Chính vì vậy, thông thường các quá trình có liên quan đến openfiles bị tắt mặc định, nghĩa là người dùng không thể kéo bất cứ dữ liệu nào từ lệnh này cho tới khi bật nó. Chức năng này có thể được kích hoạt bằng cách chạy lệnh:
Khi kết thúc với lệnh openfiles, chức năng tính toán của nó có thể được tắt bỏ và hệ thống sẽ trở lại với tình trạng hiệu suất bình thường bằng cách chạy lệnh dưới đây và khởi động lại máy tính:
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:
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:
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 findstr vượ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:
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. Theo QTM/Techtarget |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|