Начини за хакване и защита на сесията от кражба

Повечето сайтове в интернет са отворени за външни влияния от хакери. Дори мащабни скъпи интернет проекти са хакнати: оставят следи или отнемат базата данни. В резултат на това страда собственикът на ресурса, както и посетителите.

За да се избегнат проблеми с хакване, са необходими редица мерки по време на разработката. По време на експлоатацията на обекта е необходимо да се извършват някои превантивни действия.

В минали статии показах как се изпълняват сървърите, както и сървърите. Днес ще говорим за прихващане и защита на сесии от хакери.

Сесия на сайта

PHP е може би най-често срещаният език за програмиране от страна на сървъра за уебсайтове. В php сесията на уебсайт се стартира с помощта на командата session_start(). Преди да започнете, можете да посочите Допълнителни опции. Сесията обикновено съхранява важна лична информация за потребителя: вход, име, парола, ..

Отвличане на сесия

Има 2 начина за съхраняване на ID на сесията: в бисквитки и в адресна лента. Първият вариант е по-сигурен от втория, но и двата са хакнати в различна степен. Този видХакът се нарича отвличане на сесия.

Нека идентификаторът се съхранява в URL адреса на сайта. Влезлият посетител, разхождайки се из страниците на вашия сайт, решава с някого. Когато публикува линк, той дава линка с идентификатора на своята сесия. Ако сайтът няма допълнителни методи за защита, след като щракнете върху такава връзка, нов посетител вече ще бъде влязъл като първи потребител, ако сесията все още не е приключила. След това правете каквото искате на сайта в границите, позволени от правилата.

Нещата са по-сложни с бисквитките, но всичко също се прихваща доста лесно. Много сайтове не филтрират скриптовете на браузъра, когато потребителите публикуват информация. Потенциален хакер поставя такъв скрипт на страница. Влязъл посетител посещава страница... Скриптът чете стойността на бисквитката или адресната лента и предава идентификатора на сесията на друг сайт. Другият сайт принадлежи на хакера. Освен това всичко е просто. Фалшива е бисквитка или е въведен адрес на страница на сайта с желания ID на сесията.

Хакване на сесии

Когато стартира сесия, файловете на сесията се създават във временната директория. Тези файлове съхраняват информация. Ако се използва, тогава обикновено временната папка за съхраняване на сесии се споделя от всички сайтове на сървъра. Освен това по определен начин данните от сесията се четат от собствен скрипт. За да направи това, нападателят трябва да има акаунт на същия сървър. В резултат на това, ако в сесията се съхранява парола от сайт или номер на кредитна карта с cvv код, тогава всичко това полезна информацияпопадат в ръцете на нападател.

Защита от хакване на сесийни данни

  • Съхранявайте сесията в бисквитки. По-трудно за приемане.
  • Свържете сесията с IP адреса на компютъра. При влизане от друго ip се създава нова сесия в зависимост от настройките на скрипта.
  • Свържете сесията с потребителския агент на браузъра. Когато влезете от друг браузър, сесията се нулира.
  • Шифроване на параметрите, предадени на сесията. Ако атакуващият получи файла на сесията, той няма да може да го прочете. Въпреки че, ако имате определени умения, също е възможно да дешифрирате сесията.
  • Съхранявайте идентификаторите на сесии в отделна папка. В php има команда session_save_path($path_to_dir) за това. Същата настройка може да бъде записана във файла php.ini. Параметърът се нарича session.save_path.
  • Използвайте session_set_save_handler() в php, за да замените начина, по който се съхранява сесията. И от PHP 5.4 можете да подадете обект от тип SessionHandlerInterface към session_set_save_handler().

Много потребители дори не осъзнават, че чрез попълване на данните за вход и парола при регистрация или оторизация на затворен интернет ресурс и натискане на ENTER, тези данни могат лесно да бъдат прихванати. Много често те се предават по мрежата в незащитена форма. Ето защо, ако сайтът, в който се опитвате да влезете, използва HTTP протокола, тогава е много лесно да уловите този трафик, да го анализирате с помощта на Wireshark и след това да използвате специални филтри и програми, за да намерите и дешифрирате паролата.

Най-доброто място за прихващане на пароли е ядрото на мрежата, където трафикът на всички потребители отива към затворени ресурси (например поща) или пред рутера за достъп до интернет при регистрация на външни ресурси. Поставяме огледало и сме готови да се почувстваме като хакер.

Стъпка 1. Инсталирайте и стартирайте Wireshark за улавяне на трафик

Понякога за това е достатъчно да изберете само интерфейса, чрез който планираме да улавяме трафика, и да щракнете върху бутона Старт. В нашия случай заснемаме безжично.

Улавянето на трафика е започнало.

Стъпка 2. Филтриране на уловения POST трафик

Отваряме браузъра и се опитваме да влезем във всеки ресурс, използвайки потребителското име и паролата. След завършване на процеса на оторизация и отваряне на сайта, спираме прихващането на трафик в Wireshark. След това отворете анализатора на протоколи и вижте голям брой пакети. Това е етапът, в който повечето ИТ специалисти се отказват, защото не знаят какво да правят след това. Но ние знаем и се интересуваме от конкретни пакети, които съдържат POST данни, които се генерират на нашата локална машина при попълване на формуляр на екрана и се изпращат до отдалечен сървъркогато щракнете върху бутона „Вход“ или „Упълномощаване“ в браузъра.

Въведете специален филтър в прозореца, за да покажете заснетите пакети: http.искане.метод == "ПУБЛИКУВАНЕ"

И вместо хиляда пакета виждаме само един с данните, които търсим.

Стъпка 3. Намерете потребителското име и паролата

Бързо щракване десен бутонмишката и изберете от менюто Следвайте TCPSteam


След това в нов прозорец ще се появи текст, който в кода възстановява съдържанието на страницата. Нека намерим полетата "парола" и "потребител", които съответстват на паролата и потребителското име. В някои случаи и двете полета ще бъдат лесни за четене и дори не са криптирани, но ако се опитваме да уловим трафик при достъп до много добре известни ресурси като: Mail.ru, Facebook, Vkontakte и т.н., тогава паролата ще бъде кодирано:

HTTP/1.1 302 Намерено

Сървър: Apache/2.2.15 (CentOS)

X-Powered-By: PHP/5.3.3

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRO STP IND DEM"

Set-Cookie:password= ; expires=четвъртък, 07 ноември 2024 г. 23:52:21 GMT; път=/

Местоположение: loggedin.php

Дължина на съдържанието: 0

Връзка: затворена

Content-Type: текст/html; charset=UTF-8

Така че в нашия случай:

Потребителско име: networkguru

Парола:

Стъпка 4 Определете типа кодиране за дешифриране на паролата

Отиваме например на сайта http://www.onlinehashcrack.com/hash-identification.php#res и въвеждаме паролата си в прозореца за идентификация. Дадоха ми списък с протоколи за кодиране по ред на приоритет:

Стъпка 5: Дешифрирайте паролата на потребителя

На този етап можем да използваме помощната програма hashcat:

~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

На изхода получихме дешифрирана парола: проста парола

Така с помощта на Wireshark можем не само да решаваме проблеми при работата на приложения и услуги, но и да се пробваме като хакери, като прихващаме пароли, които потребителите въвеждат в уеб формуляри. Можете също да намерите пароли за пощенски кутиипотребители, използващи прости филтри за показване на:

  • POP протоколът и филтърът изглеждат така: pop.request.command == "USER" || pop.request.command == "PASS"
  • IMAP протоколът и филтърът ще бъдат: imap.request съдържа "вход"
  • SMTP протокол и ще трябва да въведете следния филтър: smtp.req.command == "AUTH"

и по-сериозни помощни програми за дешифриране на протокола за кодиране.

Стъпка 6. Какво става, ако трафикът е криптиран и използва HTTPS?

Има няколко варианта за отговор на този въпрос.

Вариант 1. Свързване към прекъсването на връзката между потребителя и сървъра и улавяне на трафика в момента на установяване на връзката (SSL Handshake). В момента на установяване на връзка ключът на сесията може да бъде прихванат.

Опция 2: Можете да дешифрирате HTTPS трафик, като използвате регистрационен файл с ключ на сесия, написан от Firefox или Chrome. За да направите това, браузърът трябва да бъде конфигуриран да записва тези ключове за шифроване в лог файл (пример, базиран на FireFox) и вие трябва да получите този лог файл. По същество трябва да откраднете файла с ключ на сесията харддискдруг потребител (което е незаконно). Е, тогава уловете трафика и приложете получения ключ, за да го дешифрирате.

Изясняване.Говорим за уеб браузъра на човек, чиято парола е открадната. Ако имаме предвид дешифриране на нашия собствен HTTPS трафик и искаме да практикуваме, тогава тази стратегия ще работи. Ако се опитвате да дешифрирате HTTPS трафика на други потребители без достъп до техните компютри, това няма да работи - за това са криптирането и поверителността.

След получаване на ключовете по вариант 1 или 2 е необходимо да ги регистрирате в WireShark:

  1. Отидете в менюто Редактиране - Предпочитания - Протоколи - SSL.
  2. Задайте флага „Повторно сглобяване на SSL записи, обхващащи множество TCP сегменти“.
  3. „Списък с ключове на RSA“ и щракнете върху Редактиране.
  4. Въведете данни във всички полета и напишете пътя във файла с ключа

AT последните годиниима промяна в тенденцията в стратегията за атаки на специални служби срещу най-важния протокол за сигурност на интернет TLS/SSL. Отсега нататък директната криптографска атака и хакване вече не е само екстремна, но често и ненужна в рамките на модерен святмярка, при която парите и финансовата печалба стават основна движеща сила.

Поради важността на този проблем, като част от поредица от публикации, сайтът предлага преглед на сигурността на стека на протоколите TLS / SSL, като същевременно разглежда последователни и систематични стратегии за отслабване на тези протоколи от разузнавателните агенции.

Една трета от сигурния трафик в света се генерира криптографски средствас умишлено отслабен PRNG?

Премахнато от канала

Като семе, нека се обърнем към руския пример - последното съдебно заседание по делото на бившия собственик платежна система Chronopay Павел Врублевски, обвинен в DDoS атака срещу Aeroflot.

Същността на ключовия сюжет се свеждаше до това, че съдът поиска вътрешна кореспонденция между участниците в този наказателен процес, която те водеха чрез лични сметкивъв Фейсбук. Въпреки факта, че съдържаше най-важната уличаваща информация, коварният американец социална мрежане се вслуша в искането на руското правосъдие и отказа достъп до личната кореспонденция на граждани на Руската федерация. И тогава се случва много драматичният обрат в тази история - ФСБ, изпълнявайки съдебното решение, независимо „извлича“ кореспонденцията на тези граждани.

„Централното информационно бюро на ФСБ, в съответствие със Закона „За оперативно-издирвателната дейност“, извърши независимо извличане на информация от комуникационните канали на тези лица и я записа на DVD.

Всъщност по-късно защитата успя да провери, че необходимата лична кореспонденция е била „премахната от мрежата изцяло и доколкото“ против волята на Facebook. В същото време самите обвиняеми по това дело отрекоха да предоставят на разследването своите пароли и самоуличаваща се кореспонденция. Можете да намерите ярки новинарски заглавия като „Руската ФСБ хакна сървърите на Facebook“ в RuNet, но не бива да прибързвате със заключения.

Първо, всички комуникационни сесии с Facebook се извършват изключително през защитения комуникационен протокол HTTPS. Второ, от последните контакти на подсъдимите и това решениесъд (и, следователно, следствените действия на ФСБ за изпълнение на това решение) е минало много време. От какъв „канал” могат да бъдат „премахнати” тези „данни от миналото”, ако самите подсъдими не са влизали в мрежата оттогава, като са разследвани?

Те пренебрегнаха тези директни въпроси, зададени на представителите на ФСБ по време на процеса. Най-очевидната версия на отговора се предлага сама: HTTPS трафикът с тази кореспонденция е бил надушен/съхранен от FSB предварително и по някакъв начин впоследствие хакнат.

Интересно е, че почти подобен случай е записан по-рано в материалите по същото дело. FSB CIB, позовавайки се на протокола от разследването, „чрез запазване и анализиране на трафика на интернет връзката на един от обвиняемите възстанови данните за вход и парола от контролния панел на ботнет“ (физически разположен на сървър в Съединените щати), след като която иззе дистанционното управление над тази ботнет. И така, достъпът до същия уеб панел е осъществен от ответниците отново изключително чрез криптирана HTTPS връзка при спазване на мерките за сигурност (например без запазване на пароли на локалния им компютър).

По този начин ние заявяваме наличието на проблеми със сигурността на HTTPS, като цитираме невероятни случаи на преодоляване на „защитата“ на TLS/SSL от руските специални служби.

начин на действие

За да разбиете криптирана HTTPS сесия, трябва да решите две основни задачи: да можете да слушате (прихващате) трафик и също така да можете да дешифрирате данните, капсулирани в такъв защитен пакет.

Няма да се спираме на първата точка, тъй като специалните служби имат физически достъп до почти всеки канал. Тези, които следят последните новини от SORMomostroeniya, вече са наясно, че в съответствие с новия закон, от 1 юли 2014 г. всички руски доставчици са длъжни да инсталират специално оборудване в мрежите си, за да записват и съхраняват изцяло своя транзитен интернет трафик за период от време. период най-малко 12 часа. Освен това силите за сигурност ще имат пряк достъп до всички съхранявани и транзитни масиви от данни.

Ако говорим за слушане на HTTPS сесии, веднага отбелязваме важен момент- необходимостта от слушане в "активен режим" в някои случаи, тъй като запазеният трафик не винаги може да бъде хакнат по-късно. Говорим за така наречения режим на прогресивна секретност (forward secrecy, FS) за HTTPS протокола, който предотвратява възможността за възстановяване на данни след края на комуникационната сесия (дори ако атакуващият впоследствие може да получи валидни ключове на сайта). Наличието на такъв режим задължава нападателя да „кове желязото, докато е горещо“ – тоест да краква данните в реално време, което в повечето случаи едва ли е технически възможно.

Лошата новина е, че Фейсбук, както повечето други големи интернет портали, не използва режим на предна секретност, защото създава допълнително сериозно натоварване на и без това претоварената социална машина. В допълнение, използването на такива усъвършенствани DH алгоритми може да повлияе неблагоприятно на съвместимостта с някои популярни браузъри. Сега е лесно да се разбере защо, според статистиката на Netcraft към лятото на 2013 г., приблизително 70-99% от SSL връзките, наблюдавани при този мониторинг, изобщо не използват FS.

Това означава, че в по-голямата част от случаите нападателят може безопасно да съхранява вашия HTTPS трафик за по-късно избиране и хакване (например, когато ключът на частния сървър стане известен).

По-горе е измерване на спад в производителността на 6-ядрен процесор за уеб сървър с активиран и деактивиран DHE, съответно. DHE е избран като най-популярното и примерно изпълнение на Perfect Forward Secrecy. Например Google, чиито услуги поддържат почти всички крипто-иновации и средства за защита на своите потребители (това е поразително изключение от общата интернет практика), внедрява краткотрайни („ефимерни“) ключове за PFS сесии, базирани на ECDHE_RSA. И е много, много скъпо, повярвайте ми!

Като се има предвид тази забележка, ще приемем, че всичко е повече или по-малко ясно с прихващането на трафика. Сега нека помислим какво да правим по-нататък със запазения криптиран поток.

Изглежда, че общият алгоритъм в този случай ще изглежда така: при прихващане на интересния трафик HTTPS сесията се прихваща от хипотетични специални услуги Информационна системаполучава заявка за търсене на съответния сървърен ключ към своята база данни. Ако такъв ключ не бъде намерен, той се поставя на опашка за по-нататъшно изчисляване (кракване). Като се има предвид забележката за действителната недостъпност на опцията FS, винаги има смисъл мълчаливо да се натрупва (записва) трафикът, който ви интересува, без да се чака отговорът на системата за готовността / наличността на ключа за дешифриране в реално време.

По отношение на посочената база данни от сървърни ключове, а през лятото на 2013 г. Cnet публикува информация и примерен документ за искане на NSA към голяма интернет компания, която пожела да остане анонимна. Според този източник стана известно, че други големи интернет сайтове (Google, Microsoft, Apple, Yahoo, AOL, Verizon, AT&T и др.) са получили същите заявки. Cnet официално се свърза с тези организации за коментар. подобно искане, но в по-голямата част от случаите компаниите отказаха нито да потвърдят, нито да отрекат подобни взаимодействия с NSA.

„За пореден път избърсвам краката си в мита, че отвореният код е пътят към надеждността. Този бъг в Debian OpenSSL беше на почти две години."

Всъщност беше възможно да се затвори тази уязвимост едва след шума в пресата. Самият проект на Debian нарече ситуацията с дългогодишен бъг в своето OpenSSL хранилище „доста странна история“.

Ако говорим за прословутите хардуерни „отметки“, то напоследък те цъфтят в бурен цвят вече на най-неочаквани места: от ютии до кафе машини. Така според Spiegel, специален отдел на NSA „Операции за специален достъп“ (Tailored Access Operations, TAO) за дълго времеизвършиха масово прихващане на закупените най различни компаниии страни на компютърно (и не само) оборудване по пътя от доставчика до адресата. В същото време прихванатото оборудване, изпратено до клиента, представляващ интерес за NSA, бързо премина през секретната „фабрика“ на TAO, където в него бяха въведени модифициран софтуер или „бъгове“. Такава намеса във веригата за доставки за собствени цели, обозначавана със специалния термин "забрана", беше оценена от самата NSA като един от "най-ефективните видове съвременни операции".

Когато е разрешено Целият трафик (криптиран и некриптиран)или Само криптираниагентът използва технология за подправяне на SSL сертификат за прихващане на данни, предавани в защитени уеб сесии. Когато установява защитена връзка със сървър, агентът заменя оригиналния сертификат на сървъра със сертификат със същото име, но издаден от основния сертификат на агента. Системата ви позволява да използвате както предварително инсталиран сертификат, така и ръчно създаден сертификат с права за подписване като корен.

Системата ви позволява ръчно да инсталирате определени сертификати за заместване при прихващане на сесии на съответните сървъри (уебсайтове, програми), като свържете сертификата към сървъра.

В някои случаи използването на неоригинален сертификат може да направи невъзможно установяването на криптирана връзка със сървъра. В този случай е необходимо да се изключат съответните сървъри от прихващане, т.е. забраняват подмяната на SSL сертификати при свързване към такива сървъри. Това ще възстанови функционалността на такива сайтове или програми, но те няма да прихванат криптиран трафик.

За да конфигурирате прихващането на SSL трафик:

  1. В прозореца на раздела Профил на настройките на агентав областта за редактиране на профилаизберете раздел Контрол на мрежовия трафик.
  2. Щракнете върху бутона Опции за прихващане на SSLи следвайте препоръките на настоящия параграф.

Избор на режим на подправяне на SSL сертификат

В прозореца с настройки изберете приемлив режим на прихващане:

  • За автоматично генериранеагент Основен SSL сертификат по време на инсталациякъм компютъра на потребителя, изберете опцията Автоматичен режим . Генерираният основен сертификат ще бъде поставен в базата данни на доверените издатели на сертификати и ще се използва автоматично от агента за издаване на дъщерни сертификати, подписани по подразбиране с името на издателя Falcongaze SecureTower.

За да промените името на издателя на сертификата, което ще бъде посочено в информацията за сигурност на връзката, посочете желаното име в полето Име в SSL сертификат .

  • За да използвате персонализиран SSL сертификат като основен сертификат при прихващане на шифрован трафик,изберете опция Потребителски режим. Потребителският сертификат трябва да бъде предварително генериран и добавен към системната база данни. За да посочите сертификат от системната база данни, изберете името му от падащия списъкПотребителски сертификатили щракнете върху бутонаПотребителски сертификати задобавяне на файлове със сертификат и личен ключ към системната база данни.

В прозореца, който се отваря, щракнете върху бутона Добавяне на сертификати задайте сертификата и ключовите файлове по един от следните начини:

  1. За да генерирате нов сертификат, щракнете върху бутона Генериране на сертификат. В прозореца, който се отваря, въведете името на новия сертификат, срока му на валидност и посочете пътищата, където ще се съхраняват файловете на новосъздадения сертификат (*.cer) и частен ключ (*.pvk). Щракнете върху бутона Генериране.

  1. Ако искате да добавите сертификат, който преди това е бил генериран във формат PFX, щракнете върху бутона Конвертиране от сертификат във формат PFX. Посочете пътя и паролата до файла със сертификата във формат PFX, както и пътя до файловете със сертификата (*.cer) и частния ключ (*.pvk), в които искате да конвертирате оригинален файл. Щракнете върху бутона Конвертиране, за да завършите конвертирането.

Щракнете върху Напред в прозореца Добавяне на потребителски сертификатида продължи процедуратадопълнения . В прозореца, който се отваря, въведете уникално име, с което ще бъде подписан добавеният сертификат и коментар (по избор).

Щракнете Готово за да завършите процеса. Сертификатът ще бъде добавен към базата данни с потребителски сертификати на системата SecureTower. КликнетеДобре за да завършите добавянето.Добавен персонализирансертификатът ще бъде автоматично поставен от агента в базата данни на доверените създатели (ако това не е направено преди това от мрежовия администратор) и след това ще се използва за издаване на дъщерни сертификати.

Забележка.

Когато използвате потребителски режим, се препоръчва мрежовият администратор да разпространи потребителския сертификат до всички компютри в мрежата, използвайки групови политикиили ръчно. Това ще гарантира успешно удостоверяване на сертификата. В противен случай сертификатът ще бъде добавен автоматично от агента към довереното хранилище на сертификати.

Свързване на SSL сертификат към сървър

За да определите съвпадението "сървър-сертификат", щракнете върху бутона Обвързване на сертификатии следвайте указанията по-долу:

  • За да се свържете с конкретен сървър за основен сертификат в раздела Основни сертификати, Натисни бутона Добавете сертификат за сайт. Въведете име на хост ( Име на домейн), към кои дъщерни сертификати ще бъдат издадени и към кой ще бъде обвързан основният сертификат в полето Име на хост (IP адрес). Изберете един от предварително инсталираните главни сертификати от падащия списък с полета Основен сертификатили щракнете върху бутона Потребителски сертификатиза добавяне и указване на сертификата и файловете с личен ключ на компютъра на потребителя.
  • За да свържете вече съществуващ сертификат към определен сървър, изберете раздела Потребителски сертификати. Агентът няма да генерира нови дъщерни сертификати за сървърите, посочени в този раздел, но ще използва сертификати, посочени от потребителя за процедурите за заместване. В прозореца, който се отваря, в полето Име на хост (IP адрес) въведете името на хоста (име на домейн), към който ще бъде обвързан сертификатът. Изберете един от сертификатите от падащия списък на полето Сертификат : (ако вече са добавени сертификати) или щракнете върху бутона Потребителски сертификатиза избор на потребителски сертификати от списък или за добавяне и указване на сертификати и файлове с личен ключ на компютъра на потребителя.

Забележка.

За попълване на полето Име на хост (IP адрес)използването на IP адреса на хоста е разрешено, но само в случаите, когато името на хоста не е определено по време на връзката и е известен само IP адресът.

Изключване на сървъри от прихващане на криптиран трафик

За да работите с изключения от процеса на подправяне на сертификат, щракнете върху бутонаИзключения на SSL сървъра.

Прозорецът на мениджъра за изключване показва списък със сървъри (хостове), изключени от процеса на подмяна по подразбиране. За да добавите ново изключение, щракнете върху бутона Добавете изключение.

В полето за въвеждане на диалоговия прозорец, който се отваря, въведете името на сървъра (хоста) (например accounts.google.com), чувствително към главни и малки букви, и щракнете върху бутона Добавяне. Системата ви позволява да използвате маскирани имена (разрешени ли са знаци ? и *, например, използването на *.microsoft.* ще избегне дублирането на ресурси на Microsoft в списъка за изключване), за да изключите ресурси от едно и също семейство. Въведеното име ще се появи в списъка с изключения.

След това трябва да изберете режима на изключване: Фалшиви сертификати само за SSL сървърите, изброени по-горе, или Заместващи SSL - сертификати за всички сървъри, с изключение на посочените по-горе. В първия случай системата ще подмени сертификати само за сървъри, изброени в списъка за изключване (и следователно ще може да прихване съответния трафик). За всички останали сертификатите няма да бъдат подправени и прихващането на съответния криптиран трафик ще бъде невъзможно. Във втория случай системата ще замени сертификатите за всички сървъри, с изключение на посочените в списъка с изключения.

За да извършите други операции с изключения, следвайте съответните препоръки в параграф

Ще ви покажа и разкажа как да използвате помощната програма sslstrip за прихващане на данни, които се предават през защитена SSL връзка.
Помощната програма sslstrip в моя пример (след извършване на ARP-spoofing атака на жертвата) ще прихване искането на уеб клиента на жертвата да установи защитена SSL връзка и ще го принуди да използва несигурния HTTP протокол. След това просто ще разгледам какво прави жертвата, без да обръщам внимание на факта, че тя чете поща не чрез HTTPS, а чрез HTTP.

Ще видите колко лесно е да организирате атаки тип MITMна SSL с помощта на техниката arp-spoof и програмата sslstrip.

В моя пример жертвата е виртуална машина с IP 10.10.11.163 (обикновена кола с Windows), компютърът, от който атакувам, е 10.10.11.85 с инсталирана Kali OS и sslstrip (тази помощна програма е предварително инсталирана в pentester Kali\BackTrack Linux дистрибуции). Между нас има шлюз с IP 10.10.11.1.

1. Когато жертвата влезе в gmail.com, тя се изпраща на адрес https://gmail.com и това е нормално. Естествено, ние не виждаме паролите и влизанията в пощата на жертвата в чист вид.

2. Активирам маршрутизиране на трафик на компютър с Kali:

ехо "1" > /proc/sys/net/ipv4/ip_forward

и конфигурирайте iptables така, че целият http трафик да се насочва към порт 81:

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 81

arpspoof -i eth0 -t 10.10.11.163 10.10.11.1

сега трафикът на жертвата минава през моята кола и (според моето правило за iptables) се препраща към порт 81.

3. Стартирайте sslstrip

sslstrip -a -l 81 -w /root/Desktop/ssllog.txt

това ще създаде лог файл направо на работния плот и ще започне да записва прихванат http трафик в него (всъщност HTTPS ще бъде прихванат, но ще бъде премахнат). Е, като цяло, започвам да гледам този файл на конзолата:

опашка -f /root/Desktop/ssllog.txt

4. Жертвата отива в пощата си

За да чете поща, жертвата, както винаги, влиза в MS Explorer (хехе) и въвежда gmail.com там. Но по някаква причина браузърът не пренасочва жертвата към https (в http адресната лента)! Фигурата по-долу показва какво ще види жертвата в последния момент, преди да разбера нейната парола и потребителско име.

Жертвата щраква върху „Вход“ ... и в моя прозорец, където се показва прихванатият трафик, виждам следното:

Както можете да видите, паролата 1q2w3e4r5t6y...

За да избегнете заплахите, свързани с прихващане на началото на SSL връзка, трябва:
- не използвайте джаджи в ненадеждни мрежи, дори ако това е много необходимо (злодей може да организира MITM с много по-голяма вероятност, да речем, на летище, като инсталира измамна безжична точка за достъп, отколкото като разбие корпоративна мрежавашата организация);
- криптирайте пощата със симетрични протоколи за криптиране (пиша и мисля за PGP);
- плащайте нормална заплата на администратора, за да няма желание да шпионира вашите служители по този начин;
- следете ARP таблицата и използвайте хардуер / софтуер, който следи podbny атаки;
- редовно актуализирайте софтуера от доверени законни източници.

Имайте предвид, че тази статия илюстрира какво е забранено от закона и примерите в нея са предоставени, за да покажат колко лесно е да атакувате SSL само за образователни цели.