Matasano ถูกแฮ็กอย่างไร?


10

จาก: http://seclists.org/fulldisclosure/2009/Jul/0388.html

ถ้าฉันเข้าใจดีที่สุดจากโพสต์จาก: http://news.ycombinator.com/item?id=723798พวก Matasano ออกจากการเข้าถึงอินเทอร์เน็ต sshd - วิธีแก้ไขปัญหาใด ๆ ที่นำเสนอ (จากมุมมองการเขียนโปรแกรม)?


ถ้าบันทึกเป็นจริงนั่นเป็นปัญหาการกำหนดค่าของบริการที่เปิดเผยและไม่มีส่วนเกี่ยวข้องกับการเขียนโปรแกรม แต่อย่างใด
blowdart

คำตอบ:


34

Matasano ถูกแฮ็กอย่างไร?

นั่นเป็นไปไม่ได้ที่จะตอบจากข้อมูลในโพสต์ถึงการเปิดเผยแบบเต็ม อย่างไรก็ตามมันน่าสนใจเสมอที่จะคาดเดาเพราะพวกเขาให้ข้อมูลเล็ก ๆ น้อย ๆ -

# ./th3_f1n4l_s0lut10n www.matasano.com
[-] เชื่อมต่อกับ 69.61.87.163:22 ..
[/] ค้นหาผู้ใช้ที่ไม่ใช่ผู้ใช้ที่ถูกต้อง .. adam
******** R3D4CT3D h4h4h4h4 ********

พวกเขาเรียกเลขฐานสองของพวกเขาth3_f1n41_s01ut10nกับเซิร์ฟเวอร์ของ Matasano ซึ่งเชื่อมต่อกับพอร์ต ssh ค้นหาผู้ใช้ที่ไม่ใช่รูทที่ถูกต้องผ่านวิธีการที่ไม่ทราบวิธีและเอาต์พุตที่เหลือจะถูกทำซ้ำ

# ./th3_f1n4l_s0lut10n -u adam -t 3 www.matasano.com
[*] ผู้ฟัง Connectback วันที่ 209.112.118.10:3338 ..
[!] SSH2_MSG_SERVICE_ACCEPT [OpenSSH_4.5p1, OpenSSL 0.9.8g 19 ต.ค. 2550] 

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

adam_at_www: ~ $ uname -a
Linux www 2.6.20.1-1-686 # 1 SMP Sun Mar 4 12:44:55 UTC 2007 i686 GNU / Linux
**** h4h4h4hh4h4h4 l3tz us3 m0r3! 0D4Y! H4H4H4H4H4H4H4 ****

พวกเขาอาจหมายถึงพวกเขามี 0 วันกับเคอร์เนลนี้ซึ่งค่อนข้างเก่าเมื่อคุณพิจารณาการซื้อขายหุ้นของ บริษัท นี้

adam_at_www: ~ $ cd / tmp
*********** B0R1NG ***********
root_at_www: ~ # cat / etc / shadow 

อ๊ะ ๆ ทันใดนั้นผู้ใช้ทั้งหมดก็หยั่งราก พวกเขามีการใช้ประโยชน์จากการเพิ่มระดับสิทธิประโยชน์แบบท้องถิ่นใน / tmp ซึ่งอาจเป็น 0 วันที่พวกเขาอ้างถึง

ดังนั้นจึงมีการโจมตีอย่างน้อยสองครั้งที่เกิดขึ้นที่นี่ - การหาประโยชน์จาก OpenSSH เพื่อให้ได้ผู้ใช้ที่ไม่ใช่รูทที่ถูกต้องบนระบบและเข้าสู่ระบบในฐานะผู้ใช้นั้นและจากนั้นการเพิ่มสิทธิ์ระดับท้องถิ่น

พิจารณาว่า OpenSSH มีปัญหาด้านความปลอดภัยที่รู้จักตั้งแต่รุ่น 4.5:

จากหน้าความปลอดภัยของ OpenSSH :

  • OpenSSH ก่อนเวอร์ชั่น 5.2 มีความอ่อนไหวต่อความอ่อนแอของโปรโตคอลที่อธิบายไว้ใน CPNI-957037 "การโจมตีแบบ Plaintext Recovery Against SSH" อย่างไรก็ตามจากข้อมูลที่มีอยู่อย่าง จำกัด ปรากฏว่าการโจมตีที่อธิบายไว้นี้เป็นไปไม่ได้ในสถานการณ์ส่วนใหญ่ สำหรับข้อมูลเพิ่มเติมโปรดดูที่คำแนะนำ cbc.adv และบันทึกย่อประจำรุ่นของ OpenSSH 5.2
  • OpenSSH 4.9 และที่ใหม่กว่าจะไม่ดำเนินการ~/.ssh/rcสำหรับเซสชันที่คำสั่งถูกเขียนทับด้วยคำสั่ง sshd_config (5) ForceCommand นี่เป็นเอกสาร แต่มีพฤติกรรมที่ไม่ปลอดภัย (อธิบายไว้ในบันทึกย่อประจำรุ่นของ OpenSSH 4.9)
  • OpenSSH 4.7 และใหม่กว่าจะไม่ถอยกลับไปสู่การสร้างคุกกี้การตรวจสอบความถูกต้อง X11 ที่เชื่อถือได้เมื่อการสร้างคุกกี้ที่ไม่น่าเชื่อถือล้มเหลว

ฉันเดาว่าการมีเคอร์เนล Linux รุ่นเก่าและ SSH daemon ที่เก่ากว่าทำเพื่อพวกเขา นอกจากนี้มันยังทำงานบนเซิร์ฟเวอร์ www ของพวกเขาซึ่งมีให้บริการบนอินเทอร์เน็ตซึ่งค่อนข้างมั่นใจในสิ่งที่ทำในความคิดของฉัน คนที่บุกเข้ามาอย่างชัดเจนต้องการทำให้พวกเขาอับอาย

จะป้องกันการโจมตีเหล่านี้ได้อย่างไร?

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

การใช้วิธี Belt-and-Braces นั้นดีที่สุด - การใช้การพิสูจน์ตัวตนแบบพับลิกคีย์, รายการที่อนุญาตบน ssh daemon, การพิสูจน์ตัวตนแบบสองปัจจัย, การ จำกัด IP และ / หรือการวางทุกอย่างไว้เบื้องหลัง VPN เป็นเส้นทางที่เป็นไปได้

ฉันคิดว่าฉันรู้ว่าวันพรุ่งนี้ฉันจะทำอะไร :)


2
ต้องใช้รหัสสาธารณะที่ถูกต้องเพื่อให้สามารถเข้าสู่ระบบผ่าน OpenSSH ไม่พิสูจน์คนโง่ แต่ช่วย ดีโพสต์ btw
Andrioid

จุดดีเพิ่ม :)
Cawflands

1
เป็นค่าที่ชี้ให้เห็นว่าสตริงรุ่น OpenSSH นั้นอยู่ไกลจากคู่มือที่เชื่อถือได้ว่ามีการติดตั้ง vunerabilites หรือไม่เนื่องจาก linux version ต่าง ๆ แก้ไขการ backporting นอกจากนี้ไม่มีข้อผิดพลาดที่นี่มีแนวโน้มที่จะอนุญาตให้ผู้ใช้เข้าสู่ระบบโดยไม่ต้องมีการละเมิดอื่น ๆ ที่ค่อนข้างร้ายแรง
Cian

3

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

สิ่งที่น่าสนใจอีกอย่างที่ควรทราบคือผู้ใช้ adam ไม่ได้เข้าสู่กล่องดังกล่าวนานกว่าหนึ่งปี:

(ผลลัพธ์ของ Lastlog)

 adam             pts/1    ool-4350ab48.dyn Sat Jul 26 20:45:18 -0400 2008

ดังนั้นเขาอาจเก็บรหัสผ่านนั้นไว้ (อาจเป็นรหัสที่ไม่ดี) สักพัก

* หากพวกเขามีเครื่องมือในการค้นหาชื่อผู้ใช้ผ่าน SSH พวกเขาอาจใช้ผู้ใช้รายอื่นทั้งหมดเพื่อรับการเข้าถึงระยะไกล แต่พวกเขาใช้ชื่อผู้ใช้ที่พบบ่อยที่สุดในกล่องนั้น (เดาได้ง่าย)


2

ทำไมคุณจะลองและแก้ไขจากมุมมองการเขียนโปรแกรม?

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

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


ข้อเสนอแนะหนึ่งรายการเป็นรายการสีขาวหรือไม่

ซึ่งยังคงไม่เป็นปัญหาในการเขียนโปรแกรมก็เป็นปัญหาการกำหนดค่า
blowdart


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

2

ป้องกันซอฟต์แวร์ของคุณจากการโจมตี 0 วัน ... ซึ่งเป็นไปไม่ได้

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

ส่วนใหญ่แล้วแฮกเกอร์จะใช้ซอฟต์แวร์ที่ดีอย่างสมบูรณ์ในทางที่ผิด


เรามั่นใจว่านี่จะเป็นศูนย์หรือไม่?
Josh Brower

2

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

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