Re: Security hole. remote root access.
Damir Hakimov - debian-russian@lists.debian.org @ Thu, 20 Sep 2012 13:19:59 +0400: DH А вот если, из-под другого пользователя сказать sudo ssh-copy-id DH somehost интересно что произойдет? В чей known_hosts попадет DH соотвествующая запись? В known_hosts - юзера, потому что sudo не меняет $HOME. Кстати, с ненулевыми шансами на то, что потом этому known_hosts придется еще говорить sudo chown перед попыткой добавить туда что-то еще. А вот на том конце, скорее всего, в рутовый authorized_keys, потому что юзера sudo как раз меняет, и туда оно пойдет как root. DH Ну вот... :-( DH Надеешься, что нашел супер-мега дырищу, бросаешься спасать мир от Зла... DH А оказываешься лохом! Тьфу! Стыдоба, да и только! Добро пожаловать в реальный мир компьютерной безопасности. Теорема 1: безопасность не монотонна. А вот стыдиться этого не надо. Это нормальная наработка интуиции в области безопасности. Даже весьма опытные безопасники ходят по подобным граблям с регулярностью, и это у них нормально. А супер-мега дырищи у нас бывают. Чего стоила одна лишь бага с рандомайзером в openssl... -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/878vc3dhrf@wizzle.ran.pp.ru
Re: Security hole. remote root access.
Damir Hakimov - debian-russian@lists.debian.org @ Thu, 20 Sep 2012 09:01:07 +0400: DH Если она там была на момент показанного выше ssh-copy-id bogdo, то почему DH The authenticity of host 'bogdo (192.168.10.164)' can't be established. ?? Потому что она была залита не с этой машины или не под этим юзером. Или вообще не по ssh. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87pq5hcf40@wizzle.ran.pp.ru
Re: Security hole. remote root access.
DH Если она там была на момент показанного выше ssh-copy-id bogdo, то почему DH The authenticity of host 'bogdo (192.168.10.164)' can't be established. ?? Потому что она была залита не с этой машины или не под этим юзером. Или вообще не по ssh. Не по ssh - исключено. Я ленив, и не стану выкаблучиваться если можно сказать два слова: ssh-keygen и ssh-copy-id. А вот если, из-под другого пользователя сказать sudo ssh-copy-id somehost интересно что произойдет? В чей known_hosts попадет соотвествующая запись? -- DamirX
Re: Security hole. remote root access.
Damir Hakimov - debian-russian@lists.debian.org @ Thu, 20 Sep 2012 11:56:41 +0400: DH Если она там была на момент показанного выше ssh-copy-id bogdo, то почему DH The authenticity of host 'bogdo (192.168.10.164)' can't be established. ?? Потому что она была залита не с этой машины или не под этим юзером. Или вообще не по ssh. DH Не по ssh - исключено. Я ленив, и не стану выкаблучиваться если DH можно сказать два слова: DH ssh-keygen и ssh-copy-id. Мне казалось, что ключ там был root@backup. То есть, вероятно, уже существующий. А ставил ты новые машины, а не бэкап-сервер. У меня в шляпе сисадмина в такой ситуации был бы tar с файлами, которые надо развернуть у рута на новой машине, и .ssh/authorized_keys (не только с ключом бэкап-юзера, но и со специфической командой для бэкапа) в нем бы был. DH А вот если, из-под другого пользователя сказать sudo ssh-copy-id DH somehost интересно что произойдет? В чей known_hosts попадет DH соотвествующая запись? В known_hosts - юзера, потому что sudo не меняет $HOME. Кстати, с ненулевыми шансами на то, что потом этому known_hosts придется еще говорить sudo chown перед попыткой добавить туда что-то еще. А вот на том конце, скорее всего, в рутовый authorized_keys, потому что юзера sudo как раз меняет, и туда оно пойдет как root. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87haqtcbbf@wizzle.ran.pp.ru
Re: Security hole. remote root access.
20 сентября 2012 г., 13:07 пользователь Artem Chuprina r...@ran.pp.ru написал: DH А вот если, из-под другого пользователя сказать sudo ssh-copy-id DH somehost интересно что произойдет? В чей known_hosts попадет DH соотвествующая запись? В known_hosts - юзера, потому что sudo не меняет $HOME. Кстати, с ненулевыми шансами на то, что потом этому known_hosts придется еще говорить sudo chown перед попыткой добавить туда что-то еще. А вот на том конце, скорее всего, в рутовый authorized_keys, потому что юзера sudo как раз меняет, и туда оно пойдет как root. Ну вот... :-( Надеешься, что нашел супер-мега дырищу, бросаешься спасать мир от Зла... А оказываешься лохом! Тьфу! Стыдоба, да и только! -- DamirX
Re: Security hole. remote root access.
On Thu, Sep 20, 2012 at 01:19:59PM +0400, Damir Hakimov wrote: Ну вот... :-( Надеешься, что нашел супер-мега дырищу, бросаешься спасать мир от Зла... А оказываешься лохом! Тьфу! Стыдоба, да и только! Разумеется. select isn't broken. -- WBR, wRAR signature.asc Description: Digital signature
Re: Security hole. remote root access.
А каким образом вы не задаете пароль рута при установке? On Wednesday, September 19, 2012 06:38:59 PM Damir Hakimov wrote: Привет всем. Нашел в сквизи дыру, через которую можно получить удаленного рута. Воспроизводится так: При установке системы, пароль руту не задаем. При этом пользователь, заведенный через инсталятор, получит возможность выполнять любую команду через sudo, введя свой пароль. После установки, можно сделать апдейты с security debian. Лично Я всегда делаю, но по отношению к этой дыре это, по моему не имеет значения. Собственно дыра обнаруживается так: с другой машины, из-под рута говорим ssh-copy-id new-machine-ip ... и ... собс-но все! ключ каким-то волшебным образом копируется на эту машину и можно заходить рутом: slogin new-machine-ip Подтвердите или опровергните, кто может. В качестве временного решения - установить пароль рута на новой машине. -- DamirX
Re: Security hole. remote root access.
19 сентября 2012 г., 18:44 пользователь Yuriy Vidineev ade...@yandex.ruнаписал: ** А каким образом вы не задаете пароль рута при установке? в графическом инсталяторе - просто нужно оставить поле пустым. -- DamirX
Re: Security hole. remote root access.
2012/9/19 Damir Hakimov damir.haki...@gmail.com: Привет всем. Нашел в сквизи дыру, через которую можно получить удаленного рута. Воспроизводится так: При установке системы, пароль руту не задаем. При этом пользователь, заведенный через инсталятор, получит возможность выполнять любую команду через sudo, введя свой пароль. После установки, можно сделать апдейты с security debian. Лично Я всегда делаю, но по отношению к этой дыре это, по моему не имеет значения. Собственно дыра обнаруживается так: с другой машины, из-под рута говорим ssh-copy-id new-machine-ip ... и ... собс-но все! ключ каким-то волшебным образом копируется на эту машину и можно заходить рутом: slogin new-machine-ip Зачем так сложно? ssh root@remote-ip с пустым паролем тоже должно сработать. Подтвердите или опровергните, кто может. В качестве временного решения - установить пароль рута на новой машине. И запретить root login в sshd_config
Re: Security hole. remote root access.
19 сентября 2012 г., 19:08 пользователь Alex Shulgin alex.shul...@gmail.com написал: Собственно дыра обнаруживается так: с другой машины, из-под рута говорим ssh-copy-id new-machine-ip slogin new-machine-ip Зачем так сложно? ssh root@remote-ip с пустым паролем тоже должно сработать. может быть - не пробовал. Я настраивал rsnapshot через ssh и при обмене ключами вдруг вылезло. Я, если честно, и осознал-то не сразу что произошло. Подтвердите или опровергните, кто может. В качестве временного решения - установить пароль рута на новой машине. И запретить root login в sshd_config Да, и проверить на наличие лишних ключей. Видимо, это бага инсталлятора. А Я специально пароль руту в инсталляторе не ставил, чтобы он мне пользователя в sudo включил (и sudo поставил). -- DamiX
Re: Security hole. remote root access.
Damir Hakimov damir.haki...@gmail.com wrote: [-- text/plain, кодировка base64, кодировка: UTF-8, 7 строк --] 19 сентября 2012 г., 18:44 пользователь Yuriy Vidineev ade...@yandex.ruнаписал: ** А каким образом вы не задаете пароль рута при установке? в графическом инсталяторе - просто нужно оставить поле пустым. grep root: /etc/shadow /etc/passwd покажи? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/kj5pi9-vja@kenga.kmv.ru
Re: Security hole. remote root access.
On Wed, Sep 19, 2012 at 06:38:59PM +0400, Damir Hakimov wrote: Привет всем. Нашел в сквизи дыру, через которую можно получить удаленного рута. Воспроизводится так: При установке системы, пароль руту не задаем. При этом пользователь, заведенный через инсталятор, получит возможность выполнять любую команду через sudo, введя свой пароль. После установки, можно сделать апдейты с security debian. Лично Я всегда делаю, но по отношению к этой дыре это, по моему не имеет значения. Собственно дыра обнаруживается так: с другой машины, из-под рута говорим ssh-copy-id new-machine-ip ... и ... собс-но все! Просит пароль рута. -- WBR, wRAR signature.asc Description: Digital signature
Re: Security hole. remote root access.
19 сентября 2012 г., 22:00 пользователь Andrey Rahmatullin w...@wrar.name написал: Собственно дыра обнаруживается так: с другой машины, из-под рута говорим ssh-copy-id new-machine-ip ... и ... собс-но все! Просит пароль рута. Товарищи господа! Я, конечно, извиняюсь - видимо бага где-то в голове, только никак не пойму где именно... Вот лог (сохранившийся в screen) - root@backup:/home/bu/data# ping bogdo PING bogdo (192.168.10.164) 56(84) bytes of data. 64 bytes from bogdo (192.168.10.164): icmp_req=1 ttl=64 time=3.41 ms 64 bytes from bogdo (192.168.10.164): icmp_req=2 ttl=64 time=0.327 ms 64 bytes from bogdo (192.168.10.164): icmp_req=3 ttl=64 time=0.354 ms ^C --- bogdo ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.327/1.365/3.415/1.449 ms root@backup:/home/bu/data# ssh-copy-id bogdo The authenticity of host 'bogdo (192.168.10.164)' can't be established. RSA key fingerprint is 4f:17:4e:4f:b1:43:a8:45:a6:7b:60:24:a7:43:e1:9a. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'bogdo' (RSA) to the list of known hosts. Now try logging into the machine, with ssh 'bogdo', and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. root@backup:/home/bu/data# slogin bogdo Linux bogdo 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Sep 19 10:23:57 2012 from 192.168.10.103 --- Никаких пассвордов не спросили. Вот вывод grep root: /etc/shadow /etc/passwd с машины bogdo: /etc/shadow:root:$6$ofYFpmiI$IIZ.iY/mO0VK8W2Rf5brbWSEJ5fKvyA3wQ6aY5.OF/M.lO1QiRm8XFBnxtgdLxbzcB2TkZnJ3N2zGKsXYdjuj.:15600:0:9:7::: /etc/passwd:root:x:0:0:root:/root:/bin/bash Т.е. пассворд руту УЖЕ установлен. И, на момент ssh-copy-id bogdo он уже БЫЛ установлен. Теперь, самое интересное: --- root@bogdo:~/.ssh# cat authorized_keys | grep root@backup | wc -l 2 root@bogdo:~/.ssh# cat authorized_keys | grep root@backup | uniq | wc -l 1 --- Я в недоумении, дорогая редакция, откуда там две одинаковые строки с одним ключом?? Если она там была на момент показанного выше ssh-copy-id bogdo, то почему The authenticity of host 'bogdo (192.168.10.164)' can't be established. ?? А если ее там не было - то почему не спросили пассворд?? PS. У меня тут апгрейд серверов - и Я штуки 4 этих debian-ов поставил с понедельника. (Решил, что проще переустановить, ибо некоторые дебианы аж sarge, и апдейтить их до сквизи Я поленился). Так вот, показанное Выше поведение ssh-copy-id (не понятно, чем вызванное) Я наблюдал дважды. Пожалуй, надо попытаться смоделировать эту ситацию начисто. -- DamirX
Re: Security hole. remote root access.
Вряд ли, конечно, но просто, чтобы исключить: А вы раздел с /root форматировали во время установки нового debian поверх старого? Может быть, ключ остался со времен старого debian? On Thursday, September 20, 2012 09:01:07 AM Damir Hakimov wrote: 19 сентября 2012 г., 22:00 пользователь Andrey Rahmatullin w...@wrar.name написал: Собственно дыра обнаруживается так: с другой машины, из-под рута говорим ssh-copy-id new-machine-ip ... и ... собс-но все! Просит пароль рута. Товарищи господа! Я, конечно, извиняюсь - видимо бага где-то в голове, только никак не пойму где именно... Вот лог (сохранившийся в screen) - root@backup:/home/bu/data# ping bogdo PING bogdo (192.168.10.164) 56(84) bytes of data. 64 bytes from bogdo (192.168.10.164): icmp_req=1 ttl=64 time=3.41 ms 64 bytes from bogdo (192.168.10.164): icmp_req=2 ttl=64 time=0.327 ms 64 bytes from bogdo (192.168.10.164): icmp_req=3 ttl=64 time=0.354 ms ^C --- bogdo ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.327/1.365/3.415/1.449 ms root@backup:/home/bu/data# ssh-copy-id bogdo The authenticity of host 'bogdo (192.168.10.164)' can't be established. RSA key fingerprint is 4f:17:4e:4f:b1:43:a8:45:a6:7b:60:24:a7:43:e1:9a. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'bogdo' (RSA) to the list of known hosts. Now try logging into the machine, with ssh 'bogdo', and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. root@backup:/home/bu/data# slogin bogdo Linux bogdo 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Sep 19 10:23:57 2012 from 192.168.10.103 --- Никаких пассвордов не спросили. Вот вывод grep root: /etc/shadow /etc/passwd с машины bogdo: /etc/shadow:root:$6$ofYFpmiI$IIZ.iY/mO0VK8W2Rf5brbWSEJ5fKvyA3wQ6aY5.OF/M.lO1 QiRm8XFBnxtgdLxbzcB2TkZnJ3N2zGKsXYdjuj.:15600:0:9:7::: /etc/passwd:root:x:0:0:root:/root:/bin/bash Т.е. пассворд руту УЖЕ установлен. И, на момент ssh-copy-id bogdo он уже БЫЛ установлен. Теперь, самое интересное: --- root@bogdo:~/.ssh# cat authorized_keys | grep root@backup | wc -l 2 root@bogdo:~/.ssh# cat authorized_keys | grep root@backup | uniq | wc -l 1 --- Я в недоумении, дорогая редакция, откуда там две одинаковые строки с одним ключом?? Если она там была на момент показанного выше ssh-copy-id bogdo, то почему The authenticity of host 'bogdo (192.168.10.164)' can't be established. ?? А если ее там не было - то почему не спросили пассворд?? PS. У меня тут апгрейд серверов - и Я штуки 4 этих debian-ов поставил с понедельника. (Решил, что проще переустановить, ибо некоторые дебианы аж sarge, и апдейтить их до сквизи Я поленился). Так вот, показанное Выше поведение ssh-copy-id (не понятно, чем вызванное) Я наблюдал дважды. Пожалуй, надо попытаться смоделировать эту ситацию начисто. -- DamirX
Re: Security hole. remote root access.
20 сентября 2012 г., 9:10 пользователь Yuriy Vidineev ade...@yandex.ru написал: Вряд ли, конечно, но просто, чтобы исключить: А вы раздел с /root форматировали во время установки нового debian поверх старого? Может быть, ключ остался со времен старого debian? Debian-ы ставились на чистые железяки и новые виртуальные машины. Разделы, содержащие каталог /root (у меня этот раздел смонтирован на корень) со старых машин не переносились. -- DamirX