Раскрытие возможностей IRC: Максимальное руководство по сбору информации
Internet Relay Chat (IRC) давно стал надежной платформой для текстового общения в реальном времени. Однако IRC – это не только чат; он предлагает богатый набор команд, которые можно использовать для сбора информации и эффективного общения. В этом подробном руководстве мы рассмотрим наиболее ценные команды IRC для сбора информации, а также возможности команд протокола CTCP (Client-to-Client Protocol). Приготовьтесь отправиться в путешествие за открытиями, раскрывая скрытый потенциал IRC.
Основы
Прежде чем переходить к деталям, давайте познакомимся с некоторыми основами IRC. Что такое IRC? Это что-то вроде приложения? Или веб-сайт?
В основе IRC лежат серверы, на которых размещаются сети IRC. Эти серверы выполняют роль концентраторов, соединяя пользователей из разных мест и облегчая общение между ними. Каждая IRC-сеть состоит из множества серверов, связанных между собой и образующих обширную сеть взаимосвязанных узлов. Как правило, в контексте IRC названия “IRC-серверы” и “IRC-сети” используются как взаимозаменяемые.
Пользователи подключаются к IRC-серверу с помощью IRC-клиента (Irssi, Hexchat), который представляет собой программное обеспечение, позволяющее взаимодействовать с IRC-сетью. Клиент предоставляет удобный интерфейс, с помощью которого пользователи могут присоединяться к каналам, отправлять сообщения и участвовать в обсуждениях.
Каналы – это виртуальные пространства в сети IRC, где пользователи могут собираться и вести беседы на определенные темы. Каналы обозначаются символом “#”, за которым следует уникальное имя, например “#osintforall” или “#programming”. Пользователи могут присоединяться к интересующим их каналам, чтобы общаться с единомышленниками, делиться знаниями и обсуждать различные темы.
Когда пользователи присоединяются к каналу, они могут отправлять в него сообщения, которые видны всем участникам. Эти сообщения можно видеть и отвечать на них в режиме реального времени. Пользователи также могут отправлять личные сообщения другим участникам сети, что позволяет вести беседу один на один.
Аналогии
Попробуйте представить себе “серверы” Discord, где мы присоединяемся к какому-либо серверу, например, к серверу Osint For All, и можем присоединяться к отдельным каналам на нем. Несмотря на то, что в Discord мы можем делать много других вещей по сравнению с IRC, идея, лежащая в его основе, примерно та же.
Одно из преимуществ IRC перед Discord заключается в том, что нам не обязательно регистрироваться на сервере и присоединяться к каналам, в то время как в Discord нам нужно сначала создать учетную запись, а затем уже присоединяться и общаться на разных серверах.
IRC-клиенты
IRC-клиент – это программное приложение, позволяющее пользователям подключаться к IRC-серверам и взаимодействовать с ними. Он служит интерфейсом между пользователем и IRC-сетью, позволяя ему участвовать в текстовых беседах в реальном времени, присоединяться к каналам и выполнять различные действия.
IRC-клиенты бывают разные: автономные настольные приложения, веб-клиенты и клиенты командной строки. Они предоставляют удобный интерфейс, упрощающий процесс подключения к IRC-серверу и навигацию по сети.
Рекомендации следующие.
- Irssi (командная строка)
- Hexchat (графический интерфейс)
Создание основы (советы Opsec)
В демонстрационных целях мы будем использовать клиент Irssi и подключаться к сети Libera Chat.
На изображении выше мы подключились к серверу/сети Libera Chat. А текст, заключенный в красный прямоугольник, – это псевдоним, который был задан ранее.
Для того чтобы скрыть себя, мы можем изменить, real_name, hostname и nickname в Irssi с помощью команды /set.
Как видно из приведенного выше изображения, мы изменили наши real_name, hostname и nickname на Ultrachad.
1.WHOIS: Команда WHOIS позволяет получить подробную информацию о конкретном пользователе, включая его псевдоним, имя пользователя, имя хоста, реальное имя, информацию о сервере и каналах, на которых он сейчас находится.
Использование: /whois
Как видно из приведенного выше изображения, с помощью /whois мы собрали основную информацию о пользователе по имени amoghavarsha (Это я!). И помните, что мы еще не вошли в систему как пользователь, но мы все еще можем просто подключиться к серверу и собрать основную информацию о пользователях.
Для того чтобы войти в систему, мы можем использовать команду /msg nickserv identify amoghavarsha, как показано на рисунке ниже.
После входа в систему мы также можем воспользоваться маскировкой, предоставляемой чатом Libera, присоединившись к #libera-cloak и набрав !cloakme. Cloaks/Cloaking помогает скрыть наш IP-адрес и заменить его на случайный в зависимости от сервера/сети.
2.WHOWAS: Команда WHOWAS позволяет получить подробную информацию о конкретном пользователе, включая его псевдоним, имя пользователя, имя хоста, реальное имя, информацию о сервере, который он мог иметь ранее.
Как видно на рисунке ниже, при поиске пользователя по имени john мы получили его предыдущие записи.
К счастью, в нашем примере мы получили и другую дополнительную информацию о пользователе john, помимо его предыдущих подключений. Здесь мы видим новый IP-адрес, к которому мог подключиться john, а также можем предположить, что john может использовать почтовый клиент Thunderbird. Подтвердить это невозможно, если только не провести физическую экспертизу, что не входит в задачи данного руководства, но интуиция подсказывает, что есть большая вероятность того, что он использует Thunderbird.
3.LIST: Команда LIST позволяет получить обзор каналов на сервере с указанием их тематики и количества пользователей в каждом канале.
Как видно на рисунках ниже, мы перечислили все каналы чат-сервера Libera (от А до Я), для получения огромного списка всех каналов сервера мы используем флаг -y в Irssi.
4.JOIN: Команда JOIN позволяет присоединиться к определенному каналу.
Как показано на рисунке ниже, давайте присоединимся к каналу #python.
Вот что интересно, когда мы присоединились к каналу, мы видим, что наш IP-адрес скрыт, и он заменен на user/Amoghavarsha. Таковы некоторые преимущества наличия учетной записи, а также маскировки, о которой мы говорили ранее.
5.NAMES: Команда NAMES позволяет получить имена (псевдонимы) всех пользователей группы.
Как видно на рисунке ниже, мы получили много имен из группы python. Вступление в определенные группы для изучения цели – один из лучших способов отследить их деятельность. Полезно иметь представление/интуицию о предпочтительных каналах целевой аудитории. Об этом можно догадаться, отслеживая их активность в Интернете на платформах социальных сетей.
6.WHO: Команда WHO аналогична WHOIS, но в кратком виде.
Как видно на рисунке ниже, мы просто искали случайного пользователя из группы #python по нику lack, чтобы получить основную информацию. К счастью, мы получили предположительно настоящее имя пользователя (Jim Ramsay) и его электронную почту (i.am@jimramsay.com), а также его сайт (jimramsay.com).
Кроме того, при проверке записей /WHOIS и /WHOWAS мы получили ряд интересных сведений, таких как их последний вход в систему и каналы, на которых они активны.
7.MODE: Команда MODE отображает или изменяет режим пользователя или канала, позволяя контролировать различные аспекты, такие как модерация канала, права пользователей и настройки канала.
Так, на рисунке ниже при проверке MODE канала python мы получили некоторую основную информацию, такую как дата создания канала, человек, задавший тему, и т.д.
8.MOTD: Команда MOTD отображает на сервере “Сообщение дня”, обычно задаваемое администратором.
На рисунке ниже мы видим MOTD чата Libera.
Нишевая область
Поскольку мы рассмотрели некоторые основные команды сбора информации, попробуем рассмотреть еще одну команду и ее разновидности.
9.CTCP: CTCP расшифровывается как ‘протокол клиент-клиент’, который пытается предоставить некоторую базовую информацию о клиентах и сервисах цели.
Обычная команда: /CTCP .
Например, на рисунке ниже мы получили информацию о клиенте lack с помощью команды CTCP VERSION.
Usuage: /CTCP VERSION
Команда CTCP VERSION позволяет получить версию клиента пользователя и узнать, какое программное обеспечение IRC-клиента он использует.
Далее, когда мы попробовали использовать команду CTCP TIME на другом нике (lexandrop), то получили следующий результат.
Usuage: /CTCP TIME
Команда CTCP TIME запрашивает локальное время IRC-клиента пользователя.
Некоторые интересные команды CTCP
Существуют некоторые команды CTCP, которые интересны, но не всегда гарантируют результат. Это связано с тем, что со временем IRC-клиенты сильно усовершенствовались, и некоторые старые IRC-команды устарели. Но мы никогда не знаем, что можем получить, поэтому я расскажу о некоторых командах CTCP, которые стоит попробовать.
- CTCP PING: Команда CTCP PING измеряет время прохождения в оба конца (RTT) между нашим клиентом и клиентом целевого пользователя, что позволяет судить о задержке в сети.
Usuage: /CTCP <NICKNAME> PING
- CTCP ACTION: Команда CTCP ACTION позволяет отправить пользователю или каналу действие или эмоцию, выражающую эмоцию или описывающую действие.
Usuage: /CTCP <NICKNAME> ACTTION
- CTCP CLIENTINFO: Команда CTCP CLIENTINFO запрашивает информацию о командах CTCP, поддерживаемых IRC-клиентом пользователя.
Usuage: /CTCP <NICKNAME> CLIENTINFO
Узкое место
- Вы не можете входить на частные #серверы / #сети без разрешения или приглашения.
- Вы не можете входить в приватные #каналы без разрешения или приглашения.
- Администраторы могут забанить вас в любое время с уведомлением или без него.
- Ваш IP может быть занесен в черный список.
Caveat
Некоторые команды могут отличаться в зависимости от IRC-клиентов, IRC-серверов и предлагаемых ими услуг. Поэтому всегда читайте документацию на их сайтах.
Нижняя строка
В данном руководстве мы рассмотрели широкий спектр IRC-команд для сбора информации и CTCP-команд для расширения возможностей общения. Овладев этими командами, мы сможем раскрыть истинный потенциал IRC, будь то поиск ценной информации, ведение содержательных бесед или устранение технических неполадок. Воспользуйтесь возможностями IRC и позвольте его командам стать для нас воротами в мир знаний, связей и сотрудничества.