Hashcat은 강력한 암호 해독 도구이며 정보 보안을위한 필수 유틸리티 중 하나입니다. 나는이 기사를 기록과 요약으로 저장하고있다.

Hashcat은 비밀번호 폭파 유물이자 정보 보안에 필수적인 도구 중 하나입니다. 이 기사의 기록 요약은 긴급 상황에 대비하여 이 기사를 보는 네티즌에게 도움이 될 수 있습니다.

소개

Hashcat은 세계에서 가장 빠른 암호 해독 프로그램으로 다중 플랫폼, 다중 알고리즘을 지원하는 오픈 소스 분산 도구입니다.

공식: https://hashcat.net/hashcat/

Github:https://github.com/hashcat/hashcat

安装

Windows

https://github.com/hashcat/hashcat/releases 下载最新版压缩包,解压根据自己的平台运行 hashcat64.exe 或者 hashcat32.exe

常用参数

-m 크랙 해시 유형

크랙할 해시 유형을 지정하고 해시 유형에 해당하는 숫자

-a 크랙 모드

사용할 크랙 모드를 지정합니다. 그 값은 다음 매개변수를 참조합니다.

- [ Attack Modes ] - 

  # | 모드 
 ===+====== 
  0 | 직선                # 직접 사전 균열 
  1 | 조합             # 조합 균열 
  3 | Brute-force             #  마스크 폭력 균열 
  6 | 하이브리드 워드리스트 + 마스크  # 사전+마스크 크랙 
  7 | 하이브리드 마스크 + 워드리스트  # 마스크+사전 크랙

–increment

증분 크랙 모드를 활성화하고 hashcat이 지정된 비밀번호 길이 범위 내에서 크랙을 수행하도록 합니다.

–increment-min

비밀번호의 최소 길이, 다음은 정수와 직접 같습니다.

–increment-max

비밀번호의 최대 길이를 사용하여 증분 모드를 구성하고 다음은 정수와 직접 같습니다.

–force

크랙 프로세스 중 경고 메시지를 무시합니다.

–remove

크랙된 해시{

}를 삭제합니다.

-O

--outfile  크랙이 성공한 후 해시와 해당 일반 텍스트 암호의 저장 위치를 지정합니다.

-O

--optimized-kernel-enable  최적화된 커널을 활성화합니다(암호 길이 제한)

-d

--opencl-devices  여기서 지원하는 장치 목록은 다음과 같습니다.


코드


* 장치 #1: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz, 건너뛰었습니다. 
* 장치 #2: 인텔(R) UHD 그래픽 630, 384/1536 MB 할당가능, 24MCU 
* 장치 #3: AMD Radeon Pro 555X 컴퓨팅 엔진, 1024/4096 MB 할당가능, 12MCU

-D

--opencl-장치-유형  opencl의 장치 유형을 지정합니다. Hashcat은 다음과 같은 장치 유형을 지원합니다.


bash


1 | CPU2 | GPU3 | FPGA, DSP, Co-Processor

일반적으로 사용되는  -D 2  GPU 크랙 지정

마스크 크랙

마스크 규칙


bash


 ?  | 문자집합===+== 
 l | abcdefghijklmnopqrstuvwxyz          # 소문자 a-z 
 u | ABCDEFGHIJKLMNOPQRSTUVWXYZ          #{ }대문자 A-Z 
 d | 0123456789                          #  숫자   0-9 
 h | 0123456789abcdef                    # 숫자 + abcdef 
 H | 0123456789ABCDEF                    # 숫자 + ABCDEF 
 s |  ! "#$%&'()*+,-./:; <=>? @[\]^_`{|}~   # 특수문자     
 a | ? 엘? 너? 디? s                             #  키보드에 보이는 모든 문자 
 b |  0 - 0xff                         #  


bash


--custom-charset1 [chars]는  -1과 동일합니다. 
--custom-charset2 [chars]는  -2와 동일합니다. 
--custom-charset3 [chars]는  -3과 동일합니다. 
--custom-charset4 [chars]는  -4

와 마스크에서  를 사용하는 것과 동일합니까? 1、? 2、? 3、?


bash


--custom-charset1 abcd123456! @-+

지금? 1은  abcd123456을 의미합니다! @-+


bash


--사용자 지정 문자 집합2 ? 엘? d

지금? 2는  을 의미합니까? 엘? d 은  인가요? h 숫자 + 소문자:


bash


-3 abcdef  -4 123456

이때  ? 3? 3? 3? 3? 4? 4? 4? 4 는 처음 네 자리가  abcdef일 수 있고 마지막 네 자리가  123456

사전 균열


코드


1q2w3e4r`일 수 있음을 나타냅니다. MD5 값은 `5416d7cd6ef195a0f7622a9c56b55e84


bash


hashcat -a 0 -m 0 '5416d7cd6ef195a0f7622a9c56b55e84' hashpass.txt -o success.txt

해독된 비밀번호 삭제

때때로 해독되면 다음과 같은 프롬프트가 나타납니다.


코드


 정보: All  hashes  found in  포트파일!  Use --show to display them.

이는 이전에 비밀번호가 성공적으로 해독되었음을 나타냅니다. 따라서 hashcat은 더 이상 표시되지 않습니다. 나중에  --show  매개변수를 추가하여 비밀번호를 표시할 수 있습니다.


bash


hashcat -a 0 -m 0 'cbc8f5435c87e13c5d14e6ce92358d68' hashpass.txt --show 
cbc8f5435c87e13c5d14e6ce92358d68:123456@abc

hashcat 성공적으로 크랙된 비밀번호 파일을 저장하는 위치는 다음과 같습니다. ~/.hashcat/hashcat.potfile

크랙된 비밀번호를 직접 표시하려면 파일을 직접 삭제할 수 있습니다.

일괄 크랙


배시


#  이전 크랙 성공 기록 삭제 rm ~/.hashcat/hashcat.potfile#  hash.txt는 크랙할 암호   hashpass.txt는 사전   크랙 결과를 success.txt 로 내보내고 hash.txt에서 크랙 성공 hashcat -a 0 -m 0 hash.txt hashpass.txt -o success.txt --제거

조합 크랙

멀티 사전 크랙


bash


hashcat -a 1 -m{ 

사전 + 마스크 크랙


bash


echo -n admin888 |openssl md5 
7fef6171469e80d32c0559f88b377245

크랙  admin888 의 MD5 값:


bash


hashcat -a 6 -m 0 '7fef6171469e80d32c0559f88b377245' hashpass.txt -O

마스크 + 사전 크랙


bash


hashcat -a 7 -m 0 '7fef6171469e80d32c0559f88b377245' 'admi? 엘? 디? 디? d' hashpass.txt  -O

크랙 케이스

8비트 MD5 암호화 디지털 크랙

에 대한  23323323  MD5 암호화:


bash


$ echo -n 23323323 |openssl MD5 
5a745e31dbbd93f4c86d1ef82281688b

해시캣을 사용하여 크래킹:


bash


hashcat -a 3 -m 0 --force '5a745e31dbbd93f4c86d1ef82281688b' '? 디? 디? 디? 디? 디? 디? 디? d' -O

8비트 MD5 암호화 대소문자 크랙


bash


$ echo -n PassWord |openssl MD5 
a9d402bfcde5792a8b531b3a82669585

hashcat을 사용하여 크랙합니다.


bash


hashcat -a 3 -m 0 -1 '? 엘? u' --force  'a9d402bfcde5792a8b531b3a82669585' '? 1? 1? 1? 1? 1? 1? 1? 1' -O

사용자 정의 규칙  -1을 정의합니다. 이때  ? 1 은  을 의미합니까? 엘? u는 대문자와 소문자입니다.

5-7자리 MD5 암호화된 대소문자 + 숫자 균열

Admin88 의 MD5 값은  2792e40d60bac94b4b163b93566e65a9


bash


hashcat -a 3 -m 0 -1 '? 엘? 너? d' --force  '2792e40d60bac94b4b163b93566e65a9' --increment --increment-min 5 --increment-max 7 '? 1? 1? 1? 1? 1? 1? 1' -O

여기에는 사용자 정의 규칙  -1이 정의되어 있습니다. 이때  ? 1 는  를 의미합니까? 엘? 너? d, 즉 대소문자 + 숫자입니다.

admin 시작 10자리 MD5 암호화 대소문자 + 숫자 균열

admin23323 의 MD5 값은  a9991129897a44e0d1c2855c3d7dccc4


bash


hashcat -a 3 -m 0 -1 '? 엘? 너? d' --force  'a9991129897a44e0d1c2855c3d7dccc4' '관리자? 1? 1? 1? 1? 1' -O

MySQL4.1/MySQL5

MySQL 비밀번호 보기:


mysql


mysql> select Password from mysql.user; 
+-------------------------------------------+ 
| 비밀번호                                  | 
+-------------------------------------------+ 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
+-------------------------------------------+ 
4   rows   in   set   (0.00   sec) 

그런 다음 사전 크랙을 사용하여 시작하십시오:


bash


hashcat -a 0 -m 300 --force '81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' hashpass.txt -O

리눅스 /etc/shadow sha512crypt $6$, SHA512 (유닉스)

 /etc/shadow  비밀번호 파일 보기:


bash



root@kali-linux:~# cat /etc/shadowroot:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1:18201:0:999999:7::: 
데몬:*:18024:0:99999:7::: 
빈:*:18024:0:99999:7::: 
시스템:*:18024:0:99999:7::: 
동기화:*:18024:0:99999:7::: 
게임:*:18024:0:99999:7::: 
남자:*:18024:0:99999:7::: 
lp:*:18024:0:99999:7::: 
메일:*:18024:0:99999:7::: 
뉴스:*:18024:0:99999:7::: 
uucp:*:18024:0:99999:7::: 
프록시:*:18024:0:99999:7::: 
www-데이터:*:18024:0:99999:7::: 
백업:*:18024:0:99999:7::: 
목록:*:18024:0:99999:7::: 
irc:*:18024:0:99999:7::: 
모자:*:18024:0:99999:7::: 
아무도:*:18024:0:99999:7::: 
_아파트:*:18024:0:99999:7::: 
시스템 시간 동기화:*:18024:0:99999:7::: 
시스템 네트워크:*:18024:0:99999:7::: 
시스템 해결:*:18024:0:99999:7::: 
mysql:!: 18024:0:99999:7::: 
ntp:*:18024:0:99999:7::: 
메시지버스:*:18024:0:99999:7::: 
arpwatch:!: 18024:0:99999:7::: 
데비안-익심:!: 18024:0:99999:7::: 
uuidd:*:18024:0:99999:7::: 
레드삭스:!: 18024:0:99999:7::: 
tss:*:18024:0:99999:7::: 
rwhod:*:18024:0:99999:7::: 
요오드:*:18024:0:99999:7::: 
미레도:*:18024:0:99999:7::: 
dnsmasq:*:18024:0:99999:7::: 
포스트그레스:*:18024:0:99999:7::: 
usbmux:*:18024:0:99999:7::: 
rtkit:*:18024:0:99999:7::: 
스턴넬4:!: 18024:0:99999:7::: 
sshd:*:18024:0:99999:7::: 
데비안-snmp:!: 18024:0:99999:7::: 
sslh:!: 18024:0:99999:7::: 
맥박:*:18024:0:99999:7::: 
스피치 디스패처:!: 18024:0:99999:7::: 
아바히:*:18024:0:99999:7::: 
사네드:*:18024:0:99999:7::: 
이넷심:*:18024:0:99999:7::: 
색상:*:18024:0:99999:7::: 
지오클루:*:18024:0:99999:7::: 
킹-피셔:*:18024:0:99999:7::: 
데비안-gdm:*:18024:0:99999:7::: 
드라디스:*:18024:0:99999:7::: 
소고기-xss:*:18024:0:99999:7::: 
시스템드-코어덤프:!!: 18082:

 root 에 암호가 있음을 알 수 있습니다. 앞에 사용된 암호화 방식은  $6  표면 해시입니다. sha512crypt $6$, SHA512 (Unix). 이 게시물을 즐겨찾기로 설정 7월 20 Download

#  마스크 크랙 루트 암호   크랙 성공 해시를 포트파일에 기록하지 않음   디바이스 2(코어 디스플레이)를 지정하여 암호  를 실행하고 최적화를 켜십시오 hashcat -a 3 -m 1800 --force  '$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '? 엘? 엘? 엘? l' -O -d 2 --potfile-disable#  마스크 크랙 루트 암호   사용자 이름 무시   크랙이 성공한 해시를 포트파일에 기록하지 않음   디바이스 2(코어 디스플레이)를 지정하여 암호  를 실행하고 최적화를 켜십시오 hashcat -A 3 -m 1800 --force  ' root:$6$4ojiBMDPrehqrLkX$d2T7Cn8LKkLk4SDXgCh1IEqjhnsUekXaNUXSxiZIwUTndSqyd.9sEcu80sX9DuEHGmHOeoMev2O0ACYtjMett1' '? 엘? 엘? 엘? l' -O -d 2 --username --potfile-disable

macOS와 함께 제공되는 CPU 및 독립 그래픽은 여기서 Guoguang 자신이 수동으로  -d 2 를 코어 디스플레이로 전환하여 성공적으로 실행했습니다.

Hashcat 是一款密码爆破神器,信息安全必备工具之一,特此收藏此文章记录总结

사전 크랙 윈도우 LM 해시


bash


hashcat -a 0 -m 3000 --force '921988ba001dc8e14a3b108f3fa6cb6d' password.txt

사전 크랙 윈도우 NTLM 해시


bash


hashcat -a 0 -m 1000 --force 'e19ccf75ee54e06b06a5907af13cef42' password.txt

배포 크랙

매개 변수 유형 설명 국광의 이해 예
–brain-server
Enable brain server Enable main server
-z, –brain-client
브레인 클라이언트 활성화, -S 활성화 분산 클라이언트 활성화
–brain-client-featuresNum브레인 클라이언트 기능 정의, 아래 참조 클라이언트 기능 정의 –brain-client-features=3
–brain-hostStr브레인 서버 호스트(IP 또는 도메인)마스터 서버의 IP 또는 도메인–brain-host=127.0.0.1
–brain-portport브레인 서버 포트 기본 서버 포트 –brain-port=13743
–brain-passwordStrbrain server authentication password 기본 서버의 인증 암호 –brain-password=e8acfc7280c48009
–brain-sessionHex 자동으로 계산된 brain session을 재정의합니다. 이미 계산된 기본 세션 을 자동으로 덮어쓰기 –brain-session=0x2ae611db
–brain-session-whitelistHex쉼표로 구분된 주어진 세션만 허용합니다 –brain-session-whitelist=0x2ae611db

클라이언트 기능


bash


- [ brain Client Features ] -  # | Features 
 ===+======== 
  1 | Send hashed passwords                       #  크랙된 비밀번호 보내기 
  2 | 보내기 공격 위치                       #  크랙된 위치 보내기 
  3 | Send hashed passwords and attack positions  #  크랙된 비밀번호와 크랙된 위치 보내기 


이전:Hashcat을 사용하는 방법: 기술 공유
다음:Hashcat 튜토리얼: 크래킹 모드 매개 변수 구성 (매우 상세하고 가치있는 가치 절약)
  • Word, Excel, PPT, PDF, RAR, ZIP, 7Z, 압축 패키지, Office 암호화 파일 잠금 해제 및 암호 해제에 집중
  • 우리는 사용자에게 고품질의 파일 압축 패키지 비밀번호 복구, PDF 잠금 해제 Word 비밀번호 검색을 제공합니다
  • 저작권 © 문서 비밀번호 복구 마스터온라인 암호 해독 플랫폼