Published on

브루트 포스 (DVWA low)

Authors
  • Name
    라이브러리 기술블로그
    Twitter

브루트 포스

브루트 포스(Brute Force)란 무차별 대입 공격으로, 암호화된 데이터를 복호화하거나 인증 과정을 우회하여 무단 접근하는 방법입니다.

브루트 포스(Brute Force)

  • 목적 : 무차별 대입을 통해 원하는 key 값을 알아낸다. 브루트 포스 공격의 목적은 암호화된 데이터를 복호화하여 원하는 key 값을 알아내는 것입니다.

  • 대상 : 암호를 사용하는 모든 곳 예: 암호가 걸린 파일, SSH 접속, FTP 접속, 웹 사이트 회원 로그인

브루트 포스 공격은 암호를 사용하는 모든 곳에서 가능합니다. 파일, SSH 접속, FTP 접속, 웹 사이트 회원 로그인 등 모든 곳에서 발생할 수 있습니다.

방법

  • 브루트 포스 공격에는 무작위 순차 대입과 사전(Dictionary) 대입 두 가지 방법이 있습니다.
  • 무작위 순차 대입 : 조합 가능한 문자열을 순차적으로 대입하여 암호를 추측하는 방법입니다.
  • 사전(Dictionary) 대입 : 미리 정의된 비밀번호 사전을 준비해 하나씩 대입해보는 방법입니다.

대응 방안

브루트 포스 공격에 대한 대응 방안은 다음과 같습니다.

  1. 비밀번호 길이를 적절히 늘리거나 복잡한 조합으로 설정합니다.
  2. 로그인 시도 횟수를 제한하는 기능을 구현합니다.
  3. 2단계 인증을 도입하여 보안성을 강화합니다.
  4. 시스템 로그를 감시하여 이상 징후를 파악합니다.
  5. 실습 DVWA의 low level에서 실습을 진행합니다.
  6. 아이디는 admin 이라는 것을 알고 있다고 가정합니다.

초기 화면에서 아무 비밀번호를 입력하면 Username and/or password incorrect 라는 메시지가 뜹니다.

무작위 순차 대입

무작위 순차 대입 공격을 진행하기 위해 Brup Suite를 이용해 요청 값을 가로채봤습니다. usernamepasswordLogin 값이 GET 방식으로 전달되고 있습니다.

이를 Intruder로 전달하고 az, 09로 이루어진 4자리 비밀번호를 대입해보았습니다. 이를 통해 모든 경우의 수를 시도할 경우 시도 횟수는 1,679,616번입니다.

사전(Dictionary) 대입

다음은 사전(Dictionary) 대입 공격입니다. 비밀번호 사전으로는 nordpass.com에서 제공하는 Top 200 Most Common Password List 2021을 이용하였습니다.

200개의 비밀번호를 시도해보았고, 비밀번호가 일치할 경우 응답의 길이가 다르다는 것을 확인할 수 있었습니다. 이를 통해 정확한 비밀번호를 알아낼 수 있습니다.

이렇게 브루트 포스 공격에 대한 대응 방안과 DVWA low level에서 브루트 포스 공격을 실습해보았습니다. 하지만 이러한 공격을 예방하기 위해서는 비밀번호를 적절히 설정하고, 2단계 인증 등의 추가 보안 기능을 도입하는 것이 중요합니다. 또한, 보안 취약점을 점검하여 이를 수정하는 것도 중요합니다.

브루트 포스 공격은 매우 간단하지만 매우 위험합니다. 이에 대한 대응 방안을 적극적으로 시행하여 보안을 강화하는 것이 중요합니다.