Как отслеживается e-mail?
Привет!
Независимо от того, пытаетесь ли вы отследить кого-либо или отслеживаете какие-либо действия и действия пользователя (возможно, в кампании по электронной почте), методы одинаковы/схожи. Действия по отслеживанию электронной почты:
отслеживание электронной почты (если оно открыто / прочитано)
отслеживание событий (если нажата ссылка)
IP-адрес получателя
ДИСКЛЕЙМЕР
Данная статья представлена исключительно в ознакомительных целях и не несет призыва к действию. Вся информация направлена на то, чтобы уберечь читателей от противозаконных действий.
Отслеживание электронной почты: как электронная почта отслеживается
Упрощенно, поместив изображение в контент электронной почты (HTML), отправитель может отслеживать некоторые из ранее упомянутых параметров (открытые электронные письма, ссылки, IP-адреса и т.д.). Изображение часто невидимо, однопиксельный GIF (называемый веб-маяком). Открытие электронного письма приведет к загрузке изображения с удаленного сервера, что в результате приведет к обнаружению «открытого электронного письма» или отслеживанию IP-адреса получателя (в некоторых случаях).
В больших почтовых кампаниях, чтобы различать пользователей и электронные письма, имя загруженного изображения (или его параметры) обычно содержит некоторую информацию, относящуюся к пользователю (идентификатор, хэш и т. Д.). Кроме того, вы можете разместить ссылку в сообщении электронной почты («Начать здесь», «Отслеживать» и т.д) И отслеживать частоту ответов пользователей или показатель успешности кампании по электронной почте (отправленные электронные письма или открытые электронные письма и частоту кликов).
Пример отслеживания электронной почты (PoC)
Нам нужно включить один пиксель GIF/изображение в электронное письмо через ссылку на изображение, например:
<img src="https://<TARGET_DOMAIN>/webbeacon.php" />
Для создания однопиксельного веб-маяка GIF/изображения в PHP (webbeacon.php):
<?php echo base64_decode ("R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw =="); ?>
Далее, для отправки электронной почты, мы можем использовать конфигурацию почты системы и sendmail. Сначала определите содержимое электронного письма (HTML):
From: <Source/System Email Address> To: <Target Email Address You're Going TO Track> Subject: Tracking Email Example Mime-Version: 1.0 Content-Type: text/html <h1>Test Email Example </h1> The mail body. <img src=" https://<TARGET_DOMAIN>/webbeacon.php" />
Затем направьте этот контент в команду sendmail:
$ cat content.html | sendmail -t
Когда пользователь получает это электронное письмо, почтовый клиент обычно вызывает запрос изображения или в этом случае webbeacon.php. Изображение не будет видно, но, тем не менее, запрос будет запущен.
При этом вы можете отслеживать, открыта ли электронная почта, или ловить IP-адрес получателя. Чтобы отследить какое-либо событие (например, щелчок по ссылке), вам необходимо добавить его в контент и настроить/создать новый файл PHP для его обработки.
Примечание: некоторые почтовые провайдеры/клиенты могут кэшировать изображение (в течение месяца), поэтому дополнительные электронные письма могут не вызывать выборку «веб-маяка».
Отслеживание электронной почты и поддержка клиентов электронной почты
Доля рынка почтовых клиентов на удивление склоняется к Apple. Грубая оценка текущей доли рынка:
- Apple Combined: iPhone / iPad / Apple Mail (42%)
- GMail (30%)
- Outlook / Hotmail (10%)
- Yahoo (6%)
- Google android (3%)
- Samsung Mail (1%)
- и т.п.
Чтобы вернуться к предыдущему пункту, отслеживание электронной почты поддерживается не всеми почтовыми клиентами. Чтобы подтвердить это вручную, мы можем отправить электронное письмо любому из этих клиентов и отслеживать файл журнала веб-сервера (apache/nginx). В журнале будет четко показано, какие почтовые клиенты «включают» отслеживание, а какие нет.
Отслеживание почты Apple iPhone
Открытие электронной почты в почтовом клиенте IPhone приводит к следующему выводу в журнале веб-сервера:
xxx.xxx.xxx.xxx - - [21 / Sep / 2019: 23: 58: 43 +0000] "GET /webbeacon.php HTTP / 2.0" 200 28299 "-" "Mozilla / 5.0 (iPhone; процессор iPhone OS 12_4_1) как Mac OS X) AppleWebKit / 605.1.15 (KHTML, как Gecko) Mobile / 15E148 "
Хотя электронная почта принадлежит Google (@ gmail.com), мы получаем правильный IP-адрес целевого IPhone / Network ( xxx.xxx.xxx.xxx ). По-видимому, никакой предварительной обработки серверами Google MX не происходит. Обработка почтового клиента полностью независима.
- Электронная почта (открыть/ прочитать): да
- Событие: да
- IP получателя: Да
Отслеживание почты Google (Gmail)
Открытие электронного письма в GMail:
66.249.81.157 - - [21 / Sep / 2019: 23: 58: 44 +0000] "GET /webbeacon.php HTTP / 1.1" 200 61 "-" "Mozilla / 5.0 (Windows NT 5.1; rv: 11.0) Gecko Firefox /11.0 (через ggpht.com GoogleImageProxy) "
Google использует прокси для получения удаленных изображений (GoogleImageProxy), поэтому не может указать IP-адрес получателя. 66.249.81.157 является прокси - IP в компании Google.
- Электронная почта (открыть прочитать): да
- Событие: да
- IP получателя: нет
Отслеживание почты Outlook (Hotmail)
Открытие электронной почты через веб-клиент hotmail / outlook:
xxx.xxx.xxx.xxx - - [21 / Sep / 2019: 23: 58: 45 +0000] "GET /webbeacon.php HTTP / 2.0" 200 150 "https://outlook.live.com/" "Mozilla /5.0 (Windows NT 6.3; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 76.0.3809.132 Safari / 537.36 "
В этом случае мы получаем открытый IP-адрес получателя ( xxx.xxx.xxx.xxx )
- Электронная почта (открыть/ прочитать): да
- Событие: да
- IP получателя: Да
Отслеживание почты Yahoo
Открытие электронной почты через почтовый аккаунт Yahoo:
212.82.108.87 - - [21 / Sep / 2019: 23: 58: 46 +0000] "GET /webbeacon.php HTTP / 1.1" 200 61 "-" "YahooMailProxy; https://help.yahoo.com/kb/ Yahoo почта прокси-SLN28749.html»
Yahoo также использует прокси для получения удаленных изображений (YahooMailProxy), поэтому не может предоставить IP-адрес получателя. 212.82.108.87 является прокси - IP в компании Google.
- Электронная почта (открыть/ прочитать): да
- Событие: да
- IP получателя: нет
Отслеживание других / частных почтовых клиентов
Когда речь заходит о некоторых популярных клиентах (rainloop, roundcube), загрузка удаленных изображений по умолчанию «отключена» (не работает), с опцией «Отображать внешние изображения», которую пользователи могут выбирать вручную (заставляя все это работать).
xxx.xxx.xxx.xxx - - [21 / Sep / 2019: 23: 59: 48 +0000] "GET /test.php HTTP / 2.0" 200 150 "https: // www. <DOMAIN> .com / mail / "" Mozilla / 5.0 (Windows NT 6.1; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 76.0.3809.132 Safari / 537.36 "
- Электронная почта (открыть/прочитать): да
- Событие: да
- IP получателя: Да
Электронная почта Поддержка JavaScript [Дополнительная информация]
Помимо отслеживания электронной почты, выполнение JavaScript представляет существенную уязвимость безопасности. Протокол или явный адрес сценариев ( RFC2854 , в текстовом формате текст / html) поддерживает JS:
Кроме того, введение языков сценариев и интерактивных возможностей в HTML 4.0 привело к ряду рисков безопасности, связанных с автоматическим выполнением программ, написанных отправителем, но интерпретированных получателем. Пользовательские агенты, выполняющие такие сценарии или программы, должны быть чрезвычайно осторожны, чтобы гарантировать, что ненадежное программное обеспечение выполняется в защищенной среде.
Но к счастью, это обычно не поддерживается почтовыми клиентами. Некоторые пользователи сообщали, что Thunderbird 52.4.0 с настройкой «Original HTML» игнорировал JS <script> document.write('Test alert'); </script> в тестовых электронных письмах. То же самое произошло с Outlook для Android 2.2.44, K-9 для Android 5.208, веб- почтовой программой Gmail (протестировано 06.11.2017) и веб-почтовой программой Roundcube 0.9.5. Итак, в целом или для большинства (современных) клиентов JS не работает.
Вывод
Помимо потенциальных сталкеров и/или спамеров, злоупотребляющих этим, пытающихся найти вас или подтвердить, что ваш адрес электронной почты является активным, это довольно полезный навык, который нужно иметь в своем наборе навыков.
В любом случае, мы все должны знать об этом.
Просто открыв электронное письмо, в некоторых почтовых клиентах/приложениях вы можете указать свое местоположение отправителю, подтвердить, что ваш электронный адрес является активным или просто вы видели это электронное письмо. Поскольку протокол «разрешает» JS, в некоторых клиентах злоумышленник потенциально может даже получить доступ к учетной записи электронной почты (кража сеанса). Кроме того, получив IP-адрес получателя, вы можете, в зависимости от ваших навыков социальной инженерии, потенциально убедить интернет-провайдеров раскрыть реальный адрес пользователя. Многочисленные опасности, без сомнения.
Мы все ленивые, но мы должны уделять этому немного больше внимания, особенно если кто-то «скрывается» (от оскорбительного мужа) или, возможно, делает что-то «незаконное» (отслеживая убежище, в котором живет ваша жена). Мы все должны проверить, поддерживают ли наши почтовые клиенты варианты отключения изображений/JS. Если не явно, мы могли бы попытаться найти инструменты, которые это делают (поддержка расширений, библиотек и т.д.), Или мы можем в конечном итоге изменить почтовый клиент и найти тот, который не позволяет отслеживать электронную почту (неявно или явно через опции).