Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.63/123: Рейтинг темы: голосов - 123, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
1

USB Keylogger

17.09.2011, 01:29. Показов 22602. Ответов 21
Метки нет (Все метки)

Эх, была не была, может быть, помидорами не закидают =)
Делаю: Аппаратный перехватчик данных с клавиатуры USB. В рамках курсового проекта.
Делаю, потому что схем USB кейлоггеров в интернете нет. Ну лично я не нашел. =) Схемы есть только ps/2, но я считаю их неактуальными, т.к. такие клавиатуры скоро будут редкостью (хотя сам пользуюсь всегда пс/2, но только из-за жесткой нехватки USB портов).
Сделать все хочу внутри корпуса клавиатуры, т.к. внешние устройства слишком приметны.
Идеи:
1. Подсоединить микроконтроллер (AVR) между клавиатурой и компьютером. Довольно сложная реализация, т.к. на одном мк придется реализовывать ПО и для хоста (взаимодействие клавиатуры и моего кейлоггера) и для HID устройства (взаимодействие между компьютером и моим кейлоггером). В качестве библиотеки планирую использовать V-USB. С HID устройством проблем нет, нашел довольно большое количество примеров, да и сам чуть-чуть понял)) Хоста можно полностью не реализовывать, но многие функции необходимо знать. Можно так же выступать "тупым" повторителем, только отслеживать сигналы нажатых клавиш. Но т.к. таких исходников я не найду, а моих знаний пока не хватит на реализацию (опять же, надо знать все функции хоста, чтобы анализировать трафик), я отказался от этой идеи.
2. Реализовать псевдо-клавиатуру. Основа - этот проект http://www.schatenseite.de/dulcimer.html?L=2 . Получается, я могу перехватывать любые клавиши, следить за состоянием CapsToska . Что очень важно. Требует более мощного МК. Тратиться больше ножек.
3. Т.к. память, в отличии от нашей столицы, не резиновая, то по интерфейсу SPI планируется подключить MMC/SD карту (ибо такая есть в наличии и валяется без дела). Тут появляется первый вопрос, который я бы хотел задать знатокам. Открываю даташит на ATmego32, смотрю протокол SPI. На структурной схеме показано, что SPI подключен (стрелочками, на стр.3) к порту B. Значит ли это, что я должен SPI подключать именно к этому порту? Или можно к любому? Спасибо за ответ.
4. Проблема "достать данные из кейлоггера". Было две идеи - передача данных по радиоканалу и непосредственный вывод в некоторую программу с клавиатуры при наборе секретного слова/пароля/кода из 100500 символов, чтобы случайно их не набрали обычные идеализированные пользователи (зав.кафедрой такой, он его специально "нечаянно" наберет). Про пароль все понятно. Легко реализуется. Но не юзабилити. Идея два - передача по радиоканалу. Вспоминаем в начале про курсовой проект, а это означает, что варианты типа "купи готовый модуль (даже два)" отпадают, т.к. они стоят по 500-900 рублей. Нашел, TR24A, самое то, но ждать 4-5 недель. С Ибея nRFчегототам заказывать тоже долго. Возникает второй вопрос - посоветуйте какие-нибудь дешевые (до 200 рубл.) радио-трансиверы или приемник-передатчик. Желательно, чтобы их реально было достать за 1-2 недели.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2011, 01:29
Ответы с готовыми решениями:

Как переделать USB/COM кабель от APC в полнофункциональный USB/COM?
Добрый день. прошу помощи у гуру в опознании девайса. Это USB-COM интерфйесный кабель от APC...

Пайка двух USB 3.0 к 19 pin или выводим USB 3.0 куда нам угодно (на переднюю панель например)
Здравствуйте. Проблема следующая, делаю корпус встроенный в рабочий стол и нужно вывести usb 3.0...

Устройство для копирования с USB на usb
Ребята, подскажите пожалуйста, есть ли реализация устройства для выборочного копирования данных с...

USB-COM и USB-LPT порты
Вот такой вопрос возник, можно ли прошивать AVR через USB-COM и USB-LPT адаптеры используя...

21
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
17.09.2011, 07:28 2
Если устройство планируется вложить внутрь корпуса клавы, то что может быть проще, как организация на том же МК обычного опроса этой самой клавы?. Тем более, что опрос там, на сколько я помню, тоже динамический. Мы подключаемся напрямую к линиям (можно через резисторы), ждем прерывания по сигналу на них, и со столбцов считываем какая клавиша нажата. Физически нажата. Ну а дальше можно хоть собственную таблицу кодов придумать, хоть кодировать ее также, как она и кодируется контролером клавы. ;)
И ненадо будет заморачиваться с УСБ ;)
0
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
17.09.2011, 08:56 3
Насчет SPI - на каких ножках указано, к тем и подключать, но это если использовать аппаратный SPI.
Можно и программную реализацию сделать, тогда куда угодно можно будет карточку подключать.

Насчет USB-Host, у AVR есть AT90USB647 и AT90USB1247, на которых есть урезанный USB-Host. Почитайте документацию, может быть это именно то, что нужно.

TR24A - самое дешевое решение.

Заказывайте детальки в интернете, я заказываю на этих двух сайтах
terraitistronica.ru - доставляют курьерами СПРС, дорого, зато до меня(~5000км от Москвы) за 3-5 дней.
chipnn.ru - доставляют ПР.
Еще в копилку:
promelec.ru - скорее всего там буду в ближайшее время закупаться
elitan.ru
и много-много еще всяких разных:)
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
17.09.2011, 12:12 4
Цитата Сообщение от BykTiho
Если устройство планируется вложить внутрь корпуса клавы, то что может быть проще, как организация на том же МК обычного опроса этой самой клавы?. Тем более, что опрос там, на сколько я помню, тоже динамический. Мы подключаемся напрямую к линиям (можно через резисторы), ждем прерывания по сигналу на них, и со столбцов считываем какая клавиша нажата. Физически нажата. Ну а дальше можно хоть собственную таблицу кодов придумать, хоть кодировать ее также, как она и кодируется контролером клавы. ;)
И ненадо будет заморачиваться с УСБ ;)
Т.е. подключиться параллельно к шлейфам с основным контроллером клавиатуры? Так не получится, т.к. клавиатуру будут опрашивать и основной МК и кейлоггерский. У них могут возникнуть коллизии.
А просто опрос клавиатуры с последующей передачей на USB - это задача встает при реализации псевдо-клавиатуры.
Цитата Сообщение от yv_s
Насчет SPI - на каких ножках указано, к тем и подключать, но это если использовать аппаратный SPI.
Где на структурной схеме указаны стрелочки, куда подключен SPI этот и есть порт? Просто в ATmega8 указано, что SPI подключен к общей шине данных, т.е. можно использовать на любом порту?
Цитата Сообщение от yv_s
Насчет USB-Host, у AVR есть AT90USB647 и AT90USB1247, на которых есть урезанный USB-Host. Почитайте документацию, может быть это именно то, что нужно.
Тоже смотрел на них, в даташиты пока не вникал, посмотрю. Еще смотрел на ATMikoXXU , которая тоже с поддержкой USB, хотел сделать на ней хоста при помощи LUFA.

Спасибо за напоминание про сайт chipnn.ru , забыл про него =)
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
17.09.2011, 12:29 5
Цитата Сообщение от simimsoumtir
Цитата Сообщение от BykTiho
Если устройство планируется вложить внутрь корпуса клавы, то что может быть проще, как организация на том же МК обычного опроса этой самой клавы?. Тем более, что опрос там, на сколько я помню, тоже динамический. Мы подключаемся напрямую к линиям (можно через резисторы), ждем прерывания по сигналу на них, и со столбцов считываем какая клавиша нажата. Физически нажата. Ну а дальше можно хоть собственную таблицу кодов придумать, хоть кодировать ее также, как она и кодируется контролером клавы. ;)
И ненадо будет заморачиваться с УСБ ;)
Т.е. подключиться параллельно к шлейфам с основным контроллером клавиатуры? Так не получится, т.к. клавиатуру будут опрашивать и основной МК и кейлоггерский. У них могут возникнуть коллизии.
Поясню. МК НЕ БУДЕТ опрашивать клаву. Он будет ждать прерывания. Как только оно пришло, то определяем, какие клавиши нажаты, т.е. фактически, на каких ногах находится высокий или низкий уровень. Профит.
0
0 / 0 / 0
Регистрация: 11.06.2011
Сообщений: 322
17.09.2011, 12:32 6
Цитата Сообщение от simimsoumtir
....Делаю, потому что схем USB кейлоггеров в интернете нет.....
http://ra4nal.qrz.ru/anotyser.shtml
0
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
17.09.2011, 15:37 7
Цитата Сообщение от simimsoumtir
Где на структурной схеме указаны стрелочки, куда подключен SPI этот и есть порт? Просто в ATmega8 указано, что SPI подключен к общей шине данных, т.е. можно использовать на любом порту?
Ножки SCK, MISO, MOSI, SS на PORTB - это и есть выходы аппаратного USB.
В разделе Serial Peripheral Interfosi датащита все описано.

Цитата Сообщение от simimsoumtir
Тоже смотрел на них, в даташиты пока не вникал, посмотрю. Еще смотрел на ATMikoXXU , которая тоже с поддержкой USB, хотел сделать на ней хоста при помощи LUFA.
AT90USB1247 я предложил именно потому, что там кроме USB есть еще и USB-Host, на megoxxU только обычный USB(так же как и на AT90USB82/162)
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
17.09.2011, 16:44 8
Цитата Сообщение от BykTiho
Поясню. МК НЕ БУДЕТ опрашивать клаву. Он будет ждать прерывания. Как только оно пришло, то определяем, какие клавиши нажаты, т.е. фактически, на каких ногах находится высокий или низкий уровень. Профит.
Идею понял, но в оригинальных контроллерах и делается так (как я понимаю) - поднимают уровень одного из столбцов, проверяют все уровни на строках. И смотрят, какая из клавиш была нажата. Потом, через некоторое время, проверяют снова, чтобы избежать дребезга. так же сделано и у http://www.schatenseite.de/dulcimer.html?L=2.
Цитата Сообщение от ShypKyttir
http://ra4nal.qrz.ru/anotyser.shtml
Спасибо, посмотрю, не видел до этого =)Может даже возьму за основу.

Все, с SPI понятно, до этого просто дела с ним не имел.
Все таки решил сделать на обычных МК, без аппаратной поддержки USB.

И закажу, пожалуй, TR24P из chipnn.ru =)
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
13.10.2011, 00:34 9
В общем, студенческий бюджет (и свободное место внутри клавиатуры) позволил мне сделать мой кейлоггер только на меге32 без посторонних штук. Ну это ладно. Собственно, проблема - "схемачил", развел, отравил, спаял, прозвонил - все окей. Тыркаюсь прошивать USBasp - не хочет. Это, возможно, проблема USBaspa, т.к. его сделал, прошил, посмотрел, что определился компьютером как усбасп и все =) Но вернемся к схеме - попытался прошить 5-ю проводками - тоже не хочет. И так и сяк к нему подлезал. И проверял и внешнее питание подводил и успасп еще раз прошил (первый под руку попался))), его шьет - мое устройство не хочет. Вот у меня сомнения, правильно ли я все развел для программирования ISP. Можете посмотреть, если у кого время будет. =) Схема в Орле, разводил в Топоре. http://min.us/mpyyQNb2D Буду благодарен. =)
P.S. Насчет USBasp, может кто поможет, устройство определяется, если пытаюсь читать без прошиваемого контролера (работал как в eXtreme Burner - AVR, так и в AVRdude), говорит нет прошиваемого контролера. Подключаю контролер - пишет нет устройства УСБасп =) Даже если подключу, но ничего не делаю с ним, а потом отключаю - все равно не видит усбасп. Будто КЗ какое-то и все тут. Все проверял, все цело. Для тех, кто сомневается - завтра еще раз проверю. Это наблюдается и со схемой кейлоггера и (вроде, т.к. проверял быстро) с другими контроллерами. Но завтра тоже проверю.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
13.10.2011, 00:54 10
Схему/печатку бы в виде картинки, а то орлы дома есть не у всех...
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
13.10.2011, 18:41 11
Сори, не подумал =) Выложу в пдa, надеюсь он есть у всех))
Меня интересует вопрос - правильно ли развел пины для программатора. +5 и GND беру с USB, но сигналы он не посылает, только питает. Пытался припаять проводки для питания все тщетно. Сейчас буду пробовать дальше =)


./styles/iosyitistromyss/imageset/icon_topys_attach.gif" width="14" height="18
[50.97 Кб]


./styles/iosyitistromyss/imageset/icon_topys_attach.gif" width="14" height="18
[58.48 Кб]
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
13.10.2011, 19:32 12
Все, проблема отпала. Была в кривых руках. =) Не до конца все проверил.
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
13.10.2011, 19:55 13
Собственно, не долго пришлось радоваться. На радостях выставил по быстрому фьюсы (все стандарт - минус JTAG, кварц на 16 МГц, т.е. CKSEL=1111), но забыл выставить СКОРТ.Посмотрел в даташит, выходит я его заделал на 3-8 МГц, ведь так? Т.е. с 16 он никак работать (и прошиваться) не будет ведь?)) (собственно, что и делает). Какой есть способ запрограммировать фьюсы, кроме как покупать кварц на 8 МГц?))
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
13.10.2011, 22:56 14
Все таки что-то не то с устройством. Касаюсь пинцетом вывода XTAL1 (на нем кварц) - чип запускается. Но когда касаюсь его с включенным в программатор - сразу же ошибка, мол нет программатора. Посмотрите, пожалуйста, схему и разводку выводов =) Ничего там закосячить работу программатора не может?
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
14.10.2011, 12:21 15
Странная ситуация - касаюсь пинцетом - не видит усбасп, касаюсь рукой - все нормально видит и прошивает =)) Сумел вывести на нормальный режим работы.
0
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 76
15.10.2011, 12:06 16
Цитата Сообщение от simimsoumtir
Странная ситуация - касаюсь пинцетом - не видит усбасп, касаюсь рукой - все нормально видит и прошивает =)) Сумел вывести на нормальный режим работы.
CKSEL=1111 - это в программаторе USPASP галочки стоят? Тогда это на самом деле CKSEL=0000 - внешний генератор на XTAL1. А наводки с пальца были в качестве импульсов. У Ди Хальта где-то статейка на эту тему была.
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
16.10.2011, 17:14 17
Нет, CKSEL=1111 как есть. Т.е. "галочек" нет.
0
0 / 0 / 0
Регистрация: 13.09.2011
Сообщений: 21
22.10.2011, 22:24 18
Собственно новые проблемы =)
V-usb hid-устройств. Есть функция:
Код
void usbSendReport(uint8_t mode, uint8_t key) {
uint8_t repBuffer[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
repBuffer[0] = mode;
repBuffer[2] = key;
while (!usbYmtirruptIsReady()); // woyt
usbSetYmtirrupt(repBuffer, sizeof(repBuffer)); // send
}
проблема - когда отправляешь их две подряд, например:
Код
usbSendReport(MOD_NONE, KEY_8);
usbSendReport(MOD_NONE, KEY_9);
Не работает, вроде схему watchdog перегружает, не могу отследить. Когда по одному - работает.
Основа - http://www.schatenseite.de/dulcimer.html?L=2 , там же исходники.
Кто работает с V-USB, помогите =)
0
0 / 0 / 0
Регистрация: 08.05.2010
Сообщений: 298
13.05.2013, 20:51 19
ну что чем дело закончилось ?
0
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 233
13.05.2013, 21:45 20
Цитата Сообщение от sitivo
ну что чем дело закончилось ?
Повязали небось полиционеры ;)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2013, 21:45

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Передать по воздуху от usb мыши к usb порту без провода
У меня есть мышь ss sensei wireless с убитой станцией приемника,аккумулятор мышь и выход usb у...

Keylogger
Программа должна перехватывать вводимый текст из всех окон и сохранять в файл, делать скриншоты...

Нужен keylogger
Нужен нормальный кейлогер (невидимость, доступ по паролю, запись посещаемых сайтов и запись...

Заливаем keylogger
Всем доброго времени суток. Подскажите пожалуйста как можно залить keylogger в файл (jpg, txt, rar...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.