PsExec: มันคืออะไรและใช้งานอย่างไร

สารบัญ:

PsExec: มันคืออะไรและใช้งานอย่างไร
PsExec: มันคืออะไรและใช้งานอย่างไร
Anonim

PsExec เป็นเครื่องมือพกพาจาก Microsoft ที่ให้คุณเรียกใช้กระบวนการจากระยะไกลโดยใช้ข้อมูลประจำตัวของผู้ใช้คนใดก็ได้ คล้ายกับโปรแกรมการเข้าถึงระยะไกล แต่แทนที่จะควบคุมคอมพิวเตอร์ด้วยเมาส์ คำสั่งจะถูกส่งผ่าน Command Prompt

คุณสามารถใช้ PsExec เพื่อไม่เพียงจัดการกระบวนการบนคอมพิวเตอร์ระยะไกล แต่ยังเปลี่ยนเส้นทางเอาต์พุตคอนโซลของแอปพลิเคชันไปยังคอมพิวเตอร์ท้องถิ่นของคุณ ทำให้ดูเหมือนว่ากระบวนการทำงานอยู่ในเครื่อง

ไม่จำเป็นต้องใช้ซอฟต์แวร์บนคอมพิวเตอร์ระยะไกลเพื่อให้ PsExec ทำงานได้ แต่มีบางสิ่งที่ต้องจำไว้หากเครื่องมือทำงานไม่ถูกต้องในครั้งแรกที่คุณลองใช้

วิธีตั้งค่า PsExec

หาก PsExec พกพาได้และไม่จำเป็นต้องคัดลอกไปยังคอมพิวเตอร์ระยะไกล จำเป็นต้องมีการตั้งค่าประเภทใดจริงๆ

เครื่องมือนี้ทำงานภายใต้เงื่อนไขบางประการเท่านั้น กล่าวคือ เมื่อเปิดใช้งานการแชร์ไฟล์และเครื่องพิมพ์ทั้งบนคอมพิวเตอร์ภายในเครื่องและระยะไกล และเมื่อเครื่องระยะไกลมีการตั้งค่าการแชร์ $admin อย่างถูกต้องเพื่อให้สามารถเข้าถึงโฟลเดอร์ \Windows\

คุณสามารถตรวจสอบอีกครั้งว่าเปิดใช้งานการแชร์ไฟล์และการพิมพ์โดยดูที่การตั้งค่าไฟร์วอลล์ Windows:

  1. Enter firewall.cpl ในกล่องโต้ตอบเรียกใช้ วิธีหนึ่งในการเปิด Run คือการใช้แป้นพิมพ์ลัด WIN+R
  2. เลือก อนุญาตแอปหรือคุณสมบัติผ่าน Windows Firewall จากด้านซ้ายของหน้าต่าง

    Image
    Image

    อาจอ่านว่า อนุญาตแอปหรือคุณสมบัติผ่านไฟร์วอลล์ Windows Defender ขึ้นอยู่กับวิธีการตั้งค่าคอมพิวเตอร์ของคุณ แต่ตัวเลือกนี้เหมือนกัน

  3. ตรวจสอบให้แน่ใจว่า การแชร์ไฟล์และเครื่องพิมพ์ มีเครื่องหมายถูกในช่อง Private ทางด้านขวา หากไม่เป็นเช่นนั้น ให้ทำเครื่องหมายในช่องนั้นแล้วเลือก ตกลง.

    Image
    Image

    หากคุณเปลี่ยนการตั้งค่าไฟร์วอลล์ไม่ได้เพราะเป็นสีเทา ให้เลือก เปลี่ยนการตั้งค่า ที่ด้านบนของหน้าต่าง

  4. คุณสามารถออกจากการตั้งค่าไฟร์วอลล์ Windows ที่เปิดอยู่ได้แล้ว

ด้วย Windows Firewall ที่ตั้งค่าอย่างถูกต้องสำหรับ PsExec คุณไม่ควรมีปัญหาในการเข้าถึง $admin share บนเครื่องระยะไกลตราบใดที่สิ่งต่อไปนี้เป็นจริง:

  • คอมพิวเตอร์ทั้งสองอยู่ในเวิร์กกรุ๊ปเดียวกัน
  • คุณทราบรหัสผ่านของบัญชีผู้ดูแลระบบบนคอมพิวเตอร์ระยะไกล

ดูบทช่วยสอนนี้ที่ Wintips.org หากคุณต้องการความช่วยเหลือในการทำสิ่งเหล่านั้นหรือหากคุณทำอย่างถูกต้อง แต่ต่อมา หลังจากลองใช้ PsExec ตามที่อธิบายไว้ด้านล่าง คุณจะได้รับข้อผิดพลาด “การเข้าถึงถูกปฏิเสธ”

วิธีใช้ PsExec

ก่อนใช้ PsExec เพื่อรันคำสั่งระยะไกล คุณต้องดาวน์โหลดโปรแกรมและจัดตำแหน่ง Command Prompt ในลักษณะที่คุณจะใช้เครื่องมือได้อย่างถูกต้อง

ดาวน์โหลดและเปิด

  1. ดาวน์โหลด PsExec บนคอมพิวเตอร์ที่จะเรียกใช้คำสั่งระยะไกล ใช้งานได้ฟรีจาก Microsoft ที่ Sysinternals โดยเป็นส่วนหนึ่งของ PsTools
  2. แตกไฟล์จากการดาวน์โหลด PsTools.zip คุณสามารถทำได้โดยคลิกขวาที่ไฟล์ ZIP แล้วเลือก Extract All ตัวแยกไฟล์ของบริษัทอื่นก็จะใช้งานได้เช่นกัน

    Image
    Image
  3. เปิดโฟลเดอร์ที่มีไฟล์ที่แยกออกมา และจากแถบนำทางที่ด้านบนของโฟลเดอร์ ให้ลบสิ่งที่อยู่ แล้วป้อน cmd.

    Image
    Image

    อีกวิธีในการทำเช่นนี้ อย่างน้อยใน Windows บางเวอร์ชันคือ Shift+คลิกขวา พื้นที่ว่างในโฟลเดอร์ PsTools แล้วเลือก เปิด หน้าต่างคำสั่งที่นี่.

    สิ่งนี้จะเปิด Command Prompt ในโฟลเดอร์นั้นเพื่อให้คุณสามารถเรียกใช้คำสั่งผ่าน PsExec.

    Image
    Image
  4. เมื่อเปิดพรอมต์คำสั่งในโฟลเดอร์ที่มี PsExec.exe คุณสามารถเริ่มป้อนคำสั่งบนเครื่องระยะไกลได้

ทำความเข้าใจไวยากรณ์

เหมือนกับเครื่องมือบรรทัดคำสั่งใดๆ PsExec จะทำงานก็ต่อเมื่อไวยากรณ์ถูกติดตามเท่านั้น เมื่อคุณเข้าใจวิธีพิมพ์คำสั่งตามที่เครื่องมือเข้าใจแล้ว คุณสามารถควบคุมโปรแกรมจาก Command Prompt ใดก็ได้

นี่คือวิธีที่ต้องป้อนคำสั่ง PsExec:

psexec [ คอมพิวเตอร์ [, คอมพิวเตอร์2 [, …] | @file\][- u ชื่อผู้ใช้ [- p รหัสผ่าน][- n s][- r ชื่อบริการ][- h][- l][- s |- e][- x][- i[เซสชัน][-c ปฏิบัติการ [-f |-v ][-w ไดเรกทอรี][- d][- ][- n, n, …] cmd [อาร์กิวเมนต์]

อาจดูซับซ้อนและสับสน แต่ไม่ต้องกังวล! มีตัวอย่างด้านล่างหน้านี้ที่คุณสามารถใช้ในการฝึกฝนได้

ไวยากรณ์ด้านบนใช้เพื่อดำเนินการอาร์กิวเมนต์คำสั่ง PsExec ต่อไปนี้:

ตัวเลือกคำสั่ง PsExec
พารามิเตอร์ คำอธิบาย
-a ตัวประมวลผลแบบแยกซึ่งแอปพลิเคชันสามารถทำงานโดยใช้เครื่องหมายจุลภาค โดยที่ 1 คือ CPU ที่มีตัวเลขต่ำสุด ตัวอย่างเช่น หากต้องการเรียกใช้แอปพลิเคชันบน CPU 2 และ CPU 4 คุณจะต้องป้อน: - a 2, 4
-c คัดลอกไฟล์เรียกทำงานที่ระบุไปยังระบบระยะไกลเพื่อดำเนินการ หากละเว้น แอปพลิเคชันจะต้องอยู่ในเส้นทางของระบบบนระบบรีโมต
- d อย่ารอให้กระบวนการยุติ (ไม่มีการโต้ตอบ)
- e ไม่โหลดโปรไฟล์ของบัญชีที่ระบุ
- f คัดลอกโปรแกรมที่ระบุแม้ว่าไฟล์นั้นจะมีอยู่แล้วบนระบบระยะไกล
- i เรียกใช้โปรแกรมเพื่อให้โต้ตอบกับเดสก์ท็อปของเซสชันที่ระบุบนระบบระยะไกล หากไม่มีการระบุเซสชัน กระบวนการจะทำงานในเซสชันคอนโซล
- h หากระบบเป้าหมายเป็น Windows Vista หรือสูงกว่า ให้เรียกใช้กระบวนการด้วยโทเค็นที่ยกระดับของบัญชี หากมี
-l เรียกใช้กระบวนการในฐานะผู้ใช้แบบจำกัด (ตัดกลุ่มผู้ดูแลระบบและอนุญาตเฉพาะสิทธิ์ที่กำหนดให้กับกลุ่มผู้ใช้) ใน Windows Vista กระบวนการทำงานด้วยความสมบูรณ์ต่ำ
- n ระบุระยะหมดเวลา (เป็นวินาที) ในการเชื่อมต่อกับคอมพิวเตอร์ระยะไกล
- p ระบุรหัสผ่านเสริมสำหรับชื่อผู้ใช้ หากละเว้น คุณจะได้รับแจ้งให้ป้อนรหัสผ่านที่ซ่อนอยู่
-r ระบุชื่อของบริการระยะไกลเพื่อสร้างหรือโต้ตอบด้วย
-s เรียกใช้กระบวนการระยะไกลในบัญชีระบบ
- u ระบุชื่อผู้ใช้เสริมสำหรับการเข้าสู่ระบบคอมพิวเตอร์ระยะไกล
- v คัดลอกไฟล์ที่ระบุเฉพาะเมื่อมีหมายเลขเวอร์ชันที่สูงกว่าหรือใหม่กว่าบนระบบรีโมต
- w ตั้งไดเร็กทอรีการทำงานของกระบวนการ (เทียบกับคอมพิวเตอร์ระยะไกล)
- x แสดงอินเทอร์เฟซผู้ใช้บนเดสก์ท็อปที่ปลอดภัยของ Winlogon (ระบบในเครื่องเท่านั้น)
- ลำดับความสำคัญ ระบุ -ต่ำ, -ต่ำกว่าปกติ, -สูงกว่าปกติ, -สูง หรือ -เรียลไทม์เพื่อเรียกใช้กระบวนการที่มีลำดับความสำคัญต่างกัน ใช้ -background เพื่อทำงานที่หน่วยความจำเหลือน้อยและลำดับความสำคัญ I/O บน Windows Vista
คอมพิวเตอร์ สั่งให้ PsExec เรียกใช้แอปพลิเคชันบนคอมพิวเตอร์ระยะไกลที่ระบุ หากไม่ระบุ PsExec จะเรียกใช้แอปพลิเคชันบนระบบโลคัล และหากมีการระบุไวด์การ์ด () PsExec จะรันคำสั่งบนคอมพิวเตอร์ทุกเครื่องในโดเมนปัจจุบัน
@file PsExec จะรันคำสั่งบนคอมพิวเตอร์แต่ละเครื่องที่อยู่ในไฟล์
cmd ชื่อแอปพลิเคชันที่จะดำเนินการ
ข้อโต้แย้ง อาร์กิวเมนต์ที่จะส่ง (โปรดทราบว่าพาธไฟล์ต้องเป็นพาธสัมบูรณ์บนระบบเป้าหมาย)

ตัวอย่างคำสั่ง PsExec

นี่คือตัวอย่างบางส่วนของวิธีใช้ PsExec เพื่อทำสิ่งต่างๆ เช่น เรียกใช้คำสั่ง Command Prompt ระยะไกล จัดการ Windows Services และเปิดหรือติดตั้งโปรแกรม

เปิด CMD จากระยะไกล

psexec \\192.168.86.62 cmd

วิธีที่ง่ายที่สุดวิธีหนึ่งในการใช้ PsExec เพื่อเรียกใช้คำสั่งพร้อมรับคำสั่งบนคอมพิวเตอร์ระยะไกลคือดำเนินการ cmd ตามที่อยู่ IP ของเครื่อง 192.168.86.62 ในตัวอย่างนี้

การทำเช่นนี้จะเปิดหน้าต่างพร้อมรับคำสั่งปกติภายในหน้าต่างที่มีอยู่ และให้คุณป้อนทุกคำสั่งราวกับว่าคุณกำลังนั่งอยู่หน้าคอมพิวเตอร์ระยะไกลตัวอย่างเช่น คุณสามารถป้อน ipconfig เพื่อรับผลลัพธ์เหล่านั้นจากคอมพิวเตอร์เครื่องอื่น หรือ mkdir เพื่อสร้างโฟลเดอร์ใหม่ dir เพื่อแสดงรายการเนื้อหาของโฟลเดอร์ ฯลฯ

เรียกใช้คำสั่งระยะไกล

psexec \\mediaserver01 tracert lifewire.com

อีกวิธีหนึ่งในการใช้ PsExec คือการป้อนคำสั่งทีละคำสั่งแต่ไม่ต้องเริ่มพรอมต์คำสั่งแบบเต็ม ในตัวอย่างนี้ เรากำลังดำเนินการคำสั่ง tracert กับ lifewire.com และเนื่องจากเราได้ระบุชื่อคอมพิวเตอร์ระยะไกล mediaserver01 ผลลัพธ์ของคำสั่งจึงเกี่ยวข้องกับเครื่องนั้น ไม่ใช่เครื่องในเครื่อง (เช่น เครื่องที่คุณอยู่ บน).

เริ่มบริการจากระยะไกล

psexec \\FRONTDESK_PC -u tomd -p 3(tom87 net start spooler

ตัวอย่างคำสั่ง PsExec ที่แสดงด้านบนจะเริ่มต้นบริการ Print Spooler, spooler จากระยะไกลบนคอมพิวเตอร์ FRONTDESK_PC โดยใช้รหัสผ่านของผู้ใช้ tomd 3(tom87.

คำสั่งเดียวกันนี้ใช้หยุดบริการจากระยะไกลได้ แต่ให้พิมพ์ "stop" แทน "start"

เปิด Registry Editor

psexec \\mikelaptopw10 -i -s C:\Windows\regedit.exe

ที่นี่ เราใช้ PsExec เพื่อเปิดใช้ Registry Editor บนเครื่องระยะไกล mikelaptopw10 ในบัญชีระบบ เนื่องจากมีการใช้ -i โปรแกรมจะเปิดในโหมดโต้ตอบ หมายความว่าจะเปิดขึ้นบนหน้าจอของเครื่องระยะไกลจริง

ถ้า -i ถูกละเว้นจากคำสั่งด้านบน คำสั่งนั้นจะดำเนินการในโหมดซ่อนเพื่อหลีกเลี่ยงการแสดงกล่องโต้ตอบหรือหน้าต่างอื่นๆ

ติดตั้งโปรแกรมบนคอมพิวเตอร์ระยะไกล

psexec \\J3BCD011 -c Z:\files\ccleaner.exe” cmd /S

ในตัวอย่างสุดท้ายของวิธีใช้ PsExec นี้ เรากำลังใช้ -c เพื่อคัดลอกโปรแกรม ccleaner.exe ไปยังคอมพิวเตอร์ระยะไกล J3BCD011 แล้วดำเนินการด้วย /S พารามิเตอร์ เนื่องจากนั่นคือสิ่งที่ CCleaner ใช้เพื่อเปิดใช้งานการติดตั้งแบบไม่มีการโต้ตอบ (ไม่ต้องป้อนข้อมูลจากผู้ใช้) การเพิ่มอาร์กิวเมนต์เช่นนั้นต้องใช้ cmd

PsExec อาจเป็นอันตรายได้

การเข้าใจว่า PsExec มีประสิทธิภาพเพียงใดและจะนำไปใช้เพื่อประนีประนอมคอมพิวเตอร์ของคุณได้อย่างไรเมื่อใช้งานในสภาพแวดล้อมที่ไม่ปลอดภัยอย่างอื่น

ตัวอย่างเช่น การรวม - c, - u และ - p โดยเฉพาะจะ ให้ทุกคนที่มีการเชื่อมต่อเครือข่ายกับคอมพิวเตอร์ของคุณ และมีความรู้เกี่ยวกับข้อมูลประจำตัวของผู้ดูแลระบบ เรียกใช้มัลแวร์ลับด้วยข้อมูลประจำตัวของใครก็ได้

ถึงแม้ตัวอย่างสุดท้ายที่ยอมรับได้อย่างสมบูรณ์ในส่วนก่อนหน้าก็มีจุดประสงค์ใหม่ทั้งหมดเมื่อคุณพิจารณาว่าแทนที่จะเป็น CCleaner ใครบางคนสามารถติดตั้งอย่างอื่นได้ตามต้องการ ในพื้นหลัง และไม่มีหน้าต่างปรากฏขึ้นเพื่อแสดงว่า อะไรก็เกิดขึ้นได้

ทั้งหมดที่กล่าวมา เมื่อพิจารณาถึงการเปลี่ยนแปลงของไฟร์วอลล์ที่จำเป็นและข้อมูลประจำตัวของผู้ดูแลระบบที่ต้องมี ไม่จำเป็นต้องกังวลอีกต่อไป ตราบใดที่รหัสผ่านของผู้ดูแลระบบบนคอมพิวเตอร์ระยะไกลนั้นซับซ้อนและมีการใช้มาตรการรักษาความปลอดภัยพื้นฐานอื่นๆ

โปรแกรมป้องกันไวรัสบางโปรแกรมระบุว่า PsExec เป็นไฟล์อันตรายอย่างไม่ถูกต้อง แต่คำเตือนเหล่านั้นสามารถเพิกเฉยได้หากคุณทราบแน่ชัดว่าโปรแกรมที่คุณกำลังใช้นั้นมาจากแหล่งที่มาของ Microsoft ด้านบน สาเหตุที่สิ่งนี้เกิดขึ้นเป็นเพราะทราบว่ามัลแวร์ใช้ PsExec เพื่อถ่ายโอนไวรัส

แนะนำ: