เราเขียนเป็นประจำเกี่ยวกับวิธีที่แฮกเกอร์พึ่งพาการหาประโยชน์
ในทางกลับกัน ฉันไม่ต้องการที่จะทำลายล้างพนักงาน เพราะไม่มีใครอยากทำงานในสภาพแวดล้อมทางธุรกิจที่หลุดออกมาจากงานของ Orwell ในปี 1984 โชคดีที่มีขั้นตอนการปฏิบัติและเคล็ดลับชีวิตมากมายที่สามารถทำให้ชีวิตคนวงในยากขึ้นได้ เราจะพิจารณา วิธีการโจมตีแบบซ่อนเร้นใช้โดยแฮกเกอร์โดยพนักงานที่มีพื้นฐานด้านเทคนิค และอีกเล็กน้อยเราจะหารือเกี่ยวกับทางเลือกในการลดความเสี่ยงดังกล่าว - เราจะศึกษาทั้งทางเลือกด้านเทคนิคและองค์กร
เกิดอะไรขึ้นกับ PsExec?
Edward Snowden ไม่ว่าถูกหรือผิด ได้กลายเป็นสัญลักษณ์ของการขโมยข้อมูลภายใน ยังไงก็อย่าลืมเข้าไปดูกันนะครับ
แต่ Snowden กลับใช้วิศวกรรมสังคมเล็กน้อยและใช้ตำแหน่งของเขาในฐานะผู้ดูแลระบบเพื่อรวบรวมรหัสผ่านและสร้างข้อมูลประจำตัว ไม่มีอะไรซับซ้อน - ไม่มี
พนักงานในองค์กรไม่ได้อยู่ในจุดยืนที่เป็นเอกลักษณ์ของ Snowden เสมอไป แต่มีบทเรียนจำนวนหนึ่งที่ต้องเรียนรู้จากแนวคิด "การเอาชีวิตรอดด้วยการแทะเล็มหญ้า" ที่ต้องระวัง - การไม่มีส่วนร่วมในกิจกรรมที่เป็นอันตรายใดๆ ที่สามารถตรวจพบได้ และโดยเฉพาะอย่างยิ่ง ระมัดระวังการใช้ข้อมูลประจำตัว จำความคิดนี้ไว้
Mimikatz สกัดกั้นแฮช NTLM จากกระบวนการ LSASS จากนั้นส่งโทเค็นหรือข้อมูลประจำตัว - ที่เรียกว่า การโจมตี "ผ่านแฮช" – ใน psexec ช่วยให้ผู้โจมตีสามารถเข้าสู่เซิร์ฟเวอร์อื่นได้ ของอีก ผู้ใช้ และทุกครั้งที่ย้ายไปยังเซิร์ฟเวอร์ใหม่ ผู้โจมตีจะรวบรวมข้อมูลประจำตัวเพิ่มเติม ขยายขอบเขตความสามารถในการค้นหาเนื้อหาที่มีอยู่
เมื่อฉันเริ่มทำงานกับ psexec ครั้งแรก มันดูมหัศจรรย์สำหรับฉัน ขอบคุณ
ข้อเท็จจริงที่น่าสนใจประการแรกเกี่ยวกับ psexec คือมันใช้ความซับซ้อนอย่างมาก โปรโตคอลไฟล์เครือข่าย SMB จากไมโครซอฟต์ เมื่อใช้ SMB psexec จะถ่ายโอนข้อมูลจำนวนเล็กน้อย ไบนารี ไปยังระบบเป้าหมาย โดยวางไว้ในโฟลเดอร์ C:Windows
ถัดไป psexec สร้างบริการ Windows โดยใช้ไบนารีที่คัดลอกและรันภายใต้ชื่อ PSEXECSVC ที่ "ไม่คาดคิด" อย่างยิ่ง ในเวลาเดียวกัน คุณสามารถเห็นทั้งหมดนี้ได้จริงเหมือนกับที่ฉันทำ โดยดูจากเครื่องระยะไกล (ดูด้านล่าง)
บัตรโทรศัพท์ของ Psexec: บริการ "PSEXECSVC" มันเรียกใช้ไฟล์ไบนารี่ที่วางผ่าน SMB ในโฟลเดอร์ C: Windows
ในขั้นตอนสุดท้าย ไฟล์ไบนารีที่คัดลอกจะเปิดขึ้น การเชื่อมต่อ RPC ไปยังเซิร์ฟเวอร์เป้าหมายแล้วยอมรับคำสั่งควบคุม (ผ่านเชลล์ cmd ของ Windows ตามค่าเริ่มต้น) เรียกใช้คำสั่งเหล่านั้นและเปลี่ยนเส้นทางอินพุตและเอาท์พุตไปยังเครื่องที่บ้านของผู้โจมตี ในกรณีนี้ ผู้โจมตีจะเห็นบรรทัดคำสั่งพื้นฐาน เหมือนกับว่าเขาเชื่อมต่อโดยตรง
ส่วนประกอบมากมายและกระบวนการที่มีเสียงดังมาก!
โครงสร้างภายในที่ซับซ้อนของ psexec อธิบายข้อความที่ทำให้ฉันงงระหว่างการทดสอบครั้งแรกเมื่อหลายปีก่อน: “กำลังเริ่ม PSEXECSVC...” ตามด้วยการหยุดชั่วคราวก่อนที่พรอมต์คำสั่งจะปรากฏขึ้น
Psexec ของ Imppacket แสดงให้เห็นสิ่งที่เกิดขึ้นภายใต้ประทุนจริงๆ
ไม่น่าแปลกใจ: psexec ทำงานจำนวนมากภายใต้ประทุน หากคุณสนใจคำอธิบายโดยละเอียดเพิ่มเติม โปรดดูที่นี่
เห็นได้ชัดว่าเมื่อใช้เป็นเครื่องมือในการบริหารระบบซึ่งก็คือ วัตถุประสงค์เดิม psexec ไม่มีอะไรผิดปกติกับ "เสียงพึมพำ" ของกลไก Windows เหล่านี้ทั้งหมด อย่างไรก็ตาม สำหรับผู้โจมตี psexec จะสร้างภาวะแทรกซ้อน และสำหรับคนวงในที่ระมัดระวังและมีไหวพริบเช่น Snowden psexec หรือโปรแกรมอรรถประโยชน์ที่คล้ายกันอาจมีความเสี่ยงมากเกินไป
และแล้วก็มาถึง Smbexec
SMB เป็นวิธีที่ชาญฉลาดและเป็นความลับในการถ่ายโอนไฟล์ระหว่างเซิร์ฟเวอร์ และแฮกเกอร์ได้แทรกซึมเข้าไปใน SMB โดยตรงมานานหลายศตวรรษ ฉันคิดว่าทุกคนรู้อยู่แล้วว่ามันไม่คุ้มค่า
ที่ Defcon 2013, Eric Millman (
ต่างจาก psexec, smbexec หลีกเลี่ยง ถ่ายโอนไฟล์ไบนารี่ที่อาจตรวจพบไปยังเครื่องเป้าหมาย แต่ยูทิลิตี้นี้ใช้งานได้ตั้งแต่ทุ่งหญ้าจนถึงการเปิดตัว ท้องถิ่น บรรทัดคำสั่งของ Windows
ทำหน้าที่ดังนี้: ส่งคำสั่งจากเครื่องโจมตีผ่าน SMB ไปยังไฟล์อินพุตพิเศษ จากนั้นสร้างและรันบรรทัดคำสั่งที่ซับซ้อน (เช่น บริการ Windows) ซึ่งผู้ใช้ Linux ดูเหมือนจะคุ้นเคย กล่าวโดยย่อ: มันเปิดตัวเชลล์ Windows cmd ดั้งเดิม เปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์อื่น จากนั้นส่งผ่าน SMB กลับไปยังเครื่องของผู้โจมตี
วิธีที่ดีที่สุดในการทำความเข้าใจสิ่งนี้คือการดูบรรทัดคำสั่ง ซึ่งฉันสามารถเข้าใจได้จากบันทึกเหตุการณ์ (ดูด้านล่าง)
นี่ไม่ใช่วิธีที่ดีที่สุดในการเปลี่ยนเส้นทาง I/O ใช่หรือไม่ อย่างไรก็ตาม การสร้างบริการมีเหตุการณ์ ID 7045
เช่นเดียวกับ psexec มันยังสร้างบริการที่ทำงานได้ทั้งหมด ยกเว้นบริการหลังจากนั้น ลบออก – ใช้เพียงครั้งเดียวในการรันคำสั่งแล้วหายไป! เจ้าหน้าที่รักษาความปลอดภัยข้อมูลที่ตรวจสอบเครื่องของเหยื่อจะไม่สามารถตรวจจับได้ ชัดเจน ตัวบ่งชี้การโจมตี: ไม่มีการเปิดไฟล์ที่เป็นอันตราย ไม่มีการติดตั้งบริการถาวร และไม่มีหลักฐานว่ามีการใช้งาน RPC เนื่องจาก SMB เป็นวิธีเดียวในการถ่ายโอนข้อมูล ฉลาดหลักแหลม!
จากฝั่งผู้โจมตี "pseudo-shell" จะใช้งานได้โดยมีความล่าช้าระหว่างการส่งคำสั่งและรับการตอบกลับ แต่นี่ก็เพียงพอแล้วสำหรับผู้โจมตี - ไม่ว่าจะเป็นแฮ็กเกอร์ภายในหรือภายนอกที่มีฐานที่มั่นอยู่แล้ว - ที่จะเริ่มค้นหาเนื้อหาที่น่าสนใจ
เพื่อส่งออกข้อมูลจากเครื่องเป้าหมายไปยังเครื่องของผู้โจมตี จะใช้
ลองย้อนกลับไปคิดดูว่าสิ่งนี้สามารถทำอะไรให้กับพนักงานได้บ้าง ในสถานการณ์สมมติของฉัน สมมติว่าบล็อกเกอร์ นักวิเคราะห์ทางการเงิน หรือที่ปรึกษาด้านความปลอดภัยที่ได้รับค่าจ้างสูงได้รับอนุญาตให้ใช้แล็ปท็อปส่วนตัวในการทำงาน ผลจากกระบวนการมหัศจรรย์บางอย่าง ทำให้เธอขุ่นเคืองกับบริษัทและ “ทำเรื่องเลวร้ายไปหมด” ขึ้นอยู่กับระบบปฏิบัติการแล็ปท็อป จะใช้เวอร์ชัน Python จาก Impact หรือเวอร์ชัน Windows ของ smbexec หรือ smbclient เป็นไฟล์ .exe
เช่นเดียวกับสโนว์เดน เธอค้นพบรหัสผ่านของผู้ใช้รายอื่นโดยการมองข้ามไหล่ของเธอ หรือเธอโชคดีและบังเอิญเจอไฟล์ข้อความที่มีรหัสผ่าน และด้วยความช่วยเหลือจากข้อมูลประจำตัวเหล่านี้ เธอจึงเริ่มเจาะลึกระบบด้วยสิทธิพิเศษระดับใหม่
การแฮ็ก DCC: เราไม่ต้องการ Mimikatz ที่ "โง่" เลย
ในโพสต์ก่อนหน้าของฉันเกี่ยวกับ Pentesting ฉันใช้ mimikatz บ่อยมาก นี่เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการสกัดกั้นข้อมูลประจำตัว - แฮช NTLM และแม้แต่รหัสผ่านข้อความที่ชัดเจนที่ซ่อนอยู่ในแล็ปท็อปที่รอการใช้งาน
เวลามีการเปลี่ยนแปลง เครื่องมือตรวจสอบได้รับการปรับปรุงให้ดีขึ้นในการตรวจจับและบล็อก mimikatz ขณะนี้ผู้ดูแลระบบความปลอดภัยของข้อมูลยังมีทางเลือกเพิ่มเติมในการลดความเสี่ยงที่เกี่ยวข้องกับการโจมตีผ่านแฮช (PtH)
แล้วพนักงานที่ฉลาดควรทำอย่างไรเพื่อรวบรวมข้อมูลประจำตัวเพิ่มเติมโดยไม่ต้องใช้ mimikatz?
ชุดของ Imppacket มียูทิลิตี้ที่เรียกว่า
แฮช DCC คือ ไม่ใช่แฮช NTML และ ไม่สามารถใช้สำหรับการโจมตี PtH ได้.
คุณสามารถลองแฮ็คพวกมันเพื่อรับรหัสผ่านเดิมได้ อย่างไรก็ตาม Microsoft มีความชาญฉลาดมากขึ้นด้วย DCC และแฮช DCC กลายเป็นเรื่องยากมากที่จะถอดรหัส ใช่ฉันมี
เรามาลองคิดแบบสโนว์เดนกันดีกว่า พนักงานสามารถทำวิศวกรรมสังคมแบบเห็นหน้ากัน และอาจค้นหาข้อมูลบางอย่างเกี่ยวกับบุคคลที่เธอต้องการถอดรหัสรหัสผ่าน ตัวอย่างเช่น ค้นหาว่าบัญชีออนไลน์ของบุคคลนั้นเคยถูกแฮ็กหรือไม่ และตรวจสอบรหัสผ่านแบบข้อความที่ชัดเจนเพื่อหาเบาะแสใดๆ
และนี่คือสถานการณ์ที่ฉันตัดสินใจทำ สมมติว่าคนในรู้ว่า Cruella เจ้านายของเขาถูกแฮ็กหลายครั้งจากแหล่งข้อมูลบนเว็บต่างๆ หลังจากวิเคราะห์รหัสผ่านเหล่านี้หลายรายการ เขาก็พบว่า Cruella ชอบใช้รูปแบบของชื่อทีมเบสบอล "Yankees" ตามด้วยปีปัจจุบัน - "Yankees2015"
หากคุณกำลังพยายามทำซ้ำที่บ้าน คุณสามารถดาวน์โหลดไฟล์ "C" ขนาดเล็ก
โดยแกล้งทำเป็นเป็นคนวงใน ฉันลองใช้การผสมผสานหลายๆ แบบและในที่สุดก็สามารถค้นพบได้ว่ารหัสผ่านของ Cruella คือ "Yankees2019" (ดูด้านล่าง) ภารกิจเสร็จสิ้น!
วิศวกรรมสังคมเล็กๆ น้อยๆ การทำนายดวงชะตา และ Maltego เพียงเล็กน้อย คุณก็พร้อมที่จะถอดรหัสแฮช DCC แล้ว
ฉันขอแนะนำให้เราจบที่นี่ เราจะกลับมาที่หัวข้อนี้ในโพสต์อื่นๆ และดูวิธีการโจมตีที่ช้าและซ่อนเร้นยิ่งขึ้นไปอีก โดยยังคงสร้างชุดยูทิลิตี้ที่ยอดเยี่ยมของ Imppacket ต่อไป
ที่มา: will.com