As senhas são (se a implementação for boa) armazenadas como um código hash no seu sistema. Além disso, eles devem ser salgados para esconder senhas fracas (no caso de alguém conseguir controlar o banco de dados). Você pode ler sobre sal e armazenamento de senhas aqui: link
Se você ler o artigo que você vai entender, que feito certo a senha em si nunca será armazenada. O que é armazenado é o código hash da senha + sal e o próprio sal. O que você poderia fazer para testar seu sistema em busca de senhas fracas é a mesma coisa que os hackers fazem: usando força bruta. Em seu caso especial, você poderia (se um sal é usado para todas as senhas) usar uma tabela com senhas + sal e o código hash gerado. Isso diminuirá o tempo de computação rapidamente, pois você só terá que comparar os códigos de hash (Isso só será verdadeiro se você usar o banco de dados mais de uma vez). Mas, novamente, isso só é possível se a implementação não for a melhor solução possível.
Se não proibiu senhas fracas e deseja que seus usuários usem senhas strongs, a maneira mais fácil (apenas) de conseguir isso é forçar os usuários na geração de senha ou verificar sua senha no login, contanto que a senha ainda esteja armazenada. claro na memória. Assim, você só pode facilmente verificar senhas strongs para usuários "usando" o computador. Se você quiser verificar as senhas de todos os usuários, sua opção é a força bruta.
Se você não fez isso no passado, a solução seria redefinir TODAS as senhas com senhas strongs geradas aleatoriamente e entregá-las aos seus usuários. No próximo login você pode forçar seus usuários a usar senhas strongs.
John the Ripper é um ataque de força bruta. Tem um dicionário massivo e códigos hash armazenados e, em seguida, executa isso contra suas senhas. Você sempre pode executar isso, mas deve ser um desperdício de tempo de CPU, pois você deve impor senhas strongs.