กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor
บทความนี้เขียนขึ้นจากการทดสอบ Pentest ที่ประสบความสำเร็จอย่างมากซึ่งผู้เชี่ยวชาญ Group-IB จัดทำขึ้นเมื่อสองสามปีที่แล้ว: มีเรื่องราวเกิดขึ้นที่สามารถนำไปดัดแปลงเป็นภาพยนตร์ในบอลลีวูดได้ ตอนนี้ปฏิกิริยาของผู้อ่านอาจเป็นไปตาม:“ โอ้บทความประชาสัมพันธ์อีกเรื่องหนึ่งกำลังแสดงให้เห็นอีกครั้งว่าพวกเขาดีแค่ไหนอย่าลืมซื้อเพนเทสต์” ในแง่หนึ่งก็คือ อย่างไรก็ตาม ยังมีสาเหตุอื่นๆ อีกหลายประการที่ทำให้บทความนี้ปรากฏ ฉันต้องการแสดงให้เห็นว่าผู้เพนเทสเตอร์ทำอะไรกันแน่ งานนี้น่าสนใจและไม่สำคัญเพียงใด สถานการณ์ตลกๆ ที่อาจเกิดขึ้นในโครงการต่างๆ และที่สำคัญที่สุดคือแสดงเนื้อหาสดพร้อมตัวอย่างจริง

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

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

เรามาตุนป๊อปคอร์นกันเถอะ และยินดีต้อนรับสู่เรื่องราวนักสืบ คำ - พล สุปรยุกต์ผู้จัดการด้านเทคนิคของแผนก "การตรวจสอบและการให้คำปรึกษา" ของ Group-IB

ตอนที่ 1 หมอ Pochkin

2018 มีลูกค้ารายหนึ่งซึ่งเป็นบริษัทไอทีที่มีเทคโนโลยีสูงซึ่งให้บริการลูกค้าจำนวนมาก ต้องการรับคำตอบสำหรับคำถาม: เป็นไปได้ไหมที่หากไม่มีความรู้เบื้องต้นและการเข้าถึงที่ทำงานผ่านอินเทอร์เน็ตเพื่อรับสิทธิ์ผู้ดูแลระบบโดเมน Active Directory? ฉันไม่สนใจวิศวกรรมสังคมใดๆ (โอ้ แต่ก็เปล่าประโยชน์) พวกเขาไม่ได้ตั้งใจที่จะรบกวนการทำงานโดยตั้งใจ แต่อาจบังเอิญ - โหลดเซิร์ฟเวอร์ที่ทำงานแปลกๆ อีกครั้ง เป้าหมายเพิ่มเติมคือการระบุเวกเตอร์การโจมตีอื่นๆ ให้ได้มากที่สุดเท่าที่จะเป็นไปได้โดยเทียบกับขอบเขตด้านนอก บริษัทดำเนินการทดสอบดังกล่าวเป็นประจำ และตอนนี้ก็ถึงกำหนดเวลาสำหรับการทดสอบใหม่แล้ว เงื่อนไขเกือบจะเป็นปกติ เพียงพอ และเข้าใจได้ มาเริ่มกันเลย.

มีชื่อลูกค้า - ให้เป็น “บริษัท” โดยมีเว็บไซต์หลัก www.company.ru. แน่นอนว่าลูกค้าถูกเรียกต่างกัน แต่ในบทความนี้ทุกอย่างจะไม่มีความเป็นส่วนตัว
ฉันดำเนินการสำรวจเครือข่าย - ค้นหาที่อยู่และโดเมนที่ลงทะเบียนกับลูกค้า วาดไดอะแกรมเครือข่าย วิธีกระจายบริการไปยังที่อยู่เหล่านี้ ฉันได้รับผลลัพธ์: ที่อยู่ IP สดมากกว่า 4000 รายการ ฉันดูที่โดเมนในเครือข่ายเหล่านี้: โชคดีที่ส่วนใหญ่เป็นเครือข่ายที่มีไว้สำหรับลูกค้าของลูกค้า และเราไม่สนใจพวกเขาอย่างเป็นทางการ ลูกค้าก็คิดเหมือนกัน

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

มีบริการมากมาย โดยปกติแล้วนี่คือความสุขสำหรับ Pentester และความคาดหวังถึงชัยชนะอย่างรวดเร็ว เนื่องจากยิ่งมีบริการมากขึ้น พื้นที่สำหรับการโจมตีก็จะใหญ่ขึ้น และยิ่งค้นหาสิ่งประดิษฐ์ได้ง่ายขึ้นเท่านั้น การดูเว็บไซต์อย่างรวดเร็วพบว่าส่วนใหญ่เป็นเว็บอินเตอร์เฟสของผลิตภัณฑ์ที่มีชื่อเสียงของบริษัทระดับโลกขนาดใหญ่ ซึ่งจากรูปลักษณ์ภายนอกทั้งหมดบอกคุณว่าไม่ได้รับการต้อนรับ พวกเขาขอชื่อผู้ใช้และรหัสผ่าน เขย่าช่องสำหรับป้อนปัจจัยที่สอง ขอใบรับรองไคลเอ็นต์ TLS หรือส่งไปที่ Microsoft ADFS บางอย่างไม่สามารถเข้าถึงได้จากอินเทอร์เน็ต สำหรับบางคน เห็นได้ชัดว่าคุณต้องมีลูกค้าที่ได้รับค่าตอบแทนพิเศษสำหรับสามเงินเดือน หรือทราบ URL ที่แน่นอนเพื่อป้อน ข้ามไปอีกสัปดาห์แห่งความสิ้นหวังอย่างค่อยเป็นค่อยไปในกระบวนการพยายาม "เจาะทะลุ" เวอร์ชันซอฟต์แวร์เพื่อหาช่องโหว่ที่ทราบ ค้นหาเนื้อหาที่ซ่อนอยู่ในเส้นทางเว็บ และบัญชีที่รั่วไหลจากบริการบุคคลที่สาม เช่น LinkedIn พยายามเดารหัสผ่านโดยใช้บริการเหล่านั้นเช่นกัน เช่นเดียวกับการขุดช่องโหว่ในเว็บไซต์ที่เขียนขึ้นเอง - ตามสถิติแล้ว นี่เป็นเวกเตอร์ที่มีแนวโน้มมากที่สุดสำหรับการโจมตีจากภายนอกในปัจจุบัน ฉันจะสังเกตปืนภาพยนตร์ที่ยิงออกไปทันที

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

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

กลับไปที่ไซต์ "ผิดปกติ" กันเถอะ อย่างแรกคือคล้ายกับ Wiki ท้องถิ่นที่มีที่อยู่ที่ไม่ได้มาตรฐาน แต่ในบทความนี้ ให้มันเป็น wiki.company[.]ru เธอยังขอข้อมูลเข้าสู่ระบบและรหัสผ่านทันที แต่ผ่าน NTLM ในเบราว์เซอร์ สำหรับผู้ใช้ ดูเหมือนหน้าต่างนักพรตที่ขอให้ป้อนชื่อผู้ใช้และรหัสผ่าน และนี่คือการปฏิบัติที่ไม่ดี

บันทึกเล็กๆ น้อยๆ NTLM ในเว็บไซต์ปริมณฑลนั้นไม่ดีด้วยเหตุผลหลายประการ เหตุผลแรกคือชื่อโดเมน Active Directory ถูกเปิดเผย ในตัวอย่างของเรา มันกลายเป็น company.ru เช่นเดียวกับชื่อ DNS “ภายนอก” เมื่อทราบสิ่งนี้แล้ว คุณสามารถเตรียมสิ่งที่เป็นอันตรายได้อย่างระมัดระวัง เพื่อให้ดำเนินการบนเครื่องโดเมนขององค์กรเท่านั้น ไม่ใช่ในแซนด์บ็อกซ์บางเครื่อง ประการที่สอง การรับรองความถูกต้องดำเนินการโดยตรงผ่านตัวควบคุมโดเมนผ่าน NTLM (แปลกใจใช่ไหม) พร้อมด้วยคุณสมบัติทั้งหมดของนโยบายเครือข่าย "ภายใน" รวมถึงการบล็อกบัญชีจากการพยายามป้อนรหัสผ่านเกินจำนวนครั้ง หากผู้โจมตีค้นพบการเข้าสู่ระบบ เขาจะลองใช้รหัสผ่านให้พวกเขา หากคุณได้รับการกำหนดค่าให้บล็อกบัญชีจากการป้อนรหัสผ่านไม่ถูกต้อง ระบบจะทำงานและบัญชีจะถูกบล็อก ประการที่สาม ไม่สามารถเพิ่มปัจจัยที่สองในการรับรองความถูกต้องดังกล่าวได้ หากผู้อ่านท่านใดยังทราบช่วยบอกหน่อยนะครับ น่าสนใจจริงๆ ประการที่สี่ ช่องโหว่ในการโจมตีผ่านแฮช ADFS ถูกคิดค้นขึ้นเพื่อปกป้องสิ่งทั้งหมดนี้

มีคุณสมบัติที่ไม่ดีประการหนึ่งของผลิตภัณฑ์ Microsoft: แม้ว่าคุณจะไม่ได้เผยแพร่ NTLM ดังกล่าวโดยเฉพาะ แต่อย่างน้อยก็จะถูกติดตั้งใน OWA และ Lync เป็นค่าเริ่มต้น

อย่างไรก็ตาม ผู้เขียนบทความนี้เคยบล็อกบัญชีของพนักงานธนาคารขนาดใหญ่แห่งหนึ่งประมาณ 1000 บัญชีโดยไม่ได้ตั้งใจในเวลาเพียงหนึ่งชั่วโมงโดยใช้วิธีเดียวกัน และดูค่อนข้างซีดเซียว บริการด้านไอทีของธนาคารก็ไม่ค่อยดีนัก แต่ทุกอย่างก็จบลงด้วยดีและเพียงพอ เรายังได้รับการยกย่องว่าเป็นคนแรกที่พบปัญหานี้และกระตุ้นให้มีการแก้ไขอย่างรวดเร็วและเด็ดขาด

ไซต์ที่สองมีที่อยู่ “เห็นได้ชัดว่ามีนามสกุลบางอย่างบริษัท.ru” ค้นเจอใน Google ประมาณนี้หน้า 10 ครับ การออกแบบนี้มีขึ้นตั้งแต่ต้นถึงกลางทศวรรษ XNUMX และมีบุคคลที่มีเกียรติมองดูจากหน้าหลัก มีลักษณะดังนี้:

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor
ในภาพนี้ ฉันถ่ายภาพนิ่งจากเรื่อง “Heart of a Dog” แต่เชื่อฉันเถอะ มันคล้ายกันอย่างคลุมเครือ แม้แต่การออกแบบสีก็ยังโทนสีคล้ายกัน ปล่อยให้ไซต์ถูกเรียก preobrazhensky.company.ru.

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

ในแง่ของช่องโหว่ ตัวเว็บไซต์เองก็มีความปลอดภัย เมื่อมองไปข้างหน้าฉันจะบอกว่ามันเป็นชุดข้อมูลคงที่ - หน้า html ง่าย ๆ พร้อมภาพประกอบแทรกในรูปแบบของไตและกระเพาะปัสสาวะ มันไม่มีประโยชน์ที่จะ "ทำลาย" ไซต์ดังกล่าว

แต่เว็บเซิร์ฟเวอร์ที่อยู่ด้านล่างนั้นน่าสนใจกว่า เมื่อพิจารณาจากส่วนหัวของเซิร์ฟเวอร์ HTTP พบว่ามี IIS 6.0 ซึ่งหมายความว่าใช้ Windows 2003 เป็นระบบปฏิบัติการ เครื่องสแกนระบุก่อนหน้านี้ว่าเว็บไซต์ของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะแห่งนี้ ต่างจากโฮสต์เสมือนอื่นๆ บนเว็บเซิร์ฟเวอร์เดียวกัน ที่ตอบสนองต่อคำสั่ง PROPFIND ซึ่งหมายความว่าเว็บไซต์กำลังเรียกใช้ WebDAV อย่างไรก็ตาม เครื่องสแกนส่งคืนข้อมูลนี้พร้อมเครื่องหมายข้อมูล (ในภาษาของรายงานเครื่องสแกน นี่เป็นอันตรายต่ำสุด) - สิ่งเหล่านี้มักจะถูกข้ามไป เมื่อรวมกันแล้ว สิ่งนี้ให้เอฟเฟกต์ที่น่าสนใจ ซึ่งถูกเปิดเผยหลังจากการขุดค้นบน Google อีกครั้งเท่านั้น: ช่องโหว่บัฟเฟอร์ล้นที่หายากซึ่งเกี่ยวข้องกับชุด Shadow Brokers คือ CVE-2017-7269 ซึ่งมีช่องโหว่ที่เตรียมไว้แล้ว กล่าวอีกนัยหนึ่ง จะเกิดปัญหาหากคุณมี Windows 2003 และ WebDAV ทำงานบน IIS แม้ว่าการใช้งาน Windows 2003 ในการผลิตในปี 2018 ก็เป็นปัญหาในตัวเอง

การใช้ประโยชน์สิ้นสุดลงใน Metasploit และได้รับการทดสอบทันทีด้วยโหลดที่ส่งคำขอ DNS ไปยังบริการที่มีการควบคุม - Burp Collaborator มักใช้เพื่อตรวจจับคำขอ DNS ฉันประหลาดใจมากที่มันใช้งานได้ในครั้งแรก: ได้รับการทำให้ DNS ล้มลง ถัดไป มีความพยายามที่จะสร้างการเชื่อมต่อกลับผ่านพอร์ต 80 (นั่นคือ การเชื่อมต่อเครือข่ายจากเซิร์ฟเวอร์ไปยังผู้โจมตี โดยสามารถเข้าถึง cmd.exe บนโฮสต์ของเหยื่อ) แต่แล้วความล้มเหลวก็เกิดขึ้น การเชื่อมต่อไม่สำเร็จและหลังจากพยายามใช้เว็บไซต์ครั้งที่สามพร้อมกับรูปภาพที่น่าสนใจทั้งหมดก็หายไปตลอดกาล

โดยปกติแล้วจะตามด้วยจดหมายในรูปแบบ “ลูกค้า ตื่นสิ เราทิ้งทุกอย่างแล้ว” แต่เราได้รับแจ้งว่าไซต์ไม่เกี่ยวข้องกับกระบวนการทางธุรกิจและทำงานที่นั่นโดยไม่มีเหตุผลใดๆ เลย เช่นเดียวกับเซิร์ฟเวอร์ทั้งหมด และเราสามารถใช้ทรัพยากรนี้ได้ตามต้องการ
ประมาณหนึ่งวันต่อมา จู่ๆ ไซต์ก็เริ่มทำงานด้วยตัวเอง หลังจากสร้างบัลลังก์จาก WebDAV บน IIS 6.0 ฉันพบว่าการตั้งค่าเริ่มต้นคือการรีสตาร์ทกระบวนการของผู้ปฏิบัติงาน IIS ทุกๆ 30 ชั่วโมง นั่นคือเมื่อการควบคุมออกจากเชลล์โค้ด กระบวนการของผู้ปฏิบัติงาน IIS สิ้นสุดลง จากนั้นจะรีสตาร์ทตัวเองสองสามครั้ง จากนั้นจึงหยุดทำงานเป็นเวลา 30 ชั่วโมง

เนื่องจาก backconnect ไปยัง tcp ล้มเหลวในครั้งแรก ฉันจึงถือว่าปัญหานี้เกิดจากพอร์ตที่ปิด นั่นคือเขาสันนิษฐานว่ามีไฟร์วอลล์บางประเภทที่ไม่อนุญาตให้การเชื่อมต่อขาออกผ่านภายนอก ฉันเริ่มใช้งานเชลล์โค้ดที่ค้นหาผ่านพอร์ต tcp และ udp จำนวนมาก แต่ก็ไม่มีผลใด ๆ โหลดการเชื่อมต่อย้อนกลับผ่าน http จาก Metasploit ไม่ทำงาน - meterpreter/reverse_http(s) ทันใดนั้นการเชื่อมต่อกับพอร์ต 80 เดียวกันได้ถูกสร้างขึ้น แต่ก็หลุดไปทันที ฉันถือว่าสิ่งนี้เป็นการกระทำของ IPS ในจินตนาการซึ่งไม่ชอบการจราจรของมิเตอร์ เนื่องจากการเชื่อมต่อ TCP บริสุทธิ์กับพอร์ต 80 ไม่ผ่าน แต่มีการเชื่อมต่อ http ฉันจึงสรุปได้ว่าพร็อกซี http ได้รับการกำหนดค่าในระบบ

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

ในความเป็นจริง ดูเหมือนว่า: พยายามโจมตี 3-4 ครั้งภายใน 5 นาที จากนั้นรอ 30 ชั่วโมง และต่อเนื่องกันเป็นเวลาสามสัปดาห์ ฉันยังตั้งเตือนไว้เพื่อไม่ให้เสียเวลา นอกจากนี้ ยังมีพฤติกรรมที่แตกต่างกันของสภาพแวดล้อมการทดสอบและการใช้งานจริง: สำหรับช่องโหว่นี้ มีช่องโหว่ที่คล้ายกันสองรายการ ช่องโหว่หนึ่งจาก Metasploit ช่องโหว่ที่สองจากอินเทอร์เน็ต ซึ่งแปลงมาจากเวอร์ชัน Shadow Brokers ดังนั้น มีเพียง Metasploit เท่านั้นที่ได้รับการทดสอบในการต่อสู้ และมีเพียง Metasploit เท่านั้นที่ถูกทดสอบบนม้านั่งสำรอง ซึ่งทำให้การดีบักยากยิ่งขึ้นและทำให้สมองแทบระเบิด

ในท้ายที่สุด เชลล์โค้ดที่ดาวน์โหลดไฟล์ exe จากเซิร์ฟเวอร์ที่กำหนดผ่าน http และเปิดใช้งานบนระบบเป้าหมายได้รับการพิสูจน์แล้วว่ามีประสิทธิภาพ เชลล์โค้ดมีขนาดเล็กพอที่จะใส่ได้ แต่อย่างน้อยมันก็ใช้งานได้ เนื่องจากเซิร์ฟเวอร์ไม่ชอบการรับส่งข้อมูล TCP เลยและมีการตรวจสอบ http ว่ามีมิเตอร์พรีเตอร์อยู่ ฉันจึงตัดสินใจว่าวิธีที่เร็วที่สุดคือการดาวน์โหลดไฟล์ exe ที่มี DNS-meterpreter ผ่านเชลล์โค้ดนี้

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

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor
เห็นได้ชัดว่าฉันมีสิทธิ์เวิร์กโฟลว์ IIS ขั้นพื้นฐานที่สุดซึ่งทำให้ฉันไม่ทำอะไรเลย นี่คือลักษณะที่ปรากฏบนคอนโซล Metasploit:

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

สมมติว่าเซิร์ฟเวอร์ Windows 2003 นี้ไม่ได้รับการซ่อมแซมเนื่องจากช่องโหว่ MS17-010 ที่มีชื่อเสียง ฉันจะรับส่งข้อมูลไปยังพอร์ต 445/TCP ผ่านอุโมงค์ DNS ของมิเตอร์พรีเตอร์บนโลคัลโฮสต์ (ใช่ เป็นไปได้เช่นกัน) และลองเรียกใช้ exe ที่ดาวน์โหลดก่อนหน้านี้ผ่าน ช่องโหว่ การโจมตีได้ผล ฉันได้รับการเชื่อมต่อครั้งที่สอง แต่มีสิทธิ์ของระบบ

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor

เป็นที่น่าสนใจที่พวกเขายังคงพยายามปกป้องเซิร์ฟเวอร์จาก MS17-010 - บริการเครือข่ายที่มีช่องโหว่ถูกปิดใช้งานบนอินเทอร์เฟซภายนอก วิธีนี้จะป้องกันการโจมตีบนเครือข่าย แต่การโจมตีจากภายในบน localhost นั้นได้ผล เนื่องจากคุณไม่สามารถปิด SMB บน localhost ได้อย่างรวดเร็วได้

ต่อไปมีการเปิดเผยรายละเอียดใหม่ที่น่าสนใจ:

  1. เมื่อมีสิทธิ์ในระบบ คุณสามารถสร้างการเชื่อมต่อกลับผ่าน TCP ได้อย่างง่ายดาย แน่นอนว่าการปิดใช้งาน TCP โดยตรงเป็นปัญหาสำหรับผู้ใช้ IIS ที่มีข้อจำกัดอย่างเคร่งครัด สปอยเลอร์: การรับส่งข้อมูลผู้ใช้ IIS ถูกห่อไว้ใน ISA Proxy ในเครื่องทั้งสองทิศทาง มันทำงานอย่างไรฉันไม่ได้ทำซ้ำ
  2. ฉันอยู่ใน "DMZ" ที่แน่นอน (และนี่ไม่ใช่โดเมน Active Directory แต่เป็น WORKGROUP) - ฟังดูสมเหตุสมผล แต่แทนที่จะเป็นที่อยู่ IP ส่วนตัว (“สีเทา”) ที่คาดหวัง ฉันกลับมีที่อยู่ IP “สีขาว” โดยสิ้นเชิง ซึ่งเหมือนกับที่อยู่ที่ฉันโจมตีก่อนหน้านี้ทุกประการ ซึ่งหมายความว่าบริษัทมีอายุมากในโลกของการระบุที่อยู่ IPv4 ซึ่งสามารถรักษาโซน DMZ สำหรับที่อยู่ "สีขาว" 128 รายการโดยไม่มี NAT ตามรูปแบบ ดังที่อธิบายไว้ในคู่มือของ Cisco ตั้งแต่ปี 2005

เนื่องจากเซิร์ฟเวอร์เก่า Mimikatz จึงรับประกันว่าจะทำงานโดยตรงจากหน่วยความจำ:

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor
ฉันได้รับรหัสผ่านผู้ดูแลระบบภายใน รับส่งข้อมูล RDP ผ่าน TCP และเข้าสู่ระบบเดสก์ท็อปที่สะดวกสบาย เนื่องจากฉันสามารถทำทุกอย่างที่ฉันต้องการด้วยเซิร์ฟเวอร์ ฉันจึงลบโปรแกรมป้องกันไวรัสออกและพบว่าเซิร์ฟเวอร์สามารถเข้าถึงได้จากอินเทอร์เน็ตผ่านพอร์ต TCP 80 และ 443 เท่านั้น และ 443 ไม่ยุ่ง ฉันตั้งค่าเซิร์ฟเวอร์ OpenVPN บน 443 เพิ่มฟังก์ชัน NAT สำหรับการรับส่งข้อมูล VPN ของฉันและเข้าถึงเครือข่าย DMZ โดยตรงในรูปแบบไม่จำกัดผ่าน OpenVPN ของฉัน เป็นที่น่าสังเกตว่า ISA ซึ่งมีฟังก์ชัน IPS ที่ไม่ปิดใช้งานบางส่วนได้บล็อกการรับส่งข้อมูลของฉันด้วยการสแกนพอร์ต ซึ่งต้องแทนที่ด้วย RRAS ที่ง่ายกว่าและตรงตามมาตรฐานมากขึ้น ดังนั้นบางครั้งผู้เพนเทสเตอร์ยังต้องจัดการเรื่องต่างๆ ทุกประเภท

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

ส่วนที่ 2 ยังไม่เข้ารหัสใช่ไหม ถ้าอย่างนั้นเราก็มาหาคุณที่นี่แล้ว

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

ฉันชาร์จเครื่องสแกนผ่าน DMZ ผ่านอุโมงค์ OpenVPN แล้วรอ ฉันเปิดรายงาน - ไม่มีอะไรร้ายแรงอีกแล้วเห็นได้ชัดว่ามีคนเคยใช้วิธีเดียวกันก่อนหน้าฉัน ขั้นตอนต่อไปคือการตรวจสอบว่าโฮสต์ภายในเครือข่าย DMZ สื่อสารกันอย่างไร ในการดำเนินการนี้ ขั้นแรกให้เปิด Wireshark ปกติแล้วฟังคำขอออกอากาศ โดยหลักๆ คือ ARP แพ็กเก็ต ARP ถูกรวบรวมตลอดทั้งวัน ปรากฎว่ามีการใช้เกตเวย์หลายเกตเวย์ในส่วนนี้ สิ่งนี้จะมีประโยชน์ในภายหลัง ด้วยการรวมข้อมูลเกี่ยวกับคำขอ ARP และการตอบกลับและข้อมูลการสแกนพอร์ต ฉันพบจุดออกของการรับส่งข้อมูลผู้ใช้จากภายในเครือข่ายท้องถิ่น นอกเหนือจากบริการที่รู้จักก่อนหน้านี้ เช่น เว็บและเมล

เนื่องจากในขณะนี้ ฉันไม่สามารถเข้าถึงระบบอื่น ๆ และไม่มีบัญชีเดียวสำหรับบริการขององค์กร จึงตัดสินใจดึงบัญชีบางส่วนออกจากการรับส่งข้อมูลโดยใช้ ARP Spoofing

Cain&Abel เปิดตัวบนเซิร์ฟเวอร์ของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะ เมื่อพิจารณาถึงกระแสการรับส่งข้อมูลที่ระบุ คู่ที่มีแนวโน้มมากที่สุดสำหรับการโจมตีแบบแทรกกลางจะถูกเลือก จากนั้นการรับส่งข้อมูลเครือข่ายบางส่วนจะได้รับโดยการเปิดตัวในระยะสั้นเป็นเวลา 5-10 นาที โดยมีตัวจับเวลาเพื่อรีบูตเซิร์ฟเวอร์ ในกรณีที่เกิดการแช่แข็ง ในเรื่องตลกมีสองข่าว:

  1. ดี: มีการรวบรวมข้อมูลรับรองจำนวนมากและการโจมตีโดยรวมก็ได้ผล
  2. ข้อเสีย: ข้อมูลรับรองทั้งหมดมาจากลูกค้าของลูกค้าเอง ในขณะที่ให้บริการสนับสนุน ผู้เชี่ยวชาญลูกค้าจะเชื่อมต่อกับบริการของลูกค้าที่ไม่ได้กำหนดค่าการเข้ารหัสการรับส่งข้อมูลเสมอไป

เป็นผลให้ฉันได้รับข้อมูลประจำตัวจำนวนมากที่ไม่มีประโยชน์ในบริบทของโครงการ แต่น่าสนใจอย่างแน่นอนเมื่อเป็นการสาธิตถึงอันตรายของการโจมตี เราเตอร์ชายแดนของบริษัทขนาดใหญ่ที่มีเทลเน็ต ส่งต่อพอร์ตดีบัก http ไปยัง CRM ภายในพร้อมข้อมูลทั้งหมด เข้าถึง RDP ได้โดยตรงจาก Windows XP บนเครือข่ายท้องถิ่น และความไม่ชัดเจนอื่นๆ มันกลับกลายเป็นแบบนี้ การประนีประนอมของห่วงโซ่อุปทานตามเมทริกซ์ MITER.

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

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

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

หลังจากเจาะลึกบริการต่างๆ อีกครั้ง ก็มีแนวคิดที่น่าสนใจเข้ามาในใจ มียูทิลิตี้ที่เรียกว่า Responder (ง่ายต่อการค้นหาตัวอย่างการใช้งานในชื่อนี้) ซึ่งโดยคำขอออกอากาศแบบ "เป็นพิษ" จะกระตุ้นการเชื่อมต่อผ่านโปรโตคอลที่หลากหลายเช่น SMB, HTTP, LDAP เป็นต้น ในรูปแบบต่างๆ จากนั้นขอให้ทุกคนที่เชื่อมต่อทำการตรวจสอบสิทธิ์และตั้งค่าเพื่อให้การตรวจสอบสิทธิ์เกิดขึ้นผ่าน NTLM และในโหมดที่โปร่งใสต่อเหยื่อ บ่อยครั้งที่ผู้โจมตีรวบรวมการจับมือ NetNTLMv2 ด้วยวิธีนี้และจากพวกเขาโดยใช้พจนานุกรมจะกู้คืนรหัสผ่านโดเมนผู้ใช้อย่างรวดเร็ว ที่นี่ฉันต้องการสิ่งที่คล้ายกัน แต่ผู้ใช้นั่งอยู่ "หลังกำแพง" หรือถูกแยกออกจากกันด้วยไฟร์วอลล์ และเข้าถึงเว็บผ่านคลัสเตอร์พร็อกซี Blue Coat

โปรดจำไว้ว่าฉันระบุว่าชื่อโดเมน Active Directory ตรงกับโดเมน "ภายนอก" นั่นคือมันคือ company.ru? ดังนั้น Windows หรือ Internet Explorer ที่แม่นยำยิ่งขึ้น (และ Edge และ Chrome) จึงอนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์อย่างโปร่งใสใน HTTP ผ่าน NTLM หากพวกเขาพิจารณาว่าไซต์นั้นอยู่ใน "โซนอินทราเน็ต" บางแห่ง สัญญาณอย่างหนึ่งของ "อินทราเน็ต" คือการเข้าถึงที่อยู่ IP "สีเทา" หรือชื่อ DNS แบบสั้น นั่นคือไม่มีจุด เนื่องจากพวกเขามีเซิร์ฟเวอร์ที่มี IP "สีขาว" และชื่อ DNS preobrazhensky.company.ru และเครื่องโดเมนมักจะได้รับส่วนต่อท้ายโดเมน Active Directory ผ่าน DHCP เพื่อการป้อนชื่อแบบง่าย พวกเขาจึงต้องเขียน URL ในแถบที่อยู่เท่านั้น พรีโอบราเชนสกี้เพื่อที่พวกเขาจะได้ค้นหาเส้นทางที่ถูกต้องไปยังเซิร์ฟเวอร์ของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะที่ถูกบุกรุก โดยอย่าลืมว่าตอนนี้เรียกว่า "อินทราเน็ต" นั่นคือในขณะเดียวกันก็ให้ NTLM-handshake ของผู้ใช้แก่ฉันโดยที่เขาไม่รู้ สิ่งที่เหลืออยู่คือการบังคับให้เบราว์เซอร์ไคลเอนต์คิดถึงความจำเป็นเร่งด่วนในการติดต่อเซิร์ฟเวอร์นี้

ยูทิลิตี้ Intercepter-NG ที่ยอดเยี่ยมมาช่วยเหลือแล้ว (ขอบคุณ เครื่องสกัดกั้น). ช่วยให้คุณสามารถเปลี่ยนการรับส่งข้อมูลได้ทันทีและทำงานได้ดีบน Windows 2003 นอกจากนี้ยังมีฟังก์ชันแยกต่างหากสำหรับการแก้ไขเฉพาะไฟล์ JavaScript ในการรับส่งข้อมูลเท่านั้น มีการวางแผนการเขียนสคริปต์ข้ามไซต์ขนาดใหญ่

พร็อกซี Blue Coat ซึ่งผู้ใช้เข้าถึงเว็บทั่วโลกจะแคชเนื้อหาคงที่เป็นระยะ ด้วยการสกัดกั้นการจราจร เห็นได้ชัดว่าพวกเขาทำงานตลอดเวลา โดยร้องขอการใช้งานแบบคงที่บ่อยครั้งอย่างไม่สิ้นสุดเพื่อเร่งความเร็วในการแสดงเนื้อหาในช่วงเวลาเร่งด่วน นอกจากนี้ BlueCoat ยังมี User-Agent เฉพาะซึ่งทำให้แตกต่างจากผู้ใช้จริงอย่างชัดเจน

มีการจัดเตรียม Javascript ซึ่งใช้ Intercepter-NG เป็นเวลาหนึ่งชั่วโมงในเวลากลางคืนสำหรับการตอบกลับแต่ละครั้งด้วยไฟล์ JS สำหรับ Blue Coat สคริปต์ทำสิ่งต่อไปนี้:

  • กำหนดเบราว์เซอร์ปัจจุบันโดย User-Agent หากเป็น Internet Explorer, Edge หรือ Chrome ก็จะยังคงใช้งานได้ต่อไป
  • ฉันรอจนกระทั่ง DOM ของเพจถูกสร้างขึ้น
  • แทรกรูปภาพที่มองไม่เห็นลงใน DOM ด้วยแอตทริบิวต์ src ของแบบฟอร์ม พรีโอบราเชนสกี้:8080/NNNNNNNN.png โดยที่ NNN เป็นตัวเลขที่กำหนดเอง ดังนั้น BlueCoat จะไม่แคชไว้
  • ตั้งค่าตัวแปรแฟล็กส่วนกลางเพื่อระบุว่าการฉีดเสร็จสมบูรณ์และไม่จำเป็นต้องแทรกรูปภาพอีกต่อไป

เบราว์เซอร์พยายามโหลดอิมเมจนี้ บนพอร์ต 8080 ของเซิร์ฟเวอร์ที่ถูกบุกรุก ทันเนล TCP กำลังรออิมเมจนั้นอยู่ที่แล็ปท็อปของฉัน ซึ่งมี Responder ตัวเดียวกันทำงานอยู่ โดยกำหนดให้เบราว์เซอร์ต้องเข้าสู่ระบบผ่าน NTLM

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor
เมื่อพิจารณาจากบันทึกของ Responder ผู้คนมาทำงานในตอนเช้า เปิดเวิร์คสเตชั่น จากนั้นผู้คนจำนวนมากและไม่มีใครสังเกตเห็นก็เริ่มไปที่เซิร์ฟเวอร์ของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะ โดยไม่ลืมที่จะ "ระบาย" การจับมือ NTLM การจับมือกันฝนตกตลอดทั้งวันและสะสมเนื้อหาไว้อย่างชัดเจนสำหรับการโจมตีเพื่อกู้คืนรหัสผ่านที่ประสบความสำเร็จอย่างเห็นได้ชัด นี่คือลักษณะของบันทึกของผู้ตอบกลับ:

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

คุณคงสังเกตเห็นแล้วว่าเรื่องราวทั้งหมดนี้สร้างขึ้นบนหลักการ “ทุกอย่างเรียบร้อยดี แต่แล้วก็มีคนเกียจคร้าน จากนั้นก็มีการเอาชนะ และแล้วทุกอย่างก็ประสบความสำเร็จ” ดังนั้นจึงมีคนเกียจคร้านที่นี่ จากการจับมือที่ไม่ซ้ำกันทั้งห้าสิบครั้ง ไม่มีการเปิดเผยแม้แต่ครั้งเดียว และสิ่งนี้คำนึงถึงความจริงที่ว่าแม้บนแล็ปท็อปที่มีโปรเซสเซอร์ไม่ทำงาน การแฮนด์เชค NTLMv2 เหล่านี้ก็ยังได้รับการประมวลผลด้วยความเร็วหลายร้อยล้านครั้งต่อวินาที

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

ตอนที่ 3 Roskomnadzor โต้กลับ

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

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

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

เมื่อ “ปัจจัยที่สอง” เสียหาย ฉันจึงสามารถเข้าถึงอีเมล Outlook Web Access และการเข้าถึงระยะไกลใน Citrix Netscaler Gateway ได้ มีความประหลาดใจในจดหมายใน Outlook:

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

นี่เป็นเดือนแรกๆ หลังจากการบล็อก Telegram "แฟน" อันโด่งดัง เมื่อเครือข่ายทั้งหมดที่มีที่อยู่นับพันแห่งหายไปจากการเข้าถึงอย่างไม่สิ้นสุด เห็นได้ชัดว่าเหตุใดการผลักดันจึงไม่ได้ผลในทันที และเหตุใด “เหยื่อ” ของฉันจึงไม่ส่งเสียงเตือนเพราะพวกเขาเริ่มใช้บัญชีของเธอในช่วงเวลาทำการ

ใครก็ตามที่คุ้นเคยกับ Citrix Netscaler จินตนาการว่ามันมักจะถูกนำมาใช้ในลักษณะที่สามารถถ่ายทอดเฉพาะอินเทอร์เฟซรูปภาพให้กับผู้ใช้โดยพยายามไม่ให้เครื่องมือแก่เขาในการเปิดแอปพลิเคชันบุคคลที่สามและถ่ายโอนข้อมูล จำกัด การกระทำทุกวิถีทางที่เป็นไปได้ ผ่านเชลล์ควบคุมมาตรฐาน “เหยื่อ” ของฉันเนื่องจากอาชีพของเขา มีเพียง 1C:

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor
หลังจากเดินไปรอบๆ อินเทอร์เฟซ 1C เพียงเล็กน้อย ฉันพบว่ามีโมดูลประมวลผลภายนอกอยู่ที่นั่น สามารถโหลดได้จากอินเทอร์เฟซ และจะดำเนินการบนไคลเอนต์หรือเซิร์ฟเวอร์ ขึ้นอยู่กับสิทธิ์และการตั้งค่า

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

กาลครั้งหนึ่งเพนเทสต์หรือวิธีทำลายทุกสิ่งด้วยความช่วยเหลือของผู้เชี่ยวชาญด้านระบบทางเดินปัสสาวะและ Roskomnadzor

การประมวลผลดำเนินการได้อย่างสมบูรณ์แบบซึ่งกลายเป็นสิ่งที่เพนเทสเตอร์เรียกว่า "เชลล์" - เปิดตัว Internet Explorer ผ่านมัน

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

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

AppLocker ถูกเปิดใช้งานบนแอปพลิเคชันเซิร์ฟเวอร์ที่ใช้ Citrix แต่ถูกข้ามไป มีการโหลดและเปิดใช้งาน Meterpreter เดียวกันผ่าน DNS เนื่องจากเวอร์ชัน http ไม่ต้องการเชื่อมต่อ และฉันไม่ทราบที่อยู่พร็อกซีภายในในขณะนั้น อย่างไรก็ตาม ตั้งแต่บัดนี้เป็นต้นไป Pentest ภายนอกก็กลายเป็นภายในโดยสมบูรณ์

ส่วนที่ 4 สิทธิ์ผู้ดูแลระบบสำหรับผู้ใช้ไม่ดีใช่ไหม?

ภารกิจแรกของ Pentester เมื่อได้รับการควบคุมเซสชันผู้ใช้โดเมนคือการรวบรวมข้อมูลทั้งหมดเกี่ยวกับสิทธิ์ในโดเมน มียูทิลิตี้ BloodHound ที่ให้คุณดาวน์โหลดข้อมูลเกี่ยวกับผู้ใช้คอมพิวเตอร์กลุ่มความปลอดภัยโดยอัตโนมัติผ่านโปรโตคอล LDAP จากตัวควบคุมโดเมนและผ่าน SMB - ข้อมูลเกี่ยวกับผู้ใช้ที่เพิ่งเข้าสู่ระบบที่ไหนและใครเป็นผู้ดูแลระบบท้องถิ่น

เทคนิคทั่วไปในการยึดสิทธิ์ของผู้ดูแลระบบโดเมนนั้นดูง่ายขึ้นเนื่องจากวงจรของการกระทำที่ซ้ำซากจำเจ:

  • เราไปที่คอมพิวเตอร์โดเมนที่มีสิทธิ์ของผู้ดูแลระบบภายในตามบัญชีโดเมนที่บันทึกไว้แล้ว
  • เราเปิดตัว Mimikatz และรับรหัสผ่านแคช ตั๋ว Kerberos และแฮช NTLM ของบัญชีโดเมนที่เพิ่งเข้าสู่ระบบนี้ หรือเราลบอิมเมจหน่วยความจำของกระบวนการ lsass.exe และทำเช่นเดียวกันกับฝั่งของเรา ซึ่งทำงานได้ดีกับ Windows ที่อายุน้อยกว่า 2012R2/Windows 8.1 โดยมีการตั้งค่าเริ่มต้น
  • เราพิจารณาว่าบัญชีที่ถูกบุกรุกมีสิทธิ์ของผู้ดูแลระบบในพื้นที่ที่ใด เราทำซ้ำจุดแรก ในบางขั้นตอนเราได้รับสิทธิ์ของผู้ดูแลระบบสำหรับทั้งโดเมน

“End of the Cycle;” ตามที่โปรแกรมเมอร์ 1C เขียนไว้ที่นี่

ดังนั้นผู้ใช้ของเราจึงกลายเป็นผู้ดูแลระบบท้องถิ่นบนโฮสต์เดียวที่ใช้ Windows 7 ซึ่งมีคำว่า "VDI" หรือ "Virtual Desktop Infrastructure" ซึ่งเป็นเครื่องเสมือนส่วนบุคคล อาจเป็นเพราะผู้ออกแบบบริการ VDI หมายความว่าเนื่องจาก VDI เป็นระบบปฏิบัติการส่วนบุคคลของผู้ใช้ แม้ว่าผู้ใช้จะเปลี่ยนสภาพแวดล้อมซอฟต์แวร์ตามต้องการ โฮสต์ก็ยังสามารถ "โหลดซ้ำ" ได้ ฉันยังคิดว่าโดยทั่วไปแล้วความคิดนี้ดีฉันไปที่โฮสต์ VDI ส่วนตัวนี้และสร้างรังที่นั่น:

  • ฉันติดตั้งไคลเอนต์ OpenVPN ที่นั่น ซึ่งสร้างช่องทางผ่านอินเทอร์เน็ตไปยังเซิร์ฟเวอร์ของฉัน ลูกค้าต้องถูกบังคับให้ผ่าน Blue Coat เดียวกันกับการตรวจสอบสิทธิ์โดเมน แต่ OpenVPN ทำได้ ดังที่พวกเขาพูดว่า “นอกกรอบ”
  • ติดตั้ง OpenSSH บน VDI จริงๆ แล้ว Windows 7 ที่ไม่มี SSH คืออะไร?

นี่คือสิ่งที่ดูเหมือนมีชีวิตอยู่ ฉันขอเตือนคุณว่าทั้งหมดนี้ต้องทำผ่าน Citrix และ 1C:

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

นี่คือจุดที่ผู้ดูแลระบบ VDI ยิงตัวเองที่เท้าสองครั้ง:

  • ครั้งแรกคือเมื่อเครื่อง VDI ไม่ได้ถูกนำเข้ามาภายใต้ LAPS โดยพื้นฐานแล้วจะคงรหัสผ่านผู้ดูแลระบบภายในเครื่องเดิมจากอิมเมจที่ถูกปรับใช้อย่างหนาแน่นกับ VDI
  • ผู้ดูแลระบบเริ่มต้นคือบัญชีภายในเครื่องเดียวที่เสี่ยงต่อการโจมตีแบบพาสเดอะแฮช แม้ว่าจะมีรหัสผ่านเดียวกัน แต่ก็สามารถหลีกเลี่ยงการประนีประนอมในวงกว้างได้โดยการสร้างบัญชีผู้ดูแลระบบภายในเครื่องที่สองด้วยรหัสผ่านแบบสุ่มที่ซับซ้อนและบล็อกค่าเริ่มต้น

เหตุใดจึงมีบริการ SSH บน Windows นั้น ง่ายมาก: ตอนนี้เซิร์ฟเวอร์ OpenSSH ไม่เพียงแต่จัดเตรียมเชลล์คำสั่งแบบโต้ตอบที่สะดวกสบายโดยไม่รบกวนการทำงานของผู้ใช้ แต่ยังรวมถึงพร็อกซี Socks5 บน VDI อีกด้วย ด้วยถุงเท้านี้ ฉันเชื่อมต่อผ่าน SMB และรวบรวมบัญชีแคชจากเครื่อง VDI หลายร้อยเครื่อง จากนั้นค้นหาเส้นทางไปยังผู้ดูแลระบบโดเมนที่ใช้ในกราฟ BloodHound เมื่อมีโฮสต์หลายร้อยคน ฉันจึงพบวิธีนี้อย่างรวดเร็ว ได้รับสิทธิ์ผู้ดูแลระบบโดเมนแล้ว

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

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

อาจมีคนมีคำถาม: จะป้องกันตัวเองได้อย่างไร? แม้แต่บทความนี้ยังอธิบายเทคนิคต่างๆ มากมาย ซึ่งหลายเทคนิคที่ผู้ดูแลระบบ Windows ไม่รู้ด้วยซ้ำ อย่างไรก็ตาม ฉันเสนอให้มองพวกเขาจากมุมมองของหลักการที่ถูกแฮ็กและมาตรการรักษาความปลอดภัยข้อมูล:

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

แน่นอนว่านี่เป็นเรื่องยากมากที่จะนำไปใช้ แต่ในบทความถัดไปเราจะแสดงในทางปฏิบัติว่ามันค่อนข้างเป็นไปได้

ที่มา: will.com

เพิ่มความคิดเห็น