Вывод прогресса со временем в hashcat - PullRequest
0 голосов
/ 13 апреля 2020

Я анализирую количество хэшей, взломанных за определенный период времени. Я ищу, чтобы сохранить текущее состояние трещины каждые 10 секунд.

'' '

Восстановлено ........: 132659/296112 (44,80%) Дайджесты, 0/1 (0,00%) Соли восстановлены / Время ...: CUR : 3636, N / A, N / A AVG: 141703,8502198,204052756 (мин, час, день) Прогресс .........: 15287255040/768199139595 (1,99%)

'' '

Я хочу, чтобы эти 3 строки состояния сохранялись каждые 10 секунд или около того. Возможно ли сделать это в hashcat или мне нужно будет создать отдельный скрипт в python?

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

В дополнение к ответу Эндрю Зика обратите внимание, что для машиночитаемого status hashcat имеет встроенную поддержку машиночитаемого вывода - см. Параметр --machine-readable. Это приводит к выводу через табуляцию, например, так:

STATUS  5       SPEED   111792  1000    EXEC_RUNTIME    0.007486        CURKU   1       PROGRESS        62      62     RECHASH  0       1       RECSALT 0       1       REJECTED        0       UTIL    -1
STATUS  5       SPEED   14247323        1000    EXEC_RUNTIME    0.038953        CURKU   36      PROGRESS        2232   2232     RECHASH 0       1       RECSALT 0       1       REJECTED        0       UTIL    -1
STATUS  5       SPEED   36929864        1000    EXEC_RUNTIME    1.661804        CURKU   1296    PROGRESS        80352  80352    RECHASH 0       1       RECSALT 0       1       REJECTED        0       UTIL    -1
STATUS  5       SPEED   66538858        1000    EXEC_RUNTIME    3.237319        CURKU   46656   PROGRESS        28926722892672  RECHASH 0       1       RECSALT 0       1       REJECTED        0       UTIL    -1
STATUS  5       SPEED   63562975        1000    EXEC_RUNTIME    3.480536        CURKU   1679616 PROGRESS        104136192       104136192       RECHASH 0       1       RECSALT 0       1       REJECTED        0       UTIL    -1

... это именно то, что инструменты, такие как Hashtopolis, используют для обеспечения внешнего интерфейса для вывода hashcat.

Для машиночитаемых вывод , доступны опции --outfile и --outfile-format. В разделе Format выходных данных hashcat --help указаны параметры --outfile-format:

- [ Outfile Formats ] -

  # | Format
 ===+========
  1 | hash[:salt]
  2 | plain
  3 | hex_plain
  4 | crack_pos
  5 | timestamp absolute
  6 | timestamp relative
0 голосов
/ 14 апреля 2020

Получение статуса каждые 10 секунд

Вы можете включить печать состояния с помощью --status, а вы можете установить статус печати каждые X секунд с помощью --status-timer X. Вы можете увидеть эти аргументы командной строки на опциях хэш-кода вики-странице или hashcat --help.

Пример: hashcat -a 0 -m 0 example.hash example.dict --status --status-timer 10


Сохранение всех статусов

Я предполагаю, что вы просто хотите сохранить все, что напечатано hashcat, во время его работы. Простой способ сделать это - просто скопировать все из стандартного вывода в файл. Это популярный вопрос, поэтому мы просто используем этот ответ .

Чтобы быть в безопасности, давайте используем -a, который добавляется в файл, поэтому мы не будем случайно перезаписать предыдущие прогоны. Все, что нам нужно сделать, это поставить | tee -a file.txt после нашего вызова hashcat.


Решение

Дайте этому шанс, он должен сохранить все статусы (и все остальное от stdout) до output.txt:

hashcat -a A -m M hashes.txt dictionary.txt --status --status-timer 10 | tee -a output.txt

Просто замените A, M, hashes.txt и dictionary.txt на используемые вами аргументы.

Если вам нужна помощь, чтобы получить только строки «Восстановленные» из этого выходного файла, или если это не работает на вашем компьютере (я на OSX), дайте мне знать в комментарии.

...