
POC em Python para o CVE-2012-2982 melhorado do original pelo usuário @OstojaOfficial
POC em Python para o CVE-2012-2982 (Webmin 1.580) melhorado do original pelo usuário OstojaOfficial
Esta é uma versão melhorada do script original que permite ao usuário ver o formato de entrada dos dados sem precisar ver todo o script para descobri-lo. Para isso, simplesmente foi movida essa seção do código para o início:

Ao mesmo tempo, é anexada uma instrução de saída para evitar que o script continue rodando (sys.exit(1)).
Também é adicionada a possibilidade de o usuário incluir a porta na qual o serviço Webmin 1.580 roda no momento em que chama o exploit.

Como foi adicionada uma nova entrada, todos os demais dados são modificados, ao mesmo tempo em que a URL de consulta é modificada para fazer login e explorar a vulnerabilidade.

Por fim, é adicionada a funcionalidade principal que executará o script caso receba todos os dados corretamente.

NOTA: Lembre-se de que antes de executar o script você deve instalar as bibliotecas necessárias. Para isso, basta escrever em um console:
pip3 install -r requirements.txt
Caso você nunca tenha usado o pip3, ele deverá ser instalado com o seguinte comando:
apt install python3-pip
Se, ao reinstalar os requirements.txt, aparecer o seguinte erro:

Execute o seguinte comando para corrigi-lo. O erro ocorre porque o ldap não está instalado no sistema.
apt-get install build-essential python3-dev python2.7-dev \ libldap2-dev libsasl2-dev slapd ldap-utils tox \ lcov valgrind