· 8 years ago · Dec 04, 2017, 01:10 PM
11. ИнкапульÑÐ°Ñ†Ð¸Ñ Ñто - включение ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð²Ñ‹ÑˆÐµÑтоÑщего ÑƒÑ€Ð¾Ð²Ð½Ñ Ð² Ñообщение нижеÑтоÑщего уровнÑ, Ñоообщение ÑоÑтоит из заголовков и данных.
2 1.1 Ðа Канальном ÑƒÑ€Ð¾Ð²Ð½Ñ Ethernet ÑоÑтоит из заголовка (MAC отправителÑ, MAC Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ÐµÐ»Ñ Ð¸ код протокола Сетевого уровнÑ) и данных.
3 заголовок на примере DNS протокола : MAC Src , MAC Des, код IPv4 (0x0800).
4 заголовок на примере DHCP протокола : MAC Src , MAC Des, код IPv4 (0x0800).
5
6 1.2 Ðа Сетевом уровне ÑоÑтоит из заголовка (IP отправителÑ, IP получателÑ, протокол) и данных.
7 заголовок на примере DNS протокола : IP Src , IP Des , протокол UDP.
8 заголовок на примере DHCP протокола : IP Src , IP Des , протокол UDP.
9
10 1.3 Ðа ТранÑпортном уровне ÑоÑтоит из заголовка ( порт отправителÑ, порт получателÑ) и данных.
11 заголовок на примере DNS протокола : Port Src=53 , Port Des=рандомный например 55918.
12 заголовок на примере DHCP протокола : Port Src=68, Port Des=67 .
13
14 1.4 Ðа Прикладном уровне ÑоÑтоит из заголовка операции которую выполнÑет и дополнительных полей.
15 на примере DNS протокола : Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° наличие запиÑи об запрашиваемом домене (например yandex.ru), в ответ получаем IP запрашиваемого домена.
16 на примере DHCP протокола : 1 Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»Ñем броудкаÑтом на наличие DHCP Ñервера, в ответ получаем юникаÑтом выделÑемый нам IP, 2 Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»Ñем броудкаÑтом Ñ Ñ‚ÐµÐ¼ что мы ÑоглаÑны на приÑвоение данного IP, в ответ получаем юникаÑтом подтверждение на приÑвоение данного IP.
17
182. Ðа примере http реÑурÑа (http://krsk-sbit.ru/), браузером было открыто 6 Ñоединений Ñ Ð¿Ð¾Ñ€Ñ‚Ð°Ð¼Ð¸ (35978,35980,35982,35984,35988,35990), ÑовмеÑтно Ñ Ð½Ð¸Ð¼Ð¸ работало Ñтолько же TCP Ñоединений Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ данных и отправки флагов {(SYN) (ACK)} вÑе они ÑоединÑлиÑÑŒ Ñ 80 портом данного реÑурÑа. Почему было открыто именно Ñтолько Ñоединений, Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти загрузки Ñтраницы. ПоÑле загрузки Ñтраницы Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ иÑходÑщего порта было поÑлано (ACK) на 80 порт реÑурÑа. ПоÑле чего в ответ было полученно (ACK) от данного реÑурÑа Ñ 80 порта на каждый иÑходÑщий порт. Wireshark отÑлеживал запроÑÑ‹ и ответы учитываÑ, что данные разбиваютÑÑ Ð½Ð° Ñегменты.
19
203. Принцип загрузки http Ñтраницы опиÑан во п.2.
21 Принцип авторизации на http реÑурÑе:
22 2.1 Клиент выполнил Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñерверу по HTTP 'POST /login HTTP/1.1'. При Ñтом в формах предназначенных Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸Ð½Ð° и Ð¿Ð°Ñ€Ð¾Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð» введенные данные в открытом виде. Сервер обработав наш Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²Ñ‹Ð´Ð°Ð» 'HTTP/1.1 200 OK'. Выдав нам при Ñтом html код Ñтраницы.
23 ** Данный протокол опаÑен тем, что в Ñлучае перехвата данного трафика или Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ дампа. Злоумышленник может ими воÑпользоватьÑÑ Ð¸Ð¼ÐµÑ Ð´Ð»Ñ Ñтого вÑе необходимое. ÐÐ´Ñ€ÐµÑ Ñ€ÐµÑурÑа, логин и пароль. Ртак же данные их владельца ip Ð°Ð´Ñ€ÐµÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ об ОС и браузере Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ производилаÑÑŒ работа Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ реÑурÑом.
24
254. При работе Ñ FTP реÑурÑом было замечено Ñледующее. За веÑÑŒ период оÑущеÑтвлÑÑŽÑ‚ÑÑ Ñоединение (TCP,FTP и FTP-DATA). TCP Ñоединение иÑпользуетÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ флагов {(SYN) (SYN, ACK) (ACK) (FIN, ACK)}. FTP Ñоединение отправлÑет команды Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ дейÑтвий Ñ FTP Ñервером. FTP-DATA Ñоединение иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ файлов.
26
27 Ð¥Ñ€Ð¾Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ñоединений:
28
29 1. УÑтанавливаетÑÑ FTP Ñоединение Ñ Ñ€Ð°Ð½Ð´Ð¾Ð¼Ð½Ð¾Ð³Ð¾ порта клиента на 21 порт Ñервера Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ FTP команд на Ñервере(одновременно Ñ
30 Ñтим уÑтанавливаетÑÑ Ð¸ TCP Ñоединение Ñ Ñ€Ð°Ð½Ð´Ð¾Ð¼Ð½Ð¾Ð³Ð¾ порта на 21 порт Ñервера Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ флагов {(SYN) (SYN, ACK) (ACK) (FIN, ACK)}.
31 2. Клиент по FTP отправлÑет команду 'CWD' /. Ð’ ответ получает '250 Directory successfuly changed'.
32 3. Клиент по FTP отправлÑет 'PASV'. Ð’ ответ получает 'Entering Passive Mode'.
33 4. Клиент по FTP отправлÑет 'LIST -a'. Ð’ ответ получает приветÑтвие от Ñервера, указанное в конфиге ftp Ñервера опцией ftpd_banner.
34 5. Сервер по FTP отправлÑет '250 Here comes the directory listing'. Ð’ ответ клиент отправлÑет команду 'USER' и логин под которым
35 пытаетÑÑ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒÑÑ.
36 6. С управлÑющего порта TCP ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñервера на другой рандомный порт клиента по FTP-DATA вывод файловой ÑиÑтемы корневого каталога ftp Ñервера Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ прав доÑтупа.
37 7. Сервер по FTP отправлÑет 'Please specify password'. Ð’ ответ клиент отправлÑет команду 'PASS' и пароль данного пользователÑ.
38 8. Сервер по FTP отправлÑет 'Close data conection. Directory send OK' Ñледом отправлÑет 'Login successful'.
39 9. Клиент по FTP отправлÑет 'TYPE I'. Сервер отвечает 'Switching to binary mode'.
40 10. Клиент по FTP отправлÑет 'UTF8 ON'(уÑтанавливает кодировку Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра). Сервер отвечает 'Always in UTF8 mode'
41 11. Клиент по FTP отправлÑет 'CWD /' . Сервер отвечает '250 Directory successful changed'.
42 12. Клиент по FTP отправлÑет 'PASV'. Сервер отвечает 'Entering Passive Mode' и указывает нам порт Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ в паÑÑивном режиме.
43 13. Клиент по FTP отправлÑет 'LIST -a'. Сервер по FTP-DATA выполнÑет вывод файловой ÑиÑтемы корневого каталога Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ прав доÑтупа
44 14. Переход по каталогам оÑущеÑтвлÑетÑÑ Ð¿Ð¾ запроÑу клиента по FTP командой 'CWD /имÑ_каталога'. Ð’ ответ повторÑетÑÑ Ð²Ñе Ñ 11-13 пп.
45 15. При загрузки файлов на FTP Ñервер проиÑходит отправка клиентом запроÑа по FTP 'STOR /dir/name_file'. Сервер отвечает '150 Ok to send data'.
46 16. ПоÑле Ñтого клиентом открываетÑÑ FTP-DATA Ñоединение Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ файла под управлением TCP ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ которому проиÑходит обмен флагами.
47 17. ПоÑле передачи Ñервер по TCP отправлÑет флаги (FIN, ACK). Ð’ ответ от клиента получает (ACK).
48 18. Дальше Ñервер по FTP отправлÑет '226 Transfer complate'.
49 19. Клиент по FTP отправлÑет 'SITE CHMOD 0644 /dir/name_file'(выÑтавлÑÑ Ð¿Ñ€Ð°Ð²Ð° доÑтупа на данный файл). Сервер по FTP отвечает '200 SITE CHMOD command ok'.
50 20. Далее Ñнова повторÑетÑÑ Ð¿Ð¿. 11-13 только Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ нужного каталога.
51 21. Ð’ Ñлучае бездейÑÑ‚Ð²Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°, Ñервер по FTP отправлÑет '421 Timeout'. Чем Ñообщает о закрытие управлÑющего ÑоединениÑ.
52
53 ** Логин и пароль отправлÑетÑÑ Ð² открытом виде. Что ÑвлÑетÑÑ Ñ‡ÐµÑ€ÐµÐ²Ð°Ñ‚Ð¾ при перехвати трафика злоумышленником. Завладев Ñтими данными он может безпрепÑÑ‚Ñтвенно авторизироватьÑÑ Ð½Ð° Ñервер иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñти данные. При чем клиент об Ñтом даже не узнает. Разве что, в том Ñлучае еÑли на Ñервер не уÑтановлен лимит Ñоединений в очень малом количеÑтве.