Để 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
Trang 1Xác định hệ thống bị tấn
công bằng các lệnh
Windows
Trang 2Quản trị mạng – 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
Trang 3Windows 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:
C:\> wmic process
Phần đầu ra của lệnh này có vẻ khá khó đọc vì định không được chỉ định Tuy nhiên với WMIC, đầu ra mà công cụ này
cung cấp được định dạng hoàn toàn khác, trong đó phần "list
full" sẽ hiển thị các thông tin chi tiết cho mỗi lĩnh vực mà
người dùng quan tâm, còn phần "list brief" sẽ cung cấp một
dòng đầu ra cho mỗi một mục báo cáo dưới sạng danh sách
Trang 4các mục, chẳng hạn như các quá trình đang chạy, các chương trình tự động khởi chạy và những chia sẻ hiện hữu
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:
C:\> wmic process list brief
Lệnh trên sẽ hiển thị tên, ID của quá trình và quyền ưu tiên của mỗi quá trình đang chạy cũng như các thuộc tính khác Để nhận thêm các thông tin chi tiết hơn, chạy lệnh:
C:\> wmic process list full
Lệnh này sẽ hiển thị tất cả các thông tin chi tiết, gồm có
đường dẫn của file thực thi có liên kết với quá trình và lệnh triệu gọi dòng lệnh của nó Khi nghiên cứu một máy tính có bị tiêm nhiễm hay không, quản trị viên cần phải xem xét từng quá trình để xác định xem các quá trình này có hợp lệ trên máy tính hay không, sau đó nghiên cứu các quá trình lạ hoặc không mong đợi bằng cách sử dụng các cỗ máy tìm kiếm
Trang 5Ngoà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:
C:\> wmic startup list full
Rất nhiều malware có thể tự động chạy trên máy tính bằng cách thêm một mục auto-start bên cạnh các mục hợp lệ khác
có bên trong các công cụ antivirus hay các chương trình
system tray Người dùng có thể quan sát các thiết lập khác
trên máy tính với WMIC bằng cách thay thế "startup" bằng
"QFE" (cụm chữ cái viết tắt cho Quick Fix Engineering) để thấy được mức vá của một hệ thống, bằng "share" để xem
danh sách các file chia sẻ trên Windows hoặc bằng
"useraccount" để thấy được các thiết lập tài khoản chi tiết
của người dùng
Trang 6Mộ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:
C:\> wmic process list brief /every:1
Nhấn CTRL+C sẽ dừng chu kỳ
2 Lệnh net
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
Trang 7ngườ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
Trang 8Linux 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:
C:\> openfiles /local on
Người dùng sẽ cần phải khởi động lại và khi hệ thống hoạt
động trở lại, họ sẽ có thể chạy lệnh openfiles như dưới đây:
C:\> openfiles /query /v
Trang 9Lệnh này sẽ hiển thị đầu ra một cách chi tiết, gồm có tài
khoản người dùng mà quá trình cho một file mở đang chạy bên trong Từ đó có thể nhận biết được malware gì đã được cài đặt, hoặc tấn công gì có thể đang được thực hiện trên máy tính, người dùng nên tìm kiếm các file dị thường hoặc các file không mong đợi, đặc biệt các file có liên quan đến những người dùng nội bộ không mong đợi trên máy tí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:
C:\> openfiles /local off