Комментарии 73
Пожалуй одна из интереснейших статей Kaspersky_Lab.
Предвижу вопросы «а если работать под юзером??777»
Предвижу вопросы «а если работать под юзером??777»
+2
Кстати, я после твоих скринов еще несколько секунд не мог проморгаться при переключении на белый фон Хабра. Как у тебя глаза не вытекают только?
+2
*sarcasm on* Пока пользователи отказываются потратить несколько минут своего времени на самообучение и настройку операционной системы, мы в ЛК с радостью продолжим зарабатывать миллионы и мне это нравится ;) *sarcasm off*
0
Отличная статья и интересный подход. Ждем новой статьи Батники против Человеческой глупости.
+2
Ни асилил :(
Но было интересно!
Но было интересно!
-8
(-СГ. Юля, подправь, пожалуйста, по смыслу следующее предложение, чтобы было понятно, и удали этот комментарий. -Редактор. По смыслу??? Да я после «выделяет себе память» уже ничего не понимаю. Сам подправь и удали этот комментарий.)
Это вроде как самому влом перечитывать было?
Это вроде как самому влом перечитывать было?
0
Вау! Виндузятники /tmp с noexec примонтировали жалкой сотней строк в консоли.
+2
Спасибо за статью, поток сознания пошел на ура даже в понедельник. Я тут заметил, что где-то наш юзер называется «saVerun_user», где-то «saFerun_user», а где-то даже «saCerun_user». Грамматически правильно второе, но кэп подсказывает, что желательно бы ввести некоторое однообразие :) Еще раз спасибо за статью.
0
Винды-с, что с них возьмёшь.
0
Мне прислали вопросы, но я думаю, лучше ответить здесь, всем и сразу
> 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'ом.
Еще вопросы?
> 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'ом.
Еще вопросы?
+2
а не подскажете, что это у вас там за плагины к far-у стоят (из нестандартных)? :)
0
Ну как то так)
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
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
0
подскажите плиз в какой кодировке сохранять бат файл для русской window 7?
Меняю как вы выше написали на net localgroup пользователи saferun_user_***6 /delete
И всеравно получаю ошибку, причем в консоли вместо пользователи крякозяблики.
Меняю как вы выше написали на net localgroup пользователи saferun_user_***6 /delete
И всеравно получаю ошибку, причем в консоли вместо пользователи крякозяблики.
0
НЛО прилетело и опубликовало эту надпись здесь
Упс. А эксплорер открывается, когда из под админа запускаете? А ошибки какие-нибудь сыпятся?
0
НЛО прилетело и опубликовало эту надпись здесь
он создается в папке профиля администратора?
0
Проверил на home под учеткой, всё создалось…
0
Проверил на всех своих системах, всё ок, все файлы создаются и работают под стандартным пользователем, если стартануть батник как «run as administrator»
+
> Можно как-нибудь прибивать запущенный браузер перед тем как удалить пользователя и его папку?
Да, конечно.
«taskkill /F /IM iexplore.exe /T»
Причем это действительно надо делать для всех браузеров и при старте батника и при его вынесе. Спасибо! Добавлю и такой функционал.
+
> Можно как-нибудь прибивать запущенный браузер перед тем как удалить пользователя и его папку?
Да, конечно.
«taskkill /F /IM iexplore.exe /T»
Причем это действительно надо делать для всех браузеров и при старте батника и при его вынесе. Спасибо! Добавлю и такой функционал.
0
НЛО прилетело и опубликовало эту надпись здесь
Странно, я все делал на рабочем столе и все файлы появлялись. + Если следующий пост будет про тоже самое только на 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
Всё.
===
: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
Всё.
0
не хватает exit перед :killbr, скрипт зацикливается. В конец файла нужно добавлять
В опере не копировались виджеты(тестировал на 12.17), нужно заменить
на
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\
)
0
Похожая техника для Windows XP. habrahabr.ru/blogs/sysadm/97594/
Через групповые политики. Это, конечно, не батники, но для домена должно быть самым удобным решением.
Через групповые политики. Это, конечно, не батники, но для домена должно быть самым удобным решением.
+2
Что-то мне сдаётся, что у меня Chrome перестанет запускаться в таком случае, пока я не скачаю специальную версию, которая в Program Files ставится.
0
Эм. для домашних пользователей, это, в принципе хорошо.
В корпоративном — всё немного по другому — подпись разрешенных и групповые политики…
Кстати, эти скрипты переписать бы на powershell… :)
В корпоративном — всё немного по другому — подпись разрешенных и групповые политики…
Кстати, эти скрипты переписать бы на powershell… :)
+1
В тексте уже есть заготовка для этого, но лучше таки делать новый пост… ок подумаем. Спасибо!)
0
Печально только то, что домашние пользователи таким не морочатся,
Те, кто разбираются — такие сайты открывают из песочниц/виртуалок,
А на работе есть AppLocker и групповые политики, по которым подписан десяток-другой допустимых к запуску приложений и все лишнее/непонятное изначально запущено быть не может.
А, да, еще есть *nix для совсем суровых :)
хотя тьфу тьфу, мое окружение, мало разбирающееся в ИТ, использует только вконтактик/одноклассники и ни разу не словили винлокер, хотя, это совсем не показатель
Те, кто разбираются — такие сайты открывают из песочниц/виртуалок,
А на работе есть AppLocker и групповые политики, по которым подписан десяток-другой допустимых к запуску приложений и все лишнее/непонятное изначально запущено быть не может.
А, да, еще есть *nix для совсем суровых :)
хотя тьфу тьфу, мое окружение, мало разбирающееся в ИТ, использует только вконтактик/одноклассники и ни разу не словили винлокер, хотя, это совсем не показатель
0
Осталось защититься от DLL Hijacking как-нибудь
0
Благо на dllки запрет запуска тоже распространяются, то есть вызвать rundll32 с путем к dll в профайле, например, не получится… хотя я не проверял)
0
«____991.exe»
Знакомый зверёк, только вчера вычищал, причем KAV WS его пропустил и на virustotal детекта тоже небыло. -_-
Метод с блокированием запуска, несмотря на простоту, очень эфективен, если кому-то не нравятся батники, можно взять какой-либо апп-ланчер и его запускать от сейф-юзера, например любимые многими имитаторы Dock'a.
+1
Оригинальный подход к делу и интересная подача материала.
Маленькое «но»: рецепт хромает как минимум в плане копирования профиля. Мой профиль в FF — это 220 Мб. Когда будет копироваться — пользователь может от волнения поседеть :)
Маленькое «но»: рецепт хромает как минимум в плане копирования профиля. Мой профиль в FF — это 220 Мб. Когда будет копироваться — пользователь может от волнения поседеть :)
0
Действительно, Сережа, ускорь пожалуйста процедуру копирования профиля. Можно, например, всем бесплатно раздать SSD'шники.
0
Хаха, очень смешно, Слава, опубликуй это обязательно в Твиттере.
Речь шла о том, что, возможно, имеет смысл создания в браузере дополнительного, «упрощённого» профиля без аддонов, который использовался бы именно для просмотра неблагонадёжного контента. И именно этот профиль и копировать.
Хотя безусловно у Русакова FF без папки %userprofile%\AppData\Roaming\Mozilla\Firefox\Crash Reports не запустится :-Р
Речь шла о том, что, возможно, имеет смысл создания в браузере дополнительного, «упрощённого» профиля без аддонов, который использовался бы именно для просмотра неблагонадёжного контента. И именно этот профиль и копировать.
Хотя безусловно у Русакова FF без папки %userprofile%\AppData\Roaming\Mozilla\Firefox\Crash Reports не запустится :-Р
-1
FF без профиля может сам запуститься и создать его без аддонов, куков и т.д. Проблема в том, что для пользователя это не удобно, т.к. потребуется занова всё ставить и настраивать => пользоваться этим ни кто не будет, а это фэйл. Можно было бы конечно сделать symbol link'ки, на профайл текущего пользователя и запритить там запуск, но проблема в том, что винда перекрывает ACL своими политиками разграничения доступа к файлам другого пользователя, соответственно доступа по этим ссылкам не будет. Выход один xcopy. А про 220 МБ… Ну да. У меня всё занимает 75 МБ и копируется за 15 секунд. Всё ок. Ни какого криминала, тем более что это процедура потребуется только один раз.
0
Проблема в том, что аддоны захотят обновляться :) Это не будет конфликтовать с заданными ограничениями? ;)
Хотя да, тут я уже немного загибаю. Просто в реале запесоченный браузер лучше запускать голым. Всё равно из-за ограничений аддоны будут работать криво, а в ряде таких, как к примеру NoScript необходимость как бы и исчезает :)
Хотя да, тут я уже немного загибаю. Просто в реале запесоченный браузер лучше запускать голым. Всё равно из-за ограничений аддоны будут работать криво, а в ряде таких, как к примеру NoScript необходимость как бы и исчезает :)
0
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\
?
0
Серёжа, без обид, но идея оказалась настолько интересной, что я продолжил копаться в суровых командных скриптах Windows. И вот что ещё накопал.
1. Возможны проблемы, когда %Programfiles%=C:\Program Files, а пользователь установил браузер на диск D. В итого нормально определится только Осёл.
2. Не знаю, что там за проблемы с Хромом от Гугла (подозреваю, что проблемы с тем, что настройки переплетаются с другими приложениями Гугла в одинаковых папках. Ну да речь не о том. Есть молодой браузер на движка Chromium, в последнее время он мне нравится всё больше — Comodo Dragon. Так вот можно было бы и его приделать, там всё просто: /Comodo/Dragon/ и настройки в %LOCALAPPDATA%\Comodo\Dragon
Короче — просто влепить между ::Setup browsers:: и :FindOpera следующий код:
Как-то так…
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
Как-то так…
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Батники против эксплойтов