
เราเขียนเป็นประจำว่าแฮกเกอร์มักพึ่งพาการใช้ เพื่อหลีกเลี่ยงการตรวจจับ พวกเขาแท้จริงแล้ว โดยใช้เครื่องมือมาตรฐานของ Windows จึงสามารถหลีกเลี่ยงซอฟต์แวร์ป้องกันไวรัสและเครื่องมือตรวจจับมัลแวร์อื่นๆ ได้ ในฐานะผู้ป้องกัน เราถูกบังคับให้เผชิญกับผลที่ตามมาอันเลวร้ายจากเทคนิคการแฮ็กอันชาญฉลาดเช่นนี้ พนักงานที่อยู่ในตำแหน่งที่ดีสามารถใช้วิธีการเดียวกันนี้เพื่อขโมยข้อมูลอย่างลับๆ (ทรัพย์สินทางปัญญาของบริษัท หมายเลขบัตรเครดิต) และหากพวกเขาใช้เวลาทำงานอย่างช้าๆ และลับๆ ย่อมเป็นเรื่องยากลำบากอย่างยิ่ง แต่ยังคงเป็นไปได้หากใช้วิธีการที่ถูกต้องและกลยุทธ์ที่เหมาะสม - เพื่อระบุกิจกรรมดังกล่าว
ในทางกลับกัน ผมไม่อยากทำให้พนักงานดูเป็นปีศาจ เพราะไม่มีใครอยากทำงานในสภาพแวดล้อมทางธุรกิจที่เหมือนหลุดออกมาจากนิยายเรื่อง 1984 ของออร์เวลล์ โชคดีที่มีขั้นตอนปฏิบัติและเคล็ดลับชีวิตมากมายที่สามารถทำให้ชีวิตของคนในยากลำบากขึ้นอย่างมาก เราจะมาดูกัน วิธีโจมตีแบบลอบเร้นซึ่งแฮกเกอร์และพนักงานที่มีพื้นฐานทางเทคนิคบางส่วนใช้งานอยู่ ต่อไปเราจะมาพูดคุยถึงทางเลือกในการลดความเสี่ยงดังกล่าว โดยจะสำรวจทั้งทางเลือกด้านเทคนิคและทางองค์กร
PsExec มีอะไรผิดปกติ?
เอ็ดเวิร์ด สโนว์เดน กลายเป็นคำพ้องความหมายกับการขโมยข้อมูลภายใน ไม่ว่าจะถูกหรือผิดก็ตาม เมื่อพูดถึงเรื่องนี้ อย่าลืมตรวจสอบ เกี่ยวกับบุคคลวงในคนอื่นๆ ที่สมควรได้รับการยกย่องเช่นกัน ประเด็นสำคัญประการหนึ่งเกี่ยวกับวิธีการของสโนว์เดนที่ควรเน้นย้ำคือ เท่าที่เรารู้ เขา ไม่ได้ติดตั้ง ไม่มีมัลแวร์ภายนอก!
ในทางกลับกัน สโนว์เดนกลับใช้กลวิธีทางสังคมเล็กน้อย และใช้ประโยชน์จากตำแหน่งผู้ดูแลระบบของเขาเพื่อเก็บรหัสผ่านและสร้างข้อมูลประจำตัว ไม่มีอะไรซับซ้อนเลย , การโจมตี หรือ .
พนักงานองค์กรอาจไม่ได้อยู่ในตำแหน่งเฉพาะตัวแบบสโนว์เดนเสมอไป แต่แนวคิด "การดำรงชีวิตแบบพึ่งพาตนเอง" นำเสนอบทเรียนมากมายที่ควรค่าแก่การจดจำ ได้แก่ การหลีกเลี่ยงกิจกรรมที่เป็นอันตรายใดๆ ที่อาจตรวจพบได้ และการใช้ข้อมูลประจำตัวอย่างระมัดระวังเป็นพิเศษ จำไว้เสมอว่า
และลูกพี่ลูกน้องของเขา ได้สร้างความประทับใจให้กับนักทดสอบการเจาะระบบ แฮกเกอร์ และบล็อกเกอร์ด้านความปลอดภัยสารสนเทศจำนวนนับไม่ถ้วน และเมื่อใช้ร่วมกับ mimikatz แล้ว psexec จะช่วยให้ผู้โจมตีสามารถเคลื่อนที่ภายในเครือข่ายได้โดยไม่จำเป็นต้องรู้รหัสผ่านแบบข้อความธรรมดา
Mimikatz สกัดกั้นแฮช NTLM จากกระบวนการ LSASS จากนั้นส่งโทเค็นหรือข้อมูลประจำตัว ซึ่งเรียกว่า ผ่านการโจมตีแบบแฮช – ใน psexec อนุญาตให้ผู้โจมตีเข้าสู่ระบบเซิร์ฟเวอร์อื่นในนามของ ของอีก ผู้ใช้ และในการย้ายไปยังเซิร์ฟเวอร์ใหม่แต่ละครั้ง ผู้โจมตีจะรวบรวมข้อมูลประจำตัวเพิ่มเติม ขยายขอบเขตความสามารถในการค้นหาเนื้อหาที่เข้าถึงได้
ตอนที่ฉันเริ่มใช้ psexec ครั้งแรก มันรู้สึกเหมือนมีเวทมนตร์ – ขอบคุณ ผู้พัฒนา psexec ที่ยอดเยี่ยม แต่ฉันก็รู้เกี่ยวกับเขาด้วย เสียงดัง ส่วนประกอบต่างๆ ไม่ได้ซ่อนไว้เลย!
ข้อเท็จจริงที่น่าสนใจประการแรกเกี่ยวกับ psexec ก็คือมันใช้กระบวนการที่ซับซ้อนมาก โปรโตคอลไฟล์เครือข่าย SMB จาก Microsoft การใช้ SMB ทำให้ psexec ถ่ายโอนข้อมูลขนาดเล็ก ไบนารี ไฟล์ไปยังระบบเป้าหมายโดยวางไว้ในโฟลเดอร์ C:Windows
จากนั้น psexec จะสร้างบริการ Windows โดยใช้ไบนารีที่คัดลอกมา และรันภายใต้ชื่อ PSEXECSVC ที่ "ไม่คาดคิด" อย่างมาก คุณสามารถเห็นทั้งหมดนี้ได้จริง เช่นเดียวกับที่ผมทำ โดยการตรวจสอบเครื่องระยะไกล (ดูด้านล่าง)

นามบัตรของ Psexec คือบริการ "PSEXECSVC" ซึ่งรันไฟล์ไบนารีที่เก็บไว้ในโฟลเดอร์ C:\Windows ผ่าน SMB
ขั้นตอนสุดท้ายคือไฟล์ไบนารีที่คัดลอกจะเปิดขึ้น การเชื่อมต่อ RPC ไปยังเซิร์ฟเวอร์เป้าหมาย แล้วจึงรับคำสั่งควบคุม (โดยค่าเริ่มต้นคือผ่านเชลล์ cmd ของ Windows) ดำเนินการคำสั่งและเปลี่ยนเส้นทางอินพุตและเอาต์พุตไปยังเครื่องหลักของผู้โจมตี ผู้โจมตีจะเห็นพรอมต์คำสั่งพื้นฐาน เหมือนกับว่าพวกเขาเชื่อมต่อโดยตรง
มีส่วนประกอบมากมายและกระบวนการที่มีเสียงดังมาก!
การทำงานภายในที่ซับซ้อนของ psexec อธิบายข้อความที่ทำให้ฉันสับสนระหว่างการทดสอบครั้งแรกเมื่อหลายปีก่อน: "กำลังเริ่ม PSEXECSVC..." และการหยุดชั่วคราวที่ตามมาก่อนที่พรอมต์คำสั่งจะปรากฏขึ้น

Psexec ของ Impacket แสดงให้เห็นสิ่งที่เกิดขึ้นภายใต้ประทุน
ไม่น่าแปลกใจเลย: psexec กำลังทำงานหนักมากภายใต้การดูแล หากคุณสนใจคำอธิบายโดยละเอียดเพิ่มเติม โปรดดูที่นี่ คำอธิบายที่ยอดเยี่ยม
เห็นได้ชัดว่าเมื่อใช้เป็นเครื่องมือในการดูแลระบบ ซึ่งเป็นสิ่งที่เป็น วัตถุประสงค์เดิม ไม่มีอะไรน่ากลัวเกี่ยวกับ "เสียงหึ่งๆ" ของกลไก Windows ทั้งหมดนี้ อย่างไรก็ตาม สำหรับผู้โจมตี psexec อาจสร้างความซับซ้อน และสำหรับบุคคลภายในที่ระมัดระวังและเจ้าเล่ห์อย่าง Snowden แล้ว psexec หรือโปรแกรมยูทิลิตี้ที่คล้ายกันอาจมีความเสี่ยงสูงเกินไป
และแล้วก็มาถึง Smbexec
SMB เป็นวิธีที่ชาญฉลาดและซ่อนเร้นในการถ่ายโอนไฟล์ระหว่างเซิร์ฟเวอร์ และแฮกเกอร์ได้แทรกซึม SMB โดยตรงมาหลายศตวรรษแล้ว ผมคิดว่าทุกคนคงรู้ดีกว่านี้อยู่แล้ว พอร์ต SMB 445 และ 139 อยู่บนอินเทอร์เน็ตใช่ไหม?
ในปี 2013 ที่ Defcon, Eric Millman () นำเสนอสู่โลก เพื่อให้ผู้ทดสอบการเจาะระบบสามารถลองแฮ็ก SMB แบบแอบๆ ได้ ผมไม่ทราบเรื่องราวทั้งหมด แต่ Impacket ได้ปรับปรุง smbexec ให้ดียิ่งขึ้น อันที่จริง สำหรับการทดสอบของผม ผมดาวน์โหลดสคริปต์ Python ของ Impacket จาก .
ไม่เหมือนกับ psexec, smbexec หลีกเลี่ยง การถ่ายโอนไฟล์ไบนารีที่อาจตรวจจับได้ไปยังเครื่องเป้าหมาย ในทางกลับกัน สาธารณูปโภคจะดำเนินไปบนพื้นดินทั้งหมดผ่านการปล่อยยาน ท้องถิ่น บรรทัดคำสั่งของ Windows
นี่คือสิ่งที่มันทำ: มันส่งคำสั่งจากเครื่องของผู้โจมตีผ่าน SMB ไปยังไฟล์อินพุตพิเศษ จากนั้นสร้างและรันพรอมต์คำสั่งที่ซับซ้อน (ในรูปแบบบริการของ Windows) ซึ่งผู้ใช้ Linux จะคุ้นเคย กล่าวโดยสรุปคือ มันจะเปิดเชลล์ cmd ของ Windows ดั้งเดิม เปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์อื่น แล้วส่งกลับไปยังเครื่องของผู้โจมตีผ่าน SMB
วิธีที่ดีที่สุดในการทำความเข้าใจเรื่องนี้คือการดูบรรทัดคำสั่งที่ฉันสามารถรับได้จากบันทึกเหตุการณ์ (ดูด้านล่าง)

นี่ไม่ใช่การเปลี่ยนเส้นทาง I/O ขั้นสุดยอดหรือ? อนึ่ง การสร้างบริการมีรหัสเหตุการณ์ 7045
เช่นเดียวกับ psexec มันยังสร้างบริการที่ทำทุกอย่าง แต่บริการหลังจากนั้น ลบออก – ใช้เพียงครั้งเดียวเพื่อรันคำสั่งแล้วหายไป! เจ้าหน้าที่รักษาความปลอดภัยข้อมูลที่คอยตรวจสอบเครื่องของเหยื่อจะไม่สามารถตรวจจับมันได้ ชัดเจน ตัวบ่งชี้การโจมตี: ไม่มีไฟล์ปฏิบัติการที่เป็นอันตราย ไม่มีการติดตั้งบริการแบบถาวร และไม่มีหลักฐานการใช้ RPC เนื่องจาก SMB เป็นเพียงช่องทางเดียวในการถ่ายโอนข้อมูล ยอดเยี่ยม!
ผู้โจมตีสามารถเข้าถึง "pseudo-shell" ได้ โดยมีความล่าช้าระหว่างการส่งคำสั่งและการรับการตอบกลับ แต่นี่ก็เพียงพอแล้วสำหรับผู้โจมตี ไม่ว่าจะเป็นแฮ็กเกอร์ภายในหรือแฮ็กเกอร์ภายนอกที่มีอิทธิพล ที่จะเริ่มต้นค้นหาเนื้อหาที่น่าสนใจ

เพื่อส่งออกข้อมูลกลับจากเครื่องเป้าหมายไปยังเครื่องของผู้โจมตี ใช่ครับ เป็นซัมบ้าตัวเดียวกันครับ แต่ถูกแปลงเป็นสคริปต์ Python โดย Impacket โดยพื้นฐานแล้ว smbclient ช่วยให้คุณสามารถนำ FTP ไปใช้งานผ่านการถ่ายโอน SMB ได้อย่างลับๆ
ลองย้อนกลับไปดูหน่อยว่าสิ่งนี้อาจส่งผลต่อพนักงานอย่างไร ในสถานการณ์สมมติของผม สมมติว่าบล็อกเกอร์ นักวิเคราะห์การเงิน หรือที่ปรึกษาด้านความปลอดภัยที่ได้รับเงินเดือนสูง ได้รับอนุญาตให้ใช้แล็ปท็อปส่วนตัวทำงาน เธอเกิดความไม่พอใจต่อบริษัทและอาละวาดอย่างหนักด้วยกระบวนการอันน่าอัศจรรย์ ขึ้นอยู่กับระบบปฏิบัติการของแล็ปท็อป เธอจะใช้ไฟล์ Python ของ Impact หรือ smbexec หรือ smbclient เวอร์ชัน Windows เป็นไฟล์ .exe
เช่นเดียวกับสโนว์เดน เธอเรียนรู้รหัสผ่านของผู้ใช้รายอื่นได้จากการแอบดูผ่านไหล่ หรือจากการโชคดีได้ไฟล์ข้อความที่มีรหัสผ่านนั้น เธอจึงเริ่มใช้ข้อมูลประจำตัวเหล่านี้เพื่อเจาะระบบด้วยสิทธิ์ระดับใหม่
DCC Hacking: เราไม่ต้องการ Mimikatz ที่ 'โง่เขลา' เลย
ในโพสต์ก่อนหน้าเกี่ยวกับการทดสอบการเจาะระบบ ผมได้ใช้ mimikatz อย่างกว้างขวาง มันเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการสกัดกั้นข้อมูลประจำตัว ทั้งแฮช NTLM และแม้แต่รหัสผ่านแบบข้อความธรรมดา ที่แฝงตัวอยู่ในแล็ปท็อป รอเพียงการถูกใช้ประโยชน์
กาลเวลาเปลี่ยนไป เครื่องมือตรวจสอบมีการพัฒนาประสิทธิภาพในการตรวจจับและบล็อก mimikatz ได้ดียิ่งขึ้น ผู้ดูแลระบบความปลอดภัยสารสนเทศยังมีตัวเลือกมากขึ้นในการลดความเสี่ยงที่เกี่ยวข้องกับการโจมตีแบบ pass-the-hash (PtH)
แล้วพนักงานฉลาดควรทำอย่างไรเพื่อรวบรวมข้อมูลประจำตัวเพิ่มเติมโดยไม่ต้องใช้ Mimikatz?
ชุด Impacket ประกอบด้วยยูทิลิตี้ที่เรียกว่า ซึ่งจะดึงข้อมูลประจำตัวจาก Domain Credential Cache หรือเรียกสั้นๆ ว่า DCC เท่าที่ผมเข้าใจ หากผู้ใช้โดเมนล็อกอินเข้าสู่เซิร์ฟเวอร์แต่ตัวควบคุมโดเมนไม่พร้อมใช้งาน DCC จะอนุญาตให้เซิร์ฟเวอร์ตรวจสอบสิทธิ์ผู้ใช้ อย่างไรก็ตาม secretsdump ช่วยให้คุณสามารถดัมพ์แฮชเหล่านี้ทั้งหมดได้หากมีอยู่
แฮช DCC คือ แฮชที่ไม่ใช่ NTML และ ไม่สามารถใช้เพื่อการโจมตี PtH ได้.
คุณสามารถลองแคร็กมันเพื่อเอารหัสผ่านเดิมได้ อย่างไรก็ตาม Microsoft ฉลาดขึ้นในเรื่อง DCC และการแคร็กแฮช DCC ก็กลายเป็นเรื่องยากมาก ใช่ มีอยู่จริง "เครื่องเดารหัสผ่านที่เร็วที่สุดในโลก" แต่ต้องใช้ GPU เพื่อให้ทำงานได้อย่างมีประสิทธิภาพ
ลองคิดแบบสโนว์เดนดูสิ พนักงานสามารถจัดการเรื่องวิศวกรรมสังคมแบบตัวต่อตัว และอาจได้เรียนรู้ข้อมูลบางอย่างเกี่ยวกับบุคคลที่พยายามเจาะรหัสผ่าน ตัวอย่างเช่น พวกเขาสามารถตรวจสอบว่าบัญชีออนไลน์ของบุคคลนั้นเคยถูกแฮ็กหรือไม่ และตรวจสอบรหัสผ่านแบบข้อความธรรมดาเพื่อหาเบาะแสใดๆ
และนี่คือสถานการณ์ที่ผมตัดสินใจจะดำเนินไป สมมติว่ามีคนวงในได้รู้ว่าครูเอลลา หัวหน้าของเขา ถูกแฮ็กหลายครั้งบนเว็บไซต์ต่างๆ หลังจากวิเคราะห์รหัสผ่านเหล่านี้หลายรหัส เขาก็พบว่าครูเอลลาชอบใช้ชื่อทีมเบสบอลในรูปแบบ "Yankees" ตามด้วยปีปัจจุบัน "Yankees2015"
หากคุณกำลังพยายามทำซ้ำสิ่งนี้ที่บ้าน คุณสามารถดาวน์โหลดไฟล์ "C" ขนาดเล็กได้ การนำอัลกอริธึมการแฮช DCC มาใช้และคอมไพล์ อนึ่ง มันเพิ่มการรองรับ DCC เข้าไปด้วย จึงสามารถใช้งานได้เช่นกัน สมมติว่าคนวงในไม่อยากเสียเวลาศึกษา John the Ripper และชอบรัน "gcc" บนโค้ด C รุ่นเก่ามากกว่า
ฉันได้ลองเล่นบทบาทเป็นคนวงใน โดยลองตั้งรหัสผ่านหลายแบบ และในที่สุดก็พบว่ารหัสผ่านของครูเอลล่าคือ "Yankees2019" (ดูด้านล่าง) ภารกิจสำเร็จ!

ด้วยการจัดการทางสังคมเพียงเล็กน้อย การคาดเดาเล็กน้อย และ Maltego เล็กน้อย คุณก็อยู่บนเส้นทางที่จะเจาะลึก DCC hash ได้แล้ว
ผมขอเสนอให้หยุดไว้เพียงเท่านี้ เราจะกลับมาพูดถึงเรื่องนี้อีกครั้งในสิ่งพิมพ์ฉบับต่อๆ ไป และจะสำรวจวิธีการโจมตีที่ช้าและซ่อนตัวมากขึ้น โดยยังคงอาศัยชุดเครื่องมืออันยอดเยี่ยมของ Impacket ต่อไป
ที่มา: will.com
