강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
<a href=/home/lecture/files/040429_rbot-1.pdf target=_blank>Agobot(rbot)웜 최신변종 분석보고서</a>
조회 : 3,107  


KrCERT 분석보고서
_____________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 1 -
Agobot(rbot) 웜 최신 변종 분석 보고서
□ 개 요
Agobot은 Ago라는 닉네임을 가진 IRC 사용자가 제작한 IRC 관련 Bot이
다. 또한 이 Agobot은 일부 소스가 공개되어 있어 특성이 다른 많은 종류의
변종이 나타나고 있으며, 이에 따라 이들 웜 전파를 억제하기 위한 대응책을
마련하기 어렵고 국내외의 최신 백신으로도 탐지 및 치료가 되지 않고 있다.
그러므로 현재 국내외에서 이러한 Agobot 변종들이 빠르게 확산되고 있으
며, 이들이 자신을 전파시킬 때 사용하는 다량의 패킷으로 인해 네트워크 부
하가 점차 늘어나고 있다. 또한 Agobot(rbot)은 기본적으로 분산 서비스 거
부 공격을 하기 위한 모듈이 탑재되어 있어 유포자가 악의적인 의도를 가질
경우 이들을 사용한 분산 서비스 거부 공격을 감행할 가능성이 존재하며, 사
용자의 키 입력을 가로채는 기능을 가지고 있어 기밀 정보나 사용자의 개인
정보가 유출될 가능성이 매우 높다.
구 분 rBot AgoBot rBot + AgoBot
전파 방법
윈도우 패스워드
취약점
윈도우 패스워드
취약점
MS03-039취약점
MS03-026취약점
MS03-001 취약점
MS03-007취약점
윈도우 패스워드 취약점
MS03-039취약점
MS03-026취약점
MS03-001 취약점
MS03-007취약점
DDoS
공격 기법
Syn - Flooding
Syn-Flooding
HTTP-Flooding
ICMP-Flooding
UDP-Flooding
Syn-Flooding
업데이트
방법
tftp
FTP
HTTP
tftp
초기의 rBot은 윈도우즈의 패스워드 취약점을 이용한 가장 단순한 전파 방
법을 가지고 있으며, 분산 서비스 거부 공격 모듈 또한 단순하였다. 이와 같
rBot 변종 웜 분석 보고서 __________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 2 -
은 특성으로 그 전파력 및 영향력이 무시해도 좋을 정도였으나, Agobot의
소스가 공개된 후 Agobot의 특징을 부가하여 빠르고 강력한 변종으로 변화
하였다. 인터넷 침해사고대응센터는 rBot과 Agobot의 특징을 조합한 새로운
변종 웜의 샘플을 채취하였으며, 현재 국내에 빠르게 퍼지고 있는 사실을 확
인하였다. 본 보고서는 국내에 빠르게 전파되고 있지만 국내외 최신 백신으
로 치료 되지 않는 최신 변종 웜 샘플을 확보하여 분석한 결과이다.
□ 외형 분석
Agobot(rbot) 변형 웜에 감염시 총 3개의 파일이 생성되며, 모두다 시스템
파일로 등록된다. 웜 파일은 UPX로 실행 압축되어 있다.
파일명 파일크기 기타
bla.exe 128,000 byte
UPX를 이용한 실행압축 wuamgr3.exe 147,968 byte
wuamgrd.exe 1,990,776 byte
□ 동작 과정
가. 감염된 시스템은 자동으로 다음의 IRC 서버에 접속 시도한다.
URL IP 주소
rbot.yyyyy.net
220.xx.xxx.170
146.xx.xx.188
210.xxx.xxx.70
65.xxx.xx.85
202.xx.xxx.43
p.yyyyy.net 66.xxx.xxx.61 ~ 69
Rbot에 감염되면 감염된 PC는 rbot.yyyy.net 및 p.yyyyy.net에 대한 DNS 쿼
KrCERT 분석보고서
_____________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 3 -
리를 한 후, 해당 IRC 서버의 TCP(6667)번 포트에 접속 시도한다. 응답이 없
는 경우 접속에 성공할 때까지 접속을 시도한다. 위의 IRC 서버의 IP 주소는
웜 유포자 또는 botnet 운영자에 의하여 비정기적으로 변경된다. 이 특성을
이용하면 사용자가 Agobot(rbot)에 감염되어 있는지 여부를 확인할 수 있다.
(목적지 IP가 위의 IP이며, 목적지 포트가 TCP/6667번에 대하여 접속을 시
도하는 트래픽을 확인하여 감염이 의심되는 사용자를 파악할 수 있다.) 다음
은 해당 IRC서버에 대한 접속 시도 트래픽이다.
나. IRC 서버에 접속에 성공하면, NICK Name을 다음과 같은
형식으로 바꾼다.
NICK rBot|xxxx
(※ 여기서 xxxx는 4자리 숫자이다)
성공적으로 위의 IRC서버에 접속되면, NICK 명령어를 이용하여 자동으로
Nick name을 바꾼다. 다음은 Nick Name을 rBot|9947로 바꾸고, IRC서버에
성공적으로 접속하는 과정을 보여주는 화면이다. FuckYouIRCD IRC
network라는 서버에 접속되어 있는 것을 보여주고 있다. 실제 이 IRC 네트
워크는 DNS 이름으로 resolving 되지는 않지만 바이러스 유포자 혹은
botnet 운영자에 의하여 만들어진 네트워크 이름이다.
rBot 변종 웜 분석 보고서 __________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 4 -
다. 숨겨진 Channel인 #rBot 채널에 자동으로 JOIN한다. 이때, 사
용되는 키 값은 “irtehelite” 이다.
JOIN #rBot irtehelite
숨겨진 Channel인 #rBot은 감염된 PC에서 접속된 bot에게 명령어를 전달하
는 channel이다. 이 channel에 감염된 Bot을 조종하는 오퍼레이터가 존재하
며, 명령어를 bot들에게 전달시키게 된다.
라. #rBot 채널에 JOIN(연결)된 감염시스템들은 이 채널에서 공
격자가 전달하는 명령어를 수행한다. 공격자의 명령을 전달받은
bot들은 스캐닝을 수행하여 취약한 시스템에 웜을 감염시킨다.
본 테스트에서 관찰된 것은 로컬 서브넷를 스캔하여 MS03-026 취약점을 악
용하여 감염을 시도하는 명령어였다.
.advscan dcom135 100 -a -s
주) 실제 웜이 사용하는 취약점은 3-4개 정도인 것으로 파악됨
KrCERT 분석보고서
_____________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 5 -
마. 위 명령어를 받은 감염 시스템은 자신의 로컬 서브넷에 대해
DCOM-RPC 취약점을 이용한 스캐닝 및 공격을 실시한다.
공격 명령을 받으면 Bot는 자신의 로컬 서브넷에 대해 스캔을 실시하며, 1초
당 약 42개의 패킷을 발생시킨다. 패킷 크기는 48byte(Frame 헤더 제외)이다.
rBot는 로컬 서브넷 스캐닝 기법을 사용하여 감염률을 더 높였을 뿐만 아니
라, 존재하지 않는 IP에 대한 스캔 빈도를 낮춰 ARP 패킷의 발생량을 줄이
는 효과까지 노리고 있다. 그러나 작은 패킷이 많이 발생되어 감염 시스템이
많은 곳에서는 라우터나 스위치의 CPU 사용률이 높아질 것으로 예측된다.
바. 감염 시스템은 위의 스캔과 공격을 수행하는 도중에도 사용
자의 키 입 력 을 가 로 채 #keylog 채 널로 전 송한 다 . 이 때
PRIMSG 명 령 어 를 사 용 한 다 .
PRIMSG #keylog c:dir welkin
사. 공격자는 다음과 같은 명령어를 이용하여 #rBot 채널에 있는
감염 시스템들을 #exploit 채널로 이동시켜 새로운 모듈의 업
데이트를 시도한다. 업데이트에는 TFTP가 사용된다.
rBot 변종 웜 분석 보고서 __________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 6 -
□ 대응책
위에서 설명한 rBot의 동작과정을 관찰하여 여러 가지 대응책을 고려해 볼
수 있으나 이는 위의 분석 대상인 Agobot(rbot) 변종 웜에 한정된 대응책이
며, 다른 변종에 대한 대응책은 아니다.
가. 감염 시스템 발견
1. 스캐닝 시도 탐지를 통한 감염 시스템 탐지
Agobot(rbot)은 다음과 같은 4가지 종류의 취약점을 이용한 스캐너를 가지고
있다.
취 약 점 스캐닝 대상 포트 기 법
RPCSS 취약점 (MS03-039) TCP (445)
로컬 서브넷 스캐닝
RPC DCOM 취약점 (MS03-026) TCP (135)
WebDAV 취약점 (MS03-007) TCP ( 80)
NetBIOS 패스워드 취약점 TCP (139)
KrCERT 분석보고서
_____________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 7 -
감염된 시스템은 자신을 전파시키기 위해 위의 취약점 스캐너를 이용해 로
컬 서브넷에 대한 스캐닝 및 공격을 실시한다. 이같은 방법은 백본 라우터나
스위치에서 탐지되지 않고 감염률을 높일 수 있다는 장점이 있다. 이로 인해
네트워크 관리자가 감염시스템의 스캐닝 행위를 탐지 하지 못할 가능성이
있으나, 스캐닝시 발생되는 다량의 크기가 작은 패킷으로 인해 스위치나 라
우터의 CPU 사용률이 올라갈 가능성이 매우 높다. 그러므로 이를 바탕으로
해당 장비에 대한 트래픽을 점검하면, 감염 시스템의 IP를 찾아낼 수 있다.
Netflow나 스니핑 도구를 이용하여 스캐닝 대상 포트(445,135,80,139)에 대한
트래픽을 분석하면 해당 IP를 찾아낼 수 있다.
2. IRC서버 접속 트래픽 관찰을 통한 감염 시스템 발견
감염된 시스템은 IRC서버에 접속하는 특성을 가지고 있다. 이를 바탕으로
백본 라우터나 스위치 상에서 TCP(6667)로 접속 시도하는 트래픽을 관찰하
면 감염되었을 것으로 예상되는 IP를 분류해 낼 수 있다.
3. 시스템 관찰을 통한 Agobot(rbot) 감염 여부 판별
- netstat 명령어와 fport를 이용한 시스템 감염 여부 판별법
Agobot(rBot)는 최신 엔진의 백신도 탐지하지 못하는 변종들이 많이 있어 사
용자가 자신의 컴퓨터가 감염되어 있는지 판단하기가 매우 어렵다. 그러나
웜의 감염 여부는 윈도우즈의 기본 명령어인 'netstat -na"를 이용하여 6667번
포트에 접속하려고 하는지 관찰하면 쉽게 감염 여부를 판별할 수 있다. 다음
은 감염 시스템에서 netstat -na를 한 결과이다. 이와 같이 접속 시도를 확인
rBot 변종 웜 분석 보고서 __________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 8 -
한 다음에는 fport를 이용해 해당 프로세스가 무엇인지를 찾아낸다. 또한,
netstat -na 한 결과가 135,445,80등에 대한 SYN_SENT 상태가 비정상적으로
많아도 웜에 감염되었을 가능성이 매우 높다.
- hosts 파일 확인을 통한 시스템 감염 여부 판별법
최신 Agobot(rBot) 변종 웜은 API-Hooking을 이용하여 자신의 프로세스를
숨기기 때문에 위와 같은 netstat 명령어로는 감염 여부를 판별하기 어려울
수 있다. 보통 Agobot(rbot)은 보안 관련 사이트에 사용자가 접속하지 못하
도록 사용자 시스템의 hosts 파일을 다음과 같이 변경하는 특징을 가지고 있
다. 따라서 시스템의 hosts 파일 변경 유무를 확인하면 쉽게 감염 여부를 판
별해 낼 수 있다.
- 백신 업데이트 불가 현상에 의한 판별법
웜은 위와 같이 hosts파일을 변경하여 백신을 업데이트를 차단시킨다. 따라
서, 외산 백신의 업데이트가 불가능한 현상이 발견되면, Agobot(rbot)웜에 감
염된 것으로 의심해 볼 수 있다.
나. 감염 시스템 치료
1) 시스템이 감염된 것으로 확인되면 fport를 이용해 해당 프로세스(파일이
KrCERT 분석보고서
_____________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 9 -
름)를 찾아낸다. 그 다음 안전모드로 부팅한 후, 찾아낸 파일을 모두 찾
아 삭제하고 레지스트리에서도 삭제한다.
2) hosts 파일이 변경되었으나, 프로세스를 찾아낼 수 없으면 바이러스 전
문회사나, 인터넷 침해사고대응센터에 의뢰해 기술지원을 요청한다.
다. 웜 확산 방지책
위와 같은 절차에 의해 Agobot(rbot)웜이 네트워크에 유입된 것이 확인되면
확산을 막기 위한 대책을 수립해야 한다.
1. Agobot(rbot) 웜 접속 시도 IRC서버에 대한 DNS -Entry 삭제
1) 웜이 접속 시도하는 IRC서버명이 웜 내부에 하드 코딩되어 있다. 따라
서 DNS서버에서 해당 IRC서버에 대한 Entry를 삭제하면 접속을 원천
차단시킬 수 있다. 이는 IRC서버에 접속을 차단 시켜 웜이 활동 하지
못하게 하는 효과가 있다.
2) 모든 변종 웜이 접속 시도하는 IRC 서버 명을 알아내는 것은 매우 어
렵고, 그 사이 새로운 Bot-net이 형성되므로 근본적인 해결책은 될 수
없으나, 제한적으로나마 웜의 활동을 차단시켜 확산을 막을 수 있는 효
과가 있을 수 있다.
2. 사내 네트워크의 IRC 이용자 조사 후, IRC서버 포트를 원천 차단
Agobot(rbot)웜은 자신의 활동이 모두 IRC서버를 통해 이루어진다. 따라서
감염된 시스템이 IRC서버에 접속하지 못하게 하면, 웜 확산이 억제되는 효
과가 있게 된다. 사내 네트워크의 IRC사용자를 조사하여 사용 빈도가 매우
낮거나 없다면 관련 포트인 TCP(6667)를 차단한다. 그러나 다른 변종 웜에서
는 IRC서버 포트가 다른 포트로 변경될 수 있어 그 효과가 제한적일 수 있
다.
3. 네트워크 장비에서의 QoS 설정을 통한 웜 확산 방지
사용자가 많아 불가피하게 IRC 서비스를 제공해야 하는 환경이라면 IRC 포
rBot 변종 웜 분석 보고서 __________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 10 -
트를 차단할 수 없다. 그러나, IRC가 차지하는 트래픽은 매우 적으며 동영상
과 같은 실시간 서비스가 아니므로 관련 트래픽에 대한 QoS정책 설정을 통
해 접속 확률을 낮추더라도 서비스 제공에는 문제가 없다. 이러한 설정은
IRC서버를 통한 웜 확산이 상대적으로 적어지는 효과를 가져 올 수 있다.
그러나 이는 네트워크 장비의 성능 저하를 가져올 수 있어 장비의 특성 및
현 네트워크 트래픽 현황을 고려하여 적용하여야 한다.
4. 윈도우2000 및 XP의 Administrator 계정 암호의 난수화
Agobot(rbot)웜은 자신을 전파시키기 위해 Netbios를 이용해 Administrator
계정으로 접속 시도한다. 사내에서 사용자 컴퓨터의 관리를 위해
Administrator 계정의 암호를 설정하지 않거나, 단순하게 설정하는 경우가
많다. 이런 환경에서는 시스템에 대한 보안 패치를 아무리 잘 했다 하더라도
Agobot(rbot)에 계속하여 감염되게 된다. 모든 시스템에 대한 administrator
계정의 암호를 난수 화하여 설정한다.
5. PC의 공유 폴더 암호화 및 불필요한 공유 삭제
Agobot(rbot)웜은 쉬운 비밀번호를 사용하거나 비밀번호가 설정되지 않은 공
유 폴더를 통하여 전파된다. 그러므로 공유 폴더를 사용할 때에는 반드시 암
호를 설정하고 불필요한 공유 폴더는 삭제한다.
6. 외부에서 접속되는 네트워크의 특정 포트 차단
Agobot(rbot)웜은 자신을 전파시키기 위해 원도우의 특정 취약점을 이용하여
전파하는 기능을 가지고 있으므로 이와 관련된 포트인 TCP/135, TCP/445
관련 포트를 침입차단 시스템과 같은 보안 장비를 이용하여 차단한다.
□ 결 론
Agobot(rbot)은 소스가 공개되어 있어 변종이 매우 많다. 이들은 서로 다른
특성을 가지고 있어 대응책 수립도 어려울뿐더러 최신 백신으로도 치료되지
않기도 한다. 이러한 이유로 현재 Agobot(rbot) 관련 변종 웜이 국내에 급속
KrCERT 분석보고서
_____________________________________________________________________________________
____________________________________________________________________________________
한국정보보호진흥원 인터넷침해사고대응지원센터 - 11 -
도로 확산되고 있다.
Agobot(rbot)웜은 자신을 전파시키기 위해 사용하는 스캐닝 및 자체 내장한
분산 서비스 거부 공격 모듈로 인해 네트워크 망을 불안정하게 할 수 있는
잠재된 특성을 가지고 있으며, 사용자의 키보드 입력을 가로채어 IRC서버에
전송하는 기능도 가지고 있어 신용카드 정보 등 개인정보의 유출이 우려되
는 등 매우 위험한 종류의 웜이다.
따라서, 이러한 웜을 빨리 발견하여 치료하고 악성 웜 바이러스에 감염되는
것을 방지하기 위한 사용자의 철저한 예방 조처가 필요하다.

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=440


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
(주) 수퍼유저