GPU 지원 설정
이 단계에서는 더 빠른 해시 크래킹을 위해 GPU 가속을 활용하도록 Hashcat 을 구성합니다. Hashcat 은 CPU 와 GPU 리소스를 모두 활용할 수 있지만, GPU 는 수천 개의 작은 코어를 포함하여 동시에 많은 계산을 수행할 수 있기 때문에 비밀번호 크래킹에 특히 효과적입니다. 이러한 병렬 처리 능력은 무차별 대입 공격에서 GPU 를 CPU 보다 훨씬 빠르게 만듭니다.
GPU 지원을 구성하기 전에 먼저 Hashcat 에서 사용할 수 있는 하드웨어 장치를 확인해 보겠습니다. 다음 명령을 실행하여 감지된 모든 OpenCL 장치를 나열합니다.
hashcat -I
이 명령은 사용 가능한 OpenCL 장치를 표시합니다. LabEx VM 환경에서는 다음과 유사한 출력을 볼 수 있습니다.
OpenCL Platform #1: NVIDIA Corporation
* Device #1: NVIDIA GeForce GTX 1080 Ti, 10240/11264 MB allocatable, 28MCU
출력은 모델 및 메모리 용량을 포함한 GPU 세부 정보를 보여줍니다. 이제 Hashcat 의 성능을 최적화하기 위해 구성 파일을 만들겠습니다. 구성 파일은 설정을 자동화하여 매번 입력할 필요가 없도록 합니다.
다음 명령으로 구성 파일을 생성하고 편집합니다.
nano ~/.hashcat/hashcat.conf
다음 구성을 추가합니다 (Ctrl+O 를 눌러 저장하고 Ctrl+X 를 눌러 종료합니다).
--force
--opencl-device-types=1,2
--workload-profile=4
각 매개변수가 무엇을 하는지 이해해 보겠습니다.
--force는 잠재적인 문제가 감지되더라도 Hashcat 이 계속 실행되도록 지시합니다 (랩 환경에서 유용함).
--opencl-device-types=1,2는 처리를 위해 CPU (유형 1) 및 GPU (유형 2) 장치를 모두 활성화합니다.
--workload-profile=4는 전력 절약보다 속도를 우선시하는 최고 성능 프로필을 설정합니다.
모든 것이 올바르게 작동하는지 확인하려면 벤치마크 테스트를 실행합니다.
hashcat -b
벤치마크는 다양한 해시 알고리즘을 테스트하고 다음과 같은 성능 지표를 표시합니다.
Speed.#1.........: 12345.7 MH/s (98.23ms) @ Accel:1024 Loops:1024 Thr:256 Vec:1
이 숫자는 시스템이 초당 시도할 수 있는 해시 수를 보여줍니다. 값이 높을수록 크래킹 속도가 빠릅니다. 벤치마크는 GPU 가속이 활성화되어 있으며 실제 무차별 대입 공격을 수행할 다음 단계에서 사용할 준비가 되었음을 확인합니다.