Skip to content

Latest commit

 

History

History
122 lines (84 loc) · 6.46 KB

Basic-Pentesting-room.md

File metadata and controls

122 lines (84 loc) · 6.46 KB

TryHackMe: Basic Pentesting

Task 1: Web App Testing and Privilege Escalation

Question 1: Find the services exposed by the machine

Используем nmap для поиска активных сервисов на машине

nmap -sC -sV 10.10.197.82

ScreenShot

Мы нашли:

  • 22 port - SSH (OpenSSH)
  • 80 port - HTTP (Apache httpd 2.4.18)
  • 139 port - netbios-ssn (Samba 3.X - 4.X)
  • 445 port - netbios-ssn (Samba 4.3.11-Ubuntu)
  • 8009 port - ajp13 (Apache Jserv)
  • 8080 port - HTTP (Apache Tomcat 9.0.7)

Question 2: What is the name of the hidden directory on the web server(enter name without /)?

Для того, чтобы узнать скрытые директории на веб-сервере воспользуемся инструментом dirbuster. Вызовем его:

dirbuster

В результате находится папка /development с файлами внутри. Результат на снимках ниже:

ScreenShot

ScreenShot

Question 3: User brute-forcing to find the username & password. What is the username? What is the password?

Запустим утилиту enum4linux для поиска пользователей SMB.

enum4linux -S -R 500-550,1000-1050 10.10.197.82

ScreenShot

SMB изначально существовал как клиент-серверный протокол для получения доступа к файлам, каталогам и сетевым ресурсам, а также для обмена информацией по межсистемным процессам. На сегодняшний день основное назначение SMB – это установка соединения с устройствами со старыми версиями ОС Microsoft для подключения к серверам и обмена файлами. В итоге нам удалось найти двух пользователей:

  • jan
  • kay

Попробуем подобрать пароль для пользователя jan с помощью соответствующего истурмента под названием hydra

hydra -l jan -P /usr/share/wordlistst/rockyou.txt 10.10.197.82 ssh -t 16

Note: если у вас не определяется rockyou.txt, значит, скорее всего его нужно разархивировать (или скачать). Распаковать архив можно следующей командой (предварительно перейти в папку с архивом):

gzip -d rockyou.txt.gz

ScreenShot

Полученный пароль: armando

Question 4: What service do you use to access the server (answer in abbreviation in all caps)?

Для защищенного подключения к серверу можно использовать SSH.

SSH (Secure Shell) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли.

Попробуем произвести подключение к серверу по найденным ранее логину и паролю:

ScreenShot

Отлично, нам удалось войти. Посмотрим файлы в /home. Видим, что в этой директории находятся два пользователя, посмотрим на второго пользователя (kay)

ScreenShot

Question 5: If you have found another user, what can you do with this information?

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

ScreenShot

Находим здесь данные публичный и приватный rsa-ключи. Посмотрим приватный ключ:

nano id_rsa

ScreenShot

После этого скопируем полностью файл (лично я проделал через Ctrl+C и Ctrl+V и вставил в txt-файл на рабочем столе (private_key.txt))

ScreenShot

Далее с помощью ssh2john.py получаем хэш, по которому впоследствии будем находить пароль:

/usr/share/john/ssh2john.py private_key.txt > private_key_hash.txt

Note: если у вас не срабатывает скрипт, то скачайте новый файл с более поздней версией и замените его вместо старого (https://github.com/openwall/john/blob/bleeding-jumbo/run/ssh2john.py):

Теперь john может найти пароль по созданному ранее хэшу:

john private_key_hash.txt --wordlist=/usr/share/wordlists/rockyou.txt

ScreenShot

Question 6: What is the final password you obtain?

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

ScreenShot

Получаем сообщение о том, что ключ ненадежный, убираем расширение .txt у файла-ключа, а также меняем права соответствующей командой:

chmod 0600 private_key

Пробуем еще раз и вот мы вошли:

ScreenShot

Теперь спокойно можно прочитать файл pass.bk:

ScreenShot