• XSS.stack #1 – первый литературный журнал от юзеров форума

Пишем нотифаер для админки

Ar3s

Старожил форума
Легенда
Регистрация
30.12.2004
Сообщения
3 357
Реакции
1 404
xmpphplogo.png
Возникла вдруг идея написания небольшой тулзочки для информирования меня любимого о попытках входа в админку любимого форума. Знаний php мало, энтузиазма много. Приступаем.

На просторах интернета находим xmpphp набор компонентов для работы с xmpp протоколом средствами php. Качаем и разбираемся.
Использовать набор оказывается довольно не сложно. Начинаем пилить. В первую очередь создаем нужный .htaccess. Ограничиваем вход только для нужных Ip адресов.

Код:
ErrorDocument 403 https://xss.pro/admin.php
Order deny,allow
Deny from all
Allow from xxx.xx.xxx.xxx
Allow from xx.xxx.xx.xxx

Да, согласен, вариант для статичных Ip. Но мы же с вами юзаем vpn со статичным адресом.

Нужно сделать два информирования.
1. когда входит легальный пользователь
2. когда входит (пытается войти) злая редиска

Для этого создадим файл с названием note.php
Код:
<?php
error_reporting(0);
include("./toolz/xmpp.php");

function note($ip, $name, $time)
	{
	try {
  $mess="!!!Вход!!!\nIp=$ip\nName=$name\nTime=$time";
  $conn = new XMPPHP_XMPP('dlab.im', 5222, 'user', 'password', 'bot', 'dlab.im', $printlog=False);
  $conn->connect();
  $conn->processUntil('session_start');
  $conn->message('my-jabber@dlab.im', $mess);
  $conn->disconnect();
  }
	catch (Exception $e)
  {
  
  }
	}

function badadmin($ip, $cookie, $usagent, $ref, $date)
	{
	try {
  $mess="!!!Попытка входа!!!\nIp=$ip\nUserID=$cookie\nUserAgent=$usagent\nReferal=$ref\nTime=$date";
  $conn = new XMPPHP_XMPP('dlab.im', 5222, 'user', 'password', 'bot', 'dlab.im', $printlog=False);
  $conn->connect();
  $conn->processUntil('session_start');
  $conn->message('my-jabber@dlab.im', $mess);
  $conn->disconnect();
  }
	catch (Exception $e)
  {
  
  }
	}	
	
?>

Итого имеем две простейшие функции. Дергаем первую - когда легальный вход. Вторую когда редиска.

В начало admin.php (легального) добавляем:
Код:
#Добавляем нотифаер
include("../toolz/note.php");

Далее ищем авторизацию и прямо из нее дергаем нужные данные:
Код:
#Нотифаер
note($ibforums->input['IP_ADDRESS'],$mem['name'],date(DATE_RFC822));

Пабам... Нам дружно валятся сообщения об успешной авторизации. Почему именно так? А что бы в случае утечки пароля для аккаунта узнать какой именно аккаунт утек.

Теперь отработаем редисок которые по ip не прошли. В самом начале мы для таких клиентов сделали редирект на admin.php (фейковый)

Смотрим содержимое:
Код:
<?php
error_reporting(0);

#Добавляем нотифаер
include("./toolz/note.php");

#Детектим удаленный ip
function getRealIpAddr()
{
  if (!empty($_SERVER['HTTP_CLIENT_IP']))
  {
    $ip=$_SERVER['HTTP_CLIENT_IP'];
  }
  elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
  {
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  }
  else
  {
    $ip=$_SERVER['REMOTE_ADDR'];
  }
  return $ip;
}

$ip=getRealIpAddr();
$usagent=$_SERVER['HTTP_USER_AGENT'];
$ref=$_SERVER['HTTP_REFERER'];
$cookie=$_COOKIE["member_id"];
$date=date(DATE_RFC822);

#Нотифаер
badadmin($ip, $cookie, $usagent, $ref, $date);

echo "Тут крайне обидное сообщение такой редиске!\n";

?>

Ну вот и все. Видим когда пытаются войти. Видим какой пользователь (если у него имеются куки форума то читаем id по которому узнаем ник). Ну и видим ip.

Что упустил? Ах да. НЕ успешную авторизацию при совпадении ip. Ну тут дело ровно 20 секунд. Делаем редирект на фейк-admin.php и ловим ту же инфу.

Применять можно где угодно и как угодно. Работает быстро. Нагрузки не создает. Защищать можно любую админку таким макаром.

Итог: затрачено порядка 3-4 часов. Достигнут желаемый результат. Жду критики кода и предложений по улучшению.
 
Идея хорошая. Теперь развиваем мысль и делаем шаг №2. Пишем простенький флудер на PHP+cURL, производящий wrong-password логин в админку 6 раз в минуту. Вешаем это добро на ботнет, чем окончательно лишаем Ares`а душевного равновесия, сна и возможности внятно выражать свои мысли=)

Эффективность данной бяки напрямую зависит от использования капчи при попытке входа.
 
Ребяты. Неужели вы считаете что я опубликую дествующие плюшки? Это то что я делал сразу после взлома. Когда мысли были хаотичны. СЕйчас все намного отличается от статейного вида. Просто поделился тем что может быть полезно другим.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх