LINUX.ORG.RU

Уязвимость в sudo


0

0

SuSE Security Team обнаружила ошибку в программе sudo, которая устанавливается с атрибутом setuid-root. Существует возможность выполнять sendmail с правами привилегированного пользователя в недостаточно безопасной среде.

Todd Miller анонсировал 15 января версию 1.6.4p1, с исправлением этой ошибки. Исходные тексты: http://www.sudo.ws/sudo/dist/sudo-1.6...

Пакет для Slackware 7.1: http://www.linux.zp.ua/util/sudo-1.6....

>>> Подробности



Проверено:

Это не проблема.

> Только со всем журналом.
В on-line модифицировать журнал сложно. В off-line - легко.

На самом деле "проблема" решается просто.
командой chown (неквалифицированные админы не знают о её работе в NT).
И всё, что написал Ogr после этого не стОит выеденного гроша.

В системе с RSBAC подобная фишка не пройдёт.

AffreuxChien
()

   На самом деле "проблема" решается просто.
   командой chown (неквалифицированные админы не знают о её работе в NT).
А можно поподробнее? Она что, мощнее чем если менять acl и принадлежность
через GUI? Или принадлежность через GUI поменять невозможно в винде?

hvv
()

2AffreuxChien: "И всё, что написал Ogr после этого не стОит выеденного гроша"
Марш книжку читать, прежде чем бредить. В НТ нет возможности сделать AssignOwnership есть только TakeOwnership, это ты с не доделанным линуксом спутал.
2hvv: "А можно поподробнее?"
Не переживайте так, это бред очередного линуксоида.
"Как-то не верится, что формат этого журнала никому не известен (и что нет спец. софта для удаления из него записей)."
Если ты даже удалишь запись, то нарушится его подпись...
"А если дефраментатор не от MS - то есть который не добавит запись о том, что он стартовал? Или если бинарник дефрагментатора пропатчить чтобы он запись не добавлял?"
Запись добавляется не программой, а системой в момент доступа к файлу. К примеру можешь взять FAR и попытатся прочитать файл на который стоит аудит, и запись тутже появится. Кстати это одно из любимых развлечений начинающих админов поставить аудит на %systemroot% а потом возмущатся чего это на каждый клик система по пол часа думает. Дело в том что журнал находится в этой директории (открыт процессом winlogon в exclusive mode, изменение одного байта которого вызывает не медленный BSOD, т.е. не дает его хакать) и любая запись в журнал вызывает не обходимость внесения записи об измененной записи.
"А если присоединиться отладчиком к уже запущенной юзером проге (то есть прогу пускает сам юзер, а рут поджидает его и подсоединяется отладчиком)?"
Прав у рута не хватит, т.к. на для присоединения отладчиком изначально должно быть право *писать*, а этого у него не будет.
"Хорошо, а в файл бэкап сделать и файл посмотреть?"
Запись о проведении бэкапа останется в журнале и с него спросят - где и почему?
"Ну и последний вариант - берем, грузим линукс на этой машине и монтируем ntfs в ro"
Да кто ж ему даст на сервер что-то постороннее ставить и уж тем более его шатдаунить. В таком случае можно вообще сказать, что а пусть диск вытащит...
"Правда если FS шифрованная, то будут проблемы"
Именно...
"копируем поблочно винт на CDRW"
И получаем запись в журнале на доступ, тем более блочная запись так же не даст возможности читать файл.
"Админ бы настроил ей систему раз и навсегда, и потом не имел бы доступа к системе вообще ( и пароль рутовский тоже естественно сменился бы на ему неизвестный, и вообще доступ руту в систему был бы сделан невозможным)."
Security over obscurity, не работает такой подход, т.к. иногда нужно и пользователей заводить, обслуживать систему, да в конце концов те же патчи ставить...

Ogr
()

Я так и не понял. Ну появится в журнале запись о дефрагментации, ну и что? Админ на это права не имеет, да? А если бухгалтер попадется нечестный? Почему ему доверять можно, а админу нет? Ответ тут только один - в крутых конторах и работники соответствующие. Что админ, что бухгалтер.

Ацл в линуксе прикрутить можно. Насчет гемороев, а сервиспаки на масдай накладывать типа не геморойно? следить за этим и т.п. И наконец, видел я этих бухгалтеров :) Им и оутлук сложен, а вы - за журналами следить :)

anonymous
()

"Да кто ж ему даст на сервер что-то постороннее ставить и уж тем более его шатдаунить. В таком случае можно вообще сказать, что а пусть диск вытащит... "

А что делает на сервере бухгалтер???

anonymous
()

>А что делает на сервере бухгалтер???

На лампочки смотрит.

anonymous
()

2anonymous (*) (2002-01-29 23:51:17.0): "Ну появится в журнале запись о дефрагментации, ну и что? Админ на это права не имеет, да?"
При наличии бардака имеет, в нормальных местах на рабочем сервере - нет.
"А если бухгалтер попадется нечестный?"
Вариант не честности просто глупо рассматривать, были бы все честные права не нужны бы были. А так раз не положено по служебным обязанностям смотреть и если есть возможность запретить, это куда лучше чем надеятся что он там честный.
"а сервиспаки на масдай накладывать типа не геморойно?"
Неа... Это тебе не перкомпиляция и вытаскивание новых библиотек.
"А что делает на сервере бухгалтер???"
Сервера не только веб бывают, а еще и с бугалтерскими документами, вот на этом бугалтер и сидит.

Ogr
()

Замечание для ОГРА Частица НЕ пишется раздельно с ГЛАГОЛАМИ и ДЕЕПРИЧАСТИЯМИ и слитно с ПРИЛАГАТЕЛЬНЫМИ и ПРИЧАСТИЯМИ.

anonymous
()

О Линухе:
Патчи ставить нужно не так часто, пережить раз в год смену пароля рута можно.

Добавление юзеров можно прописать в том же sudo.

О Windows:
Создание подписи на локальной системе для нее же при условии доступа с генератору подписи... Это даже не смешно.

В конце концов, можно взять журнал до чтения файла, прочесть то, что нужно, снова записать старую версию журнала. Автоматизируется и выполняется быстро. И над подписями возится не нужно. Но эта идея неспециалиста, может, по каким-то причинам это невозможно.

> Я так и не понял. Ну появится в журнале запись о
> дефрагментации, ну и что? Админ на это права не имеет, да?
> А если бухгалтер попадется нечестный? Почему ему доверять
> можно, а админу нет? Ответ тут только один - в крутых
> конторах и работники соответствующие. Что админ, что
> бухгалтер.

Именно. А если бухгалтер админа невзлюбит?

> И наконец, видел я этих бухгалтеров :) Им и
> оутлук сложен, а вы - за журналами следить :)

Именно :)

CybOrc
()

   Марш  книжку  читать, прежде чем бредить. В НТ нет возможности сделать
   AssignOwnership  есть  только  TakeOwnership,  это  ты с не доделанным
   линуксом спутал.
Не с линуксом, а с юниксом с файловой системой без ACL. Линукс как-раз
доделанный - у него есть RSBAC.
   "А  если  дефраментатор не от MS - то есть который не добавит запись о
   том,  что  он  стартовал? Или если бинарник дефрагментатора пропатчить
   чтобы он запись не добавлял?"
Разве дефрагментаторы доступ получают не к блокам раздела? Как они могут
рисовать красивенькую иллюстрацию процесса (место куда они пишут кусочки
текущего файла - как они узнают, какие места на диске заняты, а какие нет)?
   "А  если  присоединиться  отладчиком к уже запущенной юзером проге (то
   есть  прогу  пускает  сам  юзер,  а рут поджидает его и подсоединяется
   отладчиком)?"
   Прав у рута не хватит, т.к. на для присоединения отладчиком изначально
   должно быть право *писать*, а этого у него не будет.
Право писать куда?
   "Хорошо, а в файл бэкап сделать и файл посмотреть?"
   Запись  о проведении бэкапа останется в журнале и с него спросят - где
   и почему?
Как она там появится? Там появится запись о бэкапе каждого файла или
просто о том, что был проведен бэкап? Если второе - может софт для бэкапа не от MS
не добавляет записи в журнал? Если первое - то это как-то кривовато..
   "копируем поблочно винт на CDRW"
   И получаем запись в журнале на доступ, тем более блочная запись так же
   не даст возможности читать файл.
Про то, что получим запись в журнале на доступ - верится с очень большим
трудом. Чтобы это было возможно, ОС должна знать, какому файлу соответствует
байт (сектор) с номером N в таком-то разделе.  Во-первых, стуктуры данных
FS направлены на обратную задачу (какие секторы занимает данный файл),
(и выполнение обратной задачи будет очень ресурсоемким процессом), во-вторых
тогда при поблочном копировании в журнале должны появится столько записей
про данный файл, сколько секторов он занимает.

Про "тем более блочная запись так же не даст возможности читать файл":
ты же вроде не отрицал, что если админа добавить в ту группу, что и
тот юзер, то он сможет прочесть файл. Или просто сменить пароль юзеру
и войти от его имени. Ведь журнал никто не увидит, так как это будет
другая машина.
 А драйверы имеют бесконтрольный доступ к файлам? Ведь можно написать
драйвер какого-нибудь псевдоустройства, чтобы он сливал данные того
юзера в другой файл.
   Security over obscurity, не работает такой подход, т.к. иногда нужно и
   пользователей  заводить,  обслуживать систему, да в конце концов те же
   патчи ставить...
Ну, под юниксом можно предварительно написать скрипты для добавления
юзеров и через sudo дать выполнять их какому-то юзеру (но не руту).
Хоть ставить патчи на ядро и обновлять библиотеки. Хотя если машина
не в сети, то ничего делать вообще не надо в течение нескольких лет.

hvv
()

Читаю тут ваши постинги и аж тошно мне :( Да че вы с ним спорите? Всеравно не переспорите, ему ж за это деньги платят, он надрочился спорить. Если внимательно прочесть тему, видно как он обосрался уже раз 5. Я б мог придумать с ходу как минимум 10 разных способов снятия нужной инфы, и никакой хренов бухгалтер ниче б не допер. Тока вот описывать мне их тут неохота, времени нет, да и не хочу дураком выглядеть.

anonymous
()

2CybOrc: "Патчи ставить нужно не так часто, пережить раз в год смену пароля рута можно"
Так его (пароль) рекомендовали забыть... Что же касается не часто, то updates с ftp.redhat.com слегка другого мнения...
"Создание подписи на локальной системе для нее же при условии доступа с генератору подписи... Это даже не смешно"
Знаешь что-такое система с паблик/привайвет ключами?
"В конце концов, можно взять журнал до чтения файла, прочесть то, что нужно, снова записать старую версию журнала"
Ну изобрази. А я посмотрю как ты будешь файл с журналом на место класть... Для не внимательных я повторю еще раз - файл этот открывается процессои winlogon с флагом exclusive, изменение одного байта в этом процессе ведет к немедленному bsod, т.к. система за ним очень внимательно следит.
"Именно. А если бухгалтер админа невзлюбит?"
Каждый должен иметь доступ к информации не обходмой ему по службе, админу доступ к бугалетрской инфе абсолбтно не нужен. И дело тут не в любви или честности...
2hvv: "Разве дефрагментаторы доступ получают не к блокам раздела?"
Нет, они работают через API системы и ни какого прямого чтения.
"Как они могут рисовать красивенькую иллюстрацию процесса"
Вплоть до w2k эти красивые картинки на НТ были откровенной фикцией. В ntfs5 для этого api сделали.
"Право писать куда?"
В адресное пространство процесса.
"Как она там появится? Там появится запись о бэкапе каждого файла или
просто о том,"
При попытке доступа к файлу на который стоит аудит, система закинет сообщение в журнал, но программа бэкапа, а система, чуствете разницу?
"Чтобы это было возможно, ОС должна знать, какому файлу соответствует
байт (сектор) с номером N в таком-то разделе"
С начала читаем вот это http://sysinternals.com/ntw2k/info/defrag.shtml Если есть еще вопросы после прочтения, то тут я пасс.
"А драйверы имеют бесконтрольный доступ к файлам?"
Доступ только через api ни каких прямых обращений, так что и тут облом.
"Хоть ставить патчи на ядро и обновлять библиотеки"
А когда жесткий диск вдруг сбойнет, пойти по миру?
2anonymous (*) (2002-01-30 17:20:34.0): "Я б мог придумать с ходу как минимум 10 разных способов снятия нужной инфы"
Давай "знаток"...
"да и не хочу дураком выглядеть"
И правильно промолчишь вдруг за умного сойдешь, но ты уже к счастью высказался, и показал свою дурость во всей красе.

Ogr
()
Ответ на: комментарий от anonymous

Давайте программеров в одну кучу, сисадминов в другую.
Что такое сисадмин под Вынь - приложение к кнопочкам и галочкам (отсуцтвие исходного кода + плоский cmd).
Что такое сисадмин под Юних - это сначало подумай - потом сделай, потом еще раз подумай - еще раз сделай, но правильно (исходники + BASH).

Про программистов небуду - маленький еще :o)

anonymous
()

Классная дискусия про доступ к бухгалтерским документам в серьезных конторах! А я-то наивный думал что в серьезных конторах бухгалтерские документы в БД, а не в FS, хранятся. А там вроде и разговор про права доступа другой.

anonymous
()

Пароль не то, что забыть, его рекомендуется вообще не знать. :) Скриптиком сгенерили новый, напечатали, в конвертик и к шефу в сейф. :) Меньше знаешь --- лучше спишь. Доставать в случае реальной необходимости.

>> "Создание подписи на локальной системе для нее же при >> условии доступа с генератору подписи... Это даже не смешно" > Знаешь что-такое система с паблик/привайвет ключами? Угу. А еще знаю, что бывает, если оба ключа на одном компе валяются.

>> "Именно. А если бухгалтер админа невзлюбит?" Я имел в виду, что, чтобы подставить админа, даже фантазии особой бухгалтеру не нужно. :)

CybOrc
()

2Огр Интересно как так бухгалтер смотрит (читай сидит) на сервере, интересно если я админ и как положено должен иметь полный КОНТРОЛЬ над системой как я могу отвечать за нее (или что ваш бухгалтер сидит и адинит базу, сетку и еще хрен знает чего?), если на самом деле это так то не хрен вам дорогой АДМИН делать на этой работе. Сервер с бухгалтерскими документами - не смешите, а может у ВАС еще с сетка изолированная от всего мира (в принципе сохранность данных может гарантировать только выключенная машина в запертой охраняемой комнате). 2ALL Кстати есть у меня один знакомый который тоже как Ogr винь любит как себя, дак вот у него сервер валился один раз в месяц стабильно (знаете как они решили эту проблему - отключились от Интернет), и контора я скажу вам не Огровксая бухгалтерия с бухгалтерскими документами а целый департамент области (кстати финансовый). И не надо тут пукать во все горло и говорить что мол админ дурак - он между нами дипломированный админ NT. И после всего этого я читаю трейд как спор маленьких детей "Ogr говорит что его мама самая лучшая, а остальные ему говорят что их папа самый сильный".

anonymous
()

   2CybOrc:  "Патчи  ставить нужно не так часто, пережить раз в год смену
   пароля рута можно"
   Так  его (пароль) рекомендовали забыть... Что же касается не часто, то
   updates с ftp.redhat.com слегка другого мнения...
Можно написать скрипты для их установки, и разрешить исполнять их из
sudo какому-то юзеру. Никакой проблемы нет.
   "Право писать куда?"
   В адресное пространство процесса.
А почему писать, я же сказал что надо оттуда только читать!
А как выставляется ACL на память процесса?
А можно ли читать swapfile в виндах как файл?
   открывается  процессои  winlogon  с флагом exclusive, изменение одного
   байта  в  этом процессе ведет к немедленному bsod, т.к. система за ним
   очень внимательно следит.
Очень интересно.. А почему просто нельзя было запретить открывать этот
файл на запись? Тебе не кажется что BSOD вместо неудачного завершения
открытия файла на запись делать - как-то криво?
   С   начала   читаем   вот  это  http://sysinternals.com/ntw2k/info/de-
   frag.shtml Если есть еще вопросы после прочтения, то тут я пасс.
Кстати, при заходе туда из lynx'а получаешь сообщение security alert -
и никакого текста статьи. Считал links'ом.
Да, все как я говорил - нет API для выяснения какому файлу соответствует
блок с номером N на диске. Следовательно, если мы откроем диск на
посекторное чтение, считаем его весь - то во время считывания секторов того секретного файла
никаких сообщений в журнал не получим. То есть можно сделать поблочную
копию диска незамеченным. Если это так - то имеем большую дырку.
   "А драйверы имеют бесконтрольный доступ к файлам?"
   Доступ  только  через  api  ни  каких  прямых обращений, так что и тут
   облом.
А из любого места виртуальной памяти они могут читать?
А читать поблочно они могут тоже - вот второй способ сделать зеркальную
копию диска.

hvv
()

2anonymous (*) (2002-01-31 09:45:02.0): "отсуцтвие исходного кода + плоский cmd"
Если админу надо лезть в исходный код чтоб понять как работает система, это не система, а сарай на подпорках. И кстати что такое плоский cmd? Прежде чем начнешь дурь свою показывать, постарайся прочитать что-нить по теме.
2anonymous (*) (2002-01-31 10:28:15.0): "А я-то наивный думал что в серьезных конторах бухгалтерские документы в БД, а не в FS, хранятся. А там вроде и разговор про права доступа другой"
Файлы баз данныз тоже как бы на fs лежат (сейчас рассажут про raw девайсы...). Вот только дело в том, что кроме базы есть еще и обыкновенная документация которая лежит файлами на диске.
2CybOrc: "Пароль не то, что забыть, его рекомендуется вообще не знать. :) Скриптиком сгенерили новый, напечатали, в конвертик и к шефу в сейф. :)"
Это и называется Security over obscurity. В вашем сценарии, нет уверенности что админ пароль прежде чем запечатать в конверитк куда-нибудь себе не запишит.
2anonymous (*) (2002-01-31 11:15:37.0): "если я админ и как положено должен иметь полный КОНТРОЛЬ"
Кем положено? Вами же и положено, хотя положено тебе только одно - сервер должен бесперебойно работать, и доступ к бугалтерским документам (к примеру) для этого совсем не обязателен.
"может у ВАС еще с сетка изолированная от всего мира"
Стоит файрвол, из которого видно, что каждый божий день какой-нить придурь пытается делать скан портов.

Ogr
()

2hvv: "Можно написать скрипты для их установки, и разрешить исполнять их из sudo какому-то юзеру"
Скрипты на все случаи жизни? Т.е. по сути дать ему рута.
"А почему писать, я же сказал что надо оттуда только читать!"
Повторою еще раз - для того чтоб подключится отладчиком тебе придется записать данные в область памяти процесса.
"А как выставляется ACL на память процесса?"
Так же как и для файлов - через токен.
"А можно ли читать swapfile в виндах как файл?"
При работающей системе - нет.
"А почему просто нельзя было запретить открывать этот файл на запись?"
Потому как админ может зайти в систему как владелец этого файла и изменить права на запись.
"криво?"
Твое предложение как раз и описывается этим словом.
"Кстати, при заходе туда из lynx'а получаешь сообщение security alert - и никакого текста статьи"
Линкс это конечно показатель соответствия стандартам...
"Да, все как я говорил - нет API для выяснения какому файлу соответствует блок с номером N на диске. Следовательно, если мы откроем диск на посекторное чтение"
Следовательно чиатем еще раз. До тех пор пока не поймешь, что диск на посекторное чтение не открывается.
"А из любого места виртуальной памяти они могут читать?"
Акцес ваолейшон получишь...
"А читать поблочно они могут тоже"
Повторю еще раз - поблочно диск читать не получется (в том смысле в котором ты это подразумеваешь).

Ogr
()

   2hvv:  "Можно написать скрипты для их установки, и разрешить исполнять
   их из sudo какому-то юзеру"
   Скрипты на все случаи жизни? Т.е. по сути дать ему рута.
Почему на все случаи жизни? Только на обновления пакетов от RH.
   Повторою  еще раз - для того чтоб подключится отладчиком тебе придется
   записать данные в область памяти процесса.
Вообще да - его придется остановить.
   "Кстати,  при заходе туда из lynx'а получаешь сообщение security alert
   - и никакого текста статьи"
   Линкс это конечно показатель соответствия стандартам...
Ну ты конечно гуру по протоколу HTTP, я знаю. Скорее всего они записали
его в список роботов-выкачивателей..
   Следовательно  чиатем еще раз. До тех пор пока не поймешь, что диск на
   посекторное чтение не открывается.
То есть открытие "\\.\C" или как там не даст считать диск посекторно?
А вот эта вещь как работает? :
http://www.paragon-gmbh.com/n_db_requir.htm
А как работает утилита format - она же как-то может форматить диски?
Как она имеет посекторный доступ к устройствам?

Короче, как-то я тебе слабо верю  - ведь ерунда ссылку на которую я
тебе дал работает под win2k и может зеркалить NTFS разделы.

hvv
()

2Ogr: Слышь, хрен, давай тачку - придумаю сходу :) Тока засцишь ты, обломаю же. Тут и не такую херню ломаем, солярку/BSD всякие например (могу беднякам кред подкинуть :) )... А ты тут со своей херней сунешся :) Не позорься.

anonymous
()

Ну давай начинай 207.46.197.102 посмотрим что получится.

anonymous
()

"Файлы баз данныз тоже как бы на fs лежат" (C) Ogr.

Ага, и владельцем этих файлов является бухгалтер...

"Вот только дело в том, что кроме базы есть еще и обыкновенная документация которая лежит файлами на диске."(C) Ogr

Опять-таки в серьезных конторах люди работают на системах документооборота, а "простые файлы" не мешало бы и просматривать - вдруг там донесение конкуренту или донос в налоговую :).

anonymous
()

> Марш книжку читать, прежде чем бредить
Я этих книжек начитался, как один из первых в РФ клиентов Microsoft в части Windows NT.

Рассказываю:
1) Microsoft-овская утилита chown действительно имеет ограниченную функциональность, т.к. использует вызов chown
2) Для posix существует так же утилита, chown (и chmod), содержащая независимый код доступа к NTFS, уж извините - не помню откуда заимствованный - из Linux или BSD.
Главная прелесть - работает на on-line системе.

Вторая часть повести:
Штатная Microsoft-овская утилита su.
Цена вопроса - знание пароля.

-------
Решение 1-го - в w2k и XP. - Шифровка каталога
Решение 2-го - корпоративная политика паролей.
-------
НО:
Бухгалтер серьёзной организации вряд ли будет в курсе этих проблем, т.к. более 70% продаж ERP-систем приходится на платформу AS/400 (iSeries)
-------------
Механизм, применённый в RSBAC в этой части совершеннее - чёткое разделение полномочий администратора, пользователей и секьюрити-офицера.

-----------
Всем:
При условии, что данные не шифрованы - стойких к взлому систем просто нет. Стойкость какая-то есть только на работающей системе.
-----------
Всем:
Не нужно особо наезжать на NT - при грамотной эксплуатации она достаточно стойкая. Даже соответствует C2, при условии отсутствия сетевых протоколов и некоторых других ограничениях.

AffreuxChien
()

Что-то я недоговорил вчера...
   "А почему просто нельзя было запретить открывать этот файл на запись?"
   Потому  как  админ  может  зайти  в систему как владелец этого файла и
   изменить права на запись.
   "криво?"
   Твое предложение как раз и описывается этим словом.
Блин, я говорил, что ядро/служба могло бы открывать тот файл в режиме эксклюзивной
записи. Когда файл открыт в таком режиме, никакие ACL не дадут кому-то
другому его открыть на запись. Так что то, что сейчас в винде - именно очень криво.
   "А из любого места виртуальной памяти они могут читать?"
   Акцес ваолейшон получишь...
   "А читать поблочно они могут тоже"
   Повторю  еще  раз  - поблочно диск читать не получется (в том смысле в
   котором ты это подразумеваешь).
Хорошо, а драйверы могут писать/читать в порты процессора? Наверняка да,
и следовательно через порты можно считать любой сектор с винта. Дырка?

hvv
()

   Главная прелесть - работает на on-line системе.
Очень приятно слышать! :)
   Вторая часть повести:
   Штатная Microsoft-овская утилита su.
   Цена вопроса - знание пароля.
   -------
   Решение 1-го - в w2k и XP. - Шифровка каталога
   Решение 2-го - корпоративная политика паролей.
   -------
А можно по-подробнее об[яснить мысль? Черезмерно лаконично вышло..

hvv
()

Ogr:
> в ядре до 2.2.14 был кажется ремоте эксплоит
UDP? Или какая?
Так для проявления UDP-ошибки нужно _специально_ разрешить полностью UDP. Но кто это сделает?

hvv:
> Черезмерно лаконично вышло...
Как известно, вплоть до NT4 хэши паролей хранились в 2-х половинках - хэш 1-ых 7 и хэш оставшихся.

Т.е. при коротком пароле перебор "в лоб" занимает очень короткое время, не нужно быть семи пядей во лбу, чтоб запустить удобную в использовании утилиту перебора.
Кстати, это беда SMB, как такового.

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

Далее - дело техники - su, которой, как известно некоторым в Windows нет (но нам об этом неизвестно, посему воспользуемся su производства Microsoft)

В общем, высокая частота смены паролей и большая длина оных сводит уязвимость к приемлемому уровню.
-----------------
Итого:
Говорить о высокой безопасности от внутренного вторжения на станке, врубленном в сеть, если функции администратора и функции security не разделены - лишено смысла.
-----------------
Если же начать анализ WinNN + ipsec и Linux + RSBAC + openwall + ipsec в сетевом окружении и включить туда так же потенциальную устойчивость к троянам и т.п. - картина получится сложная, боюсь не в пользу Windows.

AffreuxChien
()

Роман, большое спасибо за об[яснения!

hvv
()

> Файлы баз данныз тоже как бы на fs лежат" (C) Ogr.
Далеко не всегда.
Более того, часто раздел с БД не имеет ФС - там лежит БД.

AffreuxChien
()

2AffreuxChien: "Для posix существует так же утилита, chown (и chmod), содержащая независимый код доступа к NTFS"
Ну давайте, продемонстрируйте, прежде чем сюда писать, возможность сделать assignownership, уверяю Вас ни хрена не получится.
"Даже соответствует C2, при условии отсутствия сетевых протоколов"
И все же идите читать книжки, потому как уже всю воду из лужи расплескали... http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/n...
"(C) Ogr."
А дальше чего не процетировали? А? там написано "сейчас мне расскажут про raw девайсы". Что не знали чем уколоть что ли? Так Ваша проблема в том что при полном не знании предмета обсуждения пытаетесь что сказать, в прочем это бЯда многих линуксоидов.
Мне вообще иногда кажется, что такое сборище незнаек на линуксе вызвано тем, что не имея способности что-то понять или уж на крайний случай зазубрить такие люди уставят и "используют" линукс потому как сидя перед текстовым изображением и выучив пару слов (на большее как правило не хватает) очень просто создавать видимость работы. А то что многие действия требуют под линуксом на много большего времени (ну как же читаем маны, накладываем патчи, потом накладываем патчи на патчи и т.д.)это таких персоонажей увы не влонует. Это все описанное относится в безгармотным линуксоидам, коих среди анонимусов 99.9999% и к которым Вы очень быстро продвигаетесь.

Ogr
()

   2AffreuxChien:  "Для posix существует так же утилита, chown (и chmod),
   содержащая независимый код доступа к NTFS"
   Ну  давайте,  продемонстрируйте,  прежде  чем сюда писать, возможность
   сделать assignownership, уверяю Вас ни хрена не получится.
Ну так сам попробуй! Мне больше кажется, что будет работать как сказал Роман -
эта posix subsystem как-то параллельно с остальными подсистемами NT работает.
Из прог, юзающих эту posix subsystem даже GDI звать нельзя.
Делов-то - взять и попробовать..
   "Даже соответствует C2, при условии отсутствия сетевых протоколов"
   И  все  же  идите  читать  книжки,  потому  как  уже  всю воду из лужи
   расплескали...           http://www.microsoft.com/technet/treeview/de-
   fault.asp?url=/technet/security/n...
Я слышал что действительно, сертифицировали только НЕ стояющую в сети
машину, и человек, который дал сертификат  - жалеет об этом досих пор.
А читать рекламу на сайте MS не хочу.

Ogr, а мне когда ответишь?

hvv
()

2hvv: "Ну так сам попробуй!"
Пробывал и не раз. Не получается.
"эта posix subsystem как-то параллельно с остальными подсистемами NT работает"
Посикс подсистема работает через интерфейс ОС (вызовы с прифексом Nt... и другие), и обойти ограничение ядра ни как не получится.
"Из прог, юзающих эту posix subsystem даже GDI звать нельзя"
Можно и нет проблем и Interix тому потверждение.
"Мне больше кажется, что будет работать как сказал Роман"
В этом то и проблема, Вы готовы верить всему что говорит про Виндовс даже такой неуч как AffreuxChien вместо того чтоб прочитать, попробывать что-нить по теме.
"Я слышал что действительно, сертифицировали только НЕ стояющую в сети машину"
И под каким камнем Вы провели последнии 5 лет? То что Вы слышал относилось к NT3.5 и было в начале 90х...
"и человек, который дал сертификат - жалеет об этом досих пор"
Сертифицирует не человек, а организация, мало того спустя короткое время и Англия сертифицировала NT4 (стоящей в сети) по их Орандж Бук (если не переврал название).
"А читать рекламу на сайте MS не хочу"
Я бы вообще сказал, что читать Вы не хотите. А ведь на той ссылке есть два линка именно на тех кто сертифицировал и как (http://www.radium.ncsc.mil/tpep/epl/entries/TTAP-CSC-EPL-99-001.html). "Windows NT 4.0 with Service Pack 6a and the C2 Update with networking meet the C2 requirements of the Department of Defense Trusted Computer System Evaluation Criteria"
"а мне когда ответишь?"
На какой вопрос?

Ogr
()

   "Из прог, юзающих эту posix subsystem даже GDI звать нельзя"
   Можно и нет проблем и Interix тому потверждение.
Что GDI использовать нельзя - кажется знают все. В разных изданиях об
этом говорится, и это назвают фичей, которая делает POSIX субсистем в NT
никчемной.
 Про interix: это поделие от MS, у которой есть все сырцы. И на странице
фич не указано, что из приложений, портируемых с его помощью, можно
звать GDI напрямую (и как одна из фич указана - возможность вызывать win32
приложения). Что вызывает некоторые сомнения в способности POSIX subsystem
for NT, а также в ее отдельности.
А вот файл http://onyx.yonsei.ac.kr/courses/management/down/Chap2-SystemArchitecture.ppt
подтверждает мои слова (кусок, переведенный гуглом в html):
                Environment Subsystems and Subsystem DLLs[1]

   Three environment subsystems:
   OS/2, POSIX, and Win32

   Windows 2000 can't run without Win32(special subsystem)

   The other subsystems are configured to start on demand

   The subsystem startup information
   HKLM\SYSTEM\CurrentControlSet\Control\Session  Manager\SubSystems(Fig-
       ure 2-4)

   The role of an environment subsystem
   Expose  Some subset of the base Windows 2000 executive system services
       to application programs

   Each executable image is bound to one and only one subsystem

   Function calls can't be mixed between subsystems
То есть, экзешник привязан к одной подсистеме. Из него можно звать ф-ии
только одной подсистемы. Из interix'а можно звать только ф-ии Xlib
(которая общается через pipe с Х-сервером, скорее всего реализованным на
подсистеме win32 - чтобы мочь рисовать на экране через GDI).
Короче, Ogr, иди читай NT internals.
 Про сертификацию NT4.0 c сетью - да, кажется ты прав. Винда меня не
интересует, посему я об этом не знал.
   "а мне когда ответишь?"
   На какой вопрос?
На все тобой не отвеченные.
См постинги от (2002-01-31 21:36:05.0) и (2002-02-01 11:16:42.0)
Чтобы ты не отмазался, приведу их опять:
------------------------------
   Следовательно  чиатем еще раз. До тех пор пока не поймешь, что диск на
   посекторное чтение не открывается.
То есть открытие "\\.\C" или как там не даст считать диск посекторно?
А вот эта вещь как работает? :
http://www.paragon-gmbh.com/n_db_requir.htm
А как работает утилита format - она же как-то может форматить диски?
Как она имеет посекторный доступ к устройствам?

Короче, как-то я тебе слабо верю  - ведь ерунда ссылку на которую я
тебе дал работает под win2k и может зеркалить NTFS разделы.


   "А почему просто нельзя было запретить открывать этот файл на запись?"
   Потому  как  админ  может  зайти  в систему как владелец этого файла и
   изменить права на запись.
   "криво?"
   Твое предложение как раз и описывается этим словом.
Блин, я говорил, что ядро/служба могло бы открывать тот файл в режиме эксклюзив
ной
записи. Когда файл открыт в таком режиме, никакие ACL не дадут кому-то
другому его открыть на запись. Так что то, что сейчас в винде - именно очень кр
иво.
   "А из любого места виртуальной памяти они могут читать?"
   Акцес ваолейшон получишь...
   "А читать поблочно они могут тоже"
   Повторю  еще  раз  - поблочно диск читать не получется (в том смысле в
   котором ты это подразумеваешь).
Хорошо, а драйверы могут писать/читать в порты процессора? Наверняка да,
и следовательно через порты можно считать любой сектор с винта. Дырка?

hvv
()

2hvv: "Что GDI использовать нельзя - кажется знают все"
Только забыли почему-то об этом сообщит MS'у, а то они говорят что X11 там работает... (gdi это вообще говоря подсистема из win32, а не графика сама по себе, как это думаешь ты). Мало того научился бы поисковиками пользоватся http://www.microsoft.com/windows2000/interix/features.asp
"Винда меня не интересует"
Но при этом разговор чего-то про винду ведешь...
"То есть открытие "\\.\C" или как там не даст считать диск посекторно?"
Значит так - берешь НТ ставишь, делаешь аудит на файл и делаешь открытие диска, и читаешь, потом смотришь на результат. Раз словам не веришь.
"как-то я тебе слабо верю"
И не верь. Просто попробуй и убедись сам. А насчет верить это ты к AffreuxChien, у него хорошо получается лгать, и при чем так правдиво выглядет, правда правдой его слова от этого не становятся.
" как работает утилита format - она же как-то может форматить диски?"
Одно дело иметь доступ, другое дело иметь доступ без оставления следов. Так вот следы всегда остаются и владелей фалы ою этом узнает. Что в прочем я тебе уже на протяжении двух недель говорю.
"Блин, я говорил, что ядро/служба могло бы открывать тот файл в режиме эксклюзивной записи. Когда файл открыт в таком режиме, никакие ACL не дадут кому-то другому его открыть на запись"
Скажи, ты читать умеешь? А понимать прочитанное? Теперь откатывешся назад и исчешь где я говорил про то что журнал открывается эксклюзивно и пытаешся понять что ты мне написал. У меня честно - не получилось.
"Хорошо, а драйверы могут писать/читать в порты процессора?"
Не все и не во все порты.
"следовательно через порты можно считать любой сектор с винта"
Даже если ты не где не промажешь в своих действиях система выпадет в синий экран из-за того что драйвер fs просто сконфликтует с данными на диске.

Ogr
()

   Только забыли почему-то об этом сообщит MS'у, а то они говорят что X11
   там  работает...  (gdi  это  вообще  говоря  подсистема из win32, а не
   графика  сама  по  себе,  как  это  думаешь ты). Мало того научился бы
   поисковиками  пользоватся  http://www.microsoft.com/windows2000/inter-
   ix/features.asp
Естественно ты не знаешь даже базовые принципы X11. О них я тебе выше уже
сказал - повторю: приложение, использующее X11, использует xlib, которая
передает запросы и получает ответы от Х серевера через сокет (если он
на др. машине) или через именованный канал. Именно за счет этого у Х11 - сетевая
прозрачность. Посему MS наверно реализовала Х серер как приложение, исп.
подсистему win32, чтобы иметь возможность исп. GDI. То есть им даже не
надо было иметь доступ к сырцам подсистемы POSIX.
 Ну и плюс файл, на который я тебе кинул ссылку - там тоже написано про
невозможность вызова ф-ий подсистемы win32 (в т.ч. GDI) из кода, исп.
posix subsystem.
   "То   есть   открытие  "\\.\C"  или  как  там  не  даст  считать  диск
   посекторно?"
   Значит  так  -  берешь  НТ  ставишь,  делаешь  аудит на файл и делаешь
   открытие  диска, и читаешь, потом смотришь на результат. Раз словам не
   веришь.
Что ты таким нервным тоном говоришь-то?! То ты говорил, то посекторно диск
считать нельзя, то говоришь, что буд-то можно, но запись в журнале останется..
Ты сам пробовал? Попробуй, а потом честно скажи о результате - будет ли
в журнале запись или нет.
   "Блин, я говорил, что ядро/служба могло бы открывать тот файл в режиме
   эксклюзивной  записи. Когда файл открыт в таком режиме, никакие ACL не
   дадут кому-то другому его открыть на запись"
   Скажи,  ты  читать  умеешь? А понимать прочитанное? Теперь откатывешся
   назад и исчешь где я говорил про то что журнал открывается эксклюзивно
   и пытаешся понять что ты мне написал. У меня честно - не получилось.
Я не понял, что именно ты не понял. Я говорю, что для препятствования записи
в журнал на работающей системе ядру хватило бы открыть его в режиме экслюзивной
записи. Даже если бы админ выставил хоть какие ACL на него, у него бы не
получилось писать в журнал ибо он был бы открыт ядров в режиме экскл.
записи. То есть я говорю про то, что показывать BSOD - это лишнее.
   "Хорошо, а драйверы могут писать/читать в порты процессора?"
   Не все и не во все порты.
Хорошо, какие и в какие порты могут?
   "следовательно через порты можно считать любой сектор с винта"
   Даже  если  ты не где не промажешь в своих действиях система выпадет в
   синий экран из-за того что драйвер fs просто сконфликтует с данными на
   диске.
Что значит сконфликтует с данными на диске? Берем и читаем в *свой* буфер
любые сектора. А потом используем API для передачи этого хозяйства через
сеть. Какие конфликты тут могут быть? Разве что если пока мы читаем,
данные в уже считанных секторах изменятся - но это маловероятно если с тем
диском не работает в данный момент ни одно приложение.

Еще - ты говорил, что драйверу невозможно читать любое место в памяти.
Так вот - драйверы работают в кольце ядра - почему они не могут читать,
исползуя внутреннее ядерное API, память любого процесса?

hvv
()

2hvv: "Посему MS наверно реализовала Х серер как приложение, исп.
подсистему win32, чтобы иметь возможность исп. GDI"
Я не знаю каким образом они это реализовали, но знаю что графика для позикс приложений есть, в то время как ты утверждал обратное. Какая тебе разница, как это реализовано (скорее всего просто в лоб вызываются функции видео драйвера) я не понимаю.
"Что ты таким нервным тоном говоришь-то?! То ты говорил, то посекторно диск считать нельзя, то говоришь, что буд-то можно, но запись в журнале останется"
Мне надоел разговор глухого с немым. Отмотай назад и увидишь что я говорил, что не смотря ни на какие способы чтения файлов, запись в журнале останется либо просто не дадут прочитать файл. Есть возражения?
"Ты сам пробовал?"
Пробывал и получал отлуп от системы если на файл не хватало прав.
"То есть я говорю про то, что показывать BSOD - это лишнее"
BSOD показывается (откатись назад и прочти) в случае если произошла попытка внести изменения в winlogon.
"Хорошо, какие и в какие порты могут?"
Драйвер должен получить право на запись в порты, и он из получит если они не заняты, в случае с драйвером диска, твой драйвер будет в пролете, потому как к тому эти ресурсы будут уже заняты.
"Что значит сконфликтует с данными на диске? Берем и читаем в *свой* буфер любые сектора"
А драйвер диска в этот момент берет загоняет данные на диск (это все атки физическое устройство которое понимает последовательные команды). Подумай что в этот момент произойдет.
"Так вот - драйверы работают в кольце ядра - почему они не могут читать"
Память у ядра получить надо писанние данных по прямому адресу закончится очень плачевно.

Ogr
()

2hvv: Да кстати прочити хоть какую-нить книжку по НТ по драйверам. Там есть способ как обойти ограничения по правам :) Но ни анонимусы ни ты такой мелочью как чтение не увлекаетесь.

Ogr
()

> сейчас мне расскажут про raw девайсы"
Нет. Про Microsoft SQL Server в ряду прочих :)

hvv:
> эта posix subsystem как-то параллельно с остальными подсистемами NT работает.

Не совсем так. Но posix-вызов chown действительно не сработает, если назначается не на текущего пользователя.
При условии использования _только_ microsoft-овского софта говоримое Ogr-ом близко к правде.

По поводу logon-а - если внимательно и вдумчиво вчитаться в MSDN, то некоторые могут найти много нового и интересного в части взаимодействия логона с сервисами. :)

AffreuxChien
()

   2hvv: "Посему MS наверно реализовала Х серер как приложение, исп.
   подсистему win32, чтобы иметь возможность исп. GDI"
   Я  не  знаю каким образом они это реализовали, но знаю что графика для
   позикс  приложений  есть,  в то время как ты утверждал обратное. Какая
   тебе   разница,  как  это  реализовано  (скорее  всего  просто  в  лоб
   вызываются функции видео драйвера) я не понимаю.
Из кода, исп. posix  subsystem, вызывать ф-ии win32subsys невозможно. Точка.
Об этом я читал в различных журнальчиках с обзорами NT года 2-3 назад,
об этом же написано в ppt файле, на который я тебе дал ссылку. Доп.
ссылки меня просто заломало искать. interix  реализован скорее всего
как я сказал (Х-сервер - win32 subsystem app).
   "Ты сам пробовал?"
   Пробывал и получал отлуп от системы если на файл не хватало прав.
Хочется верить что ты действительно пробовал. Правда, как я сказал,
выяснение того, какому файлу принадлежит блок номер N - ресурсоемкая
задача, и я досих пор сомневаюсь в том, что NT это делает (то есть тебе
я не очень верю). Не сильно верю потому, что ссылкам на разные источники
про невозможность вызова ф-ий из разных подсистем (posix & win32) ты веришь
меньше, чем своим домыслам о вещам, которые ты абсолютно нихрена не знаешь
(Х11).
   "То есть я говорю про то, что показывать BSOD - это лишнее"
   BSOD  показывается  (откатись  назад и прочти) в случае если произошла
   попытка внести изменения в winlogon.
В смысле изменения в образ winlogon.exe на диске? Стремно.. Ведь он все равно
исполняется и не висит от пуска системы до останов AFAIR, и пишущий в
winlogon.exe должен получить error: text file busy или как там под виндами..
Ладно, а установка сервиспака все-таки winlogon.exe как-то может проапдейтить.
То есть возможность недокументированная есть.
   Драйвер  должен получить право на запись в порты, и он из получит если
   они  не  заняты,  в  случае  с  драйвером  диска, твой драйвер будет в
   пролете, потому как к тому эти ресурсы будут уже заняты.
Наверно есть вызовы, которые позволяют это обойти.
   "Что  значит  сконфликтует с данными на диске? Берем и читаем в *свой*
   буфер любые сектора"
   А  драйвер  диска в этот момент берет загоняет данные на диск (это все
   атки физическое устройство которое понимает последовательные команды).
   Подумай что в этот момент произойдет.
Можно просто захватить лок на работу с портами. И драйвер диска просто
будет ждать пока ты не закончишь.
   Память  у  ядра  получить  надо  писанние  данных  по  прямому  адресу
   закончится очень плачевно.
Не могу понять, что ты хотел сказать. Про какое-то писание данных - а
зачем писать - достаточно только читать (из памяти программы, работающей
от имени бухгалтера).

Про su (который для posix subsystem и обычный): а будет ли она спрашивать у рута пароль если он делает
su user
Если нет - то дырка: становимся юзером через su, копируем его файл
в другой, а потом выходим из  su и "chown root.root userfile"?

hvv
()

hvv:
Я долго ждал, мне всё надоело смотреть на ерунду по поводу принципиальной невозможности изменения владельца файла на произвольного.

Я сюда бросаю кусочек известного ВСЕМ WIN-программистам (из учебника), хоть как-то когда-то решающим задачи безопасности (код не мой).
-------
use Getopt::Long;
use Win32::Perms;

# Turn off intense domain lookups
Win32::Perms::LookupDC( 0 );

Configure( \%Config );
if( $Config{help} )
{
Syntax();
exit();
}

$~ = OwnerHeader;
write;
$~ = Owner;
foreach $Mask ( @{$Config{masks}} )
{
my( @List ) = glob( $Mask );
if( ! scalar @List )
{
push( @List, $Mask );
}
foreach $Path ( @List )
{
my $Perm;

if( ! ( $Perm = new Win32::Perms( $Path ) ) )
{
$Owner = "Can't get permissions.\n";
}
else
{
if( "" ne $Config{owner} )
{
$Perm->Owner( $Config{owner} );
$Perm->Set();
}
$Owner = $Perm->Owner();
}
write;
}
}

sub Configure
{
my( $Config ) = @_;
my $Result;

Getopt::Long::Configure( "prefix_pattern=(-|\/)" );
$Result = GetOptions( $Config,
qw(
owner|o|s=s
help|?|h
)
);
push( @{$Config->{masks}}, @ARGV );
$Config->{help} = 1 unless( $Result && scalar @{$Config->{masks}} );
}

sub Syntax
{
my( $Script ) = ( $0 =~ /([^\\\/]*?)$/ );
my( $Line ) = "-" x length( $Script );

print <<EOT;

$Script
$Line
Displays (and sets) the owner of securable objects.

Syntax:
perl $Script [-s Account] Path [ Path2 ... ]
-s Account..Set the owner to the specified account.
Path........The path to a securable object.
This path can consist of ? and * wildcards.

EOT
}

format OwnerHeader =
@<<<<<<<<<<<<<<<<<<<< ;<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<< ;<<<<<<<
"Path", "Owner"
-------------------------------------- ----------------------------
.

format Owner =
@<<<<<<<<<<<<<<<<<<<< ;<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<< ;<<<<<<<
$Path, $Owner
.

----------------
В случае наличия Mac-овского файл-сервиса аналогичные действия делает штатная Microsoft-овская утилита.

-----------------
В части Microsoft-овского logon - отошлю в Lotus Development Corporation, nslsvice.exe - крайне удобный workaround :)
-----------------
В части скрытного изменения владельца (минуя API для backup/restore - ссылку давать не буду (это уже слишком), но кто ищет - найдёт.
А кто не хочет - метод скрытого чтения можно поиметь из приведённых выше постов (su, Microsoft-овский для задачи удобнее, т.к. воспринимает данные из переменных окружения), причём не поможет и шифровка.
------------------
Т.е. поставленная задача - скрытное чтение админом из пользовательского файла - более, чем решаема, в случае если админ может навешивать сервисы - элементарна.

AffreuxChien
()

   2hvv: Да кстати прочити хоть какую-нить книжку по НТ по драйверам. Там
   есть  способ как обойти ограничения по правам :) Но ни анонимусы ни ты
   такой мелочью как чтение не увлекаетесь.
Вот видишь - дырки-то есть. А читать я ничего по NT не собираюсь - я ее знать
не хочу (и возиться с ней тоже).

hvv
()

Роман, спасибо за постинг!
Как-то уже и не верится (суб[ективно), что приведенный перловый скрипт (и файл-сервис для Маков) не будут добавлять записи в журнале, если на файл повешен аудит. Все-таки, это действительно так?
Спасибо!

hvv
()

hvv:
> В смысле изменения в образ winlogon.exe на диске?
А зачем, собсс-но? Гораздо перспективнее внедрение в GINA/замена оного враппером - делается это как 2 байта переслать, изменение не относится к пользовательским данным :)

Это говоря об "узких" местах защиты - а их есть.
Боюсь, что пользователь, не являющийся квалифицированным администратором всё-таки никак не устоить перед админским вторжением :)

AffreuxChien
()

hvv:
> В смысле изменения в образ winlogon.exe на диске?
А зачем, собсс-но? Гораздо перспективнее внедрение в GINA/замена оного враппером - делается это как 2 байта переслать, изменение не относится к пользовательским данным :)

Это говоря об "узких" местах защиты - а их есть.
Боюсь, что пользователь, не являющийся квалифицированным администратором всё-таки никак не устоить перед админским вторжением :)

AffreuxChien
()

> что приведенный перловый скрипт (и файл-сервис для Маков) не будут добавлять записи в журнале

Скрипт однозначно добавит запись в журнал, тут и говорить не о чем!
Он работает через то же отверстие, что и backup/restore.

Просто меня достали заявления о невозможности assign ownership.
Но... Это простой способ - использование API.

AffreuxChien
()

Хм, обидно что запись в журнале останется.. Наверно и у файл-сервиса тоже.
Еще вопросик - а в каком месте NT хранит пароли локальных юзеров?
Если это один файл - то делаем так: меняем пароль юзеру, копируем файл как хотим, потом копируем старый файл паролей поверх нового. Это может сработать?

hvv
()

> в каком месте NT хранит пароли локальных юзеров?
Нет. Этот способ неэффективен - на файлы с паролями захвачены системой, к тому же если у админа руки растут откуда надо - шифрованы.

Если нужен метод без использования "правильного" chown-а (весьма громоздкого) и не хотим поднимать вопрос с шифровкой данных (имеющейся в 2k/xp) - делаем так:

1) Получаем пароль пользователя
2) Запускаем процесс под пользователем используя su.

Информация для размышления:
Админ может всегда получить список всех шифрованных паролей.

AffreuxChien
()

Задача в том - чтобы без записей в журнале прочитать чужой файл.
Как я понял, есть след. способы:
1) получив шифрованный пароль (или без него) подобрать пароль юзеру, и войдя через su, забрать файл. Это по Вашим словам не очень сложно с вычислительной точки зрения.
2) использовать недокументированные возможности винды или написав свой драйвер.
3) подменив стандартные виндовые сервисы типа GINA/winlogon на трояны.
Так как я Вас понял, используя метод "правильного" chown'а, запись в журнале мы все-же получим..
Все-таки не все так тривиально..

hvv
()

"правильный" chown - это chown, не использующий API.

Блин, хотел порекомендовать известный на протяжении многих лет метод вызова NtImpersonateClientOfPort (можно было создавать процессы с любым пользователем, отлично работало до sp6a включительно), но его закрыли hotfix-ом, т.е. можно считать, что исправлено.

Т.е. на настоящий момент я не знаю способа запуска процесса под каким-либо пользователем без знания plain-text-пароля.


AffreuxChien
()

   "правильный" chown - это chown, не использующий API.
В смысле win32 API? И все-таки, такой chown в природе существует?
Вы же сказали, что posix chown не может дать файл во владение юзеру,
отличному от текущего. То есть он все-таки может?
 А насколько трудоемко найти plain-text-passwd по зашифрованному паролю NT,
при условии что он короче 8 символов? Можно только перебором, или есть
какие-либо ускоренные алгоритмя для паролей NT, кроме dict-based?

hvv
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.