altere os atributos e renomeie recursivamente nas janelas

3

No Windows há um malware que monta um executável falso (522k) e renomeia os executáveis reais (.exe) em g * .exe e altera os atributos para oculto e somente leitura

Exemplo:

folder 1
  Bar.exe # fake
  gBar.exe # real (hidden and only Read)

folder2
  Foo.exe # fake
  gFoo.exe # real (hidden and only Read)

Gostaria de saber se existe um comando para o Windows (para executar com privilégios no modo de segurança), para fazer uma pesquisa recursiva de executáveis (em todo o disco rígido) e caso haja coincidências (* .exe e g * .exe no mesmo diretório ou subdiretório) que altera os atributos do .exe real, apaga o falso ou faz a substituição (de g * .exe para * .exe)

Atualização:

  1. Eu removi o comando linux para evitar confusão
  2. Isso é o que eu fiz até agora (não é grande coisa):

    for /r "c:\" %%x in (g*.exe) do ren "%%x" "c:\*.exe"
    attrib -h -s -r +a g*.exe
    

Atualização:

A resposta indicada como correta pode eventualmente comprometer os arquivos do sistema, então, eu vou resolver o problema do Linux ( com a minha proposta inicial ) e eu abandono a questão para o Windows

Obrigado a todos pela sua contribuição (agradecimentos especiais à TI do Pimp Juice )

    
por user4839775 12.06.2018 / 16:39

1 resposta

2

Você pode executar dois loops / f separados com o dir comando usando o /a:h em um para iterar os arquivos ocultos e a:/r no outro para iterar o somente leitura arquivos .

Você usaria o comando attrib com o parâmetro -h para remover o oculto atributos dos arquivos e com o parâmetro -r para remover os atributos somente leitura dos arquivos.

Observação: você pode usar "g*.exe" como curinga de todos os arquivos exe, começando com a letra " g ". Além disso, certifique-se de executar isso a partir do diretório em que deseja iniciar sua localização negativa dos arquivos aplicáveis.

Remover atributos ocultos

FOR /F "TOKENS=*" %a IN ('dir /s /b /a:h "*.exe"') do attrib -h "%~a"

Remover atributos somente leitura

FOR /F "TOKENS=*" %a IN ('dir /s /b /a:r "*.exe"') do attrib -r "%~a"

Remover o arquivo falso e renomear o arquivo real de volta

Por seu esclarecimento para encontrar os arquivos exe que são prefixados com o caractere g no início do nome do arquivo, use o script em lote abaixo após remover os atributos hidden e somente leitura . Isso localizará recursivamente os arquivos g prefixados, definirá uma variável com g dos nomes de arquivos, removerá o arquivo falso e renomeará o arquivo g prefixado para o nome original.

@ECHO ON
setlocal enabledelayedexpansion
set src=C:\
set mvFldr=C:\Moved
if not exist "%mvFldr%" MD "%mvFldr%"
FOR /F "TOKENS=*" %%a IN ('dir /s /b /a-d "%src%\g*.txt"') do (
    set fakename=%%~NXa
    set realname=!fakename:~1!
    if /i not [%%~Xa]==[.exe] GOTO :EOF
    if exist "%%~DPa!realname!" if exist "%%~DPa!fakename!" move "%%~DPa!realname!" "%mvFldr%"
    ::if exist "%%~DPa!realname!" if exist "%%~DPa!fakename!" del /q /f "%%~DPa!realname!"
    ren "%%~DPa!fakename!" "!realname!"
    )
EXIT

Mais recursos

por 12.06.2018 / 23:19