본문 바로가기

웹해킹/webhacking.kr

webhacking.kr old 47번 문제풀이(Writeup) SMTP 메일서버 취약점

반응형

1. webhacking.kr old 47번 문제개요(Writeup)

old 47번 문제개요 1
old 47번 문제개요 2

 

문제를 들어가면 위와 같이 출력된다.  메일을 보낼 수 있는 폼이 존재하고 코드를 보니, 10초에 한번 가능하다.

쿠키나 폼에는 의심되는 것이 보이지 않는다.

 

 

일단 지금까지 얻은 힌트로는 Mail과 관련된 문제이고, 'subject를 보내는 동작을 한다.'이다.

여기까지만 봤을 때는 해킹과 방어 수업 때 들은 SMTP, IMAP, POP3 중 하나의 취약점일 것이고,

IMAP은 메시지를 읽어오는 과정이고, POP3는 메일서버에서 메일을 검색하는데 자주 사용되기 때문에,

SMTP 취약점일 것이라고 생각했다.

 

old 47번 문제개요 3

SMTP에도 다양한 취약점이 존재하고 있고, 내 지식은 모든 취약점에 대해 제대로 알지 못한다.

따라서 SMTP 취약점 중 대표적인 것들을 공부했다.


1. SMTP(Simple Mail Transfer Protocol)란?

간이 전자 우편 전송 프로토콜로 인터넷에서 이메일을 전송하는 데 사용되는 표준 프로토콜이다. 메일 클라이언트가 수신 서버로 메시지를 발송 및 포워드를 지원한다.

 

1) SMTP Relay 취약점

메일서버 외부에서 메일서버를 경유하여 타 메일서버로 메일을 발송하는 것을 말한다. 인증 시행 여부에 따라 Open Relay와 Authenticated Relay로 구분된다.

① Open Relay 

Open Relay는 모든 전자메일에 대해 Relay를 하도록 설정되어, 해당 메일서버는 스팸메일의 발신지로 사용될 위험이

크다. 간단하게 점검하는 방법은 아래 링크로 들어가서 자신의 이메일을 점검하는 방법이다.

https://mxtoolbox.com/diagnostic.aspx

 

② Authenticated Relay

메일 서버에 인증된 메일에 대해서 Relay 해주는 방식이다. 설정을 통해 허가된 IP대역이나 발신지 대상 등을 특정하고, SMTP AUTH 설정 후 명령을 통한 동적 Relay 권한 인증이다.

 

 

2) SMTP header injection

적절하게 삭제되지 않은 사용자 입력에서 IMAP/SMTP 문을 구성하는 메일 서버 및 웹 메일 프로그램을 악용하는 데 사용되는 기술이다. 공격자가 SMTP 서버로 전송되는 데이터에 SMTP 명령을 삽입하여 공격하는 기술이다.

 

 

실제 공격 사례 보고서(Bugbounty - New Relic)

https://hackerone.com/reports/347439

 

New Relic disclosed on HackerOne: [synthetics.newrelic.com] SMTP...

 

hackerone.com

 

공부하던 중 이번 문제가 SMTP Header Injection이라고  생각했다.

 


3. webhacking.kr old 47번 문제풀이(Writeup)

 

old 47번 문제풀이 1

먼저 SMTP Header Injection을 하기 위해 입력 폼을 text에서 textarea로 변경했다.

 

 

 

 

old 47번 문제풀이 2

이후 Cc에 내 이메일 주소를 넣었다. Cc는 원래 자신의 메일에서 참조하겠다는 뜻으로 내 메일함에 메일이 와야 하는데

문제 사이트에서 flag가 출력되었다.

 

 

 

이렇게 SMTP에 대해서와 SMTP 관련 취약점을 공부한 이후 문제를 해결하였다.

 


SMTP 취약점을 배운 지 오래돼서  그런지 잘 기억이 안 났었다. 취약점에 대해 다시 공부하고 SMTP, IMAP, POP3 등의 메일 관련 포트에 대해서 학습할 수 있는 좋은 기회였다.

 

 

참고사이트

https://m.blog.naver.com/skinfosec2000/221920576711

https://portswigger.net/kb/issues/00200800_smtp-header-injection

 

 

 

 

728x90