760просмотров
6 декабря 2024 г.
statsScore: 836
Typosquatting 2.0 На блекхате 2024 с докладом выступила пара финских парней joohoi (автор ffuf) и stokfredrik. Они подняли старую тему про typosquatting и представили прекрасный в своей идее и простоте инструмент - certainly. В последнее время его активно используют всевозможные группировки. Как работает?
Работает на базе протоколов: DNS, HTTP(S), IMAP(S), SMTP(S) 1) Пользак путает в браузере букву домена и вместо example.com переходит на examle.com
2) У атакующего такой домен заранее зареган, настроены NS записи. DNS отвечает на все поддомены A записью сервера атакующего
3) certainly берет хедеры оригинального запроса и по заранее составленному темплейту изменяет body. Дальше отправляет на example.com
4) Ответ аналогично модифицируется и отправляется клиенту
5) Жертва работает с ресурсом в заMITMенном положении. Также под раздачу попадают всякие SMTP, IMAP при ошибках в настройке Outlook и отправке писем. Доп плюшки
- На случай HTTPS certainly слегка морозит этап установки TLS, а в это время бежит за сертификатом в letsencrypt
- Чтобы ничего сильно не поломать в инф-ре для ответов DNS выставлен TTL = 1 секунде
- SMTP и IMAP логируются креды настроек SMTP, плюс собираются письма вроде "Вам успешно предоставлен доступ к системе N"
- Ну и естественно есть уведомляшки в Slack Кароче хороший такой инструмент для атакующих. Как защищаться?
- Юзать password менеджеры - они на будут предлагать подставить пароль в bitflip домены.
- Юзать адресные книги. Вручную не вводить имейл адреса, а копировать их. На корпоративном уровне можно защититься так
Мой друг GPT и я наплили небольшой скриптец dnshuffler. Он на вход принимает список корпоративных доменов 2 уровня и генерит очепятки различного типа: - меняет на соседние клавиши (f->g)
- подставляет похожие буквы (c->k)
- пропускает буквы (olo->oo)
- дублирует их (o->oo)
- меняет соседние буквы местами (trolo->trloo)
- дублирует с заменой на соседнюю (trolo->trfolo)
- также умеет в гомогливы (b->ь) Итоговый список можно отправить на блокировку на корпоративном DNS, hosts файлах на эндпоинтах и т.д. Это также может помочь в борьбе с фишингом если заблокировать письма содержащие подобные адреса в любом из полей. В борьбе с фолсами поможет предварительное пилотирование списка и анализ обращений. Почему не использовал инструменты вроде urlcrazy или dnstwist?
Потому что они являются offensive-инструментами - ориентированы на поиск нескольких наиболее "похожих", еще не зарегистрированных доменов. Мне же нужен был defensive-инструмент, ориентированный на поиск доменов наиболее вероятно получающихся при ошибке набора + комбинаторная полнота итогового списка. Кроме того, он должен быть простым для чтения и модификации, без лишних функций вроде DNS-запросов.