Перед тем, как начать изучать защиту от хакеров и шпионских программ, нужно предварительно изучить нападение. Как известно, хороший преступник может стать хорошим полицейским. Но, во всяком случае, полицейский должен знать хотя бы наиболее типичные уловки преступника. Чем мы и займемся. Но сначала замечание : для полного понимания Hacking и защиты от него нужно быть хорошо знакомым с темой сетей (Networking). Во-первых, хакеры хорошо эту тему знают и используют знания в своих целях и мы должны знать ее не намного хуже. Во-вторых, такое важное средство защиты как FireWall представляет из себя специализированный Router и поэтому пользование им требует хорошего знания сетей, в частности IP-адресации.
Для понимания способов атаки мы познакомимся с различными инструментами хакинга. Здесь не стоит цель превратить вас хакеров, но скорее показать, какие методы и средства могут использоваться в целях нападения и убедить вас в том, что ваша сеть недостаточно защищена. Вы должны научится думать не только с позиции обороны, но и с точки зрения нападения.
Изучением мы займемся в соответствии с моделью OSI (или TCP/IP).
На уровне L2 мы познакомимся с атаками, связанными с MAC и Switch.
На уровне L3 мы познакомимся с Routers и с атаками на них, включая IP scanning.
На уровне L3 мы познакомимся с атаками, основанными на TCP.
В конце – атаки на passwords, кража ключей шифрования и использование в аппликациях Bufer Overflow (если доберемся ).
Важно помнить следующее правило: только треть (20%-40%) попыток нападения приходят снаружи. Большая часть производится изнутри организации, т.е. ее работниками. Бывают разочарованные работники или уволенные. Последние наиболее опасны, т.к. они знают систему изнутри. Случаются также проблемы из-за незнания или из-за неосторожности.
Layer 1 – Physical
Медный кабель распространяет вокруг себя электромагнитное излучение (поле индукции). Возможно подсоединиться к кабелю и получить информацию. Оптические кабели не обладают этим недостатком. Сети Wireless особенно легко перехватить, поскольку они специально созданы для того, чтобы излучать радио-волны на относительно большие расстояния. В отличие от медных кабелей это не считается недостатком.
Основные понятия Wireless:
- MAC – физический адрес
- SSID (Service Set IDentifier) – имя сети
- WEP (Wired Equivalent Privacy) – WEBcrack, Airsnort
- WPA (Wi-Fi Protected Access) – создает ключи шифрования с высокой частотой
- AES (Advanced Encryption Standard) – новые NIC поддерживают стандарт 802.11i + AES
Sniffing в сети Wireless:
- Netstumbler – определяет AP (Access Point)
- Wildpacket Airopeek – находит станции в сети
- LANguard scanner for WLAN – сетевой сканнер
Правила защиты от Wireless Hacking:
1. Соблюдайте единый уровень стандартов.
2. Делайте периодический сниффинг, чтобы проверить, нет ли чего необычного.
3. Попытайтесь думать за хакера: выйдите из здания, при помощи Laptop и программы определите свою сеть и проверьте, можете ли вы сами себе навредить.
4. Измените дефолтные установки пароля, имени и SSID у Wireless Switch.
5. Запретите SSID broadcasting (Cain&Abel – wireless sniffer).
6. Нужно установить последние updates и patches.
7. Если SNMP не используется, отмените его.
Layer 2 – Data-Link
Основа Layer 2 – MAC и Switch.
Большая часть атак основана на изменении MAC-адреса с целью маскировки под другой host, а также на проникновении в Switch и изменении его настроек и конфигурации.
Новые беспроводные роутеры и свитчи позволяют любому пользователю подключаться к себе. Можно легко дать определение, каким MAC разрешено подключаться. Однако при помощи программ можно легко изменить MAC адрес хоста. Для этого сначала нужно перехватить фрейм, извлечь из него MAC адрес, затем при помощи программы изменить адрес своего Wireless NIC на MAC соседа (если вы упражняетесь на соседях ) – оп-ля – и вы гуляете по интернету за счет соседа (только не делайте это регулярно)! Обычно роутер приходит со встроенным IP 10.0.0.138, username Admin и с паролем Admin – проверьте!
2-й уровень занимается не кражей информации, а распознаванием информации заголовка.
MAC Spoofing – изменение (подделка) MAC адреса источника. Большинство программ защиты заботятся об адресе destination, а не об адресе source и о том, подлинный ли пользователь обращается к цели. Поэтому, изменив адрес источника, можно притвориться другим пользователем и получить услуги, предназначенные этому пользователю.
ARP cache poisoning – изменение таблицы ARP на другом компьютере, роутере или свитче. В результате, когда кто-то обращается к компьютеру X, он попадает на компьютер Y. Можно изменить собственный IP на чужой и сделать ping на целевой компьютер с измененного IP. Тогда цель подумает, что у известного IP изменился MAC адрес (хотя обычно бывает как-раз наоборот) и изменит таблицу ARP. Теперь, когда целевой компьютер захочет послать информацию на чужой компьютер (которым мы притворились) – эта информация попадет к нам! Ведь главное в LAN – это MAC, а целевой компьютер знает, что чей-то IP привязан к нашему MAC (в его ARP table) и обращается к нам по MAC. Затем можно послать в сеть broadcast. В поле IP source будет записан чужой IP, а в поле MAC source – мой MAC-адрес. Тогда все станции вместо чужого компьютера обратятся ко мне. Но как выяснить чужой IP, если он неизвестен ? Можно через Network Neiborhood. Тогда в таблице ARP появится IP чужого компьютера. Кто-то скажет – но у меня в сети Switches ! Да, но в случае с broadcasts свитч не знает, кто является целью (точнее, целью являются все) и пропустит broadcasts на все порты. Затем можно задействовать ping на все компьтытеры, чтобы они записали в ARP-таблицу новое соотношение IP-MAC. Это можно сделать при помощи скрипта или программы.
Следующий сценарий еще интереснее. Создаем компьютер с двумя IP (лучше с двумя NIC) и делаем из него Router. Делаем ping на Router и получаем его MAC (в таблице ARP). Затем посылаем broadcast в котором находится IP роутера в качестве источника (это spoofing) и наш реальный MAC. Теперь весь трафик в сторону интернета проходит на Router через нас.
(Рисунок)
Очевидно, один из наших NIC будет видеться всем в качестве DG (Default Gateway), а второй NIC будет подсоединен обычным способом к настоящему DG. Фактически, только этот NIC будет знать правду об истинном DG. Такой вид атаки называется Man-in-the-Middle (MITM).
Не забывайте – компьютеры обращаются к Router (наш компьютер в данном случае) с Destination IP конечного компьютера и с MAC-address роутера (DG). IP-адрес остается неизменным на протяжении всего маршрута, а MAC изменяется при переходе от сети к сети. Это важно и нужно это хорошо запомнить!
Такая программа как Cain&Abel позволяет отравлять (poizoning) ARP-cache, т.е. изменять правильные ARP entries на поддельные. ARP spoofing же способен перегрузить Switch, т.к. у последнего на каждом порту есть кэш в 1000-2000 адресов MAC. Если этот кэш переполняется, свитч начинает работать как обычный HUB, а такой режим удобен для хакера, который при помощи sniffer может прослушивать всю сеть без ограничений.
Атаки на Switch
Switches – естественная цель для нападения, т.к. через них подсоединяются все компьютеры, как между собой, так и к интернету. Для выполнения некоторых действий нам нужен manageable (управляемый) Switch. В таком свитче можно управлять каждым портом и объединять их в группы VLANs (logical subnets). Итак, способы атак на свитч:
- Изменение ражима работы Switch на режим HUB. Защита от этого: связать каждый порт с определенным MAC-портом (port security). Поскольку, однако, возможна подделка MAC (MAC spoofing), то этого может быть недостаточно. Тогда нужно использовать DHCP snooping – создание таблицы IP-Port-MAC. В таком случае хакеру будет недостаточно подделать только адрес MAC (или IP). Например, команда CISCO Switch(config)# ip arp inspection vlan 10 не даст осуществить ARP poisoning.
- Если есть физический доступ к свитчу, очень легко привести его в состояние, когда он разрешит вход при помощи кабеля Console в режим администрирования (enable mode в оборудовании Cisco). Вообще – против физического доступа нет защиты.
- Подсоединение станции с установленным сервером DHCP. DHCP snooping не позволит любому компьютеру стать DHCP сервером. Пример команд Cisco:
Switch(config)# ip dhcp snooping (запрет DHCP)
Switch(config)# ip dhcp snooping trust (разрешение DHCP)
- Port-mirroring – port monitoring на определенном порту или копирование информации проходящей через определенный порт на дополнительный порт. Пример команды Cisco:
Switch(config)# port monitoring fa0/9 (с порта fa0/9 трафик копируется на текущий порт).
- Подделка под Trunk. Trunk-порт проводит информацию всех VLANs между свитчами. Хакер получает возможность прослушивания всех портов.
Советы по защите от атак L2, особенно на Switch:
- Между свитчами стоит располагать роутеры или же использовать свитчи 3-го уровня.
- Нужно убедиться, что в свитче нет свободных портов, а если есть – их нужно выключить (выполнить команду shutdown). Тогда никто, имея Laptop/Notebook не сможет подсоединится к свободным портам свитча.
- Следите, нет ли трафика, содержащего Default Gateway IP, но с неправильным MAC. Используйте для этого sniffer. Если есть подозрение в неправильном роутинге, проверьте его при помощи tracert.
Layer 3 – Network
Этот слой относится в основном к адресам IP. Но существуют также ICMP, который используется в команде ping (ICMP echo request) и ARP – протокол для трансляции IP-to-MAC.
Посмотрим как делается IP spoofing – подделка IP-адреса, как изменять пароль у Router и как опасно передавать незащищенную информацию по сети clear text-ом.
После того, как пользователь прошел аутентификацию, хакер может воспользоваться этим и прийти “на готовенькое”. Существует множество программ для сканирования сети и портов: LANguard, Nmap, SuperScan, WebInspect, Wireshark (Ethereal), Nikto, Nessus, Internet Scanner…
Другой способ использования IP – атака DoS (Denial of Service). Эта атака не дает серверу обслуживать пользователей, например при помощи Ping of Death (POD, размер пакета 64 kb). При этом может произойти Buffer overflow, приводящий к system crash. Поскольку этот баг в последние годы ликвидирован, то сегодня для DoS атаки чаще используется ping flooding. Ping flooding затопляет жертву таким количеством ping-трафика, что он не дает нормальному трафику достичь серверной системы. Простой пример, команда :
ping –t –l
При этом посылается бесконечный ping с любым нужным размером пакета.
Можно сделать интересней: при помощи IP spoofing изменить свой адрес на адрес целевого компьютера и послать ping от его имени на третий компьютер. Третий компьютер ответит на ping целевому компьютеру. Можно, вообще, послать ping от имени целевого компьютера на broadcast address сети, тогда все компьютеры ответят жертве, а вы останетесь как бы и ни причем.
Layer 4 – Transport
TCP – connection-oriented протокол, используется в большей части сетевых коммуникаций, сообщениях DNS между собой. Используются подтверждения сообщений SYN/ACK.
UDP – connectionless протокол, применяется в TFTP, обращениях к DNS, streaming audio/video и т.д. Подтверждения сообщений не используются.
SYN-атака
- SYN flooding – обычно в коммуникациях TCP есть вопрос – SYN, ответ – SYN/ACK и возврат – ACK. Но что, если хакер не вернет ACK. В таком случае цель сохранит сессию в буфере. А что, если SYN будут посылаться постоянно и часто. Буфер переполнится и компьютер перестанет давать услуги. Сисадмин может опустить и снова поднять сервис, тогда буфер опустошится. Но это отключит пользователя и даст работу администратору (может последнее и хорошо , но это скорее даст работу другому администратору ).
- Steal SYN Scan – при этом хакер посылает SYN и ожидает ответа SYN/ACK, тогда он посылает RST от имени программы. Это обрывает сессию нежелательным для системы способом. Среди программ:
SolarWinds, который умеет делать Remote TCP Session Reset,
Komodia StealthTCPScanner.
Команда Netstat –N –P показывает TCP connections на уровне Socket (IP:port).
Как можно удаленно получить информацию? Первым делом хакер изучает систему и собирает информацию. Это может продолжаться дни и недели. Какие серверы и сервисы существуют в организации, какие версии Service Pack и т.д. установлены и т.д. Для этого используется сканирование портов. Например, если работает и доступен порт 80, значит существует WEB-server, а значит можно использовать соответствующий Exploit. Чтобы port scan не был раскрыт, хакер будет делать его с разных компьютеров.
Инструменты хакера: Nessus, LANguard, netcat, superscan, Nmap и т.д. Они занимаются определением сервисов.
- Nmap – определяет действующие станции. Nmap –sP –sS – Stealth Port Scan против IDS. Благодаря RST не остаются открытые сессии и IDS не забьет тревогу.
- Superscan – port scan с GUI.
- Nmapwin – стоит с ним проверить работу FW и IDS.
- Get-if, SolarWinds – port 161=SNMP
- Telnet – удаленное управление компьютером на уровне командной строки.
Пример чтения писем:
telnet
open localhost 110
user …..
pass …..
list (список писем)
retr 2 (для чтения второго письма)
После этого копируем информацию в Notepad, сохраняем с расширением HTM и читаем на здоровье !
- Netcat – сбор информации при помощи remote control.
- Nessus, LANguard – осуществляют различные действия
- Sniffers – как известно, могут отслеживать информацию на уровне отдельных фреймов и пакетов.
Layer 5-7 – Application
Password cracking, атаки на серверы, кража информации, Viruses , Spyware, Trojans.
Многие пароли шифруются хэширующимим алгоритмами (hashing algorithm) – шифрование без возможности расшифровки , так называемое one-way шифрование. При этом часто используются алгоритмы DES и MD5.
Программы: LC5 - password cracking, NAT (Netbois Auditing Tool) – cracking через сеть, John the Ripper, pwdumps – локальный cracking.
Программа NAT использует слабости протокола SMB. Пример команды:
Nat –u userlist.txt –p passlist.txt
В windows пароли хранятся в SAM в файле ntds.dit, местоположение которого:
X:\Windows\system32\config\
В сетях доменов Active Directory пароли хранятся в файле ntds.dit, местоположение которого: X:\Windows\NTDS\
Защитнику сетей полезно знать некоторые широко известные порты:
TCP 20/21 FTP
TCP 23 Telnet
TCP 25 SMTP
TCP/UDP 53 DNS
TCP 80 HTTP
TCP 110 POP3
TCP/UDP 135 RPC
TCP/UDP 137-139 NetBIOS over TCP/IP
TCP/UDP 161 SNMP
TCP 443 HTTPs
TCP 3389 RDP (Windows Terminal)
Советы и рекомендации по защите на 7-м уровне OSI
1. Между отделами ставьте роутеры, Позаботьтесь о permissions по отношению к Wireless (скрытый SSID, шифрование WPA, доступ по определенным MAC), запретите модемы – они открывают back doors в организацию.
2. Network Monitoring должен всегда работать. Нужно быть внимательным к необычным действиям:
- Множественные ping
- Множественные SYN или ARP
- Множественные обращения к DNS или WEB
3. Permissions. Кроме программистов не разрешайте никому устанавливать программы. Некоторые сисадмины используют трюк двойного Logon – локальный админ + ограниченный domain user. Однако, если установлена шпионская программа, это все еще опасно.
4. Пользуйтесь sniffer, чтобы обнаруживать port/service scanning, attacks, DoS или любые нелогичные (с вашей точки зрения) действия.
5. Не разрешайте без необходимости работу с Disk-on-Key, FDD, CD/DVD, внешними дисками (USB-HDD, eSATA). CD, например, дает возможность перезагрузки и входа в систему, обнуления пароля администратора, кражи файлов через сеть или на внешие диски, пример: ERD Commander. Начиная с VISTA, защитой может являться система BitLocker. Она предохраняет компьютеры и диски от взлома после кражи и она лучше, чем EFS.
6. Все это имеет смысл при наличии защиты от физического доступа к компьютерам, роутерам, свитчам и др. оборудованию (совет уровня Layer 1).
Способы OS Hacking
- TCP port scanning – Superscan
- UDP scanning – Nmap
Nmap <> -0
- SMB/CIFS – Netbios порты 137-139. Добавочные порт - 445 для SMB over TCP/IP.
- Показ сервисов компьютера: Nbtstat –A
<00> UNIQUE – computer name
<00> GROUP – workgroup name
<03> UNIQUE – user name
- Share scanning - Legion, Superscan, LANguard
- User/Group list – dumpsec
- ERD Commander 2005 – обнуление admin password, делает system restore в winXP, работает на любом железе (SATA, SCSI, RAID, NIC), подсоединяется к сети.
Советы по защите OS и Server Hardening
1. Не давайте доступ к серверам по сети и физически без достаточных оснований.
2. Не используйте ненадежные файловые системы: FAT, FAT32.
3. Важно, что происходит после перезагрузки компьютера вследствие прекращения подачи электроэнергии. Это момент слабости OS.
4. Не устанавливайте на DC аппликации и не только третьих фирм, но и такие, как IIS, Terminal Services и т.д. Закройте ненужные сервисы: Run As, ICS, DHCP client, Telnet..
5. Запирайте экран компьютера при помощи screen saver с паролем или при помощи lock (Winkey + L).
6. Переименуйте аккаунт admin и создайте admin без прав, но с сильным паролем для соблазнения хакера на бесполезный труд.
7. Оставьте аккаунт Guest в состоянии Disabled.
8. Не разрешайте Logon locally
Security Settings – Local Policies – User Rights Assigments – Allow logon locally (make disable)
9. Удалите право “Access this computer from network” из группы Everyone.
10. В серверах 2000/2003 применяйте групповую политику:
Local Security Settings - Security Settings – Local Policies – Security Options,
в окне справа: Additional Restrictions for anonymous connections: “Do not allow enumeration of SAM accounts and shares”.
11. Не устанавливайте ненужные протоколы, например NetBIOS. Если нельзя отменить NetBIOS полностью, перекройте его на Firewall по портам 139, 445.
12. Установка Service:
Аккаунт должен быть не domain user, а local account.
13. Для отслеживания Spyware программ можно воспользоваться встроенным инструментом Windows netstat –an.
14. Устанавливайте последние обновления и Service Packs. OS должна быть “full patched”. Для этого можно использовать MS WSUS.
15. Используйте “Security Configuration Wizard”, который существует, начиная с Server 2003 SP1. Его можно установить при помощи:
Add/Remove Programs – Add/Remove Windows Components.
16. Все это имеет смысл при при наличии сильной системы парольной защиты.
Для хакеров очень полезен сайт http://www.metasploit.com/
Нужно зайти на него, скачать Framework и установить.
Затем в Start-Programs найти Metasploit Framework и запустить MSFWEB.
После этого в IE вписать адрес http://127.0.0.1:55555 - и пользуйтесь !
Существует также сайт, который дает интересную и полезную информацию о других сайтах:
http://www.uptime.netcraft.com/
У Microsoft существует своя модель под названием STRIDE для классификации угроз компьютерной безопасности. Она обеспечивает мнемонику для угроз в шести категориях:
• Spoofing of user identity
• Tampering
• Repudiation
• Information disclosure (privacy breach or Data Leak)
• Denial of Service (D.o.S.)
• Elevation of privilege
Комментариев нет:
Отправить комментарий