Waledac은 2008년 말부터 주로 사회적 이슈를 이용한 사회공학 기법(사람의 심리를 이용하는)으로 배포하고 실행을 유도하거나 다른 프로그램 등으로 위장하여 배포를 하고 있으며 지금도 계속 배포하고 있다. 크리스마스, 미국 대통령선거, 테러 뉴스, 밸런타인데이 및 최근에는 타인의 SMS(문자메시지)를 훔쳐 볼 수 있다는 프로그램으로 위장했다.
외국 유명 언론사를 사칭하여 테러뉴스를 가장한 페이지에 Geo IP를 사용하여 자신이 위치한 지역의 이름을 붙여서 사용자 주변에서 테러가 발생한 것처럼 보이게 하는 노력(?)을 보이기도 했다.
다행히 배포되는 도메인은 지속적으로 ISP에서 차단하고 있지만 새로운 배포 도메인은 차단까지의 타이밍이 있으므로 주의해야 한다.
악성코드는 몇 가지 Exception을 발생시키는 방법으로 자신을 보호하고 있으며, 그 예는 그림 2와 같다.
마지막으로 많이 알려진 UPX로 한 번 더 실행압축 되어있다.
Waledac의 주 역할은 악성bot으로 원격 서버에 접속하여 공격자의 명령에 따라 행동하고 감염된 PC에서 수집한 E-mail주소에 스팸 메일을 발송한다. 또 Dos공격을 할 수 있으며 네트워크를 감시하고 있다가 인증(Authorization)이 성공하는 ID와 비밀번호를 저장한다.
① e-mail 수집
감염 PC에서 e메일 주소 수집을 위해 디스크(하드디스크와 이동식디스크)의 모든 파일을 대상으로 내부에 @가 포함된 문자열을 찾는다. 이렇게 수집된 e메일 주소는 공격자가 스팸 메일 발송에 이용한다. avi, mov, wmv, mp3, wave, wav, wma, ogg, vob, jpg, jpeg, gif, bmp, exe, dll, ocx, class, msi, zip, 7z, rar, hwx, hxh, hxn, hxd 등의 확장자를 가진 파일은 찾는 대상에서 제외한다.
② 자동실행을 위한 레지스트리 생성
재부팅 될 때 자동으로 실행되게 하기 위해 레지스트리를 생성한다.
또 자신이 사용할 데이터를 알아 볼 수 없게 암호화 하여 저장한다.
Waledac이 생성하는 레지스트리는 다음과 같다.
③ Sniffing을 통한 개인정보 유출
네트워크 감시를 위해 wpcap.dll에서 필요한 함수를 불러오며 사용되는 함수는 그림 3과 같다. 네트워크 감시 중 패킷에서 USER, PASS, CONNECT, Authorization, Basic, AUTH PLAIN 등과 같은 문자열을 감시하고 있다가 수집한다. 수집한 패킷은 “protocol://USER:
PASS@IPAddr:Port와 같은 형식으로 저장된다.
④ Bot서버에 접속과 악성Bot으로 활동
일정한 주기로 다수의 IP에 접속을 시도한다. 아래와 같이 200 여개의 주소에 접속을 시도한다.
공격자 서버와의 통신은 BASE64와 AES알고리즘을 사용하여 암호화되어 이루어진다.
원격 서버에 접속되면 공격자는 아래의 명령어를 수행할 수 있다. 명령어는 XML형식이며 lm으로 시작한다.
명령어를 확인해보면 스팸 메일발송과, dos공격, 다른 악성코드를 다운로드 하는 것을 알 수 있다. 공격자가 내릴 수 있는 주요 명령어는 아래와 같다.
탐지 및 제거
실행되면 자신을 보호하여 치료가 어려운 악성코드는 아니지만 백그라운드로 작동하기 때문에 일반 사용자의 경우 백신으로 검사를 하거나 Sysinternals의 Autoruns와 같은 프로그램으로 확인하지 않으면 감염 여부를 판단하기는 쉽지 않다.
Waledac은 기존 Storm-worm(또는 Zhelatin, peecomm)과 비슷한 방법을 사용하고 행동한다. Waledac에 감염될 경우 공격자의 좀비(Bot)가 되어 감염 PC에 저장되어 있던 E메일 주소에 대량의 스펨메일을 발송하거나 원격지에 서비스 거부 공격(dos)을 한다. 물론 위와 같은 일이 일어나도 감염PC의 일반 사용자는 인터넷이 평소보다 느려졌나 하는 정도 밖에는 알기 힘들다.
이와 같이 사회적 이슈를 악용하는 악성코드는 증가 할 것으로 사용자 스스로 주의해야 하며 사용자는 인터넷에서 다운로드한 파일(특히 크랙파일 주의)과 E메일의 첨부파일은 번거로워도 무조건 백신으로 검사를 하고 실행해야 한다.
사용자들의 노력으로 악성코드 피해 줄일 수 있어
인터넷에서 사용하는 계정은 당연히 ID와 패스워드를 모두 같게 해서도 안 되며 PC방과 같이 여러 사람이 공용으로 사용하는 PC에서는 E-메일 확인이나 특정 사이트 로그인등 개인의 정보가 담긴 작업은 최대한 피해야 한다.
또한 출처가 분명하지 않은 메일이나 이슈가 되는 키워드 검색 결과는 항상 조심해야 한다. 백신 프로그램의 설치와 실시간 감시를 켜두는 것도 중요하다.
새로운 악성코드나 악성코드와 관련한 문제점은 언제든 알약의 ‘신고하기’ 기능을 이용하면 되며 가장 많은 일반 사용자 PC에 설치되어 있으므로 Bot이나 Worm 같이 네트워크를 이용하는 악성코드의 피해를 줄이는데 모두가 도움을 주고받을 수 있다.
<글 : 심기범 이스트소프트 알툴즈사업본부 DB분석팀 대리(skb1@estsoft.com)>
'분석해보까?' 카테고리의 다른 글
[Ollydbg]올리디버거 버그(Float 처리 실패) (0) | 2009.12.03 |
---|---|
[정보보호21C]3부 웹 서버 해킹을 통한 악성코드 대량 배포 유행 (2) | 2009.09.10 |
[강좌] UCS2를 Hex로 변환해보자!! (6) | 2009.08.03 |
[정보보호21C]2부 메신저로 전파되는 악성코드의 실체 (4) | 2009.07.21 |
[PDF 취약점] Adobe Reader Javascript Printf Buffer Overflow Exploit (4) | 2009.03.11 |
댓글