Как посмотреть базу данных разведки
Карьера тайного агента в Симс 4
В дополнении «The Sims 4: На работу!» вы сможете стать тайным агентом. Работа в разведке, сбор секретной информации и опасная карьера шпиона.
Как стать тайным агентом в Симс 4
Как посмотреть базу данных разведки в Симс 4
Чтобы найти базу данных разведки, зайдите в компьютер → другие варианты → сеть. Там можно прочитать базу данных.
Уровни карьеры шпиона
Далее рассмотрим ступени шпионской карьеры. Всего десять уровней и два направления в профессии.
Секретарь агентуры
Зарплата: 17$
Для повышения необходим просмотр базы данных разведки.
Сотрудник разведки
Зарплата: 19$
Премия: 349$
Для повышения необходим второй уровень логики.
Доступен обеденный стул «На шарнирах»
Руководитель разведки
Теперь можно отдавать приказы и руководить шпионскими операциями.
Зарплата: 21$
Премия: 384$
Доступен стол «Разведка»
Для повышения необходим второй уровень логики и обаяния.
Оперативный сотрудник
Работа под прикрытием и внедрение в банды, теперь это то, что вам предстоит делать.
Зарплата: 37$
Премия: 422$
Для повышения необходим третий уровень логики и обаяния.
Главный детектив
На вашем рабочем столе теперь особо важные дела, которые предстоит расследовать.
Зарплата: 47$
Премия: 599$
Доступна лампа «Стальные нервы»
Для повышения необходим четвертый уровень логики и обаяния.
Правительственный агент
Задания государственной важности и работа на благо родины. На сегодняшний день это ваши обязанности.
Зарплата: 52$
Премия: 851$
Доступна тактическая карта
Для повышения необходим пятый уровень логики и обаяния.
Тайный агент
Шпионить и добывать важные сведения, маскируясь под простых людей. Это ваши обязанности.
Зарплата: 87$
Премия: 936$
Новая одежда
Для повышения необходим шестой уровень логики и обаяния.
Капитан шпионов
Теперь у вас больше полномочий и ответственности по долгу службы.
Зарплата: 173$
Премия: 1039$
Доступна спутниковая тарелка «Шпион»
Для повышения необходим восьмой уровень логики и седьмой обаяния.
Невидимый агент
Ни в одной базе данных нет ваших отпечатков пальцев и другой компрометирующей вас информации.
Зарплата: 208$
Премия: 2078$
Доступен компьютер «База данных»
Для повышения необходим десятый уровень логики и восьмой обаяния.
Двойной диамантовый агент
Вы живёте прекрасную жизнь, отдыхаете и развлекаетесь за счёт агентуры.
Зарплата: 284$
Премия: 3741$
Доступна тайная комната
Двойной агент (специализация злодей)
Вам хочется больше зарабатывать, не гнушаясь ничем.
Зарплата: 191$
Премия: 1039$
Доступно кресло «Злобное»
Для повышения необходим восьмой уровень логики и второй пакостей.
Суперзлодей
Пытки паяльником это для вас.
Зарплата: 479$
Премия: 3886$
Доступна скульптура «Лазерный бластер»
Для повышения необходим десятый уровень логики и шестой пакостей.
Тройной агент
Он и за тех и за других. А на самом деле сам по себе.
Зарплата: 515$
Премия: 5743$
Доступна скульптура «Основатель» и новая одежда.
Подробный обзор карьеры тайного агента в The Sims 4
Чтобы путь к вершине карьеры был более быстрым, стоит начать изучать такие навыки, как логика и обаяние. А если вы в будущем хотите выбрать специальность «Злодей», то навык пакостей тоже не помешает.
Карьера тайного агента предполагает много общения. Частенько ежедневные задания будут связанны с выполнением действий из вкладок «Дружелюбно», «Романтично» или «Пакости». Но и без рутинных действий здесь не обойтись. Хочешь, не хочешь, а обзавестись компьютером для проверки базы данных придется.
Далее перейдем к рассмотрению всех ступеней карьеры тайного агента.
Ступени карьеры «Тайный агент» и их описание
График работы: Пн, Вт, Ср, Чт, Пт, с 7:00 до 15:00
Заработная плата: 17§ в час
2. Сотрудник разведки
Ваш персонаж еще пока изучает интересные тайны, и у него еще нет доступа к секретным материалам. Начав анализировать сведения разведки, он уже выяснил настоящее ограничение по скорости, секретное слово, чтобы попасть в туалеты для персонала, и правду про посадку на Луну в 30-е гг.
График работы: Пн, Вт, Ср, Чт, Пт, с 7:00 до 15:00
Заработная плата: 19§ в час
3. Руководитель разведки
Подбежать. Уклониться. ВЫРУБИТЬ ЗЛОДЕЯ ПРИЕМОМ ДЗЮДО. Ваш персонаж обожает отдавать приказы. Агенты чувствуют себя в безопасности в его умелых руках, а он сам может осуществить свои шпионские мечты, отправляя агентов на поиски приключений.
График работы: Пн, Вт, Ср, Чт, Пт с 8:00 до 16:00
Заработная плата: 21§ в час
4. Оперативный сотрудник
В фильмах оперативные агенты работают под прикрытием, чтобы попасть в религиозный культ, банду уличных гонщиков или конкурс красоты. На самом деле Ваш персонаж занимается допросом персонажей в шапках из гольфа и выясняет про радиопередатчики, вживленные в зубы. По непроверенным данным.
График работы: Пн, Вт, Ср, Чт, с 10:00 до 18:00
Заработная плата: 37§ в час
5. Главный детектив
Расследовать особо важные дела – это как управлять организацией средних размеров. Надо управлять персоналом, распределять бюджет и сводить баланс. Разница только в том, что если Ваш персонаж провалит операцию, мир пойдет прахом. А в остальном, все тоже самое.
График работы: Пн, Вт, Ср, Чт с 10:00 до 19:00
Заработная плата: 47§ в час
6. Правительственный агент
Ваш персонаж – рьяный патриот и служит на благо человечества. Он защищает своих соотечественников от любого вреда, работая в государственном аппарате. Когда это рвение пройдет, он сможет перейти работать в частный сектор и наконец-то начнет зарабатывать деньги.
График работы: Пн, Вт, Ср, Чт с 10:00 до 19:00
Заработная плата: 52§ в час
7. Тайный агент
В мире шпионов любой незнакомец – потенциальный убийца. Любая ситуация – потенциальная ловушка. Накаченный адреналином, Ваш персонаж живет опасной и разгульной жизнью. А еще у него куча потрясающей маскировки.
График работы: Вт, Чт, Вс с 14:00 до 22:00
Заработная плата: 87§ в час
Специальность «Диамантовый агент»
8. Капитан шпионов
Нынешние молодые агенты даже не представляют, как все происходило в былые годы. Вот почему Ваш персонаж должен был сам прятать тело своей первой жертвы? Собственноручно! Современным детям живется намного проще.
График работы: Ср, Чт, Вс с 14:00 до 22:00
Заработная плата: 173§ в час
9. Невидимый агент
Когда Ваш персонаж стал невидимым агентом, его отпечатки пальцев и водительские права были уничтожены. Он теперь – призрак, фантом, молчаливое существо, незаметно проскальзывающее через системы безопасности и бродящее по посольствам. И иногда выполняющее легкую канцелярскую работу.
График работы: Вт, Ср, Пт, Вс с 14:00 до 23:00
Заработная плата: 208§ в час
10. Двойной диамантовый агент
Ваш персонаж не только носит потрясающие костюмы и попивает напитки с прекрасными незнакомками, но и играет в зарубежное казино за счет агентуры. Профессия международного шпиона и правда очень заманчива.
График работы: Вт, Чт, Вс с 9:00 до 0:00
Заработная плата: 284§ в час
Специальность «Злодей»
8. Двойной агент
Ваш персонаж устает работать с хорошими ребятами и хочет попробовать свои силы в мире злодеев. Вот где зарабатывают большие деньги! Если все получится он, может, перейдет работать на злодеев на полную ставку…
График работы: Вт, Пт, Вс с 14:00 до 22:00
Заработная плата: 191§ в час
9. [Удалено]
Работая на [удалено], Ваш персонаж выполняет много [удалено] и [удалено]. Иногда ему приходится [удалено], но [удалено]. Скоро он [удалено] курс лечения от отравления и перейдет [удалено] велотренажеры [удалено] стальные барабаны.
График работы: Вт, Чт, Пт, Вс с 6:00 до 13:00
Заработная плата: 278§ в час
10. Суперзлодей
Ваш персонаж – отличный злодей! Можно даже сказать, что он – суперзлодей. Но это еще не значит, что он целыми днями приглаживает лысых кошек и придумывает броские фразы. Вы не поверите сколько канцелярской работы приходится переделывать! Много канцелярской работы и пыток. Иногда больше канцелярской работы, иногда – пыток. Когда как.
График работы: Вт, Ср, Пт, Вс с 14:00 до 20:00
Заработная плата: 479§ в час
11. Тройной агент
Поработав на хороших ребят, а потом на плохих, Ваш персонаж решает вернуться к добрым делам, чтобы помочь правозащитникам понять самых злостных преступников. Но на самом ли деле он им помогает, или просто готовит для них ловушку? Кому он сохранит свою верность?
График работы: Пн, Вт, Ср, Пт, Вс с 14:00 до 19:00
Заработная плата: 515§ в час
OSINT или разведка по открытым источникам
Поиск по открытым источникам — это методология сбора и анализа данных, находящихся в открытом доступе, для получения дополнительной информации о цели.
В данной статье расскажем о том, какими методами и средствами можно собирать информацию из открытых источников об организации, покажем примеры такой информации и расскажем о максимально большом количестве утилит и методов, которые могуть помочь увеличить покрытие.
Надеемся, что статья будет полезна как пентестерам и охотникам за ошибками для увеличения области аудита, так и стороне защиты (blue team, application security и т.д.) для защиты инфраструктуры своей организации.
Дисклеймер
В рамках статьи, понятия OSINT, open-source intelligence, recon, reconnaissance, рекогносцировка и поиск по открытым источникам будут синонимами.
В статье приведены только бесплатные программы, с открытым исходным кодом и программы с пробным периодом.
С чего все начинается
Самым первым этапом проведения пентеста (после заключения договора) является выделение области тестирования и сбор информации о цели. В зависимости от специфики конкретного пентеста количество изначальных сведений может отличаться, однако, предполагается, что на данном этапе мы знаем:
Род деятельности организации.
Доменное имя организации.
Что можно получить благодаря поиску в интернете?
Из одного домена сделать множество доменов и поддоменов.
Найти новые точки входа.
Найти интересные пути в веб-приложениях и API.
Получить информацию об используемом ПО, аппаратных компонентах и используемых языках программирования.
Найти учетные записи, которые могут быть активными в целевых веб-приложениях.
OSINT workflow\mindmap
Казалось бы, что пользоваться поисковыми системами умеет каждый, но при этом множество исследователей пишут огромные статьи и майндмапы как они эффективно ищут в интернете. Например, по ссылке доступна подборка таких майндмапов. Подборке уже несколько лет, но она все еще остается актуальной.
Стоит заметить, что осинт это циклический процесс: если мы находим какую-либо информацию, например, новый IP адрес или доменное имя, то для них надо проделать все те же шаги, которые мы прошли, чтоб их найти.
OSINT Framework
Самый популярный майндмап для поиска по открытым источникам это OSINT Framework.
Его прелесть в том, что он вобрал в себя всевозможные сайты, утилиты и базы данных, которые могут быть полезны при реконе. На любой ваш вопрос по осинту, скорее всего, в нем будет ответ.
Единственный минус в том, что он сделан для стран наподобие США, и он не учитывает, что в России своя специфика.
Активная и пассивная разведка
Рекон подразделяется на 2 этапа: пассивная и активная разведка.
Пассивная разведка
Во время пассивной разведки вы никак не взаимодействуете с вашей целью. Вы не отправляете ей пакеты со своего компьютера, вы не резолвите доменные имена на серверах цели, вы не пингуете ее айпишники, вы не заходите на ее веб-приложения, и даже двери офиса не трогаете.
Примеры данного этапа разведки:
Поиск в поисковых системах типа Google и «хакерских» поисковых системах, просмотр баз данных с утечками, анализ вакансий на HH и linkedin, извлечение метаданных из публично доступных файлов и т.д.
Активная разведка
Взаимодействие с инфраструктурой организации: скан портов, перебор директорий, запуск «шумных» сканеров (Acunetix, Burp Pro Active Scanner и т.д.), фаззинг параметров, резолвинг большого количества доменных имен на серверах цели и т.д.
Такие действия создают много логов в SIEM-системах, триггеров в SOC и могут даже положить несколько серверов.
В данной статье будет затронута только тема пассивной разведки.
Начинаем разведывать
Давайте для начала вспомним про самые популярные записи DNS, которые могут быть нам полезны:
А запись — соответствие домена IPv4-адресу.
AAAA запись — соответствие домена IPv6-адресу.
CNAME — Canonical name — используется для того, чтобы один домен мог указывать на другое имя домена.
MX — Mail Exchange — адрес почтового сервера.
TXT — большая текстовая строка длиной 65535 байт. Используется для публичных ключей, SPF, и другой информации.
NS — Name Server — указание на сервер резолвинга доменных имен.
SOA — Start of Authority — информация об администраторе домена. Используется при делегировании домена. В записи содержится Name Server, ответственное лицо и таймстемпы, относящиеся к срокам делегирования.
PTR — Pointer — содержит IP-адрес, который указывает на домен при reverse DNS lookup (обратном резолвинге).
Пример некоторых DNS записей
Доменные имена
Самое первое и простое что мы можем сделать — это порезолвить доменные имена. Для этого есть десятки утилит, как терминальных так и доступных онлайн.
Неполный список утилит и сервисов, которые могут разрезовлить доменное имя:
Nslookup (linux\windows nslookup yandex.ru).
Ping (linux\windows ping yandex.ru).
Traceroute (linux traceroute ya.ru \ windows tracert ya.ru).
Dig (linux dig @8.8.8.8 yandex.ru ANY).
getent (linux getent hosts yandex.ru).
Вывод различных утилит для резолва доменных имен
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Помимо соответствия IP-адрес—домен мы можем узнать, например, DNS-серверы, с помощью утилиты nslookup, а также можем получить все DNS-записи, например, командой dig.
Получение NS Записей доменного имени yandex.ru утилитой nslookup
Получение всех записей для доменного имени yandex.ru утилитой dig
Имея IP-адреса веб-приложений мы можем начать смотреть соседние IP-адреса в подсетях, перебирать виртуальные хосты и изучать владельцев этих IP-адресов.
DNS-серверы нам могут в дальнейшем помочь при активной разведке для перебора поддоменов и проведения различных атак.
Whois
Whois — протокол, основная цель которого заключается в получении регистрационных данных о владельцах доменных имён, IP-адресах и автономных систем (ASN).
Изначально целью появления системы Whois было дать возможность системным администраторам искать контактную информацию других администраторов серверов по IP-адресам и доменным именам.
Неполный список утилит и сервисов, которые могут разрезовлить доменное имя:
Whois (windows\linux whois yandex.ru и whois 77.88.55.77)
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Из вывода Whois можно получить email-адреса владельцев и администраторов, адреса DNS-серевров, подсети и ASN.
Вывод утилиты whois для доменного имени yandex.ru
Вывод утилиты whois для IP-адреса 77.88.55.77
Whois history
Существуют сервисы периодически собирающие и агрегирующие записи Whois. Благодаря таким сервисам можно поностальгировать и получить использующиеся ранее почты, хостинги, DNS-серверы и целые подсети:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Reverse Whois
Тогда как Whois выдает сведения по доменым именам или IP-адресам, обратный Whois позволяет искать по всей информации, которая есть в выводе обычных Whois, например, по email-адресам, по именам владельцев, по организациям и т.д.
Таким образом можно расширить скоуп найдя новые email-адреса, хостинги, DNS-серверы, подсети, доменные имена и поддомены.
Неполный список сервисов, которые могут искать по содержимому Whois:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Поиск по содержиму Whois позволяет находить забытые администраторами веб-приложения и сервисы, особенно, если использовать его вместе в поиском по истории Whois.
Также можно обнаружить:
Домены и поддомены.
SPF и DMARC
SPF и DMARC нужны для отправки и приема почты, а в частности для того чтобы злоумышленники от вашего имени не отправляли письма.
SPF — это подпись, содержащая информацию о серверах, которые могут отправлять письма. В SPF используются свои правила и синтаксис. В том числе, в ней содержатся IP-адреса и доменные имена.
DMARC — это политика, которая показывает как обращаться с письмами, которые пришли не с доменов указанных в SPF.
Неполный список утилит для поиска и анализа SPF и DMARC:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Для анализа SPF также есть selfhosted утилита, которая извлекает поддомены из SPF записей https://github.com/0xbharath/assets-from-spf.
Пример запуска и результат работы утилиты
python assets_from_spf.py spacex.com
Анализ содержимого SPF-записи доменного имени spacex.com утилитой assets_from_spf
IP и подсети
Reverse DNS lookup
Обратный резолв DNS-адресов — поиск по PTR записям DNS. Если администратор добавил такую запись, то по IP-адресу можно будет узнать, какие доменные адреса на него указывают.
Неполный список сервисов, которые могут провести Reverse DNS lookup:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
В приложениях часто используется роутинг на основании имени хоста (vhosts), поэтому зная только IP-адрес, мы попадем на страницу ошибки веб-сервера, а с помощью Reverse DNS lookup можно получить имя хоста и добраться к самому веб-приложению.
DNS history
История DNS записей домена. Существуют сервисы, которые запоминают записи DNS, и показывают их историю.
Сервис https://viewdns.info/iphistory, запоминает только A записи доменов и дату привязки.
Пример результата работы веб-приложения
А сервис https://securitytrails.com/, помимо А записи, позволяет искать также по АААА, MX, NS, SOA и TXT записям.
Пример результата работы веб-приложения
Что это нам дает?
Это позволяет расширить область аудита, узнав новые IP-адреса, а также получить:
Если узнать IP-адреса, которые использовались ранее, тогда можно даже обойти Web Application Firewall. Поиск старых IP-адресов, например, один из методов обхода защиты Cloudflare.
Помимо приведенных выше веб-сервисов можно также воспользоваться selfhosted решениями:
Пример запуска и результат выполнения утилиты
Перед первым запуском изменить ключи от API сервисов в файле data/apis/api.conf.
Поиск утилитой сloudmare.py IP-адресов, ранее указовывших на доменное имя yandex.ru
https://github.com/m0rtem/CloudFail (проект сейчас мертв, но, надеемся, что скоро его оживят)
ASN lookup
ASN (autonomous system number) — номер автономной системы.
Интернет состоит из локальных сетей, каждая из которых имеет подсети и свои политики маршрутизации, и которые соединяются с другими локальными сетями. Одна такая локальная сеть, это одна автономная система и у нее есть уникальный номер — ASN. Эти номера используются в BGP-маршрутизации.
По номеру AS можно посмотреть IP-адреса и подсети, которые в ней содержатся. Если это большая компания, типа Яндекса, или университетов, то можно предположить что вся AS принадлежит этой компании, и большая ее часть, может войти в область аудита. Также в выводе можно обнаружить почтовые адреса и другую информацию о компании.
Неполный список сервисов, которые имеют возможность поиска по ASN:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Поисковые системы
Как гуглить?
Вы каждый день пользуетесь поисковиками типа Google или Яндекс, но, наверное, не все подозревают, что умеет этот самый Google.
Используя немного магии поиска можно получить множество полезной информации.
Что можно получить из поисковой системы?
Информацию об утечках учетных данных.
Комментарии в исходном коде.
Веб-страницы для разработчиков (например dev.*).
Файлы и страницы, содержащие секреты и пароли.
Потенциально опасные файлы.
URL-адреса и пути, которые могут являться точками входа.
Другие ресурсы, связанные с организацией.
Как искать?
Для поиска нужно использовать специальные операторы. Например, список операторов для Google:
– исключить из поиска.
Site:itmo.ru – поиск в пределах сайта.
cache:itmo.ru – возвращает кэш сайта.
filetype:txt – только txt файлы.
related:itmo.ru – сайты связанные с искомым.
inurl:test – в URL встречается слово test.
intitle:test – в Title встречается слово test.
intext:test – в тексте встречается слово test.
В других поисковых системах список операторов может отличаться.
По продвинутому использованию поисковиков существует множество статей, поэтому не будем углубляться в эту тему:
https://habr.com/ru/post/437618/ — полный список операторов поиска Google.
https://www.tutorialspoint.com/google_hacking_tests.htm — однокнопочное решение для поиска: вводите домен, нажимаете на нужную кнопку и получаете вывод Google.
Пример результата работы веб-приложения
Поисковые системы для хакеров
Помимо поиска в обычных поисковых системах типа Google можно искать в специальных «хакерских» поисковых системах. Примеры таких поисковиков:
Эти сервисы постоянно сканируют весь интернет, и заполняют свои базы ответами серверов.
Все приведенные выше сервисы имеют платные функции, но без покупки подписки можно получить ограниченный вывод, ограниченную функциональность или ограниченное количество запросов в месяц.
Shodan
Сервис позволяет искать по IP-адресам, портам и содержимому ответов сервера. Это может позволить найти новые поддомены, а также то, что не смог найти Nmap.
Для поиска используется свой синтаксис, с которым можно ознакомиться по ссылке https://help.shodan.io/the-basics/search-query-fundamentals.
Censys
Censys этот тот же самый Shodan, но более новый и с приятным интерфейсом.
Опять же используется свой синтаксис, с которым можно ознакомиться по ссылке: https://search.censys.io/search/language.
Binaryedge
Еще более новая разработка это сервис BinaryEdge.
binaryedge.io — поиск поддоменов для доменного имени yandex.ru
Помимо тех же функций, которые имеются и в Shodan и в Censys, данный сервис еще умеет искать поддомены, email-адреса в утечках данных, умеет искать изображения, связанные с доменом, и в этих картинках умеет искать по тексту.
binaryedge.io — поиск по изображениям для доменного имени yandex.ru
В сервисе есть еще несколько различных функций, но они уже недоступны в бесплатных и пробных версиях.
Документация с примерами доступна по ссылке: https://docs.binaryedge.io/search/.
Метаданные
Каждый раз, когда вы создаете или редактируете файл, в нем остается множество метаданных. Когда вы загружаете этот файл в интернет, зачастую метаданные сохраняются. Так как поисковые системы индексируют файлы, вы можете найти их, например, в google используя оператор поиска file.
Существуют уже готовые решения, которые позволяют ввести домен, выбрать интересующие расширения файлов и ожидать результатов:
Пример запуска и результат выполнения утилиты
Поск метаданных с помощью утилиты metagoofil.py для доменного имени yandex.ru
Пример запуска и результат выполнения утилиты
Что нам это дает?
Используемые операционные системы
Системы контроля версий
Системы контроля версий (github, gitlab и т.д.) также обладают возможностями расширенного поиска. У них свой синтаксис и свои «дорки».
Поиск слова password в файлах secrets.yml в системе контроля версий github.com
Что нам это дает?
Части кода приложений.
Несколько полезных ссылок для поиска по коду:
Пример результата работы веб-приложения
https://searchcode.com/ — ищет по опубликованному исходному коду в публичных системах контроля версий.
Пример результата работы веб-приложения
https://github.com/techgaun/github-dorks — полезная информация по операторам поиска на github.
Также есть несколько selfhosted сервисов для поиска секретов на github:
Пример запуска и результат выполнения утилиты
Основная прелесть утилиты в том, что она постоянно производит сканирование репозиториев, и как только появляются секреты в коммитах, оперативно вам об этом сообщает.
Со стандартными настройками утилита будет сканировать все системы контроля версий в поисках заданных сигнатур в файле config.yaml. Для эффективного поиска данных по заданной цели рекомендуется писать свои сигнатуры.
Запуск утилиты shhgit для поиска секретов на github.com
Для демонстрации можно попробовать указать в параметре search-query интересующую строку, например:
Запуск утилиты sshgit для поиска строки yandex на github.ru
Также можно указать локальные репозитории для поиска секретов.
Запуск утилиты sshgit для поиска секретов в репозиториях, расположенных на файловой системе
Сведения об установке, пример запуска и результат выполнения утилиты
При установке могут возникнуть проблемы.
Рекомендуется воспользоваться таким способом установки:
git clone https://github.com/michenriksen/gitrob.git
go mod init github.com/michenriksen/gitrob
go mod download github.com/elazarl/go-bindata-assetfs
go get github.com/michenriksen/gitrob/core
Для работы нужно экспортировать токен доступа в переменную среды:
Запуск утилиты gitrob для поиска секретов в репозиториях организации
Результаты доступны как в терминале, так и в веб-версии.
Веб-версия утилиты gitrob, содержащая результатаы анализа репозиториев
Утилита ищет секреты в репозиториях на файловой системе.
Пример запуска и результат выполнения утилиты
Запуск производится в директории целевого реозитория:
Запуск утилиты gitleaks для поиска секретов в репозитории на файловой системе
Также, если мы нашли никнеймы и email-адреса сотрудников, мы можем поискать их аккаунты в различных системах контроля версий, и посмотреть, что они коммитят. Потенциально возможно найти в личных репозиториях сотрудников части кода приложений компании-цели.
Также, стоит заметить, что нужно анализировать не только последнюю версию исходного кода в ветке master, но и предыдущие коммиты. Сотрудник может закоммитить критичные данные в систему контроля версий, понять, что он «накосячил» и удалить их следующим коммитом. Не удалив сам коммит из истории.
Что еще можно получить из систем контроля версий?
Gitlab имеет возможность перечисления пользователей по URL-адресам вида: https://gitlab.com/api/v4/users/1, где 1 это порядковый номер пользователя. В selfhosted версиях gitlab такая уязвимость тоже присутствует.
gitlab.com — вывод информации о пользователе
Помимо ссылок на социальные сети, из вывода API Gitlab можно получить захэшированное значение почты пользователя в параметре avatar_url. Если мы знаем, например, имя домена и ФИО пользователя, то восстановить исходное значение не составит труда, ведь для хэширования используется md5.
Также в системах контроля версий существуеют возможность получения публичных ssh и gpg ключей. Получить их можно по URL-адресам следующего вида:
gitlab.com — вывод информации о ключах шифрования пользователя
Subdomain enumeration
Subdomain enumeration — в дословном переводе означает перечисление поддоменов, а смысл у словосочетания примерно следующий: «использовать все известные методы для получения как можно большего числа поддоменов».
Запуск утилиты sublister для поиска поддоменов для доменного имени yandex.ru
Для получения списка поддоменов существуют онлайн базы, а также утилиты, которые требуется запускать локально, после чего они будут делать запросы в различные онлайн сервисы и поисковые системы.
Неполный список сервисов и утилит, которые могут показать список поддоменов для домена:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Как получить поддомены с помощью Cloudflare
У сервиса есть довольно интересная функциональность, учитывая то, что Cloudflare создан для защиты от атак.
Если зарегистрироваться с бесплатным аккаунтом в Cloudflare, то можно будет начать добавлять свой сайт в сервис, причем неважно, привязан он к какому-нибудь аккаунту или нет.
На первом шаге вводим доменное имя цели, а на следующем шаге, Cloudflare нам предоставляет известные ему поддомены с их A записями. Вероятно, это создано для того, чтобы вы привязали как можно больше поддоменов к сервису для защиты от атак, но для разведчика, эта функциональность позволяет получить несколько новых поддоменов и IP-адресов.
cloudflare.com — поиск поддоменов для доменного имени yandex.ru
По имени домена утилита выводит поддомены, IP-адреса, MX и TXT записи, открытые порты и версии программного обеспечения, DNS-серверы. Также утилита строит красивый граф.
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Утилита для поиска поддоменов в открытых источниках. Также может перебирать поддомены по словарю, с помощью утилиты subbrute.
Пример запуска и результат выполнения утилиты
Запуск утилиты sublister для поиска поддоменов для доменного имени yandex.ru
Очередная утилита для пассивного поиска поддоменов.
Пример запуска и результат выполнения утилиты
Для лучшего вывода рекомендуется в конфигурационном файле добавить API ключи сервисов (рекомендуется использовать как минимум SecurityTrails, GitHub, Shodan и VirusTotal).
Запуск утилиты subfinder для поиска поддоменов для доменного имени yandex.ru
Результат поиска поддоменов для доменного имени yandex.ru утилитой subfinder
Утилита, как и Sublist3r, ищет информацию о доменах в открытых источниках. Однако, использует гораздо большее число источников, в том числе требующие API-ключи.
Пример запуска и результат выполнения утилиты
Предварительно рекомендуется создать конфигурационный файл с API-ключами сервисов (рекомендуется использовать как минимум SecurityTrails, GitHub, Shodan и VirusTotal).
Запуск утилиты amass для поиска поддоменов для доменного имени yandex.ru
Очень быстрая утилита для резола доменов с достаточно большим количеством ошибок. Позволяет разрезолвить миллион доменных имен за минуту.
Пример запуска и результат выполнения утилиты
Рекомендуется запускать на серверах с широким каналом, а не на домашних ПК.
Процесс резолвинга поддоменов утилитой massdns
Результат резолвинга поддоменов утилитой massdns для домена yandex.ru
Обертка для massdns. Его преимущество заключается в том, что данная утилита удаляет из вывода поддомены, если слишком большое количество доменов указывает на один IP-адрес, тем самым повышая качество вывода.
Пример запуска и результат выполнения утилиты
Резолвинг поддоменов утилитой massdns для домена yandex.ru
Подробнее, об указанных выше утилитах, а также десятках других утилит, можно прочитать в статье: https://pentester.land/cheatsheets/2018/11/14/subdomains-enumeration-cheatsheet.html.
SSL\TLS сертификаты
Получение новых поддоменов из сертификатов
Для шифрования трафика у веб-приложения должен быть сертификат, по которому браузер пользователя сможет определить, что этот сайт надежен.
Google решил, что протокол https недостаточно надежный, и создал свой проект по мониторингу и проверке сертификатов https://transparencyreport.google.com/https/certificates
Этот сервис предназначен не для тестирования на проникновение или разведки, но так как сертификаты выпускаются как для доменов, так и для поддоменов, а иногда один сертификат даже включает в себя множество доменов и поддоменов, сервис Google может дать нам довольно много информации.
transparencyreport.google.com — поиск сертификатов для доменного имени yandex.ru и его поддоменов
Также есть еще как минимум два онлайн сервиса с подобной функциональностью:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример запуска и результат выполнения утилиты
Поиск сертификатов для доменного имени yandex.ru и его поддоменов утилитой certgraph
Для построения графов нужно запустить утилиту с ключом «json» и скопировать вывод на веб-страницу.
Поиск сертификатов для доменного имени yandex.ru и его поддоменов утилитой certgraph с выводом в формате json
Визуализация найденной информации утилитой certgraph
SSL\TLS scan
Сертификаты также можно провалидировать. Для этого есть онлайн сервисы, которые за нас отправляют запросы на серверы нашей цели.
ssllabs.com — анализ конфигурации SSL\TLS веб-серверов
Из вывода этих сервисов мы можем опять же получить поддомены, которые есть в сертификате, а также эти сервисы могут найти уязвимости в используемой криптографии или протоколах.
Еще эти сервисы выводят http-ответы серверов, в которых может находиться версия сервера или используемого ПО.
Неполный список сервисов, которые могут просканировать сертификаты.
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Версия используемого ПО на сервере
Credentials stuffing
Credentials stuffing — это атака, при которой атакующий находит почты пользователей и ищет пароли от них в базах утечек, а затем пытается вставить их во все возможные формы входа целевой системы.
Пароли можно поискать в следующих сервисах:
https://haveibeenpwned.com/ — самый популярный сервис поиска утечек email-адресов.
Пример результата работы веб-приложения
https://krevetk0.medium.com/credential-stuffing-in-bug-bounty-hunting-7168dc1d3153 — статья исследователя, в которой он рассказывает, как он неоднократно эксплуатировал данную уязвимость в bugbounty.
https://psbdmp.cc/ — сервис, который автоматически находит строки, похожие на пароли в файлах, размещенных на веб-сайте pastebin.com
Пример результата работы веб-приложения
Collection #1 — сборник практически всех утечек, которые попадали в интернет.
Поиск email-адресов
Для проведения атак credential stuffing для социальной инженерии и других атак, необходимо иметь список email-адресов и/или юзернеймов пользователей. Также по email-адресам можно делать поиск reverse Whois.
Нам известно два сервиса, которые собирают email-адреса:
https://hunter.io/search — помимо адресов, показывает еще и страницы, где он их нашел.
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Также, существует утилита, позволяющая провалидировать почтовые адреса https://github.com/reacherhq/check-if-email-exists. Причем она работает без отправки писем на адреса цели. Можно не хостить ее у себя, а воспользоваться веб-версией от разработчиков, с ограничением на количество запросов https://reacher.email/.
Пример общения с веб-версией
reacher.email — проверка существования почтового адреса noc@vk.com
Email-адреса также можно получать из метаданных файлов и парсить из социальных сетей.
Linkedin\hh.ru\\career
На сайтах типа linkedin и hh, а также на сайтах компаний, на эндпоинтах \career или \job, можно найти вакансии, в которых зачастую присутствует полезная информация.
В своих резюме и на Linkedin, пользователи часто указывают кем и где они работают, и часто в описаниях своей работы пишут, чем они конкретно занимаются, например, «поднимал почтовый сервер под названием таким-то», или пишут, что они «переписывали легаси-код с такой-то платформы, но не упели за время своей работы».
Существуют специализированные парсеры соцсетей, например для Linkedin есть минимум 2 парсера:
Пример запуска и результат выполнения утилиты
https://github.com/joeyism/linkedin_scraper — библиотека на python для продвинутых пользователей, для упрощения парсинга linkedin.
Используя эти сервисы, можно получить фамилии и имена сотрудников с их аватарами. По аватарам можно найти другие соцсети сотрудников и попробовать найти что-то полезное, но поиск людей, это тематика для другой статьи.
Если мы знаем формат почты (например имя.фамилия@домен или первая_буква_имени.фамилия@домен), то мы можем из полученных ранее данных составить список почт сотрудников.
Что нам это дает?
Стеки технологий и используемое ПО
Информация о сотрудниках для соц. инжнерении
Личные соцсети сотрудников
В данном разделе собраны подходы, которые не удалось объединить более общими тематиками.
Co-hosting
Анализ co-hosting-а позволяет смотреть кто хостится у этих же провайдеров. Это не принесет полезной информации, если хостинг является, например, hostinger или digital ocean, однако, если компания достаточно большая, у которой есть свои подсети и AS, то мы можем найти доменные имена, расположенные в этих подсетях, которые с большой вероятностью относятся к нашей цели.
Для этого можно воспользоваться сервисом https://securitytrails.com/.
Пример результата работы веб-приложения
Из этой информации мы можем получить новые поддомены и домены.
Threat Hunting
Вы наверняка знаете что есть сервис VirusTotal, в который можно загрузить подозрительный сэмпл файл и он проверит его на наличие в базах антивирусного ПО, а также можно ему передать ссылку и он также проверит ее на вредоносность. Нам для разведки интересно то, что он еще умеет проверять доменные имена по базам.
virustotal.com — информация о доменном имени raidforums.com в виде графа
На примере домена raidforums.com, VirusTotal показал множество файлов, которые кто-то загружал для проверки, несколько поддоменов, вывел содержимое Whois, показал IP-адреса и сертификаты. И еще построил граф.
К сожалению, в бесплатной версии мы не можем скачать файлы, которые были загружены в сервис, но это может дать нам подсказку, что можно искать в Google.
Существует несколько сервисов с аналогичной функциональностью, например https://www.threatcrowd.org/. Он может все тоже самое, что и VirusTotal, но у них могут быть разные сведения о доменах.
У этих сервисов также есть платные функции, возможно с их помощью можно получить еще больше информации.
Wayback machine
Wayback machine — проект по сохранению всего интернета, который периодически делает снапшоты популярных сайтов.
archive.org — веб-приложение, расположенное на доменном имени yandex.ru в 1998 году
Существует утилита, которая извлекает URL-адреса, сохраненные в Wayback Machine: https://github.com/tomnomnom/waybackurls.
Поиск URL-адресов в сервисе waybackmachine для доменного имени test.ru с помощью утилиты waybackurls
Тендеры и закупки
При публикации тендеров, заказчики прикладывают к заявке технические задания с описанием требований к исполнителям. Из технического задания можно получить дополнительную информацию о используемом в компании ПО и оборудовании.
Также можно извлечь метаданные из приложенных файлов и получить ФИО сотрудников и версию ПО для обработки документов.
Пример тендерной закупки компании Яндекс.Деньги
Website fingerprinting
Используя специальные сервисы, не заходя на целевой веб-сайт, мы можем посмотреть версии ПО которые там используются, а также CMS системы, на которых работает веб-сайт, если они есть.
Для этого можно воспользоваться следующими сервисами:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Такие сервисы парсят заголовки HTTP-ответов, чтобы получать версии ПО, а также смотрят на содержимое страниц для профилирования.
BugBounty
Далеко не все компании имеют публичную платформу вознаграждений за поиск ошибок, но для больших и крупных это становится одной из лучших практик ИБ.
Что мы оттуда можем достать?
Расширить область аудита доменами и поддоменами из раздела Scope.
Изучить сданные отчеты и узнать используемое в компании ПО и примеры уязвимостей, которые уже сдавали в программу.
Где искать информацию?
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Информацию о BugBounty конкретной организации также можно найти по в файле /.well-known/security.txt, в котором обычно публикуется информация о программе и том куда можно писать о найденных уязвимостях. Подробнее о проекте можно прочитать по ссылке https://securitytxt.org/.
Пример содержимого файла security.txt
Также существует веб-приложение, которое агрегирует уязвимости с HackerOne, с удобным поиском и фильтрами: http://h1.nobbd.de/.
h1.nobbd.de — поиск публичных отчетов по запросу mail.ru
Wi-Fi анализ
https://wigle.net/ — сервис, который собирает Wi-Fi точки доступа по всему миру.
Сервис не позволяет просто на карте кликать на точки доступа, однако он позволяет искать по, например, SSID (имя точки доступа). А также он поддерживает регулярные выражения: «%» — ноль или более любых символов и «_» — один любой символ.
Поиск точек доступа Wi-Fi с именем yandex в сервисе wigle.net
Эту информацию можно использовать для атак типа Rogue access point и атак социальной инженерии.
MAC address lookup
В рамках пассивной разведки, маловероятно, что вы получите MAC-адреса устройств вашей цели. Однако, если вам как-то удалось их заполучить, то имея только MAС-адрес можно идентифицировать сетевое устройство.
macvendorlookup.com — идентификация сетевого устройства по MAC-адресу
MAC-адрес можно разделить на 6 октетов, где первые 3 принадлежат компании-производителю сетевого устройства, а вторые 3 октета являются идентификатором самого устройства.
Используя специальные сервисы и читщиты производителей, можно попробовать узнать не только производителя, но и название самого устройства:
Пример результата работы веб-приложения
Script Kiddy way
Искать информацию руками долго и утомительно, зато надежно. Однако хакеры придумали комбайны, которые все сделают за вас. Этих комбайнов десятки, если не сотни, вот несколько примеров:
В чем отличие от ручного поиска?
Их преимущество в том, что освобождают человека от рутинных задач.
А недостатки заключаются в следующем:
Длительная первоначальная конфигурация.
Длительное время работы.
Необходимость (желательность) предоставления API-ключей от различных сервисов (балансы которых они быстро опустошат).
Большое количество ошибок как первого так и второго рода (множество лишней информации и отвергнутая нужная информация)
Если вы знаете еще интересные способы поиска информации в интернете, то пишите об этом в комментариях!