IMspector, перехват сообщений ICQ
Всем привет!
Вот на работе поставили интересную задачу:
Требуется писать всю историю ICQ переписки сотрудников для руководства.
Немного погуглив и почитав форумов наткнулся на замечательный проект IMspector
Вот что это маленькое чудо умеет:
IMSpector is an Instant Messenger proxy with monitoring, blocking and content-filtering capabilities. Currently it supports MSN, Jabber/XMPP, AIM, ICQ, Yahoo, IRC and Gadu-Gadu to different degrees. MSN is the principle protocol, as it’s the most popular these days, at least in the UK where I’m based. The supported platforms are at present Linux and BSD when using the pf firewall, but porting to other UNIXs should be trivial. It is able to log to plain files, as well as several types of SQL database including MySQL, SQLite and PostreSQL.
Иными словами эта штука работает с : MSN, Jabber/XMPP, AIM, ICQ, Yahoo, IRC and Gadu-Gadu протоколами, работает в Linux, *BSD системах и поддерживает СУБД.
И умеет подсовывать свои сертификаты, что-бы самых умных с SSL обломать.
Ещё можно отключить WEB камеры, пересылку файлов и блокировать сообщения.
От себя добавлю что с Русским языком IMspector работает.
Поскольку ICQ протокол меняется чуть-ли не каждый день я решил ставить IMspector из daily snapshots
Скачиваем, компилируем устанавливаем:
cd /tmp
wget http://www.imspector.org/downloads/snapshots/imspector-20090221.tar.gz
tar xvfz imspector-20090221.tar.gz
cd imspector
make
make install
Если нужны сертификаты выполните
make install-ca-cert
Всё будет установлено в директорию /usr
* /usr/sbin/imspector – the imspector binary.
* /usr/lib/libimspector.so – a shared library that the main program and plugins share.
* /usr/lib/imspector/*protocolplugin.so – the protocol plugins.
* /usr/lib/imspector/*loggingplugin.so – the logging plugins.
* /usr/lib/imspector/*filterplugin.so – the filtering and content-manipulation plugins.
* /usr/etc/imspector/imspector.conf – an example config file, good enough for quick playing.
* /usr/etc/imspector/badwords.txt – an example list of swear words to block.
* /usr/etc/imspector/acl.txt – an example of a trivial and useless ACL.
* /usr/etc/imsepctor/servercert.pem – optional server ssl certificate.
* /usr/etc/imspector/serverkey.pem – optional server ssl key.
* /usr/etc/imsepctor/cacert.pem – optional ca ssl certificate.
* /usr/etc/imspector/cakey.pem – optional ca ssl key.
И добавим NAT правила с этой странички.
Поскольку меня интересует только ICQ я вписал:
ICQ/AIM: iptables -t nat -A PREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
И открыл NAT доступ для 5190 порта
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 5190 -j MASQUERADE
И ещё закрыл ICQ доступ на проксе SQUID
acl icq_dom dstdomain .icq.com .aol.com
acl icq_addr src 64.12.0.0/255.255.0.0 255.188.0.0/255.255.0.0
http_access deny icq_dom
http_access deny icq_addr
Запускаем: imspector -d и пробуем подключиться по ICQ и передать сообщение.
Если всё пройдёт удачно, то в /var/log/imspector мы увидим папку со своим UIN и в ней подпапки с сообщениями.
Про формат логов читать тут.
Папку с логами file_logging_dir=/var/log/imspector можно изменить в конфиге.
Всё, настройка закончена. Если возникнуть проблемы не ленитесь зайти на оф.сайт IMspector’a.
Там всё очень подробно с внятно расписано.
UPD:
В папке c IMspector есть папка contrib в которой лежит Perl скрипт imspector.cgi
Это и есть WEB Log Viewer для логов IMspector.
Ставьте WEB сервер и смотрите логи через браузер, используется AJAX.
Опробовал, всё работает отлично.
Скриншот
3.14здец 0_0
Я бы поостерегся работать в такой компании. Наверняка руководство и не подумало предупредить сотрудников, что будет производиться слежка?
Правильно думаешь.
а криптования pgp в данном случае не поможет от перехвата?
2 merkator
Ну согласно корпоративной этике, это нормально. все что делается на работе принадлежит только работе. Ведь почтовая переписка не является личной?
Хотя чисто по человечески мне это тоже не нравится
Товарищи, не забывайте что здесь используется HTML а не phpBB код.
polatov
Не знаю, надо у разработчиков уточнять.
Мне то-же идея вторжения в личную жизнь не нравиться.
И в добавок это противоречит конституции.
itbg
Но ведь переписка на работе, не является личной перепиской? На работе по определению должны происходить рабочие процессы, а если попадаются личные вещи – это уж по причине несоблюдения трудовой дисциплины.
polatov
В конституции нет разделения на рабочую и прочую переписку.
Там сказано что тайна личной жизни должна соблюдаться.
Моё дело маленькое, сказали – поставил.
А раз возникла необходимость слежения, значит есть повод.
> Мне то-же идея вторжения в личную жизнь не нравиться.
> И в добавок это противоречит конституции.
> В конституции нет разделения на рабочую и прочую переписку.
Имхо, в конституции нет понятия “электронная почта / электронная переписка”.
——
Спасибо за статью. Пошел своим хомячкам гайки закручивать потуже :-)
описание установки и настройки аналога AimSniff
http://www.lissyara.su/?id=1832
Как же оно сертификаты ты то подменяет???
а вы прямо такие наивные думаете что AOL ваши логи у себя не хранит?
бред. если у меня закрыкрый ключ. как он его подберет?
хм. а что вы делали чтобы он работал с русскими кодировками? пробовал stable месяца четыре назад. Не получилось нормально и решил позже попробовать IM Gateways c openfire
вот почему я везде юзаю pgp
Ну большинство нормальных клиентов начнет орать что сертификат неверный
а как сделать, чтобы входящие сообщения логгировались?
у меня только отправленные пишет :(
вот мои ипстолы:
$IPT -A FORWARD -s 192.168.254.2 -p all -j ACCEPT
$IPT -t nat -A PREROUTING -p tcp –destination-port 5190 -j REDIRECT –to-ports 16667
$IPT -t nat -A POSTROUTING -s 192.168.254.2 -j MASQUERADE
и, кстати, с праздником!!!
Странно, вот мои из iptables-save
-A PREROUTING -p tcp -m tcp --dport 5190 -j REDIRECT --to-ports 16667-A POSTROUTING -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 5190 -j MASQUERADEУ нас инет только через прокси из-за кэша.
Интересно, а сами то сообщения в ICQ приходят?
Ставил IMspector из снапшота?
И тебя то-же с “Днём Защитника Отечества”
Вот как лог выглядит:
Т.е 0,1,0 – входящие сообщение.
1- исходящие
0 – входящие
ставил из раздела downloads:
2008-12-22 imspector-0.8.tar.gz
попробую снапшот.. в iptables все верно… у нас инет тоже через squid, я просто на своем роутере сейчас испытываю.. кстати, если на работе поднимался вопрос о блокировании соц.сетей и прочего, то могу поделиться базой анонимайзеров. А то некоторые продвинутые юзеры пользуют… если хочешь, можно в аське пообщаться
поставил последний снапшот, сегодняшний – ситуация не изменилась… странно….
Спасибо за предложение!
Из соц сетей у нас только вконтакте и одноклассники блочаться.
BlackList брал тут
http://urlblacklist.com/?sec=download (15 мегов)
И добавил их туда, там и аннонимайзеры есть.
Кстати, след пост, возможно сегодня будет про то, как логи приатачить и выслать на почту.
Ещё интересное заметил, некоторые клиенты ICQ на юникоде работают и их сообщения читаются, а некоторые нет и их приходится конвертить.
IM не пользуюсь принципиально, могу только на мыло написать.
Да, у меня подобный черный список.
это просто rtf, не юникод!!!
Пост был бы интересней, как вебГУИ прикрутить к этому, а то, что на сайте предлагают, не подходит! а на мыло – пожалуйста!!!
На скриншоте видно что используется SmoothWall Express. Он вроде-как позволяет логи смотреть. Автор проги в коментах к скрину написал, что использует самописную морду на PERL.
В папке c IMspector есть папка contrib в которой лежит Perl скрипт imspector.cgi
Это и есть WEB Log Viewer для логов IMspector.
У меня же задача, сделать максимально незаметнее наблюдение.
В общим скрипт для отправки логов на мыло уже готов. Позже выложу.
Директору будет падать вечером письмо с архивом с логами на почту, пусть читает.
Для пользователей Gentoo: http://bugs.gentoo.org/show_bug.cgi?id=260002
itbg, натурально под б-гом ходишь, это не административка, а уголовка, 138 статья. При этом даже если все подписывали бумагу, что ознакомлены, хрен отмажешься, а если это втихушку, то вообще без вариантов.
А что делать, жизнь такая…
arkanoid дело говорит, а на месте itbg я бы поискал другую работу… будет суд — не отмажешься; на тебя же всё и повесят. И ты зря думаешь, что никто в организации в инет не ходит, и твой блог не читает… Облегчить твоё положение мог бы приказ по предприятию, но полагаю, что «задание» тебе дали «устно».
Раз уж такое дело, то вот и 138-я ст. УК, ты тут по всем пунктам пройдёшь, и с января следующего года тебе от 1 до 4 лет за это светит (по 2 пункту):
«Статья 138. Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений
1. Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений граждан -
наказывается штрафом в размере до восьмидесяти тысяч рублей или в размере заработной платы или иного дохода осужденного за период до шести месяцев, либо обязательными работами на срок от ста двадцати до ста восьмидесяти часов, либо исправительными работами на срок до одного года.
2. То же деяние, совершенное лицом с использованием своего служебного положения или специальных технических средств, предназначенных для негласного получения информации, -
Федеральным законом от 22.12.2008 N 272-ФЗ с 1 января 2010 года абзац второй части второй статьи 138 данного документа будет дополнен словами: “, либо лишением свободы на срок от одного года до четырех лет”.
наказывается штрафом в размере от ста тысяч до трехсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период от одного года до двух лет, либо лишением права занимать определенные должности или заниматься определенной деятельностью на срок от двух до пяти лет, либо обязательными работами на срок от ста восьмидесяти до двухсот сорока часов, либо арестом на срок от двух до четырех месяцев.
3. Незаконные производство, сбыт или приобретение в целях сбыта специальных технических средств, предназначенных для негласного получения информации, -
наказываются штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо ограничением свободы на срок до трех лет, либо лишением свободы на срок до трех лет с лишением права занимать определенные должности или заниматься определенной деятельностью на срок до трех лет.»
Отсюда: http://www.consultant.ru/popular/ukrf/10_27.html
jetxee
Ты забыл в какой стране Мы живём!
Я тебе напомню – РОССИЯ.
Мне сказали – ставь.
Я остальным пусть руководство занимается.
И вообще, сервер кто-то взломал и всё поставил, это не я.
Пароли кстати не у одного меня есть.
Я же всё сразу же удалил после установки как порядочный гражданин.
И тестировал только на своей переписке, самого с собой.
Да и ставил то я только для того, что-бы свою переписку сохранять, а что другая попала я и не знал.
И в добавок, мобильные операторы сейвят наши SMS и не удивлюсь если и разговоры пишут. И всё в порядке, все спокойны.
На серверах ICQ все наши логи хранятся, это точно.
Мой провайдер ещё неизвестно что на своих шлюзах творит…
Видишь ли, мобильные операторы могут сохранять смски сколько им угодно, если они никому их не раскрывают. Да и отмажутся они. То же самое — провайдеры. Во-первых, у них особый статус, как мне кажется. Во-вторых, сохранять логи можно, читать их нельзя.
А вот сисадмин в такой ситуации будет как раз крайним. Именно потому, что Россия. Да, впрочем, где угодно был бы крайним.
А как только такая информация будет использована, а она начальством будет использована, то и факт нарушения тайны может быть установлен. А тут какой-нибудь уволенный сотрудник может и в органы обратиться.
И ещё об ответственности. Вот, скажем, сказал бы генеральный директор избить кого-нибудь или железную дорогу взорвать, так что, сразу всё можно значит? Так что Россия или не Россия, а сидеть тебе. Впрочем, сам для себя решай.
jetxee
Мобильных операторов и провайдеров эта статься не касается, ибо они ОБЯЗАНЫ логировать пользовательские переговоры/переписки, и предоставлять логи по требованию органов. http://ru.wikipedia.org/wiki/%D0%A1%D0%9E%D0%A0%D0%9C
Так-что заявлять, что “Все логируют” – плохая отмазка
lexa_
Вот я о том и говорю, что провайдеры да операторы связи имеют особый статус.
А частным лицам и гражданским организациям заниматься прослушкой, перлюстрацией и тому подобной деятельностью — уголовное преступление.
Надеюсь, те, кто будут читать эту заметку товарища itbg, последствия учтут.
народ! хелп! как её поменять чтобы она отображала irc и вобще все по руски, ато у меня через пень колоду как то, и если сообщения приходят из офлайна, то они не записываются =( использую базу mysql, морду оставил стандартную perl кодировка сообщений, часть 1251 а другая часть udf-8
Тайна личной переписки через общественный сервис. Очень сомнительно.
К тому же лично мне интересен аспект не столько личной переписки, сколько ограничения круга контактов работника посредством IM proxy. Однако как раз этот аспект мало раскрыт и возможности программы не освещены
Входящие сообщение с меседжера QIP не читаются. Вот лог
Error: Unable to parse snac packet, icq.6268.405
Победил кто?
товарищ itbg поделитись плиз скиптиков и раскажите как решил проблему со входящими сообщениями? может подскажите, морду разбирали?
WEB морда лежит в папке с исходниками.
С входящими сообщениями следующая история:
Если 2 человека пользуются одним и тем-же мессенджером, то сообщения пишутся только исходящие.
Пока что проблема замечена только на QIP клиенте.
Поставлю на выходных свежий снапшот, может уже профиксили…
Какие скрипты нужны?
товарищ itbg
просто есть проблемы с отображением логов в веб морде, например когда сообщения аськи в utf-8 или в 1251, а еще лучше дело обстоит с IRC ведь там все в 1251, он даже меню пользователя показать не может =( поэтому я думал перейти с этой веб морды на ваш скрипт, ХРИСТОС ВОСКРЕС! с праздником! )
У меня скрипта нету.
Сообщения выводятся в web морду.
Ну и копия архивируется и высылается боссу на почту. (Я уже скрипты выкладывал)
В принципе можно скрипт написать с iconv для перекодировки логов и в cron его засунуть.
Может кто с Perl знаком?
Наверняка перекодировку можно прямо в Perl скрипт WEB морды сделать.
товарищ itbg
но ведь там тоже будут проблемы, в подпапке IRC все папки имеют кодировку 1251 которую web морда не отображает =( разве iconv может перекодировать имена папок? фактически если брать из /var/log/imspector-temp и перекодировать все содержимое из 1251 в utf-8 со всеми папками и плевать их в /var/log/imspector с сохранением дерева, то это был бы вариант =) но пока вижу что модуль переводит только текст
с c++ может кто знаком? идея просто встроить кодировшик в саму программу, и тогда онас сразуввыплевывает все в нужном варианте
Да, было-бы полезно программу пропатчить. Присоединяюсь к просьбе
хм, тут немного другое, нужно всам демон тогда встроить кодировщик, чтобы он когд аднные захватывал, сразу их перекодирова, тогда будет другое дело, кто хорошо знает с++ ?
Добились нормальной перекодировки?
тут есть описание, как на перле перекодировать любую кодировку в UTF :)
http://forum.vingrad.ru/forum/s/f4fd440f261c8ec717c81cd2bba5dcc3/topic-179748/anchor-entry1303091/0.html
Открываем фаил imspector.cgi
Ишещем строку: use POSIX …
добавляем ниже: use Text::Iconv;
Ишещем строку:
print “[$t]$user$data”;
перед ней добавляем:
my $cv = Text::Iconv->new(‘utf-8′,’windows-1251′);
my $datax = $cv->convert($data);
if ($datax ne “”) { $data = “”; }
А в этой строке добавляем $datax, должно получится так
print “[$t]$user$data $datax”;
Проверял в опере, все ок. Кодировка по умолчанию cp1251, ос ubuntu.
выдержка из вики:
————-
Переписка в ICQ не является личной (конфиденциальной) в прямом смысле этого слова, даже несмотря на то, что активных собеседников как правило двое. В соответствии с правилами пользования сервисом, все права на передаваемую в рамках сервиса информацию передаются AOL Inc., в том числе права на публикацию и распространение по своему усмотрению. Факт использования сервиса означает принятие пользователем этих условий.
С признанием правил пользования (acceptable use policy) пользователь передаёт ICQ Inc. все авторские права на данные, которые он опубликовал в рамках службы ICQ.
Правила пользования от 7 июня 2000 гласят[2]:
Вы соглашаетесь, что отправляя любой материал или информацию через какой-либо ICQ сервис вы уступаете авторские и любые другие имущественные права на опубликованный материал или информацию. В дальнейшем вы соглашаетесь, что ICQ Inc. имеет право использовать опубликованный материал или информацию в любом виде и с любой целью, включая, но не ограничиваясь, его публикацию и распространение.
—————–
текущее состояние не проверял, но очевидных причин для отказа от такого пункта не вижу. таким образом, суть-большой вопрос еще, кто теперь имеет законное право предъявлять господину itbg претензии по факту распространения логов чужой переписки: пользователь или АОЛ =)) но коль скоро вопрос вставал о правомерности такого логгирования, то с определенной долей вероятности, случись что, может быть возбужден семантический разбор условий использования, оперирующих понятием “опубликованный материал” — публикация синоним обнародования, а обнародование в России имеет формальные критерии.
ГОспода, ктонить на FBSD ставил эту штуку? Возникает несколько проблем…Часть решил, но постоянно новые получаются.. Последняя
bs# ./imspector -d
/libexec/ld-elf.so.1: /usr/lib/imspector/icqprotocolplugin.so: Undefined symbol “libiconv_open”
Мож кто сможет помочь
AimSniff тоже был у меня в качестве претендента.
Судя по Вашей статье AimSniff это сниффер, а IMspector является проксёй для IM, что делает его более функциональным.
Но судя по отзывам в форумах, проект AimSniff на текущий момент не работоспособен и умер ещё в 2006 году. Опять-же Вы его ставили в 2008 году, значит тогда он работал?
Честно сказать я его не ставил, т.к меня смутила дата последнего релиза (2006 год против IMspector’a который активно развивается) и отзывы на форумах.
Когда ставишь IMspector Ты сертификаты создай.
И если подключение по SSl соединению идёт он их подсовывает.
Ну он ничего не подбирает, он просто тебе свои ключи даст.
На деле с ключами не проверял.
Ставил из снапшота, в инструкции есть ссылка. Всё отлично работает, русский язык отображает.
Ничего не патчил и не правил, всё работает из коробки.
Манагеры не вкурсе что такое сертификат, и уж тем более что такое SSL и где этот сертификат смотреть.
Я лично вообще IM не пользуюсь принципиально.
Да и сертификаты только при необходимости проверяю, не постоянно.
В обе стороны пишет, и файлы то-же должен собирать (ещё никто не отправлял)
За Gentoo отдельное спасибо.
Да вроде нет, хотя меня с ней не беспокоят.
Наверное руководство успокоилось.
3й час пытаюсь понять как перекодировать. В перле никакой :(
Как вариант iconv в планировщик засунуть.
В идеале неплохо бы сделать патч, что-бы прога сама всё на лету перекодировала.
ыы съело все ценное. :(