PsExec là một công cụ di động của Microsoft cho phép bạn chạy các quy trình từ xa bằng thông tin đăng nhập của bất kỳ người dùng nào. Nó hơi giống một chương trình truy cập từ xa nhưng thay vì điều khiển máy tính bằng chuột, các lệnh được gửi qua Command Prompt.
Bạn có thể sử dụng PsExec để không chỉ quản lý các quy trình trên máy tính từ xa mà còn chuyển hướng đầu ra bảng điều khiển của ứng dụng đến máy tính cục bộ của bạn, làm cho nó xuất hiện như thể quy trình đang chạy cục bộ.
Không cần phần mềm trên máy tính từ xa để PsExec hoạt động, nhưng có một số điều cần lưu ý nếu công cụ không chạy chính xác trong lần đầu tiên bạn dùng thử.
Cách thiết lập PsExec
Nếu PsExec có thể di động và không cần sao chép vào máy tính từ xa, thì nó thực sự cần loại thiết lập nào?
Công cụ chỉ hoạt động trong một số điều kiện nhất định. Cụ thể, khi tính năng chia sẻ tệp và máy in được bật trên cả máy tính cục bộ và máy tính từ xa và khi máy tính từ xa có chia sẻ $ admin được thiết lập chính xác để cung cấp quyền truy cập vào thư mục / Windows / của nó.
Bạn có thể kiểm tra kỹ xem tệp và chia sẻ in đã được bật chưa bằng cách xem cài đặt Tường lửa của Windows:
-
Nhập firewall.cplvào hộp thoại Run. Một cách để mở Run là thông qua phím tắt WIN + R.
-
Chọn Cho phép ứng dụng hoặc tính năng thông qua Tường lửa của Windowstừ phía bên trái của cửa sổ.
Điều này có thể đọc là Cho phép ứng dụng hoặc tính năng thông qua Tường lửa của Bộ bảo vệ Windowstùy thuộc vào cách máy tính của bạn được thiết lập, nhưng đó là cùng một tùy chọn.
-
Đảm bảo Chia sẻ Tệp và Máy incó dấu kiểm trong hộp Riêng ở bên phải. Nếu không, hãy đánh dấu vào ô đó và chọn OK.
Nếu bạn không thể thay đổi cài đặt tường lửa vì chúng chuyển sang màu xám, hãy chọn Thay đổi cài đặtở đầu cửa sổ.
- Bây giờ bạn có thể thoát mọi cài đặt Tường lửa của Windows đang mở.
Với Tường lửa của Windows hiện được thiết lập chính xác cho PsExec, bạn sẽ không gặp vấn đề gì khi truy cập vào phần chia sẻ $ admin trên máy từ xa miễn là những điều sau là đúng:
- Cả hai máy tính đều thuộc cùng một Nhóm làm việc
- Bạn biết mật khẩu của tài khoản quản trị viên trên máy tính từ xa
Xem hướng dẫn này tại Wintips.org nếu bạn cần trợ giúp để thực hiện những điều đó hoặc nếu bạn đã làm đúng nhưng sau đó, sau khi cố gắng sử dụng PsExec như được mô tả bên dưới, bạn gặp lỗi “quyền truy cập bị từ chối”.
Cách sử dụng PsExec
Trước khi sử dụng PsExec để thực hiện các lệnh từ xa, bạn phải tải xuống chương trình và định vị Dấu nhắc Lệnh theo cách mà bạn có thể sử dụng công cụ một cách chính xác.
Tải xuống và mở nó
- Tải xuống PsExec trên máy tính sẽ chạy các lệnh từ xa. Nó được cung cấp miễn phí từ Microsoft tại Sysinternals như một phần của PsTools.
-
Giải nén các tệp từ tệp tải xuống PsTools.zip. Bạn có thể làm điều đó bằng cách nhấp chuột phải vào tệp ZIP và chọn Extract All. Mọi trình giải nén tệp của bên thứ ba cũng sẽ hoạt động.
-
Mở thư mục chứa các tệp đã giải nén và từ thanh điều hướng ở đầu thư mục, xóa những gì ở đó và nhập cmd.
Một cách khác để thực hiện việc này, ít nhất là trong một số phiên bản Windows, là Shift + Nhấp chuột phảivào một khoảng trống trong thư mục PsTools và chọn Mở cửa sổ lệnh ở đây.
Thao tác này sẽ mở Command Prompt trong thư mục đó để bạn có thể chạy các lệnh thông qua PsExec.
- Với Command Prompt hiện mở đến thư mục chứa PsExec.exe, bạn có thể bắt đầu nhập lệnh trên máy từ xa.
Hiểu Cú pháp
Giống như bất kỳ công cụ dòng lệnh nào, PsExec chỉ hoạt động khi cú pháp của nó được tuân thủ chính xác. Khi bạn hiểu cách nhập lệnh theo cách mà công cụ hiểu chúng, bạn có thể điều khiển chương trình từ bất kỳ Dấu nhắc Lệnh nào.
Đây là cách các lệnh PsExec phải được nhập:
psexec[ computer [, computer2 [,…] | @ tệp \] [- utên người dùng [- pmật khẩu] [- n s] [- rtên dịch vụ] [- h] [- l] [- s |- e] [- x] [- i [phiên] [ -c thực thi [ -f |-v ] [-wthư mục] [- d] [- ] [ - a n, n
Điều này có thể trông phức tạp và khó hiểu nhưng đừng lo lắng! Có một số ví dụ ở cuối trang này mà bạn có thể sử dụng để thực hành.
Cú pháp trên được sử dụng để thực thi bất kỳ đối số lệnh PsExec nào sau đây:
Tùy chọn lệnh PsExec | |
---|---|
Thông số | Giải thích |
- a | Tách biệt các bộ xử lý mà ứng dụng có thể chạy, bằng dấu phẩy, trong đó 1 là CPU được đánh số thấp nhất. Ví dụ: để chạy ứng dụng trên CPU 2 và CPU 4, bạn nhập:- a 2, 4 |
- c | Sao chép tệp thực thi được chỉ định vào hệ thống từ xa để thực thi. Nếu bị bỏ qua, ứng dụng phải nằm trong đường dẫn hệ thống trên hệ thống từ xa. |
- d | Đừng đợi quá trình kết thúc (không tương tác). |
- e | Không tải hồ sơ của tài khoản được chỉ định. |
- f | Sao chép chương trình được chỉ định ngay cả khi tệp đã tồn tại trên hệ thống từ xa. |
- i | Chạy chương trình để nó tương tác với màn hình nền của phiên được chỉ định trên hệ thống từ xa. Nếu không có phiên nào được chỉ định, quá trình này sẽ chạy trong phiên bảng điều khiển. |
- h | Nếu hệ thống đích là Windows Vista trở lên, hãy chạy quy trình với mã thông báo nâng cao của tài khoản, nếu có. |
- l | Chạy quy trình với tư cách người dùng hạn chế (loại bỏ nhóm Quản trị viên và chỉ cho phép các đặc quyền được chỉ định cho nhóm Người dùng). Trong Windows Vista, quá trình này chạy với Tính toàn vẹn thấp. |
- n | Chỉ định thời gian chờ (tính bằng giây) kết nối với máy tính từ xa. |
- p | Chỉ định mật khẩu tùy chọn cho tên người dùng. Nếu bỏ qua, bạn sẽ được nhắc nhập mật khẩu ẩn. |
- r | Chỉ định tên của dịch vụ từ xa để tạo hoặc tương tác. |
- s | Chạy quy trình từ xa trong tài khoản Hệ thống. |
- u | Chỉ định tên người dùng tùy chọn để đăng nhập vào máy tính từ xa. |
- v | Chỉ sao chép tệp được chỉ định nếu tệp có số phiên bản cao hơn hoặc mới hơn tệp trên hệ thống từ xa. |
- w | Đặt thư mục làm việc của quy trình (liên quan đến máy tính từ xa). |
- x | Hiển thị giao diện người dùng trên màn hình bảo mật Winlogon (chỉ dành cho hệ thống cục bộ). |
- ưu tiên | Chỉ định -low, -belownormal, -abovenormal, -high hoặc -re altime để chạy quy trình ở một mức độ ưu tiên khác. Sử dụng-background để chạy ở mức bộ nhớ thấp và ưu tiên I / O trên Windows Vista. |
máy tính | Chỉ đạo PsExec chạy ứng dụng trên (các) máy tính từ xa được chỉ định. Nếu bị bỏ qua, PsExec sẽ chạy ứng dụng trên hệ thống cục bộ và nếu ký tự đại diện () được chỉ định, PsExec sẽ chạy lệnh trên tất cả các máy tính trong miền hiện tại. |
@ tệp | PsExec sẽ thực thi lệnh trên từng máy tính được liệt kê trong tệp. |
cmd | Tên ứng dụng sẽ thực thi. |
đối số | Đối số cần chuyển (lưu ý rằng đường dẫn tệp phải là đường dẫn tuyệt đối trên hệ thống đích). |
Ví dụ về lệnh PsExec
Đây là một vài ví dụ về cách sử dụng PsExec để thực hiện những việc như chạy lệnh Command Prompt từ xa, quản lý Dịch vụ Windows và khởi chạy hoặc cài đặt chương trình.
Mở CMD từ xa
psexec \\ 192.168.86.62 cmd
Một trong những cách dễ nhất để sử dụng PsExec để chạy lệnh Command Prompt trên máy tính từ xa là thực thi cmd theo địa chỉ IP của máy, trong ví dụ này là 192.168.86.62.
Làm điều này sẽ khởi chạy cửa sổ Command Prompt thông thường trong cửa sổ hiện có và cho phép bạn nhập mọi lệnh như thể bạn đang ngồi trước máy tính từ xa. Ví dụ: sau đó, bạn có thể nhập ipconfig để nhận các kết quả đó từ máy tính khác hoặc mkdirđể tạo một thư mục mới, dir để liệt kê nội dung của thư mục, v.v.
Chạy Lệnh Từ xa
psexec \\ mediaserver01 tracert lifewire.com
Một cách khác để sử dụng PsExec là nhập các lệnh riêng lẻ nhưng không khởi động Command Prompt đầy đủ. Trong ví dụ này, chúng tôi đang thực thi lệnh tracert đối với lifewire.com và vì chúng tôi đã chỉ định tên máy tính từ xa, mediaserver01, kết quả lệnh có liên quan đến máy đó, không phải máy cục bộ (tức là máy bạn đang trên).
Bắt đầu Dịch vụ Từ xa
psexec \\ FRONTDESK_PC -u tomd -p 3(tom87 net start spooler
Ví dụ lệnh PsExec hiển thị ở trên khởi động dịch vụ Bộ đệm in, bộ đệm, từ xa trên máy tính FRONTDESK_PC bằng mật khẩu của người dùng tomd, 3(tom87.
Có thể sử dụng lệnh tương tự để dừng dịch vụ từ xa, nhưng bạn phải nhập "dừng" thay vì "bắt đầu".
Mở Registry Editor
psexec \\ mikelaptopw10 -i -s C: / Windows / regedit.exe
Ở đây, chúng tôi đang sử dụng PsExec để khởi chạy Registry Editor trên máy tính từ xa, mikelaptopw10, trong tài khoản Hệ thống. Vì -i được sử dụng, chương trình sẽ mở ở chế độ tương tác, nghĩa là nó sẽ thực sự khởi chạy trên màn hình của máy điều khiển từ xa.
Nếu -i bị bỏ qua trong lệnh trên, nó sẽ thực thi ở chế độ ẩn để tránh hiển thị bất kỳ hộp thoại hoặc cửa sổ nào khác.
Cài đặt Chương trình trên Máy tính Từ xa
psexec \\ J3BCD011 -c "Z: / files / ccleaner.exe" cmd / S
Trong ví dụ cuối cùng về cách sử dụng PsExec này, chúng tôi đang sử dụng -c để sao chép chương trình ccleaner.exe vào máy tính từ xa J3BCD011, sau đó thực thi nó bằng / S tham số vì đó là những gì CCleaner sử dụng để cho phép cài đặt im lặng (không yêu cầu người dùng nhập). Thêm một đối số như vậy yêu cầu cmd.
PsExec có thể nguy hiểm
Điều rất quan trọng là phải hiểu PsExec mạnh mẽ như thế nào và nó có thể được sử dụng như thế nào để xâm phạm máy tính của bạn khi được sử dụng trong một môi trường không an toàn.
Ví dụ: kết hợp- c,- uvà- p, cụ thể sẽ cho phép bất kỳ ai có kết nối mạng với máy tính của bạn và biết thông tin đăng nhập quản trị viên, thực thi phần mềm độc hại bí mật bằng thông tin đăng nhập của bất kỳ ai.
Ngay cả ví dụ cuối cùng, hoàn toàn có thể chấp nhận được trong phần trước cũng có một mục đích hoàn toàn mới khi bạn cho rằng thay vì CCleaner, ai đó có thể cài đặt bất kỳ thứ gì khác mà họ muốn, trong nền và không có cửa sổ nào bật lên để hiển thị điều đó bất cứ điều gì đang xảy ra.
Tất cả những gì đã nói, xem xét các thay đổi tường lửa bắt buộc và kiến thức thông tin xác thực quản trị viên mà ai đó sẽ phải có, không có lý do gì để lo lắng miễn là mật khẩu quản trị viên trên máy tính từ xa phức tạp và các biện pháp bảo mật cơ bản khác đã được thực hiện.
Một số chương trình chống vi-rút xác định sai PsExec là một tệp nguy hiểm, nhưng những cảnh báo đó có thể bị bỏ qua nếu bạn biết chắc rằng chương trình bạn đang sử dụng là từ nguồn Microsoft ở trên. Lý do điều này xảy ra là vì phần mềm độc hại đã được biết là sử dụng PsExec để truyền vi rút.