구글 앱 엔진 이용해 악성코드 유포
cloud-based phishing
개발자를 위한 Google의 클라우드 서비스인 Google App Engine을 이용해 악성코드를 퍼뜨리는 사례가 발견됐다. 구글, 아마존, 마이크로소프트 등의 클라우드 서비스를 이용한 피싱의 일종으로, 근래 증가하는 추세이다. 믿을 만한 도메인을 내세워 의심을 피하려는 것이다.eml 첨부 파일
공격은 이메일 첨부 파일에서 시작된다. 첨부 파일은 .eml의 확장명을 가지고 있다. 이 형식은 하나의 이메일을 통째로 저장한 파일로, outlook 등 메일 클라이언트에서 열 수 있다. 당연히 .eml 안에는 링크와 첨부 파일이 들어 있다.pdf 문서의 링크 처리 방식
이 작전은 피해자의 넋을 나가게 하려는 것인지, 첨부 파일 안에 또 첨부 파일, 그 다음엔 링크, 그 다음엔 워드 매크로, 최종 페이로드의 순으로 진행된다. 복잡해 보이긴 하지만, 반대로 주의만 기울이면 눈치챌 기회도 많다. 사실 지나치게 복잡한 것 자체가 수상하다.eml 파일 안에는 pdf 문서가 첨부돼 있다. 이 문서는 웹 페이지에 연결된 문서다. 이런 문서는 위험하기 때문에, pdf reader 앱들은 열기 전에 경고를 내보인다. 또한 사용자 편의를 위해, 한번 신뢰한 도메인은 기억하여, 다음에는 묻지 않고 열 수 있는 옵션을 제공한다.
여기에 함정이 있다. 이 작전은 신뢰할 만한 도메인을 내세우기 때문에, 전에 한번이라도 정상적으로 이용하고 기억 옵션을 사용했다면, 확인 없이 열릴 수가 있다. 따라서 기억 옵션은 사용하지 않는 것이 좋다.
Google App Engine의 검증 없는 리디렉션 문제
구글 도메인에는 검증 없이 리디렉션을 허용하는 이슈(open redirection)가 있다. 구글은 이것이 버그가 아니고 자연스러운 작동이라는 입장이다.문제는 hxxps://appengine.google.com/_ah/logout?continue=(악성 링크, 즉 피싱 사이트나 악성 파일) 형식을 취햐면, 악성 링크로 그냥 이동하는 것이다. hxxps는 실제 링크로 인식되는 것을 피하려고 https 대신에 쓴 것이다. 요즘 이렇게들 많이 쓴다.
비슷하게
hxxps://accounts.google.com/Logout?continue=https://appengine.google.com/_ah/logout?continue=(악성 링크),
hxxps://google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=(악성 링크),
이런 형식도 악성 링크로 연결된다.
위의 pdf 문서는 이런 링크로 연결돼 있다. 언뜻 보면 구글 사이트로 생각하기 쉽다. 피해자가 이 문서를 열거나, 기억 옵션을 체크할 가능성이 높다.
리디렉션을 이용한 공격을 피하려면, 링크를 살필 때 앞부분만 볼 것이 아니라, 전체를 끝까지 봐야 한다.
MS Word 매크로 이용
악성 링크는 pdf 문서나 MS 워드 문서로 연결된다. 물론 악성 콘텐츠를 담고 있다. 워드의 경우 보안 경고가 뜨는데, 여기서 허용을 하면 악성 코드의 본체인 payload가 실행된다. 페이로드는 해커의 선택에 따라 무엇이든 될 수 있다.마이크로소프트 오피스의 매크로는 VBA라는 미니 프로그래밍 언어로 구현된다. Visual BASIC의 축소판으로, 자체 명령어는 제한적이다. 그러나 Windows나 다른 앱의 기능을 외부 함수 호출 형식으로 사용할 수 있으므로, 사실상 모든 것을 할 수 있다. shell 명령어로 다른 프로그램(대표적으로 PowerShell)을 직접 실행할 수도 있다. 따라서 매크로 실행을 허용할 때는 특히 신중해야 한다.
MS Office 문서에 포함될 수 있는 위험한 콘텐츠는 매크로 이외에도 액티브 콘트롤, 객체(object), 외부 데이터베이스 연결 등 다양하다. 이런 것이 포함된 문서를 열면 경고가 나온다. 때로는 읽기 전용 모드로 열리고, 편집이나 인쇄를 할 수 없게 제한한다.
악성 문서는 이런 경고와 제한을 해제하도록 온갖 명분으로 유혹한다. 오피스의 경고를 가벼이 보면 안된다.
참고 자료
댓글
댓글 쓰기