Как правильно употреблять предтреник от бсн 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 до отказа службы на стороне системы жертвы, что заставит её насторожиться. Тему развернём потом.
Пока всё. Итак длинно получилось. Успехов нам всем.