O título deste artigo refere-se a “Tantas maneiras de possuir o Dell EMC Networker”. Durante um pentest, esse artigo foi muito útil para nós. Muito obrigado! Recomendamos lê-lo antes de continuar. Em nosso pentest, descobrimos muitas instalações do Networker Client na rede interna. Alguns nos permitiram executar comandos do Networker remotamente. Então tentamos explorar a injeção de comando em “nsrdump”. No entanto, esse comando não foi instalado. Felizmente, “nsr_render_log” estava lá e nos permitiu obter os hashes dos usuários, mas não conseguimos quebrá-los. A exploração via Erlang também não foi possível porque os hosts não estavam executando esse serviço. Portanto, decidimos tentar outros comandos do Networker.
⦁ nsrrcopy arbitrary file upload
Começamos listando os comandos do Networker disponíveis em uma instalação padrão. Um que nos chamou a atenção foi “nsrrcopy”. Talvez porque soe como “Cópia Remota”.

O arquivo “nsrrcopy” é na verdade um script Bash. Em seu código podemos ver que ele executa outro programa chamado “uasm” passando-lhe alguns parâmetros controlados por nós.

Na documentação do “uasm” vemos que sua função é “salvar” e “recuperar” dados do sistema de arquivos. Além disso, diz que pode ser usado de forma semelhante ao comando “tar”.

Por exemplo, para salvar o arquivo “/etc/passwd”, usamos a opção “-s”. Isso cria um fluxo de bytes que é enviado para a saída padrão e redirecionado para o arquivo “stream”.

E, para restaurar o arquivo “/etc/passwd”, usamos a opção “-r”. Isto lê o fluxo de bytes criado anteriormente pela entrada padrão e reconstrói os arquivos. O parâmetro “-iY” serve para sobrescrever arquivos sem aviso prévio.

Em “nsrrcopy” vemos que “uasm” é executado no modo de restauração e sobrescreve os arquivos sem aviso prévio. Adicionalmente vemos que recebe um parâmetro “$1”. Esse parâmetro é opcional e deve ser uma rota. Quando presente, evita que arquivos sejam gravados fora desse caminho. Felizmente, nós o controlamos e se colocarmos “/” podemos escrever em todo o sistema de arquivos.

A ideia é executar “nsrrcopy” de “nsrexec” para fazer upload de arquivos arbitrários para a máquina remota. Mas é claro, “nsrrcopy” (uasm) lê o fluxo de bytes da entrada padrão. Como podemos controlar a entrada padrão do programa remoto? Felizmente, “nsrexec” suporta uma variável de ambiente “STDIN” que permite especificar os dados que serão passados como entrada padrão para o programa remoto.

A dificuldade é que o fluxo de bytes gerado com “uasm” contém muitos bytes nulos e não podemos colocá-lo diretamente em uma variável de ambiente porque seria truncado.

Uma maneira de resolver este problema é usar “netsed” e substituir o valor STDIN diretamente no pacote de rede que é enviado ao host remoto.

Outra forma seria programar um script que fale o protocolo Networker e envie nossa carga diretamente para ele.
⦁ Exploração passo a passo
Criamos nosso script malicioso em “/usr/sbin/nsrwoot”

E damos permissões de execução

Nós empacotamos com “uasm”

Codificamos o fluxo de bytes para passá-lo para “netsed”

Obtemos o seguinte:

Geramos um padrão “AAA…” com o mesmo comprimento de bytes

Configuramos o encaminhamento de porta com socat

Configuramos o redirecionamento e substituição de bytes com netsed

Atribuímos STDIN com o padrão “AAA…”

Executamos “nsrrcopy” no host remoto

Ao final do comando anterior, o script “nsrwoot” terá sido criado no host remoto e podemos executá-lo com “nsrexec”.

⦁ Cronograma de divulgação
- 12-JUL-2021: BASE4 Security realiza el reporte inicial
- 13-JUL-2021: Dell confirma la de recepción del reporte
- 05-AGO-2021: Dell confirma la vulnerabilidad
- 09-SEP-2021: Dell informa que el Security Advisory se publicará a mediados de octubre
- 05-OCT-2021: Dell informa que la publicación del Security Advisory será el 11-OCT-2021.
- 11-OCT-2021: Dell informa que la publicación se retrasará.
- 12-OCT-2021: Dell publica el Security Advisory DSA-2021-193. BASE4 Security publica el presente artículo con los detalles de la vulnerabilidad.
- EP-2021: Dell informa que la solución se publicará a mediados de octubre
Referências
- • So Many Ways to Own Dell EMC Networker
(https://quentinkaiser.be/security..)
- • DSA-2021-193: Dell EMC NetWorker
and Dell EMC NetWorker vProxy Security
Update for Multiple Vulnerabilities
(https://www.dell.com/support/kbdoc/es-pe/..)
- • CVE-2021-36311
(https://cve.mitre.org/cgi-bin/cvename..)


