Pull to refresh

Comments 73

Пожалуй одна из интереснейших статей Kaspersky_Lab.
Предвижу вопросы «а если работать под юзером??777»
Предвижу ответ, что трояны, запущенные с пользовательскими правами, не будут мешать работе остальным пользователям… + Ни кто не запрещает рисовать «Full Screen» + «Always on Top» окно блокерам.
Кстати, я после твоих скринов еще несколько секунд не мог проморгаться при переключении на белый фон Хабра. Как у тебя глаза не вытекают только?
Солцезащитные? :)
Для плавания!)
*sarcasm on* Пока пользователи отказываются потратить несколько минут своего времени на самообучение и настройку операционной системы, мы в ЛК с радостью продолжим зарабатывать миллионы и мне это нравится ;) *sarcasm off*
Ну, если совсем уж быть точным, то не известно, как сработает эмуль, HIPS и PDM. Вечером не сообразил проверить, а сейчас уже не имеет смысла, будет ловиться даже с выключенным антивирусом.
Отличная статья и интересный подход. Ждем новой статьи Батники против Человеческой глупости.
А также «Батники против Perl», «Батники против PHP» и, конечно же, «Батники против пришельцев»…
Прочитал! Было интересно! :)
(-СГ. Юля, подправь, пожалуйста, по смыслу следующее предложение, чтобы было понятно, и удали этот комментарий. -Редактор. По смыслу??? Да я после «выделяет себе память» уже ничего не понимаю. Сам подправь и удали этот комментарий.)

Это вроде как самому влом перечитывать было?
Это месть за редакторскую правку. В оригинале статья была смешнее)
Вау! Виндузятники /tmp с noexec примонтировали жалкой сотней строк в консоли.
Виндузятники, не понявшие шутки, решили на всякий случай обидеться на слово «виндузятники» :)
UFO just landed and posted this here
Сколько там ваш линупс в процентах на десктопах, а?
*шутка про Mac OS X*
Стоп! Мысль то нормальная. Только вот если запретить запуск программ из temp'a пользователя, все инстолляторы обломаются…
Я не спорю что мысль адекватная и правильная, но можно было выразить её чуть-чуть по-другому. Ну, Вы поняли.
Спасибо за статью, поток сознания пошел на ура даже в понедельник. Я тут заметил, что где-то наш юзер называется «saVerun_user», где-то «saFerun_user», а где-то даже «saCerun_user». Грамматически правильно второе, но кэп подсказывает, что желательно бы ввести некоторое однообразие :) Еще раз спасибо за статью.
Упс. Спасибо! Да, в батнике я всё почистил, а вот про текст и тесты забыл… Юля, исправь, пожалуйста)
Мне прислали вопросы, но я думаю, лучше ответить здесь, всем и сразу

> 1. Есть разница в скриптах между saVerun_user и saferun_user

Разницы нет. В теле батника, просто всё написано через «saFerun_user», а в тексте поста через «saVerun_user», но смысл не меняется)

> 2. Под русской W7 Ult.
>
> net localgroup users saferun_user_***6 /delete
> Системная ошибка 1376.
>
> Указанная локальная группа не существует.

Да, в русской версии Windows 7 надо писать
«net localgroup пользователи saferun_user_***6 /delete»

> 3. Если скрипт запустить при запущенном FireFox, скрипт зависнет на предложении при xcopy — попытка доступа к открытым ресурсам.

При запущенном Firefox'e xcopy должен сказать «sharing violation» на файл parent.lock, но зависнуть ни чего не должно. Дождитесь, пожалуйста, пока профайл просто полностью скопируется. Время ожидания зависит от размера профайла на диске. По этой же причине долгого ожидания в батнике закомменчена работа с Chrome'ом.

Еще вопросы?
а не подскажете, что это у вас там за плагины к far-у стоят (из нестандартных)? :)
Ну как то так)
D:\Far\Plugins>dir /b /a:D
7zip
Align
AutoWrap
Av
avixtr
Brackets
Browsers
chmview
Colorer
Compare
DocFile Browser
DrawLine
EditCase
Editor
EMenu
FARCmds
FarReg
FileCase
frb
FTP
HlfViewer
MacroView
mscab
MultiArc
mv
Network
NTFS File Streams Browser
Observer
PEdit
PrintMan
ProcList
ProxyFTP
rclick
RECYCLE
SpellChecker
startup
Tetris
TmpPanel
подскажите плиз в какой кодировке сохранять бат файл для русской window 7?
Меняю как вы выше написали на net localgroup пользователи saferun_user_***6 /delete
И всеравно получаю ошибку, причем в консоли вместо пользователи крякозяблики.
UFO just landed and posted this here
Упс. А эксплорер открывается, когда из под админа запускаете? А ошибки какие-нибудь сыпятся?
UFO just landed and posted this here
он создается в папке профиля администратора?
UFO just landed and posted this here
Проверил на home под учеткой, всё создалось…
Проверил на всех своих системах, всё ок, все файлы создаются и работают под стандартным пользователем, если стартануть батник как «run as administrator»
+
> Можно как-нибудь прибивать запущенный браузер перед тем как удалить пользователя и его папку?

Да, конечно.
«taskkill /F /IM iexplore.exe /T»
Причем это действительно надо делать для всех браузеров и при старте батника и при его вынесе. Спасибо! Добавлю и такой функционал.
UFO just landed and posted this here
Странно, я все делал на рабочем столе и все файлы появлялись. + Если следующий пост будет про тоже самое только на PowerShell'e, то туда же войдет и обновление батника. Но Вы можете и сами это сделать. В конец батника нужно вбить
===
:killbr
taskkill /F /IM iexplore.exe /T
taskkill /F /IM firefox.exe /T
taskkill /F /IM opera.exe /T
taskkill /F /IM chrome.exe /T
goto :FindOpera
===
А после строчки
::Setup browsers::
написать
===
goto :killbr
===
Плюс в начало секции :: Create Uninstall:: нужно вбить
echo taskkill /F /IM iexplore.exe /T >> uninstall_%~n0.bat
echo taskkill /F /IM firefox.exe /T >> uninstall_%~n0.bat
echo taskkill /F /IM opera.exe /T >> uninstall_%~n0.bat
echo taskkill /F /IM chrome.exe /T >> uninstall_%~n0.bat

Всё.
не хватает exit перед :killbr, скрипт зацикливается. В конец файла нужно добавлять
exit

:killbr
 taskkill /F /IM iexplore.exe /T
 taskkill /F /IM firefox.exe /T
 taskkill /F /IM opera.exe /T
 taskkill /F /IM chrome.exe /T
 goto :FindOpera


В опере не копировались виджеты(тестировал на 12.17), нужно заменить
if exist %APPDATA%\Opera\ xcopy /E /I /C /Y /Q /H /R %APPDATA%\Opera\* C:\Users\%safeusername%\AppData\Roaming\Opera\

на
if exist %APPDATA%\Opera\ (
xcopy /E /I /C /Y /Q /H /R %APPDATA%\Opera\* C:\Users\%safeusername%\AppData\Roaming\Opera\
xcopy /E /I /C /Y /Q /H /R %LOCALAPPDATA%\Opera\* C:\Users\%safeusername%\AppData\Local\Opera\
)
Похожая техника для Windows XP. habrahabr.ru/blogs/sysadm/97594/
Через групповые политики. Это, конечно, не батники, но для домена должно быть самым удобным решением.
Что-то мне сдаётся, что у меня Chrome перестанет запускаться в таком случае, пока я не скачаю специальную версию, которая в Program Files ставится.
Попробуйте. У меня он честно на некоторых сборках писал cannot find chrome dlls. Я так и не нашел по исходникам каких прав ему не хватило. Может быть Вам повезет)
Не, пробовать не буду :)
Просто он по дефолту как раз в AppData устанавливается, а тут как раз из AppData фиг чего запустишь.
Ну for /r какбы намекает, что на все файлы хрома выставлена метка execute granted
То ли я не внимательно читал, то ли статья менялась уже после того, как я прочёл и отписался :)
Не менялась)
Эм. для домашних пользователей, это, в принципе хорошо.
В корпоративном — всё немного по другому — подпись разрешенных и групповые политики…

Кстати, эти скрипты переписать бы на powershell… :)
В тексте уже есть заготовка для этого, но лучше таки делать новый пост… ок подумаем. Спасибо!)
Печально только то, что домашние пользователи таким не морочатся,
Те, кто разбираются — такие сайты открывают из песочниц/виртуалок,
А на работе есть AppLocker и групповые политики, по которым подписан десяток-другой допустимых к запуску приложений и все лишнее/непонятное изначально запущено быть не может.
А, да, еще есть *nix для совсем суровых :)
хотя тьфу тьфу, мое окружение, мало разбирающееся в ИТ, использует только вконтактик/одноклассники и ни разу не словили винлокер, хотя, это совсем не показатель
Осталось защититься от DLL Hijacking как-нибудь
Благо на dllки запрет запуска тоже распространяются, то есть вызвать rundll32 с путем к dll в профайле, например, не получится… хотя я не проверял)
Зато наверное с документами и всякими файлами вместе загружаются на ура.
Не уверен… надо проверять…
Ну загрузится, и? в 7 и 2007/10 офисе надо еще постараться чтобы vba скрипт в макросе запустился…
«____991.exe»

Знакомый зверёк, только вчера вычищал, причем KAV WS его пропустил и на virustotal детекта тоже небыло. -_-

Метод с блокированием запуска, несмотря на простоту, очень эфективен, если кому-то не нравятся батники, можно взять какой-либо апп-ланчер и его запускать от сейф-юзера, например любимые многими имитаторы Dock'a.
Оригинальный подход к делу и интересная подача материала.
Маленькое «но»: рецепт хромает как минимум в плане копирования профиля. Мой профиль в FF — это 220 Мб. Когда будет копироваться — пользователь может от волнения поседеть :)
Действительно, Сережа, ускорь пожалуйста процедуру копирования профиля. Можно, например, всем бесплатно раздать SSD'шники.
Хаха, очень смешно, Слава, опубликуй это обязательно в Твиттере.

Речь шла о том, что, возможно, имеет смысл создания в браузере дополнительного, «упрощённого» профиля без аддонов, который использовался бы именно для просмотра неблагонадёжного контента. И именно этот профиль и копировать.

Хотя безусловно у Русакова FF без папки %userprofile%\AppData\Roaming\Mozilla\Firefox\Crash Reports не запустится :-Р
FF без профиля может сам запуститься и создать его без аддонов, куков и т.д. Проблема в том, что для пользователя это не удобно, т.к. потребуется занова всё ставить и настраивать => пользоваться этим ни кто не будет, а это фэйл. Можно было бы конечно сделать symbol link'ки, на профайл текущего пользователя и запритить там запуск, но проблема в том, что винда перекрывает ACL своими политиками разграничения доступа к файлам другого пользователя, соответственно доступа по этим ссылкам не будет. Выход один xcopy. А про 220 МБ… Ну да. У меня всё занимает 75 МБ и копируется за 15 секунд. Всё ок. Ни какого криминала, тем более что это процедура потребуется только один раз.
Проблема в том, что аддоны захотят обновляться :) Это не будет конфликтовать с заданными ограничениями? ;)

Хотя да, тут я уже немного загибаю. Просто в реале запесоченный браузер лучше запускать голым. Всё равно из-за ограничений аддоны будут работать криво, а в ряде таких, как к примеру NoScript необходимость как бы и исчезает :)
Угу + конфликтовать ничего не будет)
P.S. И ещё — несовсем уверен, но возможно
if exist %APPDATA%\Mozilla\ xcopy /E /I /C /Y /Q /H /R %APPDATA%\Mozilla\* C:\Users\%safeusername%\AppData\Roaming\Mozilla\

надо заменить на
if exist %APPDATA%\Mozilla\Firefox xcopy /E /I /C /Y /Q /H /R %APPDATA%\Mozilla\Firefox\* C:\Users\%safeusername%\AppData\Roaming\Mozilla\Firefox\
?
В некоторых версиях FF испольвазует папку %APPDATA%\Mozilla\Еxtenstions для плагинов и аддонов. Хотя, да. Там лежат профайлы и для других программ, может быть и стоило ограничиться этими 2мя папками…
Например, Thunderbird ;)
Серёжа, без обид, но идея оказалась настолько интересной, что я продолжил копаться в суровых командных скриптах Windows. И вот что ещё накопал.

1. Возможны проблемы, когда %Programfiles%=C:\Program Files, а пользователь установил браузер на диск D. В итого нормально определится только Осёл.

2. Не знаю, что там за проблемы с Хромом от Гугла (подозреваю, что проблемы с тем, что настройки переплетаются с другими приложениями Гугла в одинаковых папках. Ну да речь не о том. Есть молодой браузер на движка Chromium, в последнее время он мне нравится всё больше — Comodo Dragon. Так вот можно было бы и его приделать, там всё просто: /Comodo/Dragon/ и настройки в %LOCALAPPDATA%\Comodo\Dragon
Короче — просто влепить между ::Setup browsers:: и :FindOpera следующий код:
:FindDragon
if exist %LOCALAPPDATA%\Comodo\Dragon xcopy /E /I /C /Y /Q /H /R %LOCALAPPDATA%\Comodo\Dragon\* C:\Users\%safeusername%\AppData\Local\Comodo\Dragon\
if exist "%Programfiles%\Comodo\Dragon\Dragon.exe" goto run4dragon
if exist "%Programfiles(x86)%\Comodo\Dragon\Dragon.exe" goto run4dragonx86
Goto FindOpera
:run4dragon
echo Dragon^|%Programfiles%\Dragon>> Browserlist4saferun.txt
Goto FindOpera
:run4dragonx86
Set Browsername=Dragon
echo Dragon^|%Programfiles(x86)%\Dragon>> Browserlist4saferun.txt
Goto FindOpera


Как-то так…
Во-во. Еще хорошо бы хорошо добавить поддержку почтовых клиентов и всё!)
Sign up to leave a comment.