Фишинг остается одной из самых распространенных и опасных кибератак, направленных на кражу учетных данных и другой конфиденциальной информации пользователей.
Чтобы продлить время жизни сайта, скрыть его от поисковиков и специалиствов, постоянно разрабатываются новые методы.
В этой статье мы рассмотрим основные методы, которые используются для достижения этой цели.
Пример:
Пример:
Пример:
Пример
Пример:
Такой сайт используется для перенаправления целевого пользователя на основной фишинговый сайт через несколько секунд после первоначального запроса. Этот метод позволяет обойти автоматические сканеры и парсеры.
Прокладка принимает первоначальный запрос от пользователя и отображает безопасную страницу (например, прелоадер страницы)
Через заранее заданный интервал (например, через 1-2 секунды) сервер перенаправляет пользователя на основной фишинговый сайт с использованием HTTP-заголовка Location или с помощью JavaScript.
Пример:
Однако боты и сканеры могут также переходить по ссылке. Чтобы этого избежать, необходима обфускация. Для этого существуют различные инструменты обфускации HTML-кода и один из них- это html-obfuscator. (github.com/BinBashBanana/html-obfuscator)
HTML-обфускатор преобразует HTML-код в формат, который трудно прочитать или проанализировать автоматическим сканерам, но который будет корректно интерпретироваться веб-браузерами.
Этот процесс может включать шифрование ссылок, перемешивание кода и вставку бессмысленных элементов для затруднения анализа.
Пример обфусцированного HTML-кода:
Чтобы продлить время жизни сайта, скрыть его от поисковиков и специалиствов, постоянно разрабатываются новые методы.
В этой статье мы рассмотрим основные методы, которые используются для достижения этой цели.
1. Фильтрация по User-Agent
Фильтрация по User-Agent основана на анализе заголовка HTTP-запроса, который указывает, какое устройство и браузер использует посетитель сайта. Если сайт обнаруживает, что запрос исходит от бота поисковой системы (например, Googlebot), он может отобразить безопасную или легитимную страницу. Это предотвращает индексацию фишингового сайта поисковыми системами.Пример:
Код:
user_agent = request.headers.get('User-Agent')
if 'Googlebot' in user_agent:
# Отправить безопасный контент
else:
# Показать фишинговую страницу
2. Белый и черный список IP-адресов
Также можно использовать белые и черные списки IP-адресов для управления доступом к своим фишинговым сайтам. IP-адреса, принадлежащие известным поисковым системам или организациям ИБ, могут быть заблокированы или перенаправлены на безопасный контент.Пример:
Код:
ip_address = request.remote_addr
if ip_address in known_search_engine_ips:
# Отправить безопасный контент
else:
# Показать фишинговую страницу
3. Проверка заголовка Referrer
Заголовок Referrer указывает, откуда пришел пользователь. Можно проверять этот заголовок, чтобы убедиться, что переход был выполнен из правильного источника, например, из фишингового письма. Если переход выполнен напрямую или из другого источника, сайт показывает безопасную страницу.Пример:
Код:
referrer = request.headers.get('Referer')
if referrer == expected_referrer:
# Показать фишинговую страницу
else:
# Отправить безопасный контент
4. Перенаправление на основе JavaScript
Еще одним способом является использование JavaScript для перенаправления пользователей на фишинговый сайт только при выполнении определенных условий. Боты, как правило, не выполняют JavaScript, что позволяет скрыть фишинговый контент от них.Пример
Код:
Код:
<script>
if (document.referrer == expected_referrer) {
window.location.href = "phishing_page.html";
}
</script>
5. Аутентификация на основе куки
Использование уникальных куки и ссылки, которые отправляются с фишинговым письмом. При переходе по уникальной ссылке эти куки устанавливаются, и сайт проверяет их наличие при каждом последующем запросе. Если куки отсутствуют, отображается безопасная страница.Пример:
Код:
cookie = request.cookies.get('phishing_cookie')
if cookie == expected_cookie_value:
# Показать фишинговую страницу
else:
# Отправить безопасный контент
Заключение
Чтобы скрыть свои фишинговые сайты от поисковых систем и исследователей кибербезопасности можно использовать: фильтрацию по User-Agent, белые и черные списки IP-адресов, проверка заголовка Referrer, перенаправление на основе JavaScript и аутентификация на основе куки - все эти методы помогают избежать обнаружения.В продолжение темы.
Еще одним вариантом защиты фишингового сайта, является использование сайта-прокладки (редирект)Такой сайт используется для перенаправления целевого пользователя на основной фишинговый сайт через несколько секунд после первоначального запроса. Этот метод позволяет обойти автоматические сканеры и парсеры.
Прокладка принимает первоначальный запрос от пользователя и отображает безопасную страницу (например, прелоадер страницы)
Через заранее заданный интервал (например, через 1-2 секунды) сервер перенаправляет пользователя на основной фишинговый сайт с использованием HTTP-заголовка Location или с помощью JavaScript.
Пример:
Код:
<html>
<head>
<meta http-equiv="refresh" content="2;url=http://phishingsite.com">
<script type="text/javascript">
setTimeout(function() {
window.location.href = "http://phishingsite.com";
}, 2000);
</script>
</head>
<body>
<p>Loading...</p>
</body>
</html>
Однако боты и сканеры могут также переходить по ссылке. Чтобы этого избежать, необходима обфускация. Для этого существуют различные инструменты обфускации HTML-кода и один из них- это html-obfuscator. (github.com/BinBashBanana/html-obfuscator)
HTML-обфускатор преобразует HTML-код в формат, который трудно прочитать или проанализировать автоматическим сканерам, но который будет корректно интерпретироваться веб-браузерами.
Этот процесс может включать шифрование ссылок, перемешивание кода и вставку бессмысленных элементов для затруднения анализа.
Пример обфусцированного HTML-кода:
Код:
<html>
<head>
<script type="text/javascript">
// Обфусцированный код
document .write(decodeURIComponent(atob( 'JTNDbWVOYSUyMGhOdHAtZXF1a-
XYLMOQLMJ ISZWZyZXNoITIy JTIwY29udGVudCUZRCUyMjELMOI1MjB1cmwLMORodH-
RwcyUzQS8vZG9t YWLuMi95b3VyZXZpbGdpbnhzZxJ2ZXJsdXJlITIyJTNFITBB" )))
;
</script>
</head>
<body>
<p>Loading...</p>
</body>
</html>