- •Благодарности
- •Список использованных сокращений
- •От издательства
- •Введение
- •Глава 1. Начало
- •Как провести аудит законно?
- •Методология взлома
- •Резюме
- •Глава 2. Получение информации из открытых источников
- •Введение
- •Что искать?
- •Использование Google для сбора информации
- •Ограничение поиска одним сайтом
- •Поиск файлов определенного типа
- •Поиск определенных частей сайта
- •Google Hacking
- •Поиск информации о людях
- •Архивные данные
- •Netcraft
- •Получение информации о домене
- •Автоматизация процесса
- •FOCA
- •Сбор базы данных адресов e-mail
- •recon-ng
- •Упорядочить информацию
- •Резюме
- •Глава 3. Получение информации от сетевых сервисов
- •Введение
- •Сканирование портов
- •Определение активных хостов
- •UDP-сканирование
- •NMAP
- •Получение информации от DNS-сервера
- •Типы записей
- •Взаимодействие с DNS-сервером
- •MX-записи
- •NS-запросы
- •Перебор имен
- •Перебор обратных записей
- •Передача зоны DNS
- •Получение информации с использованием SNMP
- •Получение информации с использованием NetBIOS
- •Null session
- •Работа с электронной почтой
- •Анализ баннеров
- •Получение информации от NTP-сервера
- •Поиск уязвимостей
- •Резюме
- •Глава 4. Атаки на веб-приложения
- •Знакомство с сookie
- •Межсайтовый скриптинг (XSS)
- •Включение локальных или удаленных файлов
- •SQL-инъекции
- •Резюме
- •Глава 5. Социальная инженерия
- •На кого обратить внимание?
- •Фазы атаки
- •Манипулирование людьми
- •Типы атак
- •Social-Engineer Toolkit
- •Резюме
- •Глава 6. Получаем пароли
- •Основные методы
- •Работа со списками паролей
- •Онлайн-атаки
- •Радужные таблицы
- •Резюме
- •Глава 7. Беспроводные сети
- •Краткий обзор Wi-Fi
- •Bluetooth
- •Резюме
- •Глава 8. Перехват информации
- •Пассивный перехват трафика
- •Активный перехват
- •Резюме
- •Глава 9. Обход систем безопасности
- •Системы обнаружения атак
- •Брандмауэры
- •Приманки
- •Резюме
- •Глава 10. Вредоносные программы
- •Вирусы
- •Черви
- •Шпионы
- •Рекламное ПО
- •Троянские кони
- •Практическая часть
- •Резюме
- •Глава 11. Metasploit Framework
- •Интерфейс
- •Вспомогательные модули
- •Полезная нагрузка
- •Практические навыки
- •Резюме
- •Глава 12. Передача файлов
- •TFTP
- •Загрузка файлов с использованием скриптов
- •Резюме
- •Глава 13. Превышение привилегий
- •Локальное повышение прав в Linux
- •Локальное повышение прав в Windows
- •Повышение привилегий в случае некорректной конфигурации прав доступа
- •Резюме
- •Глава 14. Перенаправление портов и туннелирование
- •Перенаправление портов
- •SSH-туннелирование
- •proxychains
- •Резюме
- •Глава 15. Переполнение буфера
- •Атаки, направленные на переполнение буфера
- •Введение
- •Что такое переполнение буфера?
- •Программы, библиотеки и бинарные файлы
- •Угрозы
- •Основы компьютерной архитектуры
- •Организация памяти
- •Разбиение стека (Smashing the stack)
- •Перезапись указателя фрейма
- •Атака возврата в библиотеку
- •Переполнение динамической области памяти
- •Пример нахождения уязвимости переполнения буфера
- •Резюме
- •Глава 16. Собирая все воедино
- •Стандарт выполнения тестов на проникновение
- •Подготовительная фаза
- •Договор о проведении работ
- •Получение разрешения
- •Сбор данных
- •Анализ уязвимостей
- •Моделирование
- •Эксплуатация уязвимостей
- •Постэксплуатационный этап
- •Отчет
- •Зачистка
- •Введение
- •Глава 17. Личный пример
- •Глава 18. Бумажная работа
- •Политика безопасности
- •Стандарты
- •Процедуры
- •Инструкции
- •Техническая документация
- •Глава 19. Обучение и тренировки
- •Тренировки
- •Глава 20. Защита от утечки информации
- •Глава 21. Брандмауэры
- •Глава 22. Системы обнаружения вторжения (IDS)
- •Глава 23. Виртуальные защищенные сети (VPN)
- •Компоненты виртуальной частной сети
- •Безопасность VPN
- •Создание VPN из компонентов с открытым исходным кодом
- •Заключение
54 Глава 3 • Получение информации от сетевых сервисов
Далее мы рассмотрим несколько интересных примеров того, как, используя SNMP, можно получить информацию о целевой системе.
Используя утилиту snmpwalk, которая работает как под OC Linux, так и под Windows, можно получить всю информацию о системе или хотя бы ее часть.
Получим всю доступную информацию:
root@kali:~# snmpwalk -v2c -c public localhost
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-122.el6.x86_64 #1 SMP Wed Sep 9 23:54:34 EST 2016 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (99554) 0:16:35.54 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp. local.conf)
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
Вданном случае мы запросили всю доступную информацию о целевой машине.
Впараметрах указан домен public и версия протокола — 2.
Теперь получим список пользователей одного из ранее найденных хостов:
root@kali:~# snmpwalk -c public 192.168.1.201 .1.3.6.1.4.1.77.1.2.25
enterprises.77.1.2.25.1.1.101.115.115 = "JACK" enterprises.77.1.2.25.1.1.65.82.84.77.65.78 = "SOLIE" enterprises.77.1.2.25.1.1.65.82.84.77.65.78 = "IVASHCEK" enterprises.77.1.2.25.1.1.114.97.116.111.114 = "Administrator" enterprises.77.1.2.25.1.1.116.85.115.101.114 = "TsInternetUser" enterprises.77.1.2.25.1.1.118.105.99.101.115 = "NetShowServices"
Существует множество SNMP-параметров, которые может запросить пользователь. Ниже мы приведем некоторые из них:
1.3.6.1.2.1.25.4.2.1.2 |
Запущенные программы |
|
|
1.3.6.1.2.1.6.13.1.3 |
TCP порты |
|
|
1.3.6.1.2.1.25.6.3.1.2 |
Установленное ПО |
|
|
1.3.6.1.2.1.25.2.3.1.4 |
Хранилища данных |
|
|
Получение информации с использованием NetBIOS
NetBIOS — протокол, который был разработан компанией IBM для работы в локальных сетях. Начиная с Windows XP SP2 и Windows Server 2003 он был переработан компанией Microsoft и стал более безопасным. Однако более старые версии Windows, a также сервис Samba, который работает под управлением Linux, все еще имеют ряд серьезных уязвимостей.
Получение информации с использованием NetBIOS 55
Для начала найдем хосты, которые поддерживают нужный протокол:
root@kali:~# nmap –v –p 139,445 192.168.1.0-254
Starting Nmap 7.30 ( https://nmap.org ) at 2016-10-15 15:39 FLE Daylight TimeInitiating ARP Ping Scan at 15:39Scanning 255 hosts [1 port/host]Completed ARP Ping Scan at 15:39, 1.24s elapsed (255 total hosts)Initiating Parallel DNS
resolution of 255 hosts. at 15:39Completed Parallel DNS resolution of 255 hosts. at 15:39, 0.02s elapsedNmap scan report for 192.168.1.0 [host down]Nmap scan report for 192.168.1.1 [host down]Nmap scan report for 192.168.1.2 [host down]...
Nmap scan report for 192.168.1.158 [host down]
Nmap scan report for 192.168.1.160 [host down]Nmap scan report for 192.168.1.161 [host down]Nmap scan report for 192.168.1.163 [host down]Initiating SYN Stealth Scan at 15:39Scanning 89 hosts [2 ports/host]Discovered open port 139/tcp on 192.168.1.19Discovered open port 139/tcp on 192.168.1.7Discovered open port 139/ tcp on 192.168.1.58Discovered open port 139/tcp on 192.168.1.61Discovered open port 139/tcp on 192.168.1.67Discovered open port 139/tcp on 192.168.1.69Discovered open port 139/tcp on 192.168.1.73Discovered open port 139/tcp on 192.168.1.87Discovered open port 139/tcp on 192.168.1.90Discovered open port 139/tcp on 192.168.1.89...
Discovered open port 139/tcp on 192.168.1.92Discovered open port 139/tcp on 192.168.1.99Discovered open port 139/tcp on 192.168.1.95Discovered open port 139/tcp on 192.168.1.101Discovered open port 139/tcp on 192.168.1.100Discovered open port 139/tcp on 192.168.1.102Discovered open port 139/tcp on 192.168.1.103Discovered open port 139/tcp on 192.168.1.107
Completed SYN Stealth Scan at 15:48, 1.34s elapsed (178 total ports)Nmap scan report for zn28684.myorg.net (192.168.1.5)Host is up (0.0020s latency).
PORT STATE SERVICE139/tcp open netbios-ssn445/tcp filtered microsoftdsMAC Address: 1C:B9:03:AF:6A:F1 (Hewlett Packard)Nmap scan report for zn28337.
myorg.net (192.168.1.7)Host is |
up (0.0020s latency).PORT |
STATE SERVICE139/tcp |
open netbios-ssn445/tcp open |
microsoft-dsMAC Address: 62:51:0D:53:3A:2D (Hewlett |
Packard)...
Nmap scan report for zn14591.myorg.net (192.168.1.19)Host is up (0.0020s latency).
PORT |
STATE SERVICE139/tcp open netbios-ssn445/tcp open microsoft-dsMAC |
|
Address: D1:85:62:B8:03:B6 (Hewlett Packard) |
|
|
Nmap scan report for 192.168.1.23Host is up (0.0020s latency).PORT |
STATE |
SERVICE139/tcp closed netbios-ssn445/tcp closed microsoft-dsMAC Address: 1C:02:54:25:A7:D5 (Apple)Nmap scan report for b-m01-6.myorg.net (192.168.1.32)Host is up (0.0038s latency).PORT STATE SERVICE139/tcp closed netbios-ssn445/tcp closed microsoft-dsMAC Address: 00:1C:70:F0:3B:1E (Cisco Systems)Nmap scan report
for b-m01-1.myorg.net |
(192.168.1.34)Host |
is up (0.0038s latency).PORT |
STATE |
SERVICE139/tcp closed |
netbios-ssn445/tcp |
closed microsoft-ds |
|
MAC Address: 0C:12:70:FA:49:E0 (Cisco Systems)Nmap scan report for b-m01-3.myorg. net (192.168.1.35)Host is up (0.0038s latency).PORT STATE SERVICE139/tcp closed netbios-ssn445/tcp closed microsoft-dsMAC Address: 0D:1D:D0:FA:3C:72 (Cisco Systems)
nbtscan — утилита, которая поддерживается ОС Windows и Linux, она работает из командной строки. С помощью нее можно просмотреть список доменов и входящих в состав каждого домена компьютеров, а также получить другую информацию.
root@kali:~# nbtscan -r |
192.168.126.0/24 |
|
|
Doing NBT name scan for |
addresses from 192.168.126.0/24 |
||
IP address |
NetBIOS |
Name Server User |
MAC address |
--------------------------------------------------------------
192.168.126.0 Sendto failed: Permission denied
56 Глава 3 |
• Получение информации от сетевых сервисов |
|
192.168.126.129 |
<unknown> |
<unknown> |
192.168.126.171 ORG\ZL25424 <server> SHARON |
a0:1d:48:12:9d:36 |
|
192.168.126.172 ORG\ZL15917 <server> RINGO |
64:31:50:a1:f5:57 |
|
... |
|
|
192.168.126.174 ORG\ZL16500 <server> RAIMOND |
90:b1:1c:6b:5b:c4 |
Null session
Null session — это неавторизированная NetBIOS-сессия между двумя компьютерами. Она применяется для получения информации о серверах Windows и ресурсах общего пользования. Если в сети разрешено устанавливать сеансы такого типа, то они позволят нам получить огромное количество информации, такой как политики паролей, имена пользователей и названия групп, имена компьютеров и т. д.
Попробуем получить список ресурсов, предоставляемых одной из машин:
C:\Users\test>net view \\AURUM Shared resources at \\AURUM
Share name Type Used as Comment
-------------------------------------
Mobile |
Disk |
Public access |
Test |
Disk |
|
The command completed successfully.
А теперь получим список учетных записей на удаленной машине:
C:\Users\test>nbtstat -A 192.168.10.56
Local Area Connection:
Node IpAddress: [192.168.10.56] Scope Id: []
NetBIOS Remote Machine Name Table |
|
||
Name |
|
Type |
Status |
--------------------------------------------- |
|||
AURUM |
<00> |
UNIQUE |
Registered |
LINDA |
<00> |
GROUP |
Registered |
SILVIJA |
<20> |
UNIQUE |
Registered |
MAC Address = 00-E6-43-21-DE-1D
В случае, если вы являетесь Linux-пользователем, самым простым способом для получения полной информации, предоставляемой SNMP-агентом, будет использование утилиты enum4linux. Данная утилита позволяет получить всю возможную информацию о системах под управлением ОС Windows и Linux и серверах с установленным сервисом Samba.
Теперь продемонстрируем работу этой программы и посмотрим, какие данные нам удалось собрать:
root@kali:~# enum4linux.pl 192.168.126.171 Starting enum4linux v0.8.9
==========================
| Target Information |
|
Получение информации с использованием NetBIOS 57 |
========================== |
|
Target ........... |
192.168.126.171 |
RID Range ........ |
500-550,1000-1050 |
Username ......... |
'' |
Password ......... |
'' |
Known Usernames .. |
administrator, guest, sharon, none |
====================================================== |
|
||||||
| |
Enumerating MYDOMAIN/Domain on 192.168.126.171 |
| |
|||||
====================================================== |
|
||||||
[+] Got domain/MYDOMAIN name: MYORG |
|
|
|
|
|||
============================================== |
|
|
|||||
| |
Nbtstat Information for 192.168.126.171 |
| |
|
||||
============================================== |
|
|
|||||
Looking up status of 192.168.126.171 |
|
|
|
|
|||
WINSRV |
<00> — |
M <ACTIVE> |
Workstation Service |
||||
WINS |
|
<03> — |
M <ACTIVE> |
Messenger Service |
|||
ADMINISTRATOR <03> — |
M <ACTIVE> |
Messenger Service |
|||||
MYDOMAIN <00> — <GROUP> M <ACTIVE> |
Domain/MYDOMAIN Name |
||||||
MYDOMAIN <1e> — <GROUP> M <ACTIVE> |
Browser Service Elections |
||||||
WINSRV |
<20> — |
M <ACTIVE> |
File Server Service |
|
|||
MAC Address = 00-D0-C3-AD-11-65 |
|
|
|
|
|||
======================================= |
|
|
|
||||
| |
Session Check on 192.168.126.171 |
|
| |
|
|
||
======================================= |
|
|
|
[+] Server 192.168. |
126.171 allows sessions using username '', password '' |
|
|
============================================= |
|
| |
Getting domain |
SID for 192.168.126.171 | |
|
============================================= |
|
Domain Name: MYORG |
|
|
Domain Sid: (NULL SID) |
||
[+] Can't determine |
if host is part of domain or part of a workgroup |
========================================
| OS information on 192.168.126.171 |
========================================
[+]Got OS info for 192.168.126.171 from smbclient: Domain=[MYDOMAIN] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
[+]Got OS info for 192.168.126.171 from srvinfo: 192.168.126.171 Wk Sv Sql NT SNT BMB
|
platform_id |
: |
500 |
|
|
|
|
||
|
os |
version |
: |
5.0 |
|
|
|
|
|
|
server |
type |
: |
0x29007 |
|
|
|
|
|
|
=============================== |
|
|
|
|
||||
| |
Users |
on 192.168.126.171 |
| |
|
|
|
|||
|
=============================== |
|
|
|
|
||||
index: |
0x1 |
RID: 0x3ef acb: 0x00000010 Account: admin |
Name: (null) |
Desc: |
|||||
(null) |
|
|
|
|
|
|
|
|
|
index: |
0x2 |
RID: 0x1f4 acb: 0x00000210 Account: Administrator |
Name: (null) |
Desc: Built-in account for administering the computer/domain
58 Глава 3 • Получение информации от сетевых сервисов
index: 0x6 RID: 0x1f5 acb: |
0x00000215 Account: Guest |
Name: (null) |
Desc: |
Built-in account for guest |
access to the computer/domain |
|
|
user:[admin] rid:[0x3ef] user:[Administrator] rid:[0x1f4] user:[Guest] rid:[0x1f5]
===========================================
| Share Enumeration on 192.168.126.171 |
===========================================
Domain=[MYORG] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] Domain=[MYORG] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
Sharename |
Type |
Comment |
|
--------- |
---- |
------- |
|
IPC$ |
IPC |
Remote |
IPC |
ADMIN$ |
Disk |
Remote |
Admin |
C$ |
Disk |
Default share |
session request to 192.168.126.171 failed (Called name not present) session request to 192 failed (Called name not present)
[+] Attempting to map shares on 192.168.126.171 //192.168.1.20/IPC$ Mapping: OK Listing: DENIED //192.168.1.20/ADMIN$ Mapping: DENIED, Listing: N/A //192.168.1.20/C$ Mapping: DENIED, Listing: N/A
======================================================
| Password Policy Information for 192.168.126.171 |
======================================================
[+]Attaching to 192.168.1.20 using a NULL share
[+]Trying protocol 445/SMB...
[+]Found domain(s):
[+]WINSRV
[+]Builtin
[+]Password Info for Domain: WINSRV
[+]Minimum password length: None
[+]Password history length: None
[+]Maximum password age: 30 days 00 hours 00 minutes
[+]Password Complexity Flags: 000000
[+]Domain Refuse Password Change: 0
[+]Domain Password Store Cleartext: 0
[+]Domain Password Lockout Admins: 0
[+]Domain Password No Clear Change: 0
[+]Domain Password No Anon Change: 0
[+]Domain Password Complex: 0
[+]Minimum password age: None
[+]Reset Account Lockout Counter: 30 minutes
Получение информации с использованием NetBIOS 59
[+]Locked Account Duration: 30 minutes
[+]Account Lockout Threshold: None
[+]Forced Log off Time: Not Set
[+]Retieved partial password policy with rpcclient:
Password Complexity: Disabled
Minimum Password Length: 0
================================
| Groups on 192.168.126.171 |
================================
[+]Getting builtin groups: group:[Administrators] rid:[0x220] group:[Guests] rid:[0x222]
[+]Getting builtin group memberships:
Group 'Guests' (RID: 546) has member: WINSRV\Guest
Group 'Users' (RID: 545) has member: NT AUTHORITY\INTERACTIVE
Group 'Users' (RID: 545) has member: NT AUTHORITY\Authenticated Users Group 'Users' (RID: 545) has member: WINSRV\admin
Group 'Administrators' (RID: 544) has member: WINSRV\Administrator
[+]Getting local groups:
[+]Getting local group memberships:
[+]Getting domain groups: group:[None] rid:[0x201]
[+]Getting domain group memberships:
Group 'None' (RID: 513) has member: WINSRV\Administrator
Group 'None' (RID: 513) has member: WINSRV\Guest
Group 'None' (RID: 513) has member: WINSRV\admin
============================================================== |
|
|Users on 192.168.126.171 via RID cycling (RIDS: 500-550,1000-1050) |
| ========== |
==================================================== |
|
[I] Found new SID: S-1-5-21-1606980848-73586283-839522115 |
|
[I] Found new SID: S-1-5-32
[+] Enumerating users using SID S-1-5-21-1606980848-73586283-839522115 and logon username '', password ''
S-1-5-21-1606980848-73586283-839522115-500 WINSRV\Administrator (Local User) S-1-5-21-1606980848-73586283-839522115-501 WINSRV\Guest (Local User)
...
S-1-5-21-1606980848-73586283-839522115-512 *unknown*\*unknown* (8) S-1-5-21-1606980848-73586283-839522115-513 WINSRV\None (Domain Group)
Итак, мы смогли получить очень много интересной информации — имена пользователей, версии установленного ПО, список сетевых дисков и даже политики безопасности. На наш взгляд, вся полученная информация является критичной и в разы упрощает задачу злоумышленнику при взломе системы.