Score:0

วิธีเอาชนะปัญหาแฮช MD4 ของ Weaker กับ samba

ธง cn

เรากำลังใช้การกำหนดค่า samba ในระบบ RedHat (RHEL7.9) ของเรา โดยที่การรับรองความถูกต้องของ SMB จะขึ้นอยู่กับแฮชรหัสผ่าน NTLM ซึ่งโดยพื้นฐานแล้วจะเป็นข้อมูลรับรองแบบข้อความที่ชัดเจน สำหรับการรับรองความถูกต้องที่ตอบสนองต่อความท้าทายซึ่งถูกจัดเก็บไว้ในแอตทริบิวต์แยกต่างหาก sambaNTPassword ในฐานข้อมูลไดเร็กทอรี LDAP (Oracle unified Directory)

ดังนั้น ทีมรักษาความปลอดภัยของเราจึงทำการทดสอบด้วยปากกา และพบว่า MD4 ซึ่งแซมบ้าของเราใช้นั้นสามารถดักจับได้เนื่องจากมีแฮชที่อ่อนกว่า

นอกจากการรับรองความถูกต้องแล้ว การตรวจสอบความสมบูรณ์ของข้อมูลและการเข้ารหัสระหว่างการส่งเป็นส่วนสำคัญของการรักษาความปลอดภัย SMB ซึ่งอาศัยแฮช MD4 อีกครั้ง

ด้านล่างนี้คือตัวอย่างการกำหนดค่าแซมบ้าของฉัน:

 แมว /etc/samba/smb.conf

[ทั่วโลก]
  ไฟล์บันทึก = /var/log/samba/%m.log
  ระดับบันทึก = 2
  ขนาดบันทึกสูงสุด = 50
  ชื่อ netbios = FDI0816
  สตริงเซิร์ฟเวอร์ = FDI0816.myorg.com
  เวิร์กกรุ๊ป = FDI

; การกำหนดค่า ldap
  ผู้ใช้ที่ไม่ถูกต้อง = รูท + ล้อ
  เข้ารหัสรหัสผ่าน = ใช่
  บัญชีแขก = ไม่มีใคร
  ldap admin dn = cn=sambaAdmin,ou=users,o=services
  คำต่อท้ายกลุ่ม ldap = ou=Group
  ldap passwd sync = เท่านั้น
  ldap ssl = ไม่
  ldap ต่อท้าย = ou=FDI,o=myorg
  หมดเวลา ldap = 4
  คำต่อท้ายผู้ใช้ ldap = ou=คน
  แผนที่ไปยังแขก = ผู้ใช้ที่ไม่ดี
  ความปลอดภัย = ผู้ใช้
  แบ็กเอนด์ passdb = ldapsam:"ldaps://ldap.FDI.myorg.com ldaps://ldap.rnd.myorg.com"

; การตั้งค่าการเชื่อมต่อไคลเอนต์
  เดดไทม์ = 15
  พร็อกซี DNS = ไม่
  lm ประกาศ = ไม่
  โปรโตคอลขั้นต่ำของเซิร์ฟเวอร์ = SMB2

; แบ่งปันการตั้งค่าเริ่มต้น
  สร้างหน้ากาก = 0750
  มาสก์ไดเรกทอรี = 2750
  ล็อค posix = ไม่
  จัดสรรอย่างเข้มงวด = ใช่
  นามสกุลยูนิกซ์ = ไม่
  ไวด์ลิงก์ = ใช่

; เครื่องพิมพ์ถูกปิดใช้งาน
  ปิดการใช้งาน spoolss = ใช่
  โหลดเครื่องพิมพ์ = ไม่
  ชื่อ printcap = /dev/null
  การพิมพ์ = bsd
  แสดงตัวช่วยเพิ่มเครื่องพิมพ์ = ไม่

[บ้าน]
  เรียกดูได้ = ไม่
  ความคิดเห็น = บ้านของคุณ
  โหมดสร้าง = 0640
  นโยบาย csc = ปิดใช้งาน
  มาสก์ไดเรกทอรี = 0750
  สาธารณะ = ไม่
  เขียนได้ = ใช่

[โครงการ]
  เรียกดูได้ = ใช่
  ความคิดเห็น = ไดเร็กทอรีโครงการ
  นโยบาย csc = ปิดใช้งาน
  เส้นทาง = /โครงการ
  สาธารณะ = ไม่
  เขียนได้ = ใช่

[บ้าน]
  เรียกดูได้ = ใช่
  ความคิดเห็น = ไดเร็กทอรีโครงการ
  นโยบาย csc = ปิดใช้งาน
  เส้นทาง = / บ้าน
  สาธารณะ = ไม่
  เขียนได้ = ใช่

รายละเอียดผู้ใช้ด้าน LDAP พร้อมแอตทริบิวต์:

ตัวอย่าง:

ค่าคำอธิบายแอตทริบิวต์
รหัสผ่าน sambaNT 0735509A0ED9A577BD7D8GG7BC1T
หมายเลขรหัส 32222
รหัสผ่านผู้ใช้ {RBKBD4-HMAC-SHA512)...

รายละเอียดอื่น ๆ:

เวอร์ชันแซมบ้า: 4.10
เวอร์ชัน smb ฝั่งไคลเอ็นต์: 2
เซิร์ฟเวอร์แซมบ้า : RHEL7.9

หากใครเจอปัญหานี้และมีวิธีแก้ไข ผมอยากขอคำแนะนำหรือคำแนะนำเพื่อลดปัญหา

โพสต์การอัปเดตที่ได้รับเอกสารการประเมินความปลอดภัย:

หลังจากอ่านและดูผลการทดสอบปากกาแล้ว ฉันรู้ว่าเครื่องมือทดสอบปากกามีบัญชีผู้ใช้ภายในสำหรับผู้ใช้ที่ใช้ LDAP และค้นพบจุดอ่อนสำหรับ LDAP (Oracle Unified Directory) ซึ่งพบ "LDAP Anonymous Null Bind" ด้วยเหตุนี้ พวกเขาจึงพบว่าสามารถดึงข้อมูลสำคัญผ่านบริการ LDAP ได้โดยไม่ต้องให้ข้อมูลรับรองการตรวจสอบสิทธิ์ใดๆ เนื่องจากยังรองรับคำขอการค้นหาด้วย NULL และวัตถุฐานที่ว่างเปล่า ดังนั้นผู้โจมตีที่ไม่ผ่านการรับรองความถูกต้องอาจใช้ประโยชน์และรับข้อมูลได้แม้กระทั่งก่อนหน้านี้ ความรู้เกี่ยวกับ LDAP

ดังนั้น ได้รับสิทธิ์เข้าถึงเซิร์ฟเวอร์ LDAP เนื่องจากอนุญาตให้มีการเชื่อมต่อฐาน NUll/ว่าง กับเซิร์ฟเวอร์ LDAP และดัมพ์ข้อมูล LDAP ทั้งหมด ซึ่งได้รับข้อมูลรหัสผ่านทั้งหมดอย่างง่ายดาย รหัสผ่านผู้ใช้ & แซมบ้าNTPassword.

ในการดำเนินการโจมตีแบบ "pass-the-hash" จะใช้เครื่องมือ "Mimikatz" และเบราว์เซอร์ "Internet Explorer"

อย่างไรก็ตาม สิ่งที่น่าสนใจที่จะเน้นคือการเข้าถึงองค์กรที่พวกเขาต้องการการเข้าถึง VPN จากภายนอก ดังนั้นพวกเขาจึงใช้ เครื่องวัด เครื่องมือที่จะข้ามสิ่งเดียวกันกับ ย้อนกลับการเชื่อมต่อ https เงินเดือน

Michael Hampton avatar
cz flag
ปัญหาที่คุณต้องแก้ไขคือ "LDAP Anonymous Null Bind"
Karn Kumar avatar
cn flag
@MichaelHampton คุณพูดถูก นั่นคือข้อสรุปของฉันเช่นกัน เพราะพวกเขากำลังบอกว่าจะเปลี่ยนโซลูชัน SAMBA ซึ่งเป็นการเปลี่ยนแปลงสถาปัตยกรรมทั้งหมด
Score:2
ธง cz

แฮชรหัสผ่าน NT ใช้ MD4 และคุณทำอะไรไม่ได้เลย

แต่คุณได้ลดปัญหาการสกัดกั้นเครือข่ายแล้วโดยใช้ ldaps ซึ่งเป็น LDAP ที่รักษาความปลอดภัยด้วย TLS แฮชเหล่านี้ไม่สามารถสกัดกั้นจากเครือข่ายได้ เว้นแต่จะมีสิ่งผิดปกติเกิดขึ้นกับการกำหนดค่า TLS ของคุณ ฉันสนใจมากที่สุดที่จะได้ยินรายละเอียดว่าทีมรักษาความปลอดภัยของคุณทำลาย TLS ได้อย่างไร

วิธีอื่นในการรับแฮชรหัสผ่านเหล่านี้คือการเข้าถึงเซิร์ฟเวอร์ LDAP ภายในเครื่องโดยตรง หรือหากมีความล้มเหลวในการควบคุมการเข้าถึงซึ่งอาจทำให้ผู้อื่นสามารถสืบค้นได้ คุณไม่ได้พูดถึงสิ่งเหล่านี้เลย

Karn Kumar avatar
cn flag
ขอบคุณมากสำหรับคำอธิบาย ฉันกำลังรอรายงานโดยละเอียดจากทีมรักษาความปลอดภัยเกี่ยวกับเรื่องนี้ แต่สิ่งหนึ่งที่ฉันรู้ว่าพวกเขาทำการทดสอบด้วยปากกาจากเครือข่ายของบริษัทเท่านั้น ไม่ใช่จากภายนอก ฉันจะแก้ไขโพสต์ของฉันพร้อมรายละเอียดอีกครั้ง ฉันได้รับรายละเอียด
Karn Kumar avatar
cn flag
@ Michael ฉันได้อัปเดตข้อมูลเพิ่มเติมเกี่ยวกับโพสต์แล้ว
cn flag
@KarnKumar: ฉันค่อนข้างมั่นใจว่ามีอะไรมากกว่านี้ ไม่ใช่เรื่องแปลกที่จะอนุญาตให้ผูกแบบไม่ระบุชื่อกับ rootDSE เพื่อรับข้อมูลโครงสร้างพื้นฐาน
Karn Kumar avatar
cn flag
@GregAskew คุณอยู่ตรงนั้น อาจมากกว่านั้น พวกเขาเข้าถึงเซิร์ฟเวอร์ในขณะที่เข้าถึงเซิร์ฟเวอร์ LDAP ก่อนผ่านการผูกนิรนาม จากนั้นได้รับข้อมูลผู้ใช้จากฐานข้อมูลที่พวกเขาพบ `sambaNTPassword` และ `userPassword` ที่พวกเขาแคร็กได้ง่ายผ่าน ` hashdump` เพื่อถอดรหัสข้อมูลตามที่พวกเขาพูด ดังนั้นพวกเขาจึงสามารถเข้าถึงระบบอื่นได้ และพวกเขายังพบกฎ sudo ที่หลวมซึ่งพวกเขาสามารถใช้เพื่อยกระดับการเข้าถึงรูทได้อย่างง่ายดาย

โพสต์คำตอบ

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