Back-end/Server

BASH 취약점을 노린 SMTP 서버 공격 및 취약점 제거 방법

개발자 케빈 2022. 8. 9. 01:12

1. BASH 취약점 (Shell Shock) 이란?

: 특정 BASH 버전에서 환경변수 함수 선언문 뒤에 임의의 명령어를 삽입하는 경우, 선언문 뒤의 명령어까지 실행되는 취약점이 있음.

 

2. BASH 취약점으로 생길수 있는 문제.

: 공격자가 원하는 BASH명령어를 사용할 수 있으므로, 서버 내에 악성 프로그램 및 백도어등을 설치할 수 있음.

(CGI의 User-Agent의 헤더 정보에 악성 명령어를 입력 후 전송 하는 등의 방법으로 공격)

 

- 이를 통해 공격자는 SMTP서버를 해킹하고 공격한 서버를 통해 대량 피싱메일 발송등을 진행할 수도 있음.

 

3. BASH 취약점 확인 방법.

 : 환경변수를 선언하는 명령어 뒤에 임의의 명령어를 입력 해본다.

 

$ env x='() { :;); echo test' bash -c "echo aa"

만약 취약점이 존재한다면, 변수 선언한 명령어 뒤의 임의 명령어가 실행된다.

 

4. 취약점 제거 방법

: BASH버전을 최신 버전으로 업그레이드 해준다.

 

※ BASH 버전 업그레이드 방법

$ yum -y update bash

(yum 패키지가 서버내에 존재하지 않는다면 따로 설치해주자)

 

5. 참고 (공격자가 SMTP 서버를 통해 악성 메일을 보내고 있을 경우)

- 메일 로그 확인 : /var/log/maillog

- SMTP 포트 (25번 포트) stop : $ service posfix stop

- 사용중인 포트 확인 방법 : $nmap localhost  // $netstat -atun