Kali linux для начинающих timecore

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

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

#45 Kali Linux для начинающих. Популярные инструменты. Быстрый обзор.

Мы познакомились с достаточным количеством инструментов и концептов. Я знаю, что некоторые из них абсолютно новы для Вас. Некоторые инструменты могут вызывать у Вас затруднения и непонимание, но это абсолютно нормально. Более того – это ожидаемо, особенно если Вы новичок, так как Вы не должны быть экспертом, так как Вы вначале своего хакерского пути. Я веду к тому, что если Вы что-то не понимаете к этому моменту, то это абсолютно нормально. Советую пересмотреть все лекции, которые мы проходили до этого, столько раз, сколько потребуется.

Упорство и настойчивость – это то, что отличает хорошего этичного хакера от того, кто бросает этот путь.

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

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

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

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

Далее мы познакомились с инструментами для атаки на пароли, такие как «Hydra», «John the Ripper»:

Мы пропустили беспроводные атаки, потому что, как я говорил – это рассмотрение информации целого курса.

Также отдельный курс нужен для реверс-инжиниринга.

Однако, мы рассмотрели инструменты для эксплуатации, и это один из самых веселых разделов, где мы использовали Metasploit:

Далее мы рассмотрели раздел «Sniffing & Spoofing». После того, как мы попали в сеть, используя эксплойт, мы можем перехватывать пакеты внутри сети:

Источник

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

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

#26 Kali Linux для начинающих. Превращаем Kali Linux в веб-сервер.

В этом уроке мы рассмотрим базовую конфигурацию сервера.

Мы узнаем, как запускать сервисы, в том числе Apache и SSH, а также мы научимся загружать файлы и информацию, с помощью этих сервисов.

SSH означает безопасный шелл, который используется для удаленного получения доступа к машине. Иными словами, если Вы хотите подключиться к машине в Вашей сети, или сторонней в интернете, то следует использовать безопасный шелл. Безопасный шелл дает полный контроль над удаленной машиной, и мы будем иметь доступ к командной строке системы.

Apache – это веб-сервер Linux, на котором можно размещать информацию.

Представим ситуацию, что мы взломали машину, и нам нужно скачивать или закачивать информацию на или со взломанного сервера. Далее нам нужно просканировать сеть на наличие других машин в системе. Для этого используются инструменты «nmap» и «nessus» для примера. Возможно мы взломаем еще какую-либо машину в сети, и нам нужно будет использовать взломанный хост для сканирования других сетей, в которых он может находиться. Нам нужно загрузить инструменты с нашей машины на Kali, на взломанный хост. Это делается с помощью SSH, и если быть точнее, то SCP, для безопасного копирования, или веб-сервера Apache.

Допустим, у Вас получилось взломать Linux — систему, и получить учетные данные пользователей. Теперь нам нужны учетные данные, для верификации, если запущен SSH. Нам не нужно каждый раз взламывать систему.

Переходим к практике, и давайте я покажу Вам как поднять веб-сервер Apache на Kali Linux.

Примечательно то, что при поднятии сервера Apache, мы можем получить доступ к нашему серверу на Kali. Попробуем подключиться к локалхосту:

Иными словами, когда я пытаюсь подключиться по адресу locahost, на самом деле я подключаюсь к ip-адресу «127.0.0.1». Этот адрес является локальным в нашей сети.

Читайте также:  Windows для компьютерного клуба

Как видим ничего не происходит.

Давайте запустим веб-сервер Apache с помощью команды «service apache2 start»:

Видим открытое окно с сервером по дефолту (информация).

Веб-сервер был запущен успешно.

Теперь давайте добавим какие-либо файлы на сервер. Для начала нам нужно перейти в директорию «/var/www/html/»:

Добавим некоторые файлы в нашем сервере.

Команда для добавления: «echo “Hello Timcore” > download2»:

download2″ srcset=»https://timcore.ru/wp-content/uploads/2021/03/004-17-1024×387.png 1024w, https://timcore.ru/wp-content/uploads/2021/03/004-17-300×113.png 300w, https://timcore.ru/wp-content/uploads/2021/03/004-17-768×290.png 768w, https://timcore.ru/wp-content/uploads/2021/03/004-17-1536×581.png 1536w, https://timcore.ru/wp-content/uploads/2021/03/004-17.png 1577w» sizes=»(max-width: 1024px) 100vw, 1024px»/>

Все сработало корректно.

Закрепим наши знания, и проверим веб-сервер на другой машине Linux Ubuntu. Проверю свой ip-адрес:

Переходим в машину на Linux Ubuntu и вводим ip и страничку, которую мы создали:

Источник

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

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

#4 Kali Linux для начинающих. Терминал Kali Linux. Часть 1

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

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

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

В Linux эта программа находится в директории / bin / bash

Если я наведу на иконку в левой панели, она называется терминал. Эта иконка символизирует экран компьютера тех времен.

И если открыть терминал, то в нем уже будет работать программа bash. Думаю суть вы уловили. Это называется shell, и в нем уже работает bash:

Bash работает в терминале по-умолчанию. В противном случае он не сможет принимать информацию на ввод и отображать результат.

Работа в терминале намного эффективнее, чем графический интерфейс пользователя, и в отличии от него, он всегда есть на серверах.

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

Очень важно, чтобы вы умели ориентироваться в любой Linux системе с помощью терминала или shella. В будущем, когда я буду говорить слова терминал или shell, я буду иметь ввиду вот это темное окно:

Как правило, когда Вы упражняетесь в тестировании на проникновение, Ваша задача — это получить доступ к shell-у. Это означает, что у Вас должен быть доступ к shell-у, как у меня сейчас, но на удаленной машине, на машине вашей жертвы.

Как правило, есть два вида доступа к шеллу. Это либо рут-шелл. Как видите, сейчас я авторизирован как рут и это состояние обозначается символом # решетки, т.е я авторизирован как суперпользователь:

Также вместо рута мы можем получить состояние обычного пользователя, тогда вместо решетки # будет символ доллара $. Это означает, что вы авторизированы как обычный пользователь с низкими привилегиями.

Источник

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

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

#8 Kali Linux для начинающих. Основные команды. Часть 1.

Давайте познакомимся с основными Linux-командами. Это будет базовый перечень, о которых я расскажу. Сначала я хочу, чтобы Вы запомнили одну деталь. Дело в том, что Linux-системы чувствительны к регистру. Например, если мы пишем слово «Test» (обратите внимание на первую заглавную букву), то это будет отличаться от того же слова «test», но уже с первой прописной буквой. Это важно усвоить, прежде чем переходить к изучению команд в Linux.

Прошу Вас быть внимательными, и если вы новичок в Linux, то Вам простительны такие ошибки, но уже более опытным пользователям это неприемлемо. Хочу отметить, что получение доступа к файлам в Linux гораздо сложнее, чем в привычной всем Windows, и очень важную роль тут как раз играет регистр, поэтому будьте повнимательнее.

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

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

Читайте также:  Не работает геймпад linux

Теперь я хотел бы осветить пару моментов, которые необходимы при работе с командами в Linux. Есть определенная структура, которая состоит из 2-х элементов: «опции» и «аргументы».

Давайте более подробнее поговорим про эти элементы. Опции изменяют поведение команды, и, как правило это буквы, перед которыми идет знак минус «-». Можно использовать несколько опций в одной команде. Например, команда ls отображает содержимое директории и работает определенным образом. Не пугайтесь, если не понимаете назначение данной команды, позже Вам станет все понятно. Мы можем также прописать ту же команду ls, но дописав — — help, то в конечном итоге увидим другой результат выполнения:

В этом случае — — help — это «опция». Как я уже говорил, помимо опций у команд есть аргументы. Как правило, аргумент — это дополнительная информация, которая указывает команде с чем работать.

Приведу тот же пример с командой ls. Если ввести эту команду без аргументов, то она отобразит текущую директорию:

Допустим я нахожусь в директории /Documents, и при вводе команды ls, она отобразит директорию /Documents соответственно:

Однако, если мы перейдем в корень и добавим к команде ls, например, следующую запись — Downloads, то мы увидим содержимое указанной директории, а Downloads будет называться аргументом:

Итак, какие основные команды мы рассмотрим в ближайших нескольких уроках?

pwd, которая означает, отобразить рабочую директорию;

cd — сменить директорию;

mkdir — создать директорию;

touch — используется для создания файла;

ls — отображение содержимого директории;

cat — команда, которая конкатенирует и отображает файлы;

less — отображает содержимое файлов, но по-другому;

head[n], где n — где n — это цифра, например head -10, head -50, эта команда отображает строки файла, а n — это количество строк;

tail — [n] — отображает последние строки файла, в зависимости от количества указанных строк;

tail -f — команда, которая будет обновлять информацию по мере появления новых строк в файле;

cp — копирует файл;

mv — перемещает или переименовывает файл;

rm или rmdir — можно удалить файл и/или директорию.

Источник

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

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

#41 Kali Linux для начинающих. Взламываем веб-сервис.

Продолжаем рассматривать тематику взлома систем, и давайте поищем еще один способ, как взломать нашу цель. В предыдущих уроках мы с Вами рассматривали некоторые инструменты для сканирования, такие как «nmap» и «nessus».

Сейчас рассмотрим инструмент под названием «Nikto». Этот инструмент предназначен для сканирования уязвимостей веб-приложений. Этот инструмент сканирует сайты на предмет возможных уязвимостей. Мы можем использовать «Nikto», так как на атакуемой машине мы имеем несколько веб-сервисов.

Если запустить этот сканер с помощью команды «nikto» без параметров, то мы увидим ошибку:

Иными словами, для корректной работы инструмента нам нужно указывать некоторые опции, в частности, «-host ». Имейте ввиду, что на атакуемой машине несколько веб-серверов. Один из них использует 80 порт (сервер Apache), а другой 8180 (Apache Tomcat).

Давайте поработаем с сервером Apache Tomcat.

В нашу команду добавляем опцию «-p», а также порт 8180, т.к. по-умолчанию используется 80 порт, который нам пока что не нужен. Команда будет иметь вид: «nikto -host 192.168.15.131 -p 8180»:

Nikto запустился, и нам нужно подождать результат работы инструмента:

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

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

К счастью, сканер «Nikto» обнаружил учетные данные, которые принадлежат ему:

На этом сервере используются стандартные имя пользователя и пароль. Можно проверить это вручную для авторизации на этом веб-сервере. Для проверки переходим в браузер и вводим айпи адрес и порт.:

Читайте также:  Linux mint настройка удаленного доступа

Номер порта указывается для того, чтобы не использовались дефолтные порты, такие как 80 и 443.

Пробуем авторизироваться в Tomcat, и используем вкладку «Tomcat Manager»:

Отлично. Мы авторизировались в панели управления Tomcat:

Теперь я могу изменить сайт, изменить что-либо и так далее.

Можно создать для Ваших целей определенное ПО, или воспользоваться инструментом «Metasploit», воспользовавшись готовым модулем, для загрузки на сервер. Запустим Metasploit, и воспользуемся поиском. Команда будет выглядеть как: «search tomcat»:

В этом выводе есть две подходящие опции – это «tomcat_mgr_deploy» и «tomcat_mgr_upload»:

Обе эти опции отлично подходят нам против Tomcat. Выбираем вторую, и выполняем команду «use»:

Просмотрим опции с помощью команды «show options»:

Вспомните взлом vsftpd, который был в прошлом занятии. Сейчас ничего не отличается, кроме большего списка параметров, которые нужно настраивать.

Для начала укажем имя пользователя и пароль:

Далее нужно указать удаленный хост или айпи-адрес цели и порт. У меня это 192.168.119.130:8180. По-умолчанию стоит порт 80, который мы изменили:

Давайте перепроверим, что все опции настроены правильно. Это делается с помощью команды «show options»:

И, наконец, выполняем команду «run»:

Отлично. Теперь у меня есть шелл Meterpreter-a. Данный шелл является частью Metasploit. Он позволяет выполнять команды на атакуемой машине. Данные команды будут отличаться от обычных команд моей цели. Например, если мы выполним команду «id», то появляется ошибка:

Все дело в том, что meterpreter не знает этой команды, так как он является отдельным шеллом со своими командами, к которым не относится команда «id».

Можем ввести команду «pwd», и она сработает:

Данная команда работает и на meterpreter, и на linux-системах.

Если выполнить команду «whoami», то она не сработает:

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

Это длинный список команд meterpreter.

Если meterpreter кажется Вам непонятным, то не волнуйтесь и рассматривайте его следующим образом; при взломе атакуемой машины Metasploit загружает на нее программу, которая позволяет взаимодействовать с этой машиной, и выполнять различные команды. Это программа называется «meterpreter».

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

Если мне нужен линукс-шелл, то для этого нужно ввести команду «shell»:

В нем работают все команды, которые присущи линукс-системам.

Если выполнить команду «guid», то она уже не сработает:

Все из-за того, что я нахожусь в линукс-шелле.

Однако, можно выполнить команду «whoami», и «id», то они будут работать:

Обратите внимание, что вышеописанные команды не работали в meterpreter. После ввода команды «shell», я получил доступ непосредственно к стандартному линукс шеллу. Теперь я могу выполнять стандартные линукс команды.

Есть один момент, который заключается в том, что я не рут пользователь, а обычный пользователь «tomcat55».

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

С помощью инструмента «Nikto», мы оказались там, где мы сейчас находимся. Имейте ввиду, что это не специализированный инструмент для работы с конкретными сайтами.

Существуют инструменты, которые заточены на работу с определенными веб-технологиями. К примеру, для работы с сайтом на вордпресс существует инструмент для поиска уязвимостей, который называется wpscan.

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

Мы нашли несколько способов, как можно взломать нашу цель, используя разные уязвимости. Сначала мы взломали ftp-сервис, при этом мы использовали версию ftp, которую мы узнали с помощью «nmap». После этого мы использовали результат сканирования «nessus», где мы узнали, что есть эксплойт для попадания в систему. Как в случае с ftp и ssh сервисами, мы получали рут-права на системе жертвы. Далее мы использовали эксплойт веб-приложений, и смогли попасть в систему через веб-сайт. В последнем случае мы смогли попасть в систему только как обычный пользователь, а не как рут-пользователь. Нам осталось лишь повысить права. Однако, перед этим давайте взломаем систему еще одним способом.

Источник

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