Как правильно употреблять предтреник от бсн no xplode

Содержание:

Актуальность

Информация, полученная в результате обнаружения уязвимости, может быть использована как для написания эксплойта, так и для устранения уязвимости. Поэтому в ней одинаково заинтересованы обе стороны — и взломщик, и производитель взламываемого программного обеспечения. Характер распространения этой информации определяет время, которое требуется разработчику до выпуска заплатки.

После закрытия уязвимости производителем шанс успешного применения эксплойта начинает стремительно уменьшаться. Поэтому особой популярностью среди хакеров пользуются так называемые 0day-эксплойты, использующие недавно появившиеся уязвимости, которые еще не стали общеизвестны.

Продолжим…

Итак, службу знаем, тип ОС видим. Так в базе данных и набираем: Search-кнопка после ввода запроса:

windows rpc

Пройдём перед поиском верификацию на робота и знакомимся с результатами:

ПОВТОРЮСЬ. Всё, что проделано выше, можно проделать быстрее. В запущенном Метасе наберите команду на поиск эксплойта из вашей Кали:

Однако ситуация, когда подходящего эксплойта в базе Метаса может и не найтись – не редкость. Так что, когда вы познакомитесь с работой эксплойтов поближе, можно себе позволить посвятить больше времени на поиск и компоновку нужного эксплойта. И в нашем случае мы подготовим скачанный эксплойт к инжектированию вручную. В терминале преобразуем его в бинарный файл (я предварительно  перетащил 66.с из Загрузок в Рабочий стол):

gcc 66.c -o 66

Теперь их два:

И запихиваю бинарник эксплойта прямиком в жертву XP:

./66 6 192.168.0.162

Система отозвалась. По-научному это называется Успешным результатом компрометации системы. Фактически этот компьютер уже в руках хакера. Хакер видит его, словно бы сидит за компьютером – он может управлять системой с помощью команд консоли. А теперь посмотрим, как используется эксплойт под управлением Метаса. Порты жертвы мы уже “прозвонили”с помощью Nmap. И как вы заметили, в числе прочих открыт ещё и 445 под управлением службы Microsoft-ds. В окне Metasploit выберем подходящий эксплойт:

exploit/windows/smb/ms08_067_netapi

Возьмём его на вооружение:

use exploit/windows/smb/ms08_067_netapi

Проверим, что нужно для его успешной реализации командой:

show options

Строка с адресом удалённого хоста RHOST пуста. Заполним её IP адресом жертвы:

Погнали:

exploit

Компьютер владельцу уже не принадлежит.

Выполнение произвольного кода в CakePHP

Brief

CakePHP — это известнейший (более 7 000 000 упоминаний в Гугле) программный каркас для создания веб-приложений, написанный на языке PHP и построенный на принципах открытого ПО. CakePHP реализует паттерн «Модель-Вид-Контроллер» (MVC).

Изначально данный фреймворк создавался в качестве клона популярного Ruby on Rails, многие идеи были заимствованы именно оттуда:

  • Своя файловая структура;
  • поддержка множества плагинов;
  • абстракция данных (PEAR::DB, ADOdb и собственная разработка Cake);
  • поддержка множества СУБД (PostgreSQL, MySQL, SQLite, Oracle).

Неудивительно, что на столь примечательный программный продукт обращено пристальное внимание многих пентестеров. Не так давно человек под ником felix нашел в данном фреймворке интересный баг, связанный с волшебными методами и использованием функции unserialize (подробнее о данном классе уязвимостей читай в прошлогодних номерах журнала)

Для начала открываем компонент ./libs/controller/components/security.php и ищем следующий код, отвечающий за защиту от XSRFатак с помощью POST-запросов:

Здесь массив $check содержит наши POST-данные, а переменная $locked — это обфусцированная с помощью функции str_rot13() сериализованная строка, которая полностью находится под нашим контролем.

На этом месте стоит сделать небольшое отступление для тех, кто не читал соответствующие статьи в ][, и кратко рассказать о баге, проявляющемся в волшебных методах PHP. Итак, в PHP версии 5 появилась базовая концепция ООПпрограммирования: конструктор и деструктор. Конструктор реализуется с помощью метода «__construct», а деструктор — с помощью метода «__destruct». По окончании своей работы и при вызове через функцию unserialize() каждый объект выполняет свой собственный __ destruct-метод, если он прописан в коде.

Теперь вернемся к нашему фреймворку и посмотрим на деструктор App-класса из файла ./libs/configure.php:

Из приведенного кода можно понять, что данный метод может быть скомпрометирован путем записи произвольных значений в объект Cache. Наиболее интересный ключ для взлома — это ‘file_map’. Он управляет связями между классами и соответствующими PHP-файлами, а также используется для подгрузки дополнительных классов во время выполнения скрипта.

Реальный код для загрузки классов выглядит немного сложнее, но все это сводится к следующему коду из метода __load внутри класса App:

Бинго! Путем подмены переменной $file мы сможем проинклудить свой собственный PHP-код! Причем это будет самый настоящий Remote File Inclusion баг — таким образом, нам не понадобятся никакие дополнительные ухищрения с загрузкой локальных файлов на сервер. Однако автор найденной уязвимости предлагает LFI-вариант эксплуатации этой дырки, потому что CakePHP использует базирующийся на файлах локальный кэш, который находится в сериализированной форме в известной взломщику директории.

Exploit

В качестве небольшого PoC для генерации ядовитой сериализованной строки felix предлагает следующий код:

Конечно, предварительно ты должен проинклудить необходимые классы из CakePHP. Существует также и полнофункциональный эксплойт на Питоне, найти который ты сможешь по адресу malloc.im/burnedcake.py.

Данный сплойт должен работать в каждом приложении, построенном на CakePHP, использующем POST-формы с security-токенами, и в котором не изменено стандартное расположение файлов кэша. По дефолту эксплойт выводит на экран конфиг базы данных, другие полезности легко добавляются путем измененения встроенного PHP-пэйлоада.

CakePHP

Solution

Для исправления описанной уязвимости необходимо всего лишь скачать последнюю версию используемой тобой ветки CakePHP с сайта производителя cakephp.org.

Blizzard’s view

The World of Warcraft End User License Agreement specifically forbids this kind of activity.

Blizzard tries to take action against anyone who exploits the game by temporarily or permanently suspending accounts. So far, Blizzard has banned tens of thousands of accounts from World of Warcraft. Blizzard makes heavy use of a system known as the Warden (software) on the Windows version of the game in order to detect third-party programs, such as botting software. There has been some controversy as to the legality of the Warden, since it allegedly uses techniques similar to spyware in order to analyse other running software on the players’ PCs, as well as the file system.[citation needed] However, some argue that software such as anti-virus software loosely falls into this definition as well. Debates regarding the game’s EULA as well as the rights of the players continue.

For more information, see The Warden (software).

Немного об уязвимостях.

Модули Метаса, содержащие эксплойты, и направлены на уязвимости. У пентестеров принято формализовывать методы, по которым эти уязвимости группируются. Таким образом был создан постоянно расширяющийся словарь Common Vulnerabilities and Exposures (CVE) – Общепринятых Уязвимостей и Обнаружений. Так что запоминайте: с аббревиатурой CVE вы не раз столкнётесь. Его цель: немецкие и китайские хакеры должны быть уверены, что говорят об одной и той же дыре в безопасности. И все они видят такие уязвимости в формате:

CVE – ГОД_ВЫПУСКА – ПРИСВОЕННЫЙ_ИДЕНТИФИКАТОР

например

CVE 2008-4250

Если вы хотите прямо сейчас взглянуть на полный список бюллетеня, прошу сюда:

На самом деле уязвимостей, которые способны раскрыть секреты хозяина, гораздо больше, чем официальный список этого бюллетеня. Да, чтобы попасть в этот словарь, уязвимости нужно место “заслужить”. И конкретной организации, которая официально этим занимается, конечно нет. Всё зависит от того, на что будет направлен будущий эксплойт – уязвимости без эксплойта не существует. Но в любом случае почти все дороги ведут на Exploit Database и указанный выше ресурс.

Отдельной строкой идут проблемы безопасности для продуктов от Майкрософт. Они формируются отдельным списком под названием Бюллетень Безопасности Майкрософт. Их уязвимости принято группировать таким макаром:

MSYY-XXX

где, YY – год обнаружения, ХХХ – присвоенный ID.

Pokemon Type Chart

Resistant

39.1% damage

Pokemon Min/Max CP Values

How to use: You need to know your Pokemon’s exact level. To find exactly what level your Pokémon is, power up your Pokémon following this chart until you’re certain of your level from Stardust cost changes.

A Pokémon’s minimum level is 1.

Every time you power up, your Pokémon gains half a level.

Stardust Level Min CP Max CP
200 1 28 33
200 1.5 58 68
200 2 88 104
200 2.5 118 139
400 3 148 174
400 3.5 178 210
400 4 208 245
400 4.5 238 281
600 5 268 316
600 5.5 298 352
600 6 329 387
600 6.5 359 422
800 7 389 458
800 7.5 419 493
800 8 449 529
800 8.5 479 564
1000 9 509 600
1000 9.5 539 635
1000 10 569 671
1000 10.5 598 704
1300 11 626 738
1300 11.5 655 771
1300 12 683 805
1300 12.5 711 838
1600 13 740 872
1600 13.5 768 905
1600 14 797 939
1600 14.5 825 972
1900 15 854 1006
1900 15.5 882 1039
1900 16 911 1073
1900 16.5 939 1106
2200 17 968 1140
2200 17.5 996 1173
2200 18 1025 1207
2200 18.5 1053 1240
2500 19 1081 1274
2500 19.5 1110 1308
2500 20 1138 1341
2500 20.5 1167 1375
3000 21 1195 1408
3000 21.5 1224 1442
3000 22 1252 1475
3000 22.5 1281 1509
3500 23 1309 1542
3500 23.5 1338 1576
3500 24 1366 1609
3500 24.5 1395 1643
4000 25 1423 1677
4000 25.5 1452 1710
4000 26 1480 1744
4000 26.5 1509 1777
4500 27 1537 1811
4500 27.5 1566 1844
4500 28 1594 1878
4500 28.5 1623 1911
5000 29 1651 1945
5000 29.5 1680 1978
5000 30 1708 2012
5000 30.5 1722 2029
6000 31 1737 2046
6000 31.5 1751 2062
6000 32 1765 2079
6000 32.5 1779 2096
7000 33 1793 2113
7000 33.5 1808 2129
7000 34 1822 2146
7000 34.5 1836 2163
8000 35 1850 2180
8000 35.5 1865 2196
8000 36 1879 2213
8000 36.5 1893 2230
9000 37 1907 2247
9000 37.5 1922 2263
9000 38 1936 2280
9000 38.5 1950 2297
10000 39 1964 2314
10000 39.5 1978 2331
10000 40 1993 2347

Show All

База данных эксплойтов. Пару секунд на теорию.

Если вы сейчас сидите в Кали, она, база, у вас под рукой. Нужно лишь соединение с сетью и запущенный msfconsole (он же набор инструментов Metasploit). Постоянно пополняемая база эксплойтов, которые вы можете увидеть прямо сейчас, запустив консоль msfconsole и набрав команду show exploits, отобразит список эксплойтов:

Отображение на экране списка вам пока ничего не скажет. Они представлены в алфавитном порядке с датой публикации, присвоенным рангом по применению и надёжности работы, а также коротким пояснением на что нацелен.

Своеобразным зеркалом базы является знаменитый ресурс

https://www.exploit-db.com/

Он целиком посвящён эксплойтам в том числе. И здесь можно (вооружившись словарём) подробнее познакомиться с историей эксплойта, скачать его напрямую (если захотите скомпоновать собственный эксплойт – об это потом), познакомиться с информацией по эксплойту. Вобщем, весь смак располагается здесь. Но есть ещё кое-что.

Неплохой ресурс, на котором можно найти интересное, это:

ru.0day.today/

Многоязычный ресурс, который предлагает не только общеизвестные (читай – давно прикрытые) эксплойты, но и собственные варианты участников. За деньги. Посетите и ознакомьтесь: русский язык там тоже поддерживается.

Biology

Physiology

Exploud is a squat, boxy-looking creature. Its distinguishing characteristic is the cluster of sound-pipes projecting from its body, making it resemble nothing so much as a pipe-organ mounted onto an engine-block. There is a frill of seven such pipes on the sides and back of its head; two long, flexible ones make up its tail; and it has breathing ports on its back, elbows and knees. It produces a variety of sounds through these openings, from flutelike calls to a battle-roar that can be heard for a radius of six miles. (It has been known to trigger weak earthquakes.)

Natural abilities

It has Soundproof for its Ability which makes no sound-based attacks (such as Roar or Jigglypuff’s Sing) will affect it. It is known to be very noisy and its cries can be heard from miles away.

Let there be code

В итоге утилита была реализована на Python с совместимостью от Python 2.6 до Python 3.6. Основные ключи я постарался сохранить идентичными searchsploit для того, что бы не приходилось привыкать заново.

Основная механика поиска строится на базе Vulners API. Таким образом вы всегда получите актуальные данные на момент «здесь и сейчас». Что же, поищем эксплойты под WordPress?

Довольно неплохо, да? Попробуем теперь ограничить нас только коллекцией Packet Storm. Синтаксис выражений полностью совпадает с поисковой строкой сайта и его можно подглядеть на страничке help.

Так, нужные нам эксплойты найдены. Теперь их нужно сохранить для последующего использования. Для этого нужно использовать ключик «-m». После этого утилита создаст папку с вашим поиском и загрузит эксплойты туда.

Но что же делать, если у нас нет онлайн подключения к интернету? Вспомнить об этом пока он еще доступен и сделать «—update»!

При таком запросе getsploit скачает SQLite базу данных со всей коллекцией эксплойтов. Это порядка 594 мегабайт данных на момент написания статьи.

Обратите внимание, что если у вас Python скомпилирован без поддержки sqlite3 (что в принципе редкость), то локальная база, увы, работать не будет. Здесь пришлось пожертвовать совместимостью ради скорости работы и возможности полнотекстового поиска с FTS4 модулем SQLite

Здесь пришлось пожертвовать совместимостью ради скорости работы и возможности полнотекстового поиска с FTS4 модулем SQLite.

Но все не так плохо, основная масса сборок Python по умолчанию идет с модулем sqlite3. Попробуем найти эксплойты локально?

Отлично! Теперь можно взять с собой всю коллекцию эксплойтов с Vulners и использовать ее в оффлайне без регистрации и смс.

Ну и конечно же, исходные коды лежат на нашем GitHub.
Pull-request’ы крайне приветствуются.

Откуда появляется эксплойт? Любители конкретики – пропускайте часть.

Где известна уязвимость, там, вероятно, может появиться и эксплойт. Уязвимость же можно толковать также по-разному. Википедия, как мне кажется, даёт немного неверное определение. Уязвимость – это не всегда ошибка или недостаток. Ахиллесова пята есть у любого механизма. Ну нельзя назвать ошибкой тот факт, что двигатель работает от топлива. Ведь, если он будет работать на воздухе, это также сразу станет его недостатком. Как и металл, из которого он собран; человек, который им управляет… Недостатки есть у всего, и профессионалам они также видны во всём.

Самое простое объяснение такой мысли – “взаимоотношения” человека и вируса. Биологического. В нашем организме всё продумано до мелочей, однако, столкнувшись с микрокодом извне, он выходит из строя на время или навсегда. Уязвимость – это просто неспособность механизма (в том числе и программного) адекватно реагировать на некое действие со стороны, сохраняя при этом заложенные в него (механизм) характеристики и функционал. И эксплойт называется эксплойтом только если позволяет получить от уязвимости выгоду

Не сочтите за белетристику, это важно понять сразу

Проблемы эксплойта или абзац для любителей “на всё готовое”.

Эта часть статьи заслуживает отдельной темы. Но пока отведу ей лишь абзац. Что подстерегает пентестера на пути применения эксплойта? Объясняю на пальцах (да простят профессионалы):

  • первая проблема – старение уязвимости, на которую разработчики почти сразу устанавливают заплатку. Да, абсолютное большинство эксплойтов в том виде, как они существуют, не заслуживают вашего внимания. Они бесполезны – обновления систем безопасности их прикрывают. Так что выходов немного: пользуем 0day эксплойты (зеро-дэй) – если сможете найти и применить; либо включаем голову и работаем над своими; это проблема номер один – нам приходится учиться на операционных системах и программах предыдущих поколений: причина проста – разработчики “забили” на поддержку (Windows XP типичный тому пример) и не реагируют на появляющиеся уязвимости даже при официальном уведомлении (не забывая, однако, проверять не проявится ли эта уязвимость в рабочих версиях программ или ОС-ей).
  • вторая проблема (вытекает из первой) – если уязвимость опубликована, и существует для неё эксплойт, десятки специалистов уже работают над тем, чтобы уязвимость осталась в прошлом. Им платят. И люди, которые ищут уязвимости тоже хотят, чтобы платили им также. Так что не надейтесь на искатанную вдоль и поперёк уязвимость: прелесть кроется там, где тропинка не хожена. Если появилось то, что нужно, а ума или опыта нет – за это нужно порой платить (с риском остаться без результата и без денег). И не всегда тому виной будет пионер уязвимости и писатель эксплойта. Хотя бы потому, что есть проблема третья…
  • технические моменты применения эксплойта заключаются в том, что ТО, ЧТО ПРОКАТИЛО на английской локали Windows СКОРЕЕ ВСЕГО НЕ ПРОКАТИТ на русской. Эксплойт, написанный для американской версии Windows оправданно не сработает для русской системы. Результат применения может стать неожиданным: до безмолвной ошибки с Метасе типа Exploit seems to be failed до отказа службы на стороне системы жертвы, что заставит её насторожиться. Тему развернём потом.

Пока всё. Итак длинно получилось. Успехов нам всем.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *