IT.Tux.Droid 15.08.2011 22:34

СкриптыВвод пароля по хоткею.

Как-то придумал себе надежный длинный пароль и теперь при виде таких вот окошек (см. ниже), меня бросает в дрожь только от одной мысли, что сейчас придется нервно стучать по клавиатуре.





Решил немного упростить себе жизнь и написал небольшой скриптик на Python’е:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/python
import pyatspi, time

time.sleep(1)

reg = pyatspi.Registry.generateKeyboardEvent

reg(24, None, pyatspi.KEY_PRESSRELEASE) #q
reg(25, None, pyatspi.KEY_PRESSRELEASE) #w
reg(26, None, pyatspi.KEY_PRESSRELEASE) #e
reg(27, None, pyatspi.KEY_PRESSRELEASE) #r
reg(28, None, pyatspi.KEY_PRESSRELEASE) #t
reg(29, None, pyatspi.KEY_PRESSRELEASE) #y
reg(36, None, pyatspi.KEY_PRESSRELEASE) #Enter


Все что он делает, так это эмулирует нажатие клавиш* клавиатуры. В данном случае набирает “qwerty” и жмет “Enter”.

*получить коды клавиш можно командой:
1
$ xev | grep keycode


Зависимости: python, python-pyatspi.
1
$ sudo apt-get install python python-pyatspi


Сохранить где-нибудь файл AutoEnterPass.py, сделать исполняемым, назначить на его запуск горячую клавишу (Система/Параметры/Комбинации клавиш клавиатуры), …, profit!


Тэги: python
+ -4 -
Похожие Поделиться

tn1 15.08.2011 23:58 #
Пароль рута в файле? нет пути!
IT.Tux.Droid 16.08.2011 01:45 #
Ну не в открытом виде же ;) Можно и зашифровать коды клавиш, добавить "мусора" и уже отбирать их по определенному алгоритму, который находится в другом файле другого пользователя под другим паролем =)
tn1 16.08.2011 01:49 #
> Можно и зашифровать коды клавиш, добавить "мусора" и уже отбирать их по определенному алгоритму, который находится в другом файле другого пользователя под другим паролем =)
костыли. чем плох $ghjcnjq_123_gfhjkm$, как пароль?
IT.Tux.Droid 16.08.2011 01:59 #
Да, можно и $ghjcnjq_123_gfhjkm$ использовать, но соль же в том, что бы он сам вводился по хоткею ;)
tn1 16.08.2011 02:09 #
ananas 17.08.2011 15:20 #
а /etc/shadow уже за файл не канает?
K900 17.08.2011 17:55 #
Тащемта, в /etc/shadow хранится SHA512-хэш, а не пароль в открытом виде. Для ввода по хоткею такое "шифрование" не подходит, потому что получить входное значение по хэшу нельзя.
ananas 17.08.2011 21:26 #
спасибо, кэп. вот только про шифрование в комменте tn1 - ни слова, только про файлы
K900 17.08.2011 22:07 #
Ну очевидно же было, что речь про plaintext.
enot 18.08.2011 14:42 #
Пароль рута в файле? нет пути!
+1 этому параноику

...Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей.

опираясь на эту казалось бы всем очевидную истину можно сказать: "предполагается, что атакующий знает где хранится ключ".
tn1 21.08.2011 10:11 #
> +1 этому параноику
сути это не меняет.
enot 22.08.2011 17:35 #
что не меняет сути? то, что я поддерживаю твое мнение?
tn1 23.08.2011 09:34 #
> что не меняет сути?
plain-text-root-password в файле с сомнительными правами доступа.
Anrock 16.08.2011 01:00 #
Сохранить где-нибудь файл AutoEnterPass.py, сделать исполняемым, назначить на его запуск горячую клавишу (Система/Параметры/Комбинации клавиш клавиатуры), …, уязвимость!
IT.Tux.Droid 16.08.2011 01:41 #
Сэр, да вы параноик! ;)
Где вы его сохраните, под каким названием и что это вообще за файл будете знать только вы. =)
snowemo 16.08.2011 06:34 #
Откровенно вредные советы.
urandom 16.08.2011 01:39 #
Как-то поставил себе надежную бронированную дверь, но ключ лень носить, поэтому вешаю его снаружи на гвоздик.
IT.Tux.Droid 16.08.2011 01:47 #
Самая лучшая защита та, о которой кроме вас никто не знает ;)
mealsforall 16.08.2011 01:48 #
У неё даже название есть, Security by obscurity. XD

А почему не сделать себе NOPASSWD в sudoers?
IT.Tux.Droid 16.08.2011 02:01 #
Эээ... уязвимость? =)
mealsforall 16.08.2011 02:11 #
А в чем уязвимость по сравнению со скриптом?
IT.Tux.Droid 16.08.2011 02:19 #
Скрипт не отменяет пароль, а только "нажимает" в определенной последовательности клавиши, и _только_тогда_ когда я его вызову с помощью хоткея ;)
tn1 16.08.2011 02:26 #
> Скрипт не отменяет пароль, а только "нажимает" в определенной последовательности клавиши
plain-text-passwd
mealsforall 16.08.2011 04:46 #
Я не к тому. Пароль -- это средство защиты от чего-то, правильно? В данной комбинации пароль явно защищает только возможность входа в компьютер, локально или удалённо.
Поэтому было бы логично просто поставить NOPASSWD в sudoers -- уровень "защиты" останется неизменным, а набирать будет проще.

Если от локальных пользователей опасности нет, так и вообще можно пароль убрать и всё, а в ssh поставить логин только по сертификату.

ЗЫ. Есть классная команда xte. Шлет нажатия клавиш куда угодно.
tn1 16.08.2011 07:46 #
Тоже верно.
IT.Tux.Droid 16.08.2011 01:51 #
...поэтому вешаю его на гвоздик внутри коробочки под крышей заброшенного сарая в нескольких метрах от дома, в котором у меня квартира =)
xT 16.08.2011 03:47 #
забиндить на mouse1
solomenikm 16.08.2011 04:27 #
Пост полезный! Просто полезный и все. Никто вас не призывает так делать.
P.S. А в терминале работат?
ZED 16.08.2011 08:41 #
> надежный длинный пароль

а теперь дурацкий вопрос - зачем?
orkaan 16.08.2011 10:37 #
Хи-хи. :)
Для этого есть KeePass(X) и иже с ним.
ZED 16.08.2011 12:02 #
кстати да, но как называются окна gksudo?
orkaan 16.08.2011 12:17 #
Ведь необязательно вводить логин/пароль (как в случае с sudo в консоли, например), можно скопировать лишь пароль и вставить его привычным копипастом.
В случае с gksudo скопировать пароль перед запуском приложения с расширенными правами и вставить в приглашении ввести пароль.
ZED 16.08.2011 13:01 #
Нет, я имею в виду вставку пароля по горячей клавише, для консолей это работает, надо только прописать названия приложений куда будет вставляться пароль из нужной записи. Так вот для gksudo я не знаю что указывать.
К примеру я открываю guake, на запрос пароля нажимаю ctrl-d и все. Это полностью заменяет велосипед ТС да еще и все хранится в удобном и зашифрованном виде.
IT.Tux.Droid 16.08.2011 13:11 #
KeePass(X)'ом никогда не пользовался, так что извините, не знал что там все уже давно реализовано.
K900 17.08.2011 18:32 #
А вот вам ломалка. Костыли мои, писалось на скорую руку, ногами не бить.
K900 17.08.2011 18:38 #
А еще можно grep -sro и выводить в файл :)
jungo 18.08.2011 13:37 #
Если и использовать ваш метод - то только с уже скомпилированным *.рус файлом, внутри которого бинарная каша, что, позволит хотя бы защититься от простого cat-а.
K900 18.08.2011 14:15 #
...скомпилированным *.pyc файлом, который декомпилируется за 2 минуты.
jungo 18.08.2011 14:57 #
не спорю, метод в любом случае нежизнеспособен.
aurdino 22.08.2011 15:21 #
gnome-keyring с доступом по приложению, думаю решил бы проблему с хранением пароля в текстовом файле. Один раз разблокировали за сеанс и другое приложение не получит доступ к паролю.

MaxJet 30.08.2011 16:02 #
Тем кто любит вводить длинные пароли это не надо, кто не любит вводить ставит тупо 123. Скрипт - модифицированный, модернизированный, усложненный форк "Hallow Word!"