Pwning Opera Unite กับ Eleven ของ Inferno

Opera Unite, เบราว์เซอร์ Opera เวอร์ชันที่กำลังจะมาถึงมีวิสัยทัศน์ที่แข็งแกร่งในการเปลี่ยนวิธีการดูเว็บของเรา สำหรับผู้ที่ไม่รู้จักเทคโนโลยีหัวรุนแรงมันจะขยายเบราว์เซอร์ของคุณไปสู่ชุดการทำงานร่วมกันแบบเต็มรูปแบบซึ่งคุณสามารถแชทกับผู้คนออกจากบันทึกย่อแบ่งปันไฟล์เล่นสื่อโฮสต์เว็บไซต์ของคุณ ฯลฯ (ว้าว !!).


Opera Unite มาพร้อมกับบริการมาตรฐานมากมายเช่นตู้เย็น (Notes), The Lounge (ห้องแชท) และอื่น ๆ สิ่งสำคัญคือต้องเข้าใจว่าบริการเหล่านี้มีมุมมองที่แตกต่างกันสองประการ มุมมองหนึ่งเป็นของ เจ้าของบริการ, ผู้ที่ติดตั้งปรับแต่งและเรียกใช้บริการเหล่านี้บนคอมพิวเตอร์ของเขาหรือเธอ เจ้าของบริการและคอมพิวเตอร์ที่ใช้บริการเหล่านี้มีตัวระบุที่เกี่ยวข้อง โดยค่าเริ่มต้นชื่อคอมพิวเตอร์คือ “บ้าน”. ดังนั้นหน้าแรกของผู้ดูแลระบบของคุณคือ http://admin.home.uid.operaunite.com/ จำไว้ว่าแม้ว่าโปรโตคอลการสื่อสารจะดูเหมือน http แต่ก็ไม่ได้เป็นเช่นนั้น Opera ถ่ายทอดการรับส่งข้อมูลทั้งหมดโดยใช้โปรโตคอล ucp ที่เป็นกรรมสิทธิ์ (เข้ารหัส) เพื่อ asd.opera.com และ auth.opera.com (ไม่มีรายละเอียดโปรโตคอลยกเว้นที่นี่) มุมมองอื่นเป็นของหน้าบริการที่ผู้ใช้ของคุณ (เพื่อนลูกค้า ฯลฯ ) ใช้เพื่อเข้าถึงเนื้อหาที่คุณเลือก ผู้ใช้ที่เชื่อถือได้เหล่านี้สามารถเข้าถึงบริการของคุณจากเบราว์เซอร์ใด ๆ (ไม่ใช่แค่ opera unite) และใช้โปรโตคอล http ธรรมดา โฮมเพจบริการคือ http://home.uid.operaunite.com/.

ฉันรู้สึกทึ่งกับความคิดนี้ดังนั้นฉันจึงตัดสินใจดูด้านความปลอดภัยของผลิตภัณฑ์ (ในขณะที่อยู่ในรุ่นเบต้า) นี่คือสิ่งที่ค้นพบของฉันตามลำดับความสำคัญโดยเฉพาะ (ทดสอบเมื่อ 10.00 Beta 3 Build 1703) ฉันกำลังรวม PoC ไว้ในส่วนที่เกี่ยวข้องด้วย จำไว้ว่าให้เปลี่ยน “บ้าน” กับคอมพิวเตอร์ของคุณและ “infernosec2” ด้วยหมายเลขผู้ใช้ของคุณ.

1. ระบุชื่อผู้ใช้บริการเจ้าของ - ถ้าคุณต้องการทำการโจมตีเป้าหมายกับผู้ใช้คนใดคนหนึ่งทำได้ง่ายกว่าโดยการเดาชื่อผู้ใช้ของเขาหรือเธอ ชื่อผู้ใช้โดยทั่วไปจะเป็นชื่อ / นามสกุล / ชื่อจริงชื่ออื่น ๆ อย่างไรก็ตามสำหรับการโจมตีทั่วไป Opera Unite ช่วยให้งานของเราง่ายขึ้นโดยอนุญาตให้ Google จัดทำดัชนีผู้ใช้’หน้า s (กำหนดค่าได้) นี่คือผลลัพธ์จากเคียวรีแบบง่าย - ไซต์: operaunite.com

Pwning Opera Unite กับ Eleven ของ InfernoPwning Opera Unite กับ Eleven ของ Inferno

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

Opera Unite การระบุชื่อคอมพิวเตอร์Opera Unite การระบุชื่อคอมพิวเตอร์

3. การแจกแจงที่อยู่ IP ของเซิร์ฟเวอร์เจ้าของบริการและหมายเลขพอร์ต - หากคุณเป็นเจ้าของบริการและกำลังคิดว่าตัวตนของคุณถูกหลอกลวงโดย Opera Unite Proxy Servers ให้คิดใหม่อีกครั้ง Opera Unite เปิดเผยที่อยู่ IP และหมายเลขพอร์ตของคุณแก่ผู้ใช้ (แม้แต่ไม่ได้รับการรับรองความถูกต้อง) ที่เข้าชมหน้าบริการของคุณ ฉันได้ทดสอบสิ่งนี้เพื่อใช้งานกับ File Sharing และ File Uploader Services เพียงทำแหล่งที่มาดู: ในหน้าใด ๆ เหล่านั้น.

Opera Unite Server IP และการเปิดเผยพอร์ตOpera Unite Server IP และการเปิดเผยพอร์ต

4. การหักหลังการสื่อสารที่ไม่ปลอดภัยในหน้าบริการ - ในขณะที่ Opera Team ได้ทำตามขั้นตอนเพียงพอเพื่อรักษาความปลอดภัยของเจ้าของบริการ’การสื่อสารกับ Opera Unite Servers (ใช้ ucp ที่เป็นกรรมสิทธิ์) อย่างไรก็ตามการสื่อสารของผู้ใช้หน้าบริการกับ Opera’เซิร์ฟเวอร์นั้นเป็น http ธรรมดาและไม่มีทางเลือกที่จะใช้ https (เช่นคุณไม่สามารถทำ https://home.infernosec2.operaunite.com/file_sharing/content/) ผู้ใช้เหล่านี้ใช้ข้อมูลรับรองที่ละเอียดอ่อนเพื่อเข้าสู่บริการของคุณและต้องการความปลอดภัยแบบเดียวกับเจ้าของบริการ สิ่งที่น่าตกใจยิ่งกว่าคือระบบการจัดการผู้ใช้ที่ my.opera.com ไม่รองรับ https ลองไปที่ https://my.opera.com/

การสื่อสาร HTTP Unite ที่ไม่ปลอดภัยการสื่อสาร HTTP Unite ที่ไม่ปลอดภัย

5. โฮสต์ฟิชชิ่งเพจและมัลแวร์อื่น ๆ บน Trusted Operaunite.com - ในฐานะผู้โจมตีคุณสามารถใช้ Opera Unite เพื่อแสดงหน้าฟิชชิงและเนื้อหามัลแวร์จากโปรไฟล์ของคุณ ทั้งการแชร์ไฟล์และบริการอัพโหลดไฟล์ทำให้เนื้อหาของเจ้าของบริการอยู่ในเบราว์เซอร์ทำให้ผู้ใช้เสี่ยงต่อการถูกฟิชชิงและการโจมตีมัลแวร์อื่น ๆ ตัวอย่างเช่นก่อนที่จะให้บริการเนื้อหาฉันฟิชชิ่งผู้ใช้เพื่อให้ข้อมูลประจำตัวของโอเปร่าของเขาหรือเธอรวมกัน ผู้ใช้อาจคิดว่าเนื้อหานั้นมาจาก operaunite.com ที่เชื่อถือได้และดังนั้นจึงมีโอกาสสูงที่จะตกเป็นเหยื่อของการหลอกลวงนี้.

Opera Unite โฮสติ้งฟิชชิ่งและหน้ามัลแวร์Opera Unite โฮสติ้งฟิชชิ่งและมัลแวร์

6. CSRF กำลังอัปโหลดไฟล์จากผู้ใช้ที่เชื่อถือได้ - ให้ผู้ใช้ที่เชื่อถือได้กำลังใช้บริการอัพโหลดไฟล์ของคุณนั่นคือเขาหรือเธอได้ให้ข้อมูลรับรองเพื่อเข้าถึง ในเวลาเดียวกันถ้าผู้ใช้รายนั้นไปที่ไซต์ที่ชั่วร้ายของฉันฉันสามารถทำให้เขาอัปโหลดไฟล์โดยพลการไปยังคอมพิวเตอร์ของคุณได้ซึ่งจะเป็นการทำลายความไว้วางใจที่คุณมีต่อผู้ใช้รายนั้น หากเจ้าของบริการคลิกที่ไฟล์นั้นโดยไม่ตั้งใจมันจะแสดงผลภายในเบราว์เซอร์ (เนื่องจากการตรวจจับชนิด MIME อัตโนมัติ) และการทำ XSS ของคุณดำเนินการ ในตัวอย่างด้านล่างฉันได้เขียนรหัสเพื่อขโมยรหัสผ่านการเข้าถึงบริการของคุณ โปรดทราบว่าการใช้ประโยชน์นี้กำหนดให้ผู้ใช้ที่เชื่อถือได้ของคุณกำลังเข้าถึงบริการจากเบราว์เซอร์อื่นที่ไม่ใช่ Opera เนื่องจาก Opera หนีชื่อไฟล์อย่างถูกต้อง การเอาเปรียบนี้เกิดขึ้นในช่วง 1.5 ปีที่ผ่านมา’รู้สึกว่าไม่จำเป็นต้องแก้ไขปัญหานี้ (ยังใช้งานได้กับ IE8, Firefox 3.5.2).

01.
02.
03. 04. เนื้อหาประเภท: ข้อความ / html; ‘>
05.
06.
07.var xhr = ใหม่ XMLHttpRequest ();
08.xhr.onreadystatechange = function () {
09.if (xhr.readyState == 4) {
10.if (xhr.status == 200) {
11.var pattern = /<[^>] * unite-aclPassword” value =” ([^>] *)”>/ผม;
12.if (pattern.test (xhr.responseText))
13. {
14.alert (“ รหัสผ่าน acl ของคุณคือ:“ + RegExp. $ 1);
15. }
16. }
17. }
18. };
19.
20.xhr.open (‘GET’, ‘http://admin.home.infernosec2.operaunite.com/file_uploader/admin/’ จริง);
21.xhr.send (null);
22.
23.
24.
25.
26.
27.document.forms [0] .submit ();
28.
29.

Opera Unite CSRF กำลังอัปโหลดไฟล์ในตัวอัปโหลดไฟล์Opera Unite CSRF กำลังอัปโหลดไฟล์ในตัวอัปโหลดไฟล์

ไฟล์ Opera Unite ที่อัพโหลด XSS เปิดเผยรหัสผ่านการเข้าถึงที่ละเอียดอ่อนไฟล์ Opera Unite ที่อัพโหลด XSS เปิดเผยรหัสผ่านการเข้าถึงที่ละเอียดอ่อน

7. CSRF-ing หมายเหตุบนตู้เย็น - บริการตู้เย็นเป็นบริการที่ไม่ผ่านการตรวจสอบสิทธิ์ซึ่งมีไว้สำหรับคนที่จะทิ้งโน้ตไว้ในคอมพิวเตอร์ของคุณ หากคุณเปิดใช้บริการนี้ผู้โจมตีสามารถทิ้งข้อความสนุกสนานที่น่าอับอายไว้หรือเพียงกรอกคิว (ขีด จำกัด เริ่มต้น -24) เพื่อให้ไม่มีใครสามารถโพสต์สิ่งใดได้ อย่างไรก็ตามเขาอาจไม่ต้องการทำเช่นนั้นเนื่องจาก ip ฯลฯ ของเขาอาจได้รับการบันทึกโดย Opera Servers ดังนั้นวิธีลับ ๆ ที่ดีกว่าหรือมากกว่านั้นคือการทำให้ผู้ใช้รายอื่นทำเพื่อเขา ผู้ใช้ที่เข้าชมไซต์ที่ชั่วร้ายของเขาสามารถทำการโพสต์บันทึกย่อไปยังโปรไฟล์ Opera Unite โดยอัตโนมัติ ซึ่งรวมถึงเจ้าของบริการและผู้ที่ถูกบังคับให้โพสต์บางอย่างบนคอมพิวเตอร์ของเขา :):) .

01.
02.
03.
04.
05.
06.
07.
08.
09.document.forms [0] .submit ();
10.
11.

Opera Unite CSRF กำลังจดบันทึกบนตู้เย็นOpera Unite CSRF กำลังจดบันทึกบนตู้เย็น

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

1.
2.
3.
4.
5.
6.document.forms [0] .submit ();
7.
8.

Opera Unite CSRF นำผู้ใช้ anyfakeid เข้าร่วม LoungeOpera Unite CSRF นำผู้ใช้ anyfakeid เข้าร่วม Lounge

9. XSS ใช้คุกกี้ unite-session-id ใช้งานได้กับบริการเกือบทั้งหมด - มีปัญหา XSS ในคุกกี้ unite-session-id ซึ่งค่าจะถูกสะท้อนใน javascript ของการตอบสนอง http ฉันจะเรียกสิ่งนี้ว่าเป็นปัญหาที่มีความรุนแรงน้อยเนื่องจากการโจมตีของการเขียนทับส่วนหัว http นี้เป็นไปได้เฉพาะกับ Flash รุ่นเก่ากว่า (เช่น 7,8, เวอร์ชันต่ำกว่า 9) และ IE6 ยังคงเป็นข้อบกพร่อง :):)

Opera Unite XSS ใช้คุกกี้ unite-session-id โดยใช้ Flash รุ่นเก่าOpera Unite XSS ใช้คุกกี้ unite-session-id โดยใช้ Flash รุ่นเก่า

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

11. ความไม่สอดคล้องกันในนโยบายรหัสผ่านสำหรับบริการบางประเภท - ส่วนใหญ่บริการ opera unite นั้นได้รับการเริ่มต้นและป้องกันด้วยรหัสผ่านตัวอักษรและตัวเลข 8 หรือ 9 หลัก อย่างไรก็ตามบริการภาพถ่ายได้รับการป้องกันด้วยรหัสผ่านถ่าน 4 ค่าเริ่มต้นซึ่งสามารถแตกหักได้ง่ายโดยใช้กำลังดุร้าย (ดูเหมือนว่าภาพถ่ายจะถือว่าเป็นส่วนตัวน้อยกว่าไฟล์) นอกจากนี้ห้องแชทยังไม่ได้รับการรับรองโดยผู้ใช้และแม้ว่าคุณจะเปิดใช้งานการป้องกันด้วยรหัสผ่าน แต่จะรับรหัสผ่านเริ่มต้น “ค่าเริ่มต้น”. ดังนั้นผู้ใช้ของคุณจะต้องสร้างรหัสผ่านที่คาดเดายากซึ่งไม่น่าเป็นไปได้.

ข้อมูลอ้างอิง: -

1. Clickjacking - Jeremiah Grossman และ Robert “RSnake” แฮนเซน
http://ha.ckers.org/blog/20081007/clickjacking-details/

2. การปลอมส่วนหัวคำขอ HTTP พร้อมแฟลช - Amit Klein
http://www.securityfocus.com/archive/1/441014

3. การหาช่องโหว่ XSS บนคุกกี้ - Sirdarckcat
http://sirdarckcat.blogspot.com/2008/01/exploiting-xss-vulnerabilities-on.html

4. ฟิลด์อัพโหลดไฟล์ CSRF-ing - Kuza55
http://kuza55.blogspot.com/2008/02/csrf-ing-file-upload-fields.html

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me