출처 : Research Gate(photo by Fahad E Salamh)
특정한 암호를 풀기 위해 가능한 모든 값을 대입하여 푸는 방법을 말한다.
해쉬함수를 간단하면서도 강력하게 뚫을 수 있는 공격이라는 장점을 가지고 있다. 결론적으로, 대부분의 암호화 방식들 이 공격에 안전하지 못하지 못하다. 암호를 푸는데 긴 시간이 걸린다는 점과 대부분의 경우를 계산하더라도 컴퓨터 자원을 낭비할 수 있다는 단점이 있다.
특히, 자릿수, 한 자리에 들어가는 문자의 개수에 따라 그 경우의 수가 천차만별이며, 그 만큼 소요되는 시간도 길어진다.
일반적인 방법으로는 모든 경우의 수를 대입하면서 풀지만, 최근에는 여러 방법 및 종류로 나뉘어졌으며, 무작정 대입보다는 다음과 같은 방법을 선호하기도 한다.
사전에 비밀번호 리스트와 같은 여러 단어들을 적어 사전을 만들고, 이를 돌려 대입하며 공격한다.
Kali Linux의 John the Ripper툴이 이 방법을 사용하여 공격한다.
출처: John the Ripper 공식 홈페이지
많은 계정들을 대상으로 흔한 비밀번호를 반복적으로 시도한다.
이 또한, 흔한 비밀번호 리스트가 담긴 사전 파일을 이용하여 시도하기도 한다.
사이트 또는 서비스에서 훔친 유저의 아이디 및 비밀번호를 사용해 다른 서비스에서도 대입해봄으로써 하이재킹을 한다. 이는 일반적인 사전 공격, 또는 DB에 sql injection을 통하여 유출된 사전들을 이용해 여러 서비스에 대입해본다.