John The Ripper 1.7.9 mit MPI wird bei Erfolg nicht beendet

John The Ripper 1.7.9 mit MPI wird bei Erfolg nicht beendet

Ich versuche, die MPI-Funktionen von John 1.7.9 zu nutzen und teste mit einem einfachen 4-stelligen Passwort auf einem einzelnen 8-Core-Server. Mir ist aufgefallen, dassnach Erfolg, der Prozess, der das Passwort geknackt hat, wird beendet, während der Rest weiterläuft. Ist das ein bekanntes Problem oder ein neuer Fehler? Gibt es außerdem eine Problemumgehung (abgesehen davon, die Zeit jedes Prozesses zu überwachen und nach Unterschieden zu suchen, was nicht wirklich schlüssig ist).

Einzelheiten:

mpiexec --version
 mpiexec (OpenRTE) 1.4.3
...
mpiexec -n 8 -host localhost ./run/john temp --format=raw-md5
...
mpiexec -n 8 -host localhost killall -s HUP john && mpiexec -n 8 -host localhost ./john --status
 0: guesses: 0 time: 0:00:00:07 0.00% (3) c/s: 4424K
 3: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 7985K
 7: guesses: 0 time: 0:00:01:34 0.00% (3) c/s: 7190K
 4: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 6643K
 6: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 7319K
 1: guesses: 0 time: 0:00:01:34 0.00% (3) c/s: 9367K
 2: guesses: 0 time: 0:00:01:34 0.00% (3) c/s: 6774K
 5: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 6740K
 SUM: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 59635K avg 7454K

Beachten Sie die Laufzeit von Prozess 0 und wie er immer noch 0 Vermutungen meldet. Beim Ausführen von john --status wird Folgendes angezeigt:

./run/john --show temp --format=raw-md5
?:asdq

1 password hash cracked, 0 left

Antwort1

Wenn Sie OpenMPI statt mpich2 verwenden, wird das SIGHUP-Signal nicht an John weitergeleitet. Stattdessen muss ein SIGUSR1 gesendet werden.

verwandte Informationen