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