Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы тестирования КИИ на проникновение. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1. ПАССИВНЫЙ СБОР ИНФОРМАЦИИ (PASSIVE INFORMATION GATHERING)
- •1.1. СБОР ИНФОРМАЦИИ С ПОМОЩЬЮ ВЕБ-ИСТОЧНИКОВ
- •1.1.1. Использование Google
- •1.1.2. Примеры
- •1.1.3. Задания
- •1.2.1. Задания
- •1.3. ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ
- •1.3.1. Netcraft
- •1.3.2. Перечисление Whois
- •1.3.3. Получение данных из БД регистраторов
- •1.3.4. Задания
- •1.4. RECON-NG
- •1.4.1. Задания
- •1.5. ПРОФИЛИРОВАНИЕ ПОЛЬЗОВАТЕЛЕЙ
- •1.5.1. Задания
- •2.1. ПЕРЕЧИСЛЕНИЕ DNS (DNS ENUMERATION)
- •2.1.1. Взаимодействие с DNS-сервером
- •2.1.2. Автоматизация поиска
- •2.1.3. Релевантные инструменты в Kali Linux
- •2.1.4. SubBrute
- •2.1.5. Задания
- •2.2. ПЕРЕЧИСЛЕНИЕ SNMP (SNMP ENUMERATION)
- •2.2.1. Дерево MIB
- •2.2.2. Сканирование SNMP
- •2.2.3. Пример перечисления SNMP
- •2.2.4. Атака усиления (амплификации) SNMP (SNMP amplification)
- •2.2.5. Пример
- •2.2.6. Задания
- •2.3. ПЕРЕЧИСЛЕНИЕ SMTP (SMTP ENUMERATION)
- •2.3.1. Задания
- •3. СКАНИРОВАНИЕ ПОРТОВ
- •3.1. ОБНАРУЖЕНИЕ ХОСТОВ
- •3.2. СКАНИРОВАНИЕ ОТКРЫТЫХ ПОРТОВ И ОПРЕДЕЛЕНИЕ СЛУЖБ
- •3.2.1. Типы сканирования портов
- •3.3. СКАНИРОВАНИЕ TCP
- •3.3.1. Connect-сканирование
- •3.3.2. SYN-cканирование (Стелс/stealth)
- •3.3.3. Другие виды сканирования
- •3.4. СКАНИРОВАНИЕ UDP
- •3.5. ОПРЕДЕЛЕНИЕ ВЕРСИЙ СЛУЖБ
- •3.6. ПОЛУЧЕНИЕ ОТПЕЧАТКОВ ОС (OS FINGERPRINTING)
- •3.7. ВЫВОД РЕЗУЛЬТАТОВ
- •3.8. МЕТОДЫ ОБХОДА ФАЕЙРВОЛОВ/IDS
- •3.8.4. Изменение значения MTU
- •3.9. НЕКОТОРЫЕ ОСОБЕННОСТИ СКАНИРОВАНИЯ
- •3.10. СЦЕНАРИИ NMAP SCRIPTING ENGINE (NSE)
- •3.11. ЗАДАНИЯ
- •4. ЭКСПЛУАТАЦИЯ СОЕДИНЕНИЙ УДАЛЁННОГО ДОСТУПА
- •4.1. ОБЩИЕ ОСОБЕННОСТИ ЭКСПЛУАТАЦИИ
- •4.2. КОМПРОМЕТАЦИЯ ПРОТОКОЛА RDP
- •4.3. КОМПРОМЕТАЦИЯ ПРОТОКОЛА SSH
- •4.3.1. Получение ключей хоста RSA и DSA
- •4.3.2. Перечисление функций
- •4.3.3. Поддерживаемые механизмы аутентификации
- •4.3.4. Подбор учётных данных
- •4.4. КОМПРОМЕТАЦИЯ ПРОТОКОЛА VNC
- •4.5. FTP
- •4.6. TFTP
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

Рис. 1.4. Подробная форма отчёта о результатах анализа сайта
1.3.2. Перечисление Whois
Whois – это одновременно название службы TCP, инструмента и типа базы данных. В базе данных Whois содержится имя сервера, регистратора и в некоторых случаях полная контактная информация регистратора доменного имени. Каждый регистратор должен поддерживать базу данных Whois, содержащую всю контактную информацию для доменов, которые они размещают на
собственных ресурсах. Глобальная база данных регистрационной и
нформации
Whois поддерживается организацией InterNIC (The Internet's Network Information
Center). Такие базы данных обычно открыты службой Whois на TCP-порте 43
и доступны посредством использования клиентской программы whois. Пример
запроса:
root@kali:~# whois domain.com
Whois Server Version 2.0
Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.
Domain Name: DOMAIN.COM
Registrar: CSC CORPORATE DOMAINS, INC.
Sponsoring Registrar IANA ID: 299
Whois Server: whois.corporatedomains.com
11

Referral URL: http://www.cscglobal.com/global/web/csc/digital-brandservices.html
Name Server: NS1.DOMAIN.COM
Name Server: NS2.DOMAIN.COM
Name Server: NS3.DOMAIN.COM
Status: clientTransferProhibited
https://icann.org/epp#clientTransferProhibited
Status: serverDeleteProhibited
https://icann.org/epp#serverDeleteProhibited
Status: serverTransferProhibited
https://icann.org/epp#serverTransferProhibited
Status: serverUpdateProhibited
https://icann.org/epp#serverUpdateProhibited
Updated Date: 11-may-2016
Creation Date: 14-may-1987
Expiration Date: 15-may-2017
...
Domain Name: domain.com
Registry Domain ID: 4987030_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.corporatedomains.com
Registrar URL: www.cscprotectsbrands.com
Updated Date: 2016-05-11T05:31:23Z
Creation Date: 1987-05-14T04:00:00Z
Registrar Registration Expiration Date: 2017-05-15T04:00:00Z
Registrar: CSC CORPORATE DOMAINS, INC.
Registrar IANA ID: 299
Registrar Abuse Contact Email: domainabuse@cscglobal.com
Registrar Abuse Contact Phone: +1.8887802723
Domain Status: serverTransferProhibited
http://www.icann.org/epp#serverTransferProhibited
Domain Status: serverDeleteProhibited
http://www.icann.org/epp#serverDeleteProhibited
Domain Status: clientTransferProhibited
http://www.icann.org/epp#clientTransferProhibited
Domain Status: serverUpdateProhibited
http://www.icann.org/epp#serverUpdateProhibited
Registry Registrant ID:
Registrant Name: Info Sec
Registrant Organization: Domain Technology Inc.
Registrant Street: 170 West Tasman Drive
Registrant City: San Jose
Registrant State/Province: CA
Registrant Postal Code: 95134
Registrant Country: US
Registrant Phone: +1.4085273842
Registrant Phone Ext:
Registrant Fax: +1.4085264575
Registrant Fax Ext:
Registrant Email: infosec@domain.com
Registry Admin ID:
Admin Name: Info Sec
Admin Organization: Domain Technology Inc.
Admin Street: 170 West Tasman Drive
Admin City: San Jose
Admin State/Province: CA
Admin Postal Code: 95134
Admin Country: US
12

Admin Phone: +1.4085273842
Admin Phone Ext:
Admin Fax: +1.4085264575
Admin Fax Ext:
Admin Email: infosec@domain.com
Registry Tech ID:
Tech Name: Network Services
Tech Organization: Domain Technology Inc.
Tech Street: 170 W. Tasman Drive
Tech City: San Jose
Tech State/Province: CA
Tech Postal Code: 95134
Tech Country: US
Tech Phone: +1.4085279223
Tech Phone Ext:
Tech Fax: +1.4085267373
Tech Fax Ext:
Tech Email: dns-info@DOMAIN.COM
Name Server: ns1.domain.com
Name Server: ns2.domain.com
Name Server: ns3.domain.com
DNSSEC: unsigned
URL of the ICANN WHOIS Data Problem Reporting System:
http://wdprs.internic.net/
>>> Last update of WHOIS database: 2016-05-11T05:31:23Z <<<
For more information on Whois status codes, please visit
https://icann.org/epp
Corporation Service Company(c) (CSC) The Trusted Partner of More than
50% of the 100 Best Global Brands.
Клиент whois также может выполнять и обратный поиск. Вместо имени
домена можно указать IP-адрес:
root@kali:~# whois 72.163.4.161
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/public/whoisinaccuracy/index.xhtml
#
#
# The following results may also be obtained via:
#
https://whois.arin.net/rest/nets;q=72.163.4.161?showDetails=true&showARIN
=false&showNonArinTopLevelNet=false&ext=netref2
#
NetRange: 72.163.0.0 - 72.163.255.255
CIDR: 72.163.0.0/16
NetName: DOMAIN-GEN-7
NetHandle: NET-72-163-0-0-1
Parent: NET72 (NET-72-0-0-0-0)
NetType: Direct Allocation
OriginAS:
13

Organization: Domain Systems, Inc. (DOMAINS-2)
RegDate: 2006-10-24
Updated: 2015-08-13
Ref: https://whois.arin.net/rest/net/NET-72-163-0-0-1
OrgName: Domain Systems, Inc.
OrgId: DOMAINS-2
Address: 170 West Tasman Drive
City: San Jose
StateProv: CA
PostalCode: 95134
Country: US
RegDate: 1986-02-05
Updated: 2017-01-28
Ref: https://whois.arin.net/rest/org/DOMAINS-2
OrgNOCHandle: GATC-ARIN
OrgNOCName: GIS ARIN Technical Contact
OrgNOCPhone: +1408 526 8888
OrgNOCEmail: kjawaid@domain.com
OrgNOCRef: https://whois.arin.net/rest/poc/GATC-ARIN
OrgAbuseHandle: DN5-ORG-ARIN
OrgAbuseName: Domain Systems Inc
OrgAbusePhone: +1-408-527-9223
OrgAbuseEmail: dns-info@domain.com
OrgAbuseRef: https://whois.arin.net/rest/poc/DN5-ORG-ARIN
OrgTechHandle: GATC-ARIN
OrgTechName: GIS ARIN Technical Contact
OrgTechPhone: +1408 526 8888
OrgTechEmail: kjawaid@domain.com
OrgTechRef: https://whois.arin.net/rest/poc/GATC-ARIN
RTechHandle: CAH5-ARIN
RTechName: Huegen, Craig
RTechPhone: +1-618-523-7240
RTechEmail: chuegen@domain.com
RTechRef: https://whois.arin.net/rest/poc/CAH5-ARIN
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/public/whoisinaccuracy/index.xhtml
Обратите внимание, что данные регистратора и хостинг-провайдера тоже
отображаются в выводимых результатах утилиты whois. Сервис Whois также
часто доступен в виде веб-ресурсов.
Пять региональных интернет-регистраторов (Regional Internet Registries,
RIR) несут ответственность за распределение и регистрацию интернет-адресов.
Регистраторы приведены в табл. 1.1.
14
1.3.3. Получение данных из БД регистраторов

1.1. Региональные интернет-регистраторы
Акроним
регистратора
Название Адрес ресурса
ARIN American Registry for Internet Numbers www.arin.net
RIPE NCC Réseaux IP Européens www.ripe.net
ANIC Asia Pacific Network Information Centre www.apnic.net
AFRINIC African Network Information Centre www.afrinic.net
LACNIC Latin America & Caribbean Network Information
www.lacnic.net
Centre
Организация IANA назначает интернет-адреса для RIR огромными блоками размерами в миллионы адресов. Затем каждый RIR имеет право выделять
эти адреса на основе собственных политик. Иногда адреса распределяются непосредственно конечным пользователям, но обычно они выдаются локальным
интернет-регистраторам (LIR – Local Internet Registries), которые часто являются интернет-провайдерами. LIR в свою очередь выдают части своих адресов
клиентам. Виртуальные интернет-провайдеры (vISP) являются клие
крупных интернет-провайдеров: они покупают адреса и инфраструктуру у более крупных интернет-провайдеров и перепродают их более мелким компаниям. Корпорации, которым были назначены блоки IP-адресов, могут, конечно
(по крайней мере, технически), разделить блок и сделать с ним всё, что угодно,
в том чи
сле перепродать его кому-то другому.
Согласно политике IANA, каждый RIR и LIR должны предоставлять регистрационную информацию через службы Whois или RWhois. База данных
Whois должна содержать IP-адреса, номер автономной системы (AS), название
организации или имя клиента, которые связаны с этими ресурсами, и их контакты. Однако, хотя IANA делает всё возможное, чтобы поддерживать эти положения, многие из регистраторов не выполняют требования, в результате зачастую очень слож
но получить точную и актуальную информацию о распреде-
лении и присвоении IP-адресов.
Все сайты RIR предоставляют веб-интерфейс, с помощью которого можно запрашивать сведения из базы данных о зарегистрированном владельце интернет-ресурса. Теоретически RIR каждый в своём регионе несёт ответственность за о
тслеживание того, кто использует те или иные IP-адреса.
Рассмотрим пример с сайтом Google:
нтами более
ping google.com
PING google.com (216.58.207.238): 56 data bytes
64 bytes from 216.58.207.238: icmp_seq=0 ttl=52 time=3.235 ms
Мы можем использовать известный IP-адрес сайта Google, введя его в поле поиска на сайте ARIN (www.arin.net), получить точную информацию о блоке
адресов, в котором находится IP-адрес. Проверка показывает, что адрес действительно принадлежит компании Google (рис. 1.5).
15

Рис. 1.5. Результаты поиска IP-адреса на сайте ARIN
Из результатов, возвращаемых ARIN, теперь мы имеем точное представление о размере блока адресов (/19).
В некоторых, но не во всех реестрах RIR возможны рекурсивные запросы.
Это означает, что можно использовать название организации в поле поиска для
получения списка всех диапазонов сетей, назначенных организации (рис. 1.6).
Конечно, мы можем выполнять подобные запросы Whois, используя
стандартный клиен
т командной строки. К сожалению, записи, хранящиеся в
реестрах, не всегда очень точны и актуальны, и запросы Whois не будут иногда
возвращать какую-либо полезную информацию.
1.3.4. Задания
1. Используйте инструмент whois в Kali для определения контактных
данных, серверов имён, списка IP-адресов, принадлежащих целевой организации.
2. Используя БД регионального регистратора, определите диапазон
IP-адресов, принадлежащих целевой организации или LI
R.
16

Рис. 1.6. Результаты рекурсивного поиска на сайте ARIN
17

Как пишут сами авторы программы «Recon-ng» – многофункциональный
фреймворк для веб-разведки, написанный на языке Python. В комплекте с независимыми модулями, средствами взаимодействия с базами данных, встроенными функциями, интерактивной справкой и автоматическим завершением команд, Recon-ng – это мощная среда с открытым исходным кодом, с помощью
1.4. RECON-NG
которой можно быстро и детально провести веб-разведку. Recon-ng п
охож на
Metasploit Framework. Рассмотрим использование модуля whois_poc, чтобы
найти имена сотрудников и адреса электронной почты на сайте компании Do-
main:
root@kali:~# recon-ng
[recon-ng][default] > search whois
[*] Searching for 'whois'...
Recon
---- recon/companies-multi/whois_miner
recon/domains-contacts/whois_pocs
recon/netblocks-companies/whois_orgs
[recon-ng][default] > use recon/domains-contacts/whois_pocs
[recon-ng][default][whois_pocs] > show options
Name Current Value Required Description
------ ------------- -------- ---------- SOURCE default yes source of input (see 'show info' for
details)
[recon-ng][default][whois_pocs] > set SOURCE domain.com
SOURCE => domain.com
[recon-ng][default][whois_pocs] > run
--------DOMAIN.COM
--------[*] URL: http://whois.arin.net/rest/pocs;domain=domain.com
[*] URL: http://whois.arin.net/rest/poc/GAB42-ARIN
[*] Gary Abbott (gabbott@domain.com) - Whois contact (Concord, TN - United States)
[*] URL: http://whois.arin.net/rest/poc/SMA-ARIN
[*] Steve Acheson (satch@domain.com) - Whois contact (San Jose, CA United States)
[*] URL: http://whois.arin.net/rest/poc/ACKER5-ARIN
[*] Barry Ackerman (backerma@domain.com) - Whois contact (Milpitas, CA United States)
[*] URL: http://whois.arin.net/rest/poc/ADVAN5-ARIN
...
[recon-ng][default][whois_pocs] > show contacts
...
Мы также можем использовать модуль google_site для поиска дополни-
тельных поддоменов сайта domain.com с использованием поисковой системы
Google:
18

[recon-ng][default][whois_pocs] > search google
[*] Searching for 'google'...
Recon
---- recon/domains-hosts/google_site_api
recon/domains-hosts/google_site_web
[recon-ng][default][whois_pocs] > use recon/domains-hosts/google_site_web
[recon-ng][default][google_site_web] > show options
Name Current Value Required Description
------ ------------- -------- ---------- SOURCE default yes source of input (see 'show info' for
details)
[recon-ng][default][google_site_web] > set SOURCE domain.com
SOURCE => domain.com
[recon-ng][default][google_site_web] > run
--------DOMAIN.COM
--------[*] URL:
https://www.google.com/search?start=0&filter=0&q=site%3Adomain.com
[*] You've been temporarily banned by Google for violating the terms of
service.
[recon-ng][default][google_site_web] >
Обратите внимание, что многие из модулей в recon-ng нуждаются в ключах API сервисов. Инструкцию по добавлению API-ключей можно найти, например, по следующему адресу: https://raikia.com/recon-ng-api-key-creation/.
1.4.1. Задания
1. Используйте модуль whois_poc, чтобы собрать информацию о сотрудниках и почтовых адресах на сайте организации, которую вы выбрали в качестве целевой ранее.
2. Используйте модуль google_site_web, чтобы собрать информацию о
веб-серверах организации, которую вы выбрали в качестве целевой.
3. С помощью команды show modules получите список модулей утилиты
recon-ng.
4. Выберите любой модуль из группы Re
con и дайте ему краткое описание.
1.5. ПРОФИЛИРОВАНИЕ ПОЛЬЗОВАТЕЛЕЙ
На данном этапе нам известны способы проведения пассивной разведки
для сбора имён и биографической информации о пользователях тестируемого
объекта. Следующий шаг – использование этой информации для создания списков паролей, специфичных для пользователей и цели.
Списки часто используемых паролей доступны для скачивания и хранятся
локально в Kali в каталоге /usr/share/wordlists. Эти списки содержат большое
число по
пулярных имён пользователей и паролей, и использование таких сло-
варей для атаки методом перебора потребует много времени.
19

Существует утилита Common User Password Profiler (CUPP), которая позволяет тестеру генерировать словарь, специфичный для конкретного пользователя. Утилиту необходимо дополнительно загрузить для использования в Kali.
Чтобы получить CUPP, введите следующую команду:
root@kali:~# git clone https://github.com/Mebus/cupp.git
CUPP – это скрипт, написанный на языке Python, и его можно вызывать
следующей командой:
root@kali:~# cd cupp/
root@kali:~# python cupp.py -i
Команда запустит CUPP в интерактивном режиме, в котором предложит
пользователю ввести некоторую информацию о пользователе для создания словаря. Пример использования утилиты показан ниже:
root@kali:~# python cupp.py -i
[+] Insert the informations about the victim to make a dictionary
[+] If you don't know all the info, just hit enter when asked! ;)
> First Name: Elliot
> Surname: Alderson
> Nickname: fsociety
> Birthdate (DDMMYYYY): 17091986
> Partners) name:
> Partners) nickname:
> Partners) birthdate (DDMMYYYY):
> Child's name:
> Child's nickname:
> Child's birthdate (DDMMYYYY):
> Pet's name:
> Company name:
> Do you want to add some key words about the victim? Y/[N]:
> Do you want to add special chars at the end of words? Y/[N]:
> Do you want to add some random numbers at the end of words? Y/[N]:
> Leet mode? (i.e. leet = 1337) Y/[N]:
[+] Now making a dictionary...
[+] Sorting list and removing duplicates...
[+] Saving dictionary to elliot.txt, counting 1158 words.
[+] Now load your pistolero with elliot.txt and shoot! Good luck!
Когда утилита завершит создание словаря, он будет помещён в каталоге
утилиты CUPP.
root@kali:~/cupp# head elliot.txt
09171986
091786
0917986
091986
09198617
0919867
09198686
0919869
091986986
0971986
1.5.1. Задания
1. Используйте информацию о некотором сотруднике целевой организации,
чтобы сгенерировать словарь возможных паролей с помощью утилиты CUPP.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
