리눅스 서버 보안/메일 서버

메일 서버 해킹

seungwon9201 2024. 8. 12. 11:43

메일 서버

메일 서버는 이메일을 주고받을 수 있는 기능을 수행하는 서버로, 기업들은 각 기업의 도메인을 가진 메일 서버를 운영하거나 메일 서비스를 제공하는 서비스 제공자에게 위탁하고 있다. 

 

이러한 메일 서버의 역할은 4가지가 있다.

  1. 메일 전송 에이전트(MTA, Mail Transfer Agent)
    • 이메일을 주고받는 서버이다.
  2. 메일 제출 에이전트(MSA, Mail Submission Agent)
    • 송신자가 작성한 이메일을 받아서 MTA에게 전달한다.
  3. 메일 배달 에이전트(MDA, Mail Delivery Agent)
    • MTA에게 이메일을 전달받아서 수신자의 메일함에 저장한다.
  4. 메일 사용자 에이전트(MUA, Mail User Agent)
    • 사용자가 이메일을 읽고 작성하는 데 사용하는 메일 클라이언트이다.

이러한 메일 서버는 SMTP, POP3, IMAP과 같은 메일 전용 프로토콜을 사용하는데, 이때 메일을 평문 전송할 경우에 MITM공격이나 확인되지 않은 발신자를 위조해서 광고나, 공격 메일을 발송하는 스팸 메일 공격등이 발생할 수 있다.

 

메일을 이용한 해킹은 주로 메일 사용자의 부주의로 인해서 자주 발생한다. 보통 사용자가 불분명한 파일을 열어서 악성코드가 감염된다. 혹은 피싱 메일이나 스팸 메일 등의 형태로 사용자를 공격한다. 

 

이번 실습에서는 무차별 대입공격으로 메일 서버의 사용자 계정으로 로그인해서 어떤 방식으로 메일 서버가 해킹당하는지 실습해 볼 것이다.

 

그럼 Dovecot라는 오픈소스 기반의 IMAP/POP3 메일 서버를 설치하자.

sudo apt install dovecot-pop3

설치가 완료됐다면 설정 정보 파일에 POP3 프로토콜을 추가하자. 그리고 메일 위치와 인증 방식도 수정해 보자.

프로토콜 추가는 /etc/dovecot/dovecot.conf에 들어가서 수정해주면 된다.

pop3 프로토콜 추가

이제 /etc/dovecot/conf.d/10-mail.conf에 들어가서 메일 위치를 수정해 주자.

주석 #를 삭제해서 메일 위치를 수정

마지막으로 /etc/dovecot/conf.d/10-auth.conf에 들어가서 인증 방식을 바꿔주면 된다.

인증방식을 평문 인증 허용으로 변경

이제 systemctl restart dovecot을 입력해서 서비스를 재시작해주면 메일서버에 대한 준비는 끝이다.

 

칼리 리눅스로 돌아와서 max라는 사용자를 추가해 보자.

이제 이 만들어둔 사용자 계정을 hydra를 사용해서 공격해 보자.

이렇게 공격이 되고 있다. 그러나 사용자의 계정 패스워드가 출력이 되지 않는다..

왜 이런지 로그를 분석해 봤더니 

SRC에서 DST로의 TCP 트래픽을 방화벽 내에서 차단하고 있다.

방화벽 자체에서 칼리 리눅스(192.168.100.5) 트래픽을 차단하고 있었다. 

그러나 정상적으로 공격이 들어오는 것을 확인할 수 있었다.

 

아마 이전에 실습을 할 때 방화벽을 차단해 놔서 그런 것 같다.

만약 방화벽을 차단하지 않는 서버라면 사용자 계정에 대한 패스워드가 출력됐을 것이다.

'리눅스 서버 보안 > 메일 서버' 카테고리의 다른 글

메일 서버 보안 설정  (0) 2024.08.12
메일 서버 설치  (0) 2024.08.12