Пренасочване на SSH и HTTP трафик

В тази статия ще обсъдим с вас атаките от типа Man-in-the-Middle или по-скоро метода за пренасочване на SSH и HTTP трафик с помощта на атаката Man in the Middle. Нека не дърпаме котката за опашката, а да се заемем с работата.

Man in the Middle (накратко MitM, от български език просто – „посредническа атака” или „човек по средата”) е вид атака, базирана на пренасочване на трафика между две машини за прихващане на информация – по-нататъшно проучване, унищожаване или модификация. И така, първото нещо, от което се нуждаем, е пакетът dsniff (ще видите връзка към пакета в края на статията). Защо точно него? Да, защото този пакет има всички необходими помощни програми, включително sshmitm (пренасочване на SSH трафик) и httpmitm (пренасочване на HTTP трафик), които могат да заобиколят следната схема за сигурност: доколкото знаете, протоколите с криптиране на данни са доста "сигурни" (криптиране на помощ :)) и не позволяват атаки "над" мрежовия слой. Ключът за криптиране е неизвестен на хакера - данните не могат да бъдат декриптирани и командата също не може да бъде вмъкната. Всичко изглежда наред, но ето как след като програмите за атака на MitM (sshmitm и httpmitm) от пакета dsniff успяват да заобиколят тази система за сигурност (почти всичко може да бъде заобиколено). Всичко това се прави съгласно следния принцип: междинният хост получава заявка от клиента, "казвайки" му, че той е сървърът, след което се свързва с истинския сървър. Второто нещо, от което се нуждаем, са изправени ръце, четвъртото и най-важно нещо е желание и, разбира се, жертва, тоест компютър, който ще атакуваме.

След като подготвите инструментариума, разбирате какво е какво и защо :). Вземете sshmitm - сега ще пренасочим SSH трафик (всичко, което не разбрах с теоретичната част - прочетете по-горе) използвайки го, използвайки недостатъциднешната PKI (инфраструктура на публичен ключ - схема за управление на ключове, базирана на асиметрични криптографски методи). Нека да разгледаме синтаксиса sshmitm:

sshmitm [-d] [-I] [-p порт] хост [порт]

-d разрешаване на изход за отстраняване на грешки (т.е. по-разширен режим)

-I сесии за отвличане

-p порт порт за слушане

порт порт на отдалечения хост

Всичко изглежда просто и с вкус - няма нищо сложно :). Да започнем атаката!

]# sshmitm server.target.gov // посочете вашия SSH сървър sshmitm: препредаване към сървър server.target.gov

Тъй като нямаме истински SSH ключ, командният интерпретатор на атакувания ще покаже заявка за проверка на хост ключа, всичко това ще изглежда по следния начин:

clientmachine$ server.target.gov @ ПРЕДУПРЕЖДЕНИЕ: ИДЕНТИФИКАЦИЯТА НА ОТДАЛЕЧЕН ХОСТ Е ПРОМЕНЕНА! @ ВЪЗМОЖНО Е НЯКОЙ ДА ПРАВИ НЕЩО ГАДНО! В момента някой може да ви подслушва (атака "човек по средата")! Възможно е също ключът на RSA хост току-що да е променен. Моля, свържете се с вашия системен администратор.

И тогава потребителят ще реши дали да се свърже или не. Ако да, тогава ще получим пълен контрол над SSH сесията. НО! Ако потребителят никога не се е свързвал с тази количка, може да се покаже следното съобщение:

Автентичността на хоста „server.target.gov“ не може да бъде установена Отпечатъкът на RSA ключ е bla:bla:bla;bla;bla…….. Сигурни ли сте, че искате да продължите да се свързвате (да/не)?

Тук потребителят също има два избора - да се свърже или не. Ако да, тогава сме прихванали сесията, ако не, тогава уви ... :(. Като цяло атаката беше успешна, ако потребителят се свърза, а sshmitm от своя страна записва всички пропуски и влизания и е много четим🙂 Разбира се, това не е единственият прихващач на SSH сесии, но след като се запознаете с него, лесно ще овладеете другия 🙂

Сега ще пренасочим HTTP трафика. Отново се нуждаем от вече избран инструмент: httpmitm, който слуша 80- (HTTP -) и 443- (HTTPS -) портове, прихваща WEB заявки, след което се свързва със сървъра и препраща заявки към клиентския компютър. Програмата също генерира SSL ключове и SSL сертификати с помощта на OpenSSL. След това, след като се опита да се свърже със сайта (target.gov), браузърът ще провери SSL сертификата. Тъй като сертификатите няма да съвпадат, браузърът на потребителя ще предупреди за грешен SSL сертификат. От гледна точка на нападателя това би изглеждало така:

Ето как изглежда всичко отвън - SSL връзка се прихваща, грабвайки некриптирани данни.

В тази статия обсъдихме с вас пренасочването на SSH и HTTP трафик с помощта на атаката Man in the Middle – ясно, подробно, накратко. Други програми за пренасочване на HTTP- и SSH- трафик с помощта на MitM ще овладеете бързо, ако сте усвоили и тези :)). Ако нещо не е ясно - тогава:

- прочетете за структурата на интернет протоколите - man and google ще ви отвори очите 🙂

Ще се радвам, ако тази статия и аз ви помогнем по някакъв начин и ви хареса 😉