본문 바로가기
IT & 전자기기/소프트웨어

[해킹] PDF 파일 암호 알아내기: 짧고 단순한 암호가 위험한 이유

by 카루 (Rolling Ress) 2022. 8. 8.
반응형
 

환영합니다, Rolling Ress의 카루입니다.

** 본 문서에서 다루는 내용은 오로지 실습 및 위급한 상황을 대비한 것임을 알려드리며, 불법적인 용도로 사용할 경우 관련 법령에 의거하여 처벌 받을 수 있으니 주의하시기 바랍니다.

오늘은 PDF 파일의 암호를 뚫는 과정을 보여드리도록 하겠습니다. 진행에 앞서, PDF 파일은 저의 영어 말하기 대화 원고를(...) 사용하였습니다. MS Office에서 Export 메뉴를 통해 PDF로 제작하였으며, 파일은 AES-256으로 암호화되었고, PDF 버전은 1.4~1.6입니다.

script(1).pdf - 비밀번호 123456

script(2).pdf - 비밀번호 alskdj

script(3).pdf - 비밀번호 Qp5n&8

script(4).pdf - 비밀번호 qwertyuiasdfghjk

비밀번호를 다르게 설정한 똑같은 파일 4개를 생성했습니다. 이제 뚫으러 가보죠.

1) '123456' 크래킹

첫번째 타겟은 비밀번호를 123456으로 걸어둔 pdf입니다.

파일 해시를 보면 이렇게 생겼습니다. 128. AES-128을 말하는 거겠죠.

1초도 걸리지 않아 123456이란 비밀번호가 뚫려버립니다. 이거 좀... 심각한데요? 아무리 단순한 비밀번호라고 해도 이렇게 쉽게... 뭐 그래요. 다음으로 넘어갑시다.

2) 'alskdj' 크래킹

키보드 자판을 양쪽 끝에서부터 두드려가며 만든 비밀번호입니다. asdfgh보다는 이쪽이 그나마 더 안전할가요. 일단 뚫어봅시다.

마찬가지로 1초도 걸리지 않아 비밀번호가 뚫려버립니다. 이건 뭐...ㅋㅋㅋㅋㅋㅋㅋㅋ 웃음밖에 안 나오네요. 이 정도까지였어? 사실 이거에 관한 원리나 작동 방식에 대해서 자세히 말씀드릴 순 없지만, 비밀번호를 길게 쓰라는 데엔 이유가 있군요. 겪어보니 알겠습니다.

3) 'Qp5n&8' 크래킹

일반적으로 비밀번호 설정시 권장하는 대로, 영문 대소문자와 숫자, 특수문자를 혼합해서 암호화했습니다. 돌려보죠.

오, 우선 기존에 쓰던 방식으로는 해킹에 실패했습니다. 나쁘지 않군요.

그런데, 여기서 브루트 포스 공격을 하면 어떨까요? 지금까지는 사전에 등재된 단어를 바탕으로 '많이 쓰이는 비밀번호'를 대입한 것에 불과합니다. 이런 복잡한 비밀번호는 역시 하나하나 넣어보며 때려맞추는 게 제맛이죠. 단순하지만 제일 확실한 방법입니다. 비밀번호를 5회 이상 잘못 입력하면 로그인을 막는 시스템도, 이러한 브루트 포스 공격을 예방하기 위한 하나의 대책입니다.

일단 이 시스템 상에서 암호를 해제하기 위해서는 20일 정도가 걸린다고 판단했군요. 물론 이건 제가 테스트를 위해 CPU 코어의 반을 죽이고 진행한 거라 실제 환경에서는 이거보다 훨씬 빠를 겁니다. 특히 이런 병렬 연산은 CPU보다는 GPU로 하는 게 효율적이니까요. GPU로 하면 훨씬 빨리 끝날 겁니다.


마지막 비밀번호는 굳이 테스트하지 않았습니다. 20일보다 훨씬 오래 걸릴 것이 자명하니까요. 비밀번호를 설정할 때 길게 하라는 이유가 있습니다. 특히, 같은 길이여도 영문자와 숫자, 특수문자를 조합하면 시간이 매우 오래 걸리는 걸 알 수 있죠.

이 과정은 굳이 설명드리지 않겠습니다. 필요한 경우 해당 툴을 사용하는 영상이 유튜브에 있으니, 확인해보세요.

반응형


같이 보면 좋은 글


댓글