본문 바로가기
  • True knowledge exists in knowing that you know nothing. -Socrates-
web/웹 해킹 및 보안

똑똑, 스팸메일입니다. (분석기)

by intadd 2020. 6. 7.

안녕하세요 정말 오랜만입니다.

 

6전공 + 학교 과제 + 개발 + 프로젝트 팀빌딩과 싸우는라 글쓰는 시간이 없네요.

(개인 공부할 시간도 부족한..)

 

같이 내리자.

 

지금도 물론 과제를 하고 있지만, 딴짓을 조금 할겸, 가벼운 글을 써보겠습니다.

 

왜 가벼운지는 아래 내용을 보시면 이해하실 겁니다. :) 

분석이라 하기에 분석이 아니기에,, 미안하다.. 이거 보여줄려고 어그,,

 

 

이 글은 한통의 메일로 부터 시작됩니다. 

 

모자이크 수준 진짜 경악이네 

 

 

대충 감이 오시나요 ?? 

맞습니다 오늘은 스팸메일 분석을 해보도록 하겠습니다.  (분석? 그냥 서칭)

 

 

정확히 스팸인지 아닌지 정확한 판별은 어렵지만 저는 스팸이라고 생각합니다.

 

왜 스팸이라고 생각하는지는 아래에 다루겠습니다.

 

일단 위의 메일만 확인해보면 생각하는 부분은 3가지입니다.

1. 내가 외주 받아 왔었나? (나도 모르는 사이 누군가 선물을 준건가?)
2. intkorea 와 intadd를 혼동하여 메일을 잘못보냈나? (심지어 숨은 참조를 통해?)
3. 그것인가? (그것인가?)

첨부파일은 2개입니다.

.htm 파일이네요 바로 열어보겠습니다.

 

안녕?
그것인가?

매우 흥미롭습니다.

견적서 내용이 local .htm에서 네이버 로그인을 구현한,,, 홀리,,

두 번 째 파일도 열어 보겠습니다.

 

안녕?
그것인가? 

 

아아 한가지 더, 메일 본문을 확인하면 이미지 파일이 보였습니다. (깨진)

이 친구도 확인해보겠습니다.

 

휴먼 그 경로에는 아무것도 없다. 

음,, hanmail 서버의 이미지 파일인거 같은데, 파일은 존재하지 않습니다.

 

뭐지?? 잘 모르겠습니다.

 

일단 첨부 파일 분석부터 좀 해보겠습니다.

2020년 기준 네이버 로그인 화면입니다.  (한국어 버전입니다.)

네이버 한국어 버전 로그인

확실히 위의 견적서.htm 와는 다릅니다. 

 

네이버 공식 English 버전을 확인하면 아래와 같습니다.  

 

네이버 영어 버전 로그인

위 사진을 봐서 알 수 있는건, Local file .htm 파일에서 피싱 타겟은 

네이버 영어버전 로그인 기능인 것을 알 수 있습니다.

 

여기서 또 이상한점이 있습니다. 

분명 CSS 변환의 기준은 언어입니다. 

한국어 버전과 영어 버전의 CSS가 다릅니다.

근데 스팸 메일에서는  한국어로 표기되어 있는데 CSS는 영어 버전이다. 

ㅋㅋㅋ 뭐지? 

좀 더 자세히 봅시다.

 

스팸 메일에서 언어 선택 화면 

영어?? 그런거 모른다. 

네이버 정상 언어 선택 화면

우리 번역기 엔진도 있음

뭐 일단 다른점이 있네요

그리고 스팸메일에 이상한 점이 또 있습니다. 여기 부분인데 (문법 강조)

번역기 : 휴먼 그게 뭔지 모른다.  or 은 영어 아니다.  찾기?

네이버 원본 이메일에서 제공하는 원문입니다.

너의 아이디 혹은 패스워드를 잊어버렸니?
ㅋㅋㅋ

 

여기까지가 육안으로 구분할 수 있는 특이점입니다.

자 그러면 조금만 더 자세히보겠습니다.

 

스펨메일에는 항상 목적이 있습니다. 

기능 구현한것을 보면, 아마 네이버 ID/PW 수집이 목적일 것 같습니다. 

그러면 ID/PW를 어디로 보내는가를 확인해 보겠습니다.

 

일단 해당 파일 소스를 좀 보겠습니다.

일단 심상치 않은 CSS

여기 개발자는 Link 타고 CSS를 가져오는 것을 싫어하는 것 같습니다. 

얼마나 싫어하냐면, 이정도로 싫어합니다. 

아래 더 있다...

이정도면 거의 질환이라고 봐도 무방합니다.

아까 이상하게 한국어가 중복된 htm

I LOVE KOREA

Option 의 value 는 en_US 이지만, 나는 한국어를 사랑한다.zip

ㅋㅋㅋ 여기까지는 사실 크게 중요한 부분은 아닙니다. 심심해서 넣어봤습니다. 

 

ID/PW 의 form 데이터 전송 위치를  찾아보겠습니다. 

형이 왜 거기서 나와?; 대충 이상한 도메인 주소
실망, 

위의 도메인은 공개하지 않기로 했습니다.  저 서버 실소유자가 해커라는 보장이 없기 때문입니다. 

일단 해당 사이트를 살짝 보겠습니다. 

정상 접근에 대한 분석

요청에 대한 응답 Status Code는 302 입니다.  (Redirect)

 

모자이크 정성 봐라,,, 반성하자 그리고 php 7 나온지가,, 

ID/PW 를 위 서버 des.php 로 전송한 후, 응답은 302로 mail.naver로 보냅니다. 

(정말 단순 ID/PW 수집이 목적인거 같습니다.)

 

자 여기까지 아직 100% 스팸이라고 생각할 수는 없습니다.

나리오 1.

1. 나는 개발자다. 
2. 견적서를 서버에 올려두었다. 
3. naver 계정으로 사용자를 인증해서 적절한 사용자에게 견적서를 출력하며,
4. 아닌 사용자에게 302를 통해 네이버 메일로 보낸다. (그냥 내맘이다.)
5. 기술 구현에 들어간다.
6. Ouath 라는 개념이 있지만, 어려워 보여서 사용 안한다. (그냥 내맘이다.)
7. 그냥 local .htm 을 개발?해서 사용자의 네이버 ID/PW를 우리 서버로 보낸다.
8. 이걸 이용해서 사용자를 판단하겠다. (그냥 내맘이다.)
9.  7. 에서 뭐,, request를 네이버로 보내서 로그인한 후, id/pw가 유효한지 확인하겠다.
     혹시 captcha 가 있다면, 우회하던가 하겠다.

 

뭐 이럴 가능성도 있습니다...? hollllly... (개발자님 혹시 강금당하고 있으면 당근을 그려주세요.)

위의 가능성을 보아, 이 서버가 옳바른 서버인지 분석할 필요가 있습니다.

 

분석을 위해 일단 어떤 서비스를 제공하느 서버인지가 궁금합니다.

http://AAAAA.com/test/test.php 라고 가정하면,  

http://AAAAA.com 에 접근해 봤습니다. (그냥 크롬으로 들어만 가봤다.) 

함정에 걸렸다.
너 해킹했니?

판사님. 저는 그냥 마우스로 해당 URL 만 들어갔습니다.

저는 아무것도 안했습니다.  정말입니다. 죄송합니다.

 

정상적인 서비스를 이용하기 위해 최 상단  폴더에 접근해보았습니다. 

아래와 같은 page로 이동했다.

 

 

음,, 제가 받은 메일 (업체명)과 헤어샵과 연관성을 생각해보면,,, 음,,,,,,,, 회사다?

Call Us: 가 123-456-78-90 입니다. 

 

관련 정보를 서칭을 해보면  도메인만 다른 서버들이 발견됩니다. 

 

흠 ,, 점점 더 혼동으로 빠지는  그의 정체,,,

 

일단 빨리 끝내기 위해, ID/PW를 전송하는 URL 을 Virus Total을 통해 검사해봅니다. 

리챔이야

Spam 으로 탐지한 제품이 소수이지만 있습니다. 

제 생각대로 리챔이 맞는거 같습니다 .

 

해당 URL 에서 IP를 추출한 후, IP를 조금 더 확인해봅니다.

해당 IP(URL to ip)의 소유지는 

불가리아 입니다.
소피아 무서워,,

해당 IP를 토탈이형한테 한 번 더 물어봅니다. 

진짜 나쁜애야

 

정말 간단한 서칭만으로 해당 서버에 대한 정보들을 추측해봤습니다. (대충 더 하기 귀찮기도 하고, 소피아도 무섭다는 뜻)

 

물론 제가 받은 견적서가 스팸이 아닐 수도 있습니다. 시나리오 1

예를 들어
불가리아 소피아 도시의 IP 를 소유한 IT 관련 국내 업체가 (해당 IP와 도메인은 Malware 와 Spam 판정)
실수로 저에게 네이버 ID /PW 를 요청하는 견적서.htm을 보냈으며 (해당 ID/PW는 위의 도메인으로 전송)
국내 업체지만 굳이 네이버 로그인 Local .htm 파일에 포함된 영어를 번역기를 돌려서 구현했으며 
ID/PW 를 전송힌 서버에서는 가짜 정보가 기입된 헤어샵 서비스를 진행하고 있을 수 있습니다. 

음 사실 제가 받은 견적서는 Naver 서비스에 대한 타겟이지였지만,

위의 서버에서는 Naver 뿐만 아니라  Daum 서비스 타겟도 운영중입니다. 일 것입니다.   (그냥 추측)

 

또 다른 의견은 아래와 같습니다.  시나리오 2

나는 검은 마법사다.
한국의 대표적인 포털사이트의 로그인 정보 수집을 목적으로 프로젝트를 진행한다.

1.  메일 발송을 위하여 국내 메일 서버의 로그인 정보를 획득한다. (hanmail)
2. 대표적 포털사이트를 타겟으로 파씽 사이트의 로그인 form을 구현한다. (naver, 아마 daum 도 )
3. 해당 파일에서 로그인 정보를 송신하는 서버는 미리 준비한 서버로 한다.
4. 해당하는 서버는 불기리아에 존재하는 IP를 가지며, 탐지의 가능성을 줄이기 위해 정상적인 사이트가 운영중인 것 처럼 설정한다.
5. 해당 서버가 탐지되어 차단될 경우를 대비하여, 다른 도메인의 같은 기능을 하는 서버를 동시에 운영한다. 
6. 피씽의 성공률을 높이기 위해 꼭 열어보고 싶은 어그로성 메일을 작성한다. 예를 들어 견적서.
7. 이를 불특정다수에게 전송한다.

 

실제로 토탈이형 친구들이 탐지한 결과를 보면 특정 제품에서만 탐지를 할 뿐, 다른 제품들은 탐지를 못(안)하고 있다. 

물론 Spam 으로 판정한 제품의 오탐일 수도 있지만, 내 생각은 오탐이 아닌거 같다. 

 

그리고 저는 못봤는데 혹시 index of 의 시간대를 보면 아마 최근일 것 같습니다. 

즉 2번의 시나리오라면, 어떤 행위를 수행한지 얼마 안된 것 일 것 일 것 일 것 으로 추측됩니다.

그래서 많은 제품들이 탐지를 못하고 있는 것은 아닐까??

 

 

+ 추가

밥먹느라고 글을 쓰다 말았습니다. ㅋㅋ 결론이 없네요

 

결론.

내가 생각할 때 나에게 전송된 메일은 스팸메일이다.

Naver 피씽을 구현했다고 생각한다.

약 2~3달 정도 운영 된 것으로 추측된다. 

하지만 네이버 메일에서도, hanmail 에서도 스팸 처리가 없다. (사실 탐지하기 매우 어려울 것이라고 생각됨)

또한 해당 URL, IP 등의 바이러스 토탈  제품들의 결과도 탐지율이 높지 않았다.

 

실제 스팸 메일을 처음 수신 받아 봤는데, 일반 사용자들이 육안으로 구별하기 매우 여러울 것 같습니다.

 

 

이상입니다.

감기조심하세요.

 

Django Sqli 글도 있고, 멀티바이징 글도 있는데,, 학기 끝나면 올려야겠다...

 

 

 

 

댓글