Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как отследить использование CMD (http://forum.oszone.net/showthread.php?t=264220)

MegaZAC 12-07-2013 17:07 2183750

Как отследить использование CMD
 
Имеется сетевая папка, на которой регулярно много приложений, в том числе скриптовых, делают массу разных вещей. В результате неких действий CMD.EXE нужные файлы временами удаляются. Как узнать что за приложение, либо BAT-файл используют CMD для удаления этих файлов?

Iska 12-07-2013 17:45 2183773

Сначала выясните под каким пользователем и откуда сие происходит. Затем используйте Process Monitor.

MegaZAC 12-07-2013 17:58 2183783

Беда в том что надо выяснить это как-нибудь в бэкграунде. 24 часа в сутки там выполняется приложение на весь рабочий стол, которое нельзя ни свернуть, ни вообще что-то с ним делать. Хотя, я ведь могу запустить Process Monitor, и он будет писать лог...
Мне нужен именно лог, статистика за как минимум сутки. Мощность девайса может не потянуть Process Monitor с толстым логом, и одновременно выполнение основного приложения.

+ ещё одна фича - машин где такое происходит много, и есть необходимость контроля происходящего на всех них. Process Monitor, как я понимаю, надо будет руками запускать на каждой из них, настраивать на нужные файлы, и затем руками же смотреть что он там нашёл? И ведь Process Monitor тоже самое, покажет что работает CMD, а что за приложение или скрипт запустило CMD, не покажет? Подскажите как настроить Process Monitor чтобы показал, если такое возможно.

Iska 12-07-2013 18:43 2183821

Цитата:

Цитата MegaZAC
+ ещё одна фича - машин где такое происходит много »

Речь выше шла вроде как об одном-единственном сетевом ресурсе. Или Вы что-то опустили в своём рассказе?

Цитата:

Цитата MegaZAC
Подскажите как настроить Process Monitor чтобы показал, если такое возможно. »

Process — Create/Start. В свойствах искомого «cmd.exe» смотрите «Parent PID», затем ищете в логе такой PID и определяете по нём имя/путь процесса, породившего искомый «cmd.exe».

MegaZAC 12-07-2013 20:13 2183871

Ну это одна локалка, в которой стоят одинаковые машины, клоны друг друга, каждый выполняю одну и ту же, но свою одинаковую задачу. Файлы, папки, всё одинаковое. Т.е. имеем условно 10 путей \\192.168.х.х\х\то_что_надо\, где и нужно выяснить автора беспредела.

Можно ли это сделать без установки на каждую локальную машину дополнительного софта? Скажем, то что инструментом беспредела является CMD.EXE удалось выяснить через аудит локальных политик, теперь всё пишет в виндовый лог. Вот может есть какой-нибудь подобный способ? Или можно ли встроить в BAT файл какую-нить команду чтобы он писал в лог и свои действия, и действия всех дочерних и сторонних BATов и прочих скриптов и приложений?

MegaZAC 15-07-2013 16:27 2185027

И да, если решать через Process Monitor, то надо как-то через автозагрузку, т.к. то что надо отловить происходит вместе с загрузкой. Есть идеи как?

Petya V4sechkin 15-07-2013 16:38 2185034

Цитата:

Цитата MegaZAC
надо как-то через автозагрузку


MegaZAC 16-07-2013 17:33 2185584

Не пашет! Вот что что пишут по этой проблеме, такое решение создаёт больше проблем. http://forum.sysinternals.com/cannot...opic17489.html

Система - XP embedded.

Foreigner 16-07-2013 18:55 2185650

MegaZAC,
Может решить часть проблемы, будет записывать в лог строку вызова cmd. Для этого необходимо прописать в автозагрузку cmd.exe в:
Цитата:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

и/или

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
такую строку:
Код:

echo %date% %time% %username% %cmdcmdline% >> "C:\Somewhere\cmdlog.txt"
ЗЫ. Параметра Autorun в данных ключах по умолчанию нет (надо создать типа REG_SZ или REG_EXPAND_SZ).

ЗЫЫ. Ага, кроме того отображает внешние команды запускаемых батников.

MegaZAC 16-07-2013 20:27 2185713

А можно поподробнее про создание требуемых REG_SZ или REG_EXPAND_SZ?

MegaZAC 17-07-2013 00:23 2185827

Блин, ну вот извините за ламерство, но у меня указанные вещи не вызывают никаких ассоциаций.

Iska 17-07-2013 00:45 2185831

MegaZAC, непонятно, что именно Вам непонятно.

Цитата:

Цитата cmd.exe /?
Если ключ /D НЕ УКАЗАН в командной строке, то при запуске CMD.EXE выполняется проверка значений переменных REG_SZ или REG_EXPAND_SZ для следующих разделов системного реестра:
Код:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
и/или
Код:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
и если одна из них или обе они присутствуют, то сначала выполняются они.

Один из примеров использования параметра: AutoIt: смена языка ввода на Английский в новых окнах консоли cmd.exe. — Прочее (Реестр, 1С, текстовые редакторы и т.д.) — Серый форум.

MegaZAC 17-07-2013 10:28 2185909

Это то что нужно! Громадное спасибо всем кто поучаствовал, мы уже на финишной прямой.

Осталось где-то создать REG_SZ или REG_EXPAND_SZ , а то в лог так и пишутся %xxx% записи. Где что создавать?

Поправочка - в логе записи имеют неоднозначный вид. Т.е. где-то в дате указывается 2013 вместо года, а где-то просто 13. И с пользователем где-то реально пишется имя пользователя, а где-то по-прежнему %username%. Остальные все как один %cmdline%...

Всё, тему можно закрывать, я окончательно допёр с помощью хелпа к cmd и гугла :) Всем большое спасибо, особенно ветерану ;)

Iska 17-07-2013 12:45 2185995

MegaZAC, когда какие-то вопросы решаются Вами/отпадают, и Вы правите свой пост — не поленитесь воспользоваться тэгом [strike]вот так — и пометить им текст, на который уже не нужно обращать внимание.

MegaZAC 18-07-2013 17:51 2186712

Iska,
ОК, учту.

Господа, не работает решение. Всё так, пишет лог того что делает CMD, даже с батниками, однако искомая информация туда не попала. Есть другой лог (через аудит event), там отражено что cmd.exe во время чч:мм:сс удалило такой-то файл. А в логе созданном с помощью данной темы ничего про это нет. Т.е. ни BATа который запустил CMD, ни самого удаления, ни вообще в указанное время в логе тишина.

Iska 18-07-2013 17:55 2186715

Цитата:

Цитата MegaZAC
там отражено что cmd.exe во время чч:мм:сс удалило такой-то файл. »

Хоть покажите это событие, что ли.

MegaZAC 19-07-2013 16:32 2187319

Iska,
там два события подряд, доступ, и удаление.




MegaZAC 22-07-2013 12:54 2188579

Идей нет? :search:

MegaZAC 22-07-2013 16:19 2188689

Появилась идея. Папка расшарена, и в неё могут писать другие компы. Есть ли способ узнать какое приложение какого удалённого компа могло стереть файлы?


Время: 14:11.

Время: 14:11.
© OSzone.net 2001-