
Exploração de IBM/Lotus Domino
Domi-Owned é uma ferramenta usada para comprometer servidores IBM/Lotus Domino.
Testado em IBM/Lotus Domino 8.5.2, 8.5.3, 9.0.0 e 9.0.1 rodando em Windows e Linux.
Domi-Owned usa Python 3, que pode ser instalado através do gerenciador de pacotes da sua distribuição (apt, yum, etc...)
Execute pip3 install -r requirements.txt para instalar os módulos python necessários.
Um nome de usuário e senha válidos não são necessários a menos que 'names.nsf' e/ou 'webadmin.nsf' exijam autenticação.
Executar o Domi-Owned com o argumento de ação fingerprint e uma URL tentará identificar a versão do servidor Domino, bem como verificar se 'names.nsf' e 'webadmin.nsf' exigem autenticação.
Se um nome de usuário e senha forem fornecidos, usando os argumentos --username e --password, o Domi-Owned verificará se essa conta pode acessar 'names.nsf' e 'webadmin.nsf' com essas credenciais.
./domi-owned.py fingerprint http://domino-server.com
Para enumerar quais diretórios comuns ou padrão do Domino estão acessíveis, execute o Domi-Owned com o argumento de ação enumerate e a URL do servidor. Opcionalmente, forneça ao Domi-Owned um nome de usuário e senha, usando os argumentos --username e --password, para ver quais diretórios esse usuário específico tem acesso. Para usar uma wordlist de diretórios personalizada, forneça ao Domi-Owned um arquivo contendo uma lista de diretórios web usando o argumento --wordlist.
./domi-owned.py enumerate http://domino-server.com
Para realizar um ataque de força bruta reversa contra um servidor Domino, execute o Domi-Owned com o argumento de ação bruteforce, a URL do servidor e uma lista de nomes de usuário. Opcionalmente, uma senha pode ser especificada com o argumento --password. Se uma senha não for fornecida, o Domi-Owned usará o nome de usuário, da lista de usuários, como a senha da conta (ex.: 'admin:admin' ou 'jsmith:jsmith'). O Domi-Owned tentará então autenticar em 'names.nsf', retornando contas bem-sucedidas.
./domi-owned.py bruteforce http://domino-server.com usernames.txt --password PASSWORD
Para despejar todas as contas Domino com um hash não vazio, execute o Domi-Owned com o argumento de ação hashdump e a URL do servidor. Opcionalmente, forneça ao Domi-Owned um nome de usuário e senha usando os argumentos --username e --password. Isso imprimirá os resultados na tela e escreverá os hashes das contas em arquivos de saída separados, dependendo do tipo de hash (Domino 5, Domino 6, Domino 8).
./domi-owned.py hashdump http://domino-server.com --username USERNAME --password PASSWORD
O Quick Console do Domino está ativo por padrão; no entanto, ele não mostrará a saída dos comandos emitidos. Uma solução alternativa para esse problema é redirecionar a saída do comando para um arquivo, neste caso 'log.txt', que é então exibido como uma página web no servidor Domino.
Se o argumento de ação quickconsole for fornecido, o Domi-Owned acessará o Quick Console do Domino, através de 'webadmin.nsf', permitindo que o usuário emita comandos nativos do Windows ou Linux. Opcionalmente, forneça um nome de usuário e senha usando os argumentos --username e --password. O Domi-Owned então recuperará a saída do comando e exibirá os resultados em tempo real através de um interpretador de linha de comando. Digite exit para sair do interpretador Quick Console. Ao sair, o Domi-Owned excluirá o arquivo de saída 'log.txt'.
./domi-owned.py quickconsole http://domino-server.com --username USERNAME --password PASSWORD
Agradecimentos especiais: