การกำหนดค่าบริการผิดพลาด
เส้นทางที่ไม่ใส่เครื่องหมายคำพูด สิทธิ์ที่อ่อนแอ
การกำหนดค่าบริการผิดพลาด เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
บริการในฐานะช่องทางโจมตี
บริการ Windows มักทำงานด้วยสิทธิ์ SYSTEM และเริ่มทำงานโดยอัตโนมัติ บริการที่กำหนดค่าไม่ปลอดภัย — เช่น สิทธิ์อ่อนแอ พาธไบนารีที่ยึดครองได้ หรือไฟล์ปฏิบัติการที่เขียนได้ — ทำให้คุณเรียกใช้โค้ดด้วยสิทธิ์ SYSTEM
พาธบริการที่ไม่ใส่เครื่องหมายอัญประกาศ
หากพาธไบนารีของบริการมีช่องว่างและ ไม่ได้ใส่เครื่องหมายอัญประกาศ Windows จะลองใช้คำนำหน้าแต่ละส่วนที่คั่นด้วยช่องว่างร่วมกับ .exe สำหรับ C:\Program Files\My App\svc.exe ระบบจะลอง C:\Program.exe จากนั้น C:\Program Files\My.exe และอื่น ๆ
wmic service get Name,PathName,StartName | findstr /i /v "\""การใช้ประโยชน์จากพาธที่ไม่ใส่เครื่องหมายอัญประกาศ
หากคุณเขียนลงในไดเรกทอรีระหว่างทางรายการใดรายการหนึ่งได้ (เช่น C:\Program Files\ ในเครื่องที่กำหนดค่าผิดพลาด) ให้นำ My.exe ที่เป็นอันตรายไปวางไว้ที่นั่น เมื่อบริการ SYSTEM เริ่มทำงาน Windows จะเรียกใช้ไบนารีของคุณ
icacls "C:\Program Files"
# need write access to the unquoted segmentสิทธิ์บริการที่อ่อนแอ
หากผู้ใช้ของคุณมีสิทธิ์ SERVICE_CHANGE_CONFIG ในบริการ SYSTEM คุณสามารถเปลี่ยนพาธไบนารีให้ชี้ไปยังเพย์โหลดของคุณ แล้วเริ่มบริการใหม่ ตรวจสอบ ACL ของบริการด้วย AccessChk
accesschk.exe -uwcqv "Users" *
# look for SERVICE_ALL_ACCESS / SERVICE_CHANGE_CONFIGการแก้ไขพาธไบนารีของบริการ
เมื่อมีสิทธิ์แก้ไขการกำหนดค่า ให้เปลี่ยน binPath เป็นคำสั่งที่เพิ่มคุณเข้าในกลุ่ม Administrators แล้วเริ่มบริการใหม่เพื่อให้คำสั่งทำงานด้วยสิทธิ์ SYSTEM
sc config vulnsvc binPath= "cmd /c net localgroup administrators user /add"
sc stop vulnsvc & sc start vulnsvcสิทธิ์ไฟล์ของไบนารีที่อ่อนแอ
แม้ไม่มีสิทธิ์แก้ไขการกำหนดค่า หาก ไฟล์ปฏิบัติการ ของบริการเขียนได้โดยผู้ใช้ของคุณ ให้เขียนทับด้วยเพย์โหลดของคุณ แล้วเริ่มบริการใหม่ (หรือรอการรีบูต)
icacls "C:\Program Files\VulnApp\service.exe"
# (M) or (F) for Users/Everyone = writableการยึดครอง DLL
หากบริการ SYSTEM โหลด DLL ด้วยชื่อจากไดเรกทอรีที่เขียนได้ในลำดับการค้นหา ให้วาง DLL ที่เป็นอันตรายไว้ที่นั่น บริการจะโหลดโค้ดของคุณเมื่อเริ่มทำงานครั้งถัดไป นี่คือ การยึดครอง DLL / การใช้ประโยชน์จากลำดับการค้นหา
การใช้ประโยชน์จากบริการผ่านรีจิสทรี
การกำหนดค่าบริการอยู่ภายใต้ HKLM\SYSTEM\CurrentControlSet\Services สิทธิ์เขียนคีย์รีจิสทรีของบริการทำให้คุณแก้ไข ImagePath ได้ — เป็นอีกช่องทางหนึ่งในการควบคุมสิ่งที่จะทำงานด้วยสิทธิ์ SYSTEM
reg query "HKLM\SYSTEM\CurrentControlSet\Services\vulnsvc"การเริ่มบริการใหม่
การยกระดับสิทธิ์มักขึ้นอยู่กับการทำให้บริการเริ่มใหม่ หากคุณหยุดหรือเริ่มบริการโดยตรงไม่ได้ อาจต้องรีบูตเครื่อง — หรือเลือกบริการที่เริ่มใหม่โดยอัตโนมัติ ตรวจสอบว่าบัญชีของคุณสามารถเริ่มบริการใหม่ได้หรือไม่
sc qc vulnsvc # query config
sc query vulnsvc # current stateการใช้ PowerUp เพื่อค้นหาสิ่งเหล่านี้
การตรวจสอบของ PowerUp (Get-ServiceUnquoted, Get-ModifiableServiceFile, Get-ModifiableService) ช่วยค้นหาการกำหนดค่าบริการที่ผิดพลาดทั้งหมดนี้โดยอัตโนมัติ และยังสร้างคำสั่งสำหรับใช้ประโยชน์ได้ด้วย
powershell -ep bypass
Import-Module .\PowerUp.ps1
Invoke-AllChecksการป้องกันและจริยธรรม
ผู้ดูแลระบบควรใส่เครื่องหมายอัญประกาศให้พาธบริการทั้งหมด จำกัด ACL ของบริการและไบนารี ให้บริการทำงานด้วยสิทธิ์เท่าที่จำเป็น และปกป้องคีย์รีจิสทรีของบริการ ให้ใช้ประโยชน์จากช่องโหว่เหล่านี้เฉพาะในระบบที่ได้รับอนุญาต
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับการกำหนดค่าบริการที่ผิดพลาด
สรุปทบทวน
คุณได้เรียนรู้การยกระดับสิทธิ์ผ่านบริการ:
- พาธบริการที่ไม่ใส่เครื่องหมายอัญประกาศ ทำให้คุณวางไบนารีไว้ในส่วนพาธที่อยู่ก่อนหน้าได้
- สิทธิ์บริการ ที่อ่อนแอทำให้คุณเปลี่ยนพาธ
binPathได้ - ไบนารีบริการที่เขียนได้และ การยึดครอง DLL ก็ใช้เป็นช่องทางได้เช่นกัน
- PowerUp ช่วยทำให้การค้นหาและการใช้ประโยชน์เป็นอัตโนมัติ
ถัดไป: การปลอมตัวด้วยโทเค็น
คำถามที่พบบ่อย
บทเรียน “การกำหนดค่าบริการผิดพลาด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การกำหนดค่าบริการผิดพลาด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดค่าบริการผิดพลาด”
เส้นทางที่ไม่ใส่เครื่องหมายคำพูด สิทธิ์ที่อ่อนแอ คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การกำหนดค่าบริการผิดพลาด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม
ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การแจกแจงข้อมูลของ Windows
- การกำหนดค่าบริการผิดพลาด
- การปลอมตัวเป็นโทเค็น
- การเก็บเกี่ยวข้อมูลรับรอง