วิธีที่ดีที่สุดในการติดตามการระบุชื่อผู้ใช้ / กำลังดำเนินการ Brute-Force พยายามโฆษณา


9

เรามี Windows Server ซึ่งมีแอปพลิเคชันที่อยู่ในนั้นซึ่งใช้ข้อมูลรับรองโดเมนเมื่อเข้าสู่แอปพลิเคชัน ในระหว่างการทดสอบปากกาเมื่อเร็ว ๆ นี้ผู้ทดสอบสามารถใช้แอปพลิเคชันเพื่อระบุชื่อผู้ใช้โดเมนที่ถูกต้องตามการตอบสนองของแอปพลิเคชัน (ซึ่งให้การตอบกลับที่แตกต่างกันสำหรับชื่อผู้ใช้

แอปพลิเคชันกำลังได้รับการแก้ไขดังนั้นจึงไม่เปิดเผยข้อมูลนี้ แต่ฉันก็รู้สึกเหมือนว่าเราควรจะตรวจจับการโจมตีนี้ได้เนื่องจากมีชื่อผู้ใช้ที่ไม่ถูกต้องมากกว่า 2000,000 ครั้งในช่วงเวลาสั้น ๆ เราไม่เห็นแม้ว่าผู้ดูแลระบบของเราจะเฝ้าดู Active Directory อย่างใกล้ชิด เห็นได้ชัดว่าความล้มเหลวที่เคยปรากฏในบันทึกเหตุการณ์ท้องถิ่นของเซิร์ฟเวอร์ที่ติดตั้งแอปพลิเคชัน

คำถามของฉัน: 1) มีวิธีรับ Active Directory เพื่อบันทึกคำขอชื่อผู้ใช้ที่ล้มเหลวเหล่านี้ในตำแหน่งศูนย์กลางหรือไม่เพื่อให้เราสามารถสังเกตเห็นขัดขวางได้

2) หากไม่มีวิธีที่ดีที่สุดในการติดตามและตรวจจับการโจมตีประเภทนี้ในอนาคตคืออะไร (หวังว่าจะไม่ต้องซื้ออุปกรณ์ใหม่มากเกินไป)

ขอบคุณสำหรับความช่วยเหลือของคุณ.

คำตอบ:


11

เป็นคำถามที่ดีมาก

สิ่งแรกสิ่งแรก - ฉันคิดว่า "การทดสอบการเจาะ" ส่วนใหญ่จะเป็นสคริปต์เด็ก ความลำเอียงของฉันอาจไม่ยุติธรรมหรือถูกต้อง แต่ฉันใส่ในข้อจำกัดความรับผิดชอบนี้ดังนั้นหากคุณตรวจพบความเห็นถากถางดูถูกในน้ำเสียงของฉันคุณรู้ว่ามันมาจากไหน ฉันไม่ได้บอกว่าไม่มีเพนเทอร์สที่มีทักษะ แต่นี่คือการกวาดทั่วไปของฉัน

(ทีมสีน้ำเงินเพื่อชีวิต!)

คำถามของฉัน: 1) มีวิธีรับ Active Directory เพื่อบันทึกคำขอชื่อผู้ใช้ที่ล้มเหลวเหล่านี้ในตำแหน่งศูนย์กลางหรือไม่เพื่อให้เราสามารถสังเกตเห็นขัดขวางได้

คุณไม่ได้ให้ข้อมูลที่เพียงพอสำหรับทุกคนที่จะสามารถตอบคำถามนี้ได้อย่างทั่วถึงและด้วยความมั่นใจ คุณบอกว่าใบสมัครของคุณพบว่ามีข้อบกพร่องที่ทำให้ผู้โจมตีสามารถระบุบัญชีผู้ใช้ ฉันพยายามที่จะเข้าใจในสิ่งที่คุณรู้สึกว่าโฆษณาต้องการทำการบันทึกสำหรับแอปพลิเคชันของคุณ

เห็นได้ชัดว่าความล้มเหลวที่เคยปรากฏในบันทึกเหตุการณ์ท้องถิ่นของเซิร์ฟเวอร์ที่ติดตั้งแอปพลิเคชัน

เห็นได้ชัดว่าความล้มเหลวปรากฏขึ้นในบันทึกเหตุการณ์บนเซิร์ฟเวอร์? หรือความล้มเหลวไม่แสดงขึ้นในแฟ้มบันทึกเหตุการณ์บนเซิร์ฟเวอร์หรือไม่ ถ้าเป็นเช่นนั้นเหตุการณ์พูดอะไรกันแน่? ใครเข้าสู่ระบบพวกเขา? ใบสมัครของคุณ? หรือ Windows ไปหาคำตอบและฉันอาจจะเพิ่มคำอธิบายเพิ่มเติมให้กับคำตอบของฉัน

ฉันจะออกไปที่นี่โดยมีข้อสันนิษฐานของคุณว่าเหตุการณ์เหล่านี้ควรได้รับการบันทึกโดย Active Directory อย่างใด ... ถ้าเพนเดอร์ของคุณไม่ได้ใช้ประโยชน์จากข้อบกพร่องในแอปพลิเคชันของคุณเลยจริงๆ แต่แทนที่จะใช้ เป็นข้อบกพร่องที่รู้จักกันดีใน Kerberos เพื่อระบุชื่อผู้ใช้หรือไม่ Kerberos มีสิ่งที่ฉันจะพิจารณาข้อบกพร่องในการออกแบบซึ่งผู้โจมตีสามารถลอง "การพิสูจน์ตัวตนก่อนล่วงหน้า" เป็นพัน ๆ ครั้ง (เช่นการโจมตีด้วยกำลังดุร้าย) และ KDC จะตอบสนองแตกต่างกันไปขึ้นอยู่กับว่าบัญชีผู้ใช้นั้นมีอยู่จริงหรือไม่ นี่ไม่ใช่พฤติกรรมเฉพาะ Active Directory แต่ใช้เช่นเดียวกับ MIT Kerberos, Heimdal ฯลฯ KDC จะตอบสนองด้วยKDC_ERR_PREAUTH_REQUIREDหากชื่อผู้ใช้ที่ถูกต้องถูกนำเสนอโดยไม่มีข้อมูลก่อนการตรวจสอบแม้ว่าจะไม่ได้พยายามตรวจสอบความถูกต้องจริง ด้วยวิธีนี้คุณสามารถระบุชื่อผู้ใช้จาก KDC แต่เนื่องจากผู้โจมตี (หรือเครื่องมือที่ผู้โจมตีใช้เช่น KrbGuess - เพราะเพนเทอร์สเตอร์นั้นดีที่สุดเมื่อพวกเขาใช้เครื่องมือของคนอื่น) จึงไม่จำเป็นต้องมีการพิสูจน์ตัวตนเต็มรูปแบบต่อไปไม่มีการบันทึกอะไรเลยเพราะไม่มี พยายามรับรองความถูกต้องจริง!

ตอนนี้คำถามต่อไปของคุณ:

2) หากไม่มีวิธีที่ดีที่สุดในการติดตามและตรวจจับการโจมตีประเภทนี้ในอนาคตคืออะไร (หวังว่าจะไม่ต้องซื้ออุปกรณ์ใหม่มากเกินไป)

สองสิ่ง

อันดับแรกมีการจ่ายเงินผลิตภัณฑ์ระดับองค์กรที่ออกแบบมาเพื่อตรวจจับการโจมตีเหล่านี้ (ในจำนวนอื่น ๆ ) ผู้ค้าจำนวนมากเสนอผลิตภัณฑ์ดังกล่าวและคำแนะนำผลิตภัณฑ์นั้นเป็นหัวข้อสำหรับ Serverfault แต่พอเพียงที่จะบอกว่าพวกเขาไม่อยู่ ที่นั่น ผลิตภัณฑ์เหล่านี้จำนวนมากทำงานโดยกำหนดให้คุณกำหนดค่าพอร์ตมิเรอร์ระหว่างตัวควบคุมโดเมนของคุณและ "ตัวรวบรวมข้อมูล" เหล่านี้เพื่อให้พวกเขาเห็นและวิเคราะห์ตัวอักษรแต่ละแพ็กเก็ตที่เข้าหรือออกจากตัวควบคุมโดเมนของคุณ

(ขออภัยข้อความดังกล่าวตกอยู่ในประโยค "โดยไม่ต้องซื้อสิ่งใหม่มากเกินไป" ของคุณ)

อีกสิ่งที่อาจช่วยคุณได้คือรายการรีจิสทรี:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

LogLevel = 1

เอกสารที่นี่

หากคุณเปิดใช้รายการรีจิสทรีนี้คุณควรจะได้รับน้ำท่วมกับเหตุการณ์ในแฟ้มบันทึกเหตุการณ์การรักษาความปลอดภัยของคุณเกี่ยวกับข้อผิดพลาด Kerberos ที่พูดถึงว่า Kerberos pre-ตรวจสอบความถูกต้อง ตัวอย่างของเหตุการณ์ดังกล่าว:

A Kerberos Error Message was received:
 on logon session DOMAIN\serviceaccount
 Client Time: 
 Server Time: 12:44:21.0000 10/9/2012 Z
 Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
 Extended Error: 
 Client Realm: 
 Client Name: 
 Server Realm: DOMAIN
 Server Name: krbtgt/DOMAIN
 Target Name: krbtgt/DOMAIN@DOMAIN
 Error Text: 
 File: e
 Line: 9fe
 Error Data is in record data.

แต่สิ่งนี้อาจช่วยหรือไม่ช่วยเหลือคุณหากไม่ได้ระบุว่าสึนามิของคำขอ Kerberos มาจากไหน สิ่งนี้ทำให้เรากลับไปที่ผลิตภัณฑ์ตรวจจับการบุกรุกขององค์กรที่ฉันกล่าวถึงก่อนหน้านี้

และอย่าลืมการส่งต่อเหตุการณ์ของ Windows ที่สามารถให้เซิร์ฟเวอร์ของคุณส่งต่อเหตุการณ์ไปยังสถานที่ส่วนกลางเพื่อวิเคราะห์ด้วยเครื่องมืออะไรก็ตามที่คุณมี

คำตอบทั้งหมดนี้ได้รับการบอกกล่าวล่วงหน้าในโปรโตคอล Kerberos ซึ่งฉันไม่สามารถรับได้เพราะคุณให้รายละเอียดเล็กน้อยในโพสต์ของคุณ อย่างไรก็ตามฉันหวังว่านี่จะช่วยได้อย่างน้อย


ขอบคุณสำหรับคำตอบของคุณ ฉันจะตรวจสอบอีกครั้งในวันจันทร์ แต่ฉันเชื่อว่าบันทึกเหตุการณ์เป็นเหตุการณ์หน้าต่างมาตรฐานสำหรับการเข้าสู่เซิร์ฟเวอร์ท้องถิ่นล้มเหลว (เช่นพวกเขาจะเทียบเท่ากับการเข้าสู่ระบบที่ล้มเหลวผ่าน RDP ด้วยชื่อผู้ใช้ที่ไม่ถูกต้อง) แอปพลิเคชั่นไม่มีอะไรที่แน่นอนแน่นอน สำหรับการตรวจสอบสิทธิ์ Kerberos ฉันเชื่อว่าผู้ทดสอบปากกาจะต้องอยู่ในอินทราเน็ตท้องถิ่นของเรา พวกเขาไม่. แอปพลิเคชั่นนี้เผยแพร่ต่อสาธารณชนบนอินเทอร์เน็ตด้วยการรับรองความถูกต้องตามรูปแบบมาตรฐานซึ่งเรียกระบบปฏิบัติการภายใต้ความครอบคลุม
Doug

0

นี่เป็นคำถามที่น่าสนใจที่ฉันชอบฟังคำตอบที่เหมาะสม ฉันได้พบข้อมูลบางอย่างที่ดั๊กอาจพบว่ามีประโยชน์ แต่ฉันรู้สึกว่ามันอาจไม่เพียงพอเล็กน้อย บุคคลอื่นอาจให้คำตอบแบบขยาย:

ลงชื่อเข้าใช้เซิร์ฟเวอร์ที่คุณต้องการเก็บข้อมูลการตรวจสอบ เรียกใช้ -> RSOP.MSC -> การกำหนดค่าคอมพิวเตอร์ -> การตั้งค่า Windows -> การตั้งค่าความปลอดภัย -> นโยบายท้องถิ่น -> นโยบายท้องถิ่น -> นโยบายการตรวจสอบ -> "ตรวจสอบบัญชี ตรวจสอบเหตุการณ์การเข้าสู่ระบบ "

คำอธิบายสำหรับ "เหตุการณ์การเข้าสู่ระบบบัญชี" อ่าน:

ตรวจสอบเหตุการณ์การเข้าสู่ระบบบัญชี

การตั้งค่าความปลอดภัยนี้กำหนดว่าระบบปฏิบัติการจะตรวจสอบทุกครั้งที่คอมพิวเตอร์เครื่องนี้ตรวจสอบความถูกต้องของข้อมูลบัญชีหรือไม่

เหตุการณ์การเข้าสู่ระบบบัญชีจะถูกสร้างขึ้นทุกครั้งที่คอมพิวเตอร์ตรวจสอบความถูกต้องของข้อมูลบัญชีที่มีสิทธิ์ สมาชิกโดเมนและเครื่องที่ไม่ได้เข้าร่วมกับโดเมนนั้นมีสิทธิ์สำหรับบัญชีภายในเครื่องของตน ตัวควบคุมโดเมนมีสิทธิ์ทั้งหมดสำหรับบัญชีในโดเมน การตรวจสอบข้อมูลรับรองอาจเป็นการสนับสนุนการเข้าสู่ระบบในระบบหรือในกรณีของบัญชีโดเมน Active Directory บนตัวควบคุมโดเมนอาจสนับสนุนการเข้าสู่ระบบไปยังคอมพิวเตอร์เครื่องอื่น การตรวจสอบความถูกต้องของข้อมูลรับรองนั้นไร้สัญชาติดังนั้นจึงไม่มีเหตุการณ์การออกจากระบบที่สอดคล้องกันสำหรับเหตุการณ์การเข้าสู่ระบบบัญชี

หากมีการกำหนดการตั้งค่านโยบายนี้ผู้ดูแลระบบสามารถระบุได้ว่าจะตรวจสอบเฉพาะความสำเร็จเท่านั้นความล้มเหลวทั้งความสำเร็จและความล้มเหลวหรือไม่ตรวจสอบเหตุการณ์เหล่านี้เลย (เช่นไม่สำเร็จหรือล้มเหลว)

การอธิบายสำหรับ "เหตุการณ์การเข้าสู่ระบบ" อ่าน:

ตรวจสอบเหตุการณ์การเข้าสู่ระบบ

การตั้งค่าความปลอดภัยนี้กำหนดว่าระบบปฏิบัติการจะตรวจสอบแต่ละอินสแตนซ์ของผู้ใช้ที่พยายามเข้าสู่ระบบหรือออกจากระบบไปยังคอมพิวเตอร์เครื่องนี้หรือไม่

เหตุการณ์การออกจากระบบจะถูกสร้างขึ้นเมื่อใดก็ตามที่เซสชันการเข้าสู่ระบบของบัญชีผู้ใช้ถูกยกเลิก หากมีการกำหนดการตั้งค่านโยบายนี้ผู้ดูแลระบบสามารถระบุได้ว่าจะตรวจสอบเฉพาะความสำเร็จเท่านั้นความล้มเหลวทั้งความสำเร็จและความล้มเหลวหรือไม่ตรวจสอบเหตุการณ์เหล่านี้เลย (เช่นไม่สำเร็จหรือล้มเหลว)

คุณจำเป็นต้องเปิดใช้งานนโยบายเหล่านั้นเป็นหลักกำหนดการตั้งค่านโยบายและเลือก "ความล้มเหลว" หากคุณต้องการตรวจสอบความพยายามที่ล้มเหลว หากคุณต้องการคุณสามารถตรวจสอบความสำเร็จได้เช่นกัน แต่มันอาจทำให้ยากในการแยกวิเคราะห์หากคุณกังวลเกี่ยวกับการมองหาการโจมตีประเภทนี้

หากคุณกังวลเกี่ยวกับการกำหนดค่าที่คล้ายกันซึ่งระบบของคุณอาจมีช่องโหว่ฉันขอแนะนำให้ดูการตั้งค่า STIG ( ลิงก์ ) เมื่อใช้ร่วมกับเครื่องสแกน SCAP มันสามารถช่วยเน้นความเสี่ยงที่องค์กรของคุณอาจเป็น เผชิญ. ตัวแสดง STIG มีแนวโน้มที่จะเพิ่มผลบวกปลอมสองสามอย่าง แต่ถ้าคุณอ่านข้อมูลเฉพาะของปัญหาแต่ละอย่างคุณอาจพบว่าไม่ใช่ผู้เริ่มต้น


1
ฉันขอแนะนำ MSFT หรือฐานข้อมูลแบบไม่ระบุชื่อ DISA สร้างข้อสมมติเกี่ยวกับสภาพแวดล้อมแทนที่จะทำให้โฮสต์เป็นนิติบุคคล ต้องมีการตรวจสอบที่เหมาะสม ฉันยังอ่านแนวทางปฏิบัติที่ดีที่สุดสำหรับการรักษาความปลอดภัยของเอกสารข้อมูล Active Directory
Jim B

จุดที่ดี Jim B! ฉันไม่ได้พิจารณาแง่มุมนั้น
Sawta
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.