1. Brute Force Attack

- 무작위 대입 공격

- 인증 정보를 알아내기 위해 공격자가 반복적으로, 체계적으로 매번 다른 계정과 비밀번호를 입력하는 공격

- 자동화된 툴이나 스크립트를 사용해 인증 정보를 회득할 때 까지 가능한 모든 조합을 대입

- 일반적으로 하나의 계정에 다수의 비밀번호 대입

- OWASP Top 10 2017에서 A2. 취약한 인증으로 제시되었으며, 2021에서는 A7.Identification and Authentication Failures로 제시됨

[사진 1] OWASP Top 10 2017(좌) OWASP Top 10 2021(우)

1.1 공격 원리

- 조합 가능한 모든 문자열을 순차적으로 하나씩 모두 대입

 

[사진 2] Brute Force Attack 공격 원리

1.2 공격 기법

공격명 설명
무차별 대입 공격
(Brute-Force Attack) 
- 조합 가능한 모든 문자열을 순차적으로 하나씩 모두 대입
역 무차별 대입 공격
(Reverse Brute-Force Attack) 
- 하나의 비밀번호에 다수의 계정을 대입
- 특정인의 계정을 탈취하고자할 때 자주 사용
사전 공격
(Dictionary Attack)
- 미리 정의된(or 가능성 있는) 문자열 목록을 대입
- 공격에 소요되는 시간을 즐이는 동시에 공격 성공률을 높일 수 있음
레인보우 테이블 공격
(Rainbow Table Attack)
- 레인보우 테이블 : 해시함수를 사용하여 만들어낼 수 있는 값들을 저장한 표
- 평문 비밀번호와 각 비밀번호의 해시값이 저장된 사전(레인보우 테이블)을 사용해 해싱 함수를 반대로 되돌려 비밀번호 유추

 

2. 공격 실습

2.1 Brute Force

[사진 3] Login Form

- 버프 슈트 실행 및 Username과 Password 입력 후 로그인 시도

- 버프 슈트에 의해 캡쳐된 패킷을 Intruder로 보냄(Intruder : 사용자가 정의한 자동화 공격을 수행하기 위한 도구)

[사진 4] 버프 슈트

- Intruder 탭 Position(페이로드 구성 설정)에서 [사진 5]와 같이 §로 감싸진 부분이 페이로드이며, password 페이로드만을 §로 감싸줌 (Clear§>password 페이로드 선택>add§)

- password 값만 변경하면서 지속적으로 대입

[사진 5] Intruder

- 그 후 Payloads(페이로드 환경 설정)에서 Payload Sets, Payload Options 값을 설정한 후 Start attack으로 공격 시작

[사진 6] 페이로드 설정

- [사진 6]에서 설정한 옵션에 따라 무작위 대입 공격이 수행

- DVWA에서는 로그인 성공과 실패 시 페이지 내용이 상이하므로 응답 크기(Length)가 다른 것이 공격에 성공한 요청

[사진 7] 공격 수행

2.2 Dictionary Attack

- Payloads(페이로드 환경 설정)에서 Payload Sets, Payload Options 값을 설정한 후 Start attack으로 공격 시작

- Payload Options은 Load로 파일을 불러올 수 있으며, Add로 직접 입력할 수도 있음

[사진 8] 페이로드 설정

- 비밀번호가 password일 경우 Length 값이 다르게 나타나며, Response 확인 시 admin으로 로그인에 성공한 것을 확인 가능

- 따라서, admin 계정의 비밀번호는 password임을 알 수 있음

[사진 9] password

3. DVWA의 Brute Force Attack 대응

3.1 Low 단계

- Brute Force Attack에 대한 대응이 설정 되어있지 않음

 

3.2 Medium 단계

- 로그인 실패 시 2초간 시간 지연을 설정되어 있으나, 매우 짧은 시간임

- 자동화된 Brute Force Attack의 시간을 지연시켜 공격의 속도를 더디게 만들기 위함

[사진 10] sleep(2)

 

3.3 High 단계

- 로그인 실패 시 0~3초의 랜덤한 시간 지연을 설정되어 있으나, 매우 짧은 시간임

- 자동화된 Brute Force Attack의 시간을 지연시켜 공격의 속도를 더디게 만들기 위함

[사진 11] sleep(rand(0,3))

 

3.4 Impossible 단계

- 로그인 실패와 관련된 변수를 선언

[사진 12] 로그인 실패 관련 변수

- 다수 로그인 실패(3회)시 계정을 잠금 설정(15분간)

[사진 13] echo

- 로그인 실패 시 출력되는 메시지

[사진 14] 계정 잠김

 

4. 대응방안

- [사진 ]에서 확인되는것 처럼 password, 123456 등 간단하며 유추하기 쉬운 비밀번호가 다수 사용됨

[사진 15] 2021년 한 해 동안 전 세계에서 가장 많이 사용된 비밀번호 순위

 

- Brute Force Attack에 대응방안은 [사진 16]과 같음

[사진 16] 대응 방안

'취약점 > 기타' 카테고리의 다른 글

Deface Attack_중국 샤오치잉 해킹 그룹  (0) 2023.04.10
IFS(Internal Field Separator) String  (0) 2023.02.01
DNS Zone Transfer  (0) 2022.12.07
TLS OpenSSL HeartBleed Vulnerability(CVE-2014-0160)  (0) 2022.09.29
robots.txt  (0) 2022.08.30
SSH - Secure Shell
- 22 포트 사용
- 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜 - 암호화
- 기존 원격 접속을 위해 사용하던 Telnet 등이 암호화를 제공하지 않아 발생하는 문제 개선
절차 - SSH 허니팟을 구성한 뒤 한 달 간 모니터링
- 그 결과, 4,436개 IP에서 약 65만번의 SSH 무작위 대입 공격이 수행됨
- root, admin, user 등 시스템 또는 DB 명을 ID로, 123456, admin 등을 패스워드로 설정하여 무작위 대입 공격 수행
- 무작위 대입 공격을 통해 시스템 접속 성공 후 채굴 악성코드를 실행하기위한 시스템 사양 파악을 선 수행
- 시스템 사양 파악 후 wget 명령을 통해 파일을 다운로드 하거나, 직접 파일을 업로드 등의 방식으로 악성코드 실행

* 허니팟(Honeypot) : 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템
대응 - SSH 서비스 포트 변경
- root 계정의 원격 로그인 금지
- 강력한 패스워드 정책 사용 등 기본적인 보안조치를 충실하게 이행
- 쇼단 등을 이용해 식별되지 않는 SSH 서비스가 있는지 주기적으로 모니터링
- 비식별 자산이 존재하지 않도록 해야함

 

보안뉴스

 

무작위 대입, 채굴 악성코드 등 해커 공격에 SSH 서비스 ‘몸살’

SSH(Secure Shell)를 타깃으로 한 무작위 대입 시도가 지속적으로 발견되고 있어 SSH 서비스 운영자들의 주의가 요구된다. SSH는 보통 리눅스 서버를 원격에서 접속하는데 사용되는 서비스다. 그런데

www.boannews.com

+ Recent posts