해킹 악성코드 X-File 시리즈 4탄 –BOTNET 분석
이번 시간에는 해킹 악성코드 X-File 시리즈 4탄 –BOTNET 에 감염된 컴퓨터 분석사례에 대해서 알아보도록 한
다. 먼저 시물레이션 환경을 구성하여 폐쇄망에서 BOTNET 프로그램을 구성하는 것을 원칙으로 한다. 내부 네
트워크에서만 동작하는 환경을 만들어 악성 프로그램이 다른 네트워크로 넘어가지 않으며 해당 컴퓨터에서만
동작하도록 한다. 그리고, 악성코드가 돌아가는 컴퓨터에서의 네트워크 정보를 같은 네트워크에 있는 컴퓨터
에서 정보를 수집해야 한다.
BOTNET분석-1
해커가 시스템 호스팅업체의 웹사이트를 침해하고 변조하였는데 확인한바 해당 사이트가 IRC의 BOTNET으로 이
용 당해 파일 서버기능을 가진 웨어즈(Wares) 사이트로 운영되었던 내용으로 증거분석을 통하여 피해상황을
검증해야 한다. 먼저 업로드 폴더의 파일 및 하위 폴더를 보면 아래와 같으며 이중 실행 파일은 moca, ps,
bin, https 이며 MD5 값을 통해 moca 와 bin은 동일한 파일임을 확인할 수 있다.

<업로드폴더 파일들의 목록>

전의 iroffer 프로그램이다. Iroffer은 IRC를이용한 파일 서버로써 해킹에 자주 이용되며 BOTNET의 형태로 이 용될 수 있으며 중요정보를 가져가거나 해킹 프로그램을 업로드하고 실행 함으로써 시스템을 장악하는데 이용 된다. Iroffer의 설정과 로그를 분석하면 해킹을 몇 번 당하였는지 확인 가능하다. 해킹으로 서버가 이용당한 기록 을 살펴보면 IRC 서버를 통해 파일 서버로 이용되었음을 알 수 있다. 서버는 irc.ircXXX.net 이고 접속채널은 #SXXXX이며 이름은 XXX임을 알수 있다. 또한 admin권한으로 명령을 할수 있는 사람은 AXXX, BXXX, CXXX으로 설정되어 있다. <설정파일 분석화면> 로그를 분석해보면 실제 IP가 남아있는 것으로 보아 전송이 성공되었으며 총 ??개의 IP가 파일을 가져갔으며 그중 ??개는 BOTNET으로 사용된 XX IP이고 나머지는 XYZ IP이다. 전송한 파일들은 대부분 avi 이며 wares 사 이트로 이용되었다. <파일을 전송 받은 IP들> 4개의 IP중 Vash는 태국에 위치한 BOTNET이고 나머지 3개는 한국에 위치한 BOTNET이다. <각 BOTNET과 해당 IP> 따라서, 4개의 BOTNET중 3개는 국내 XX에 있으므로 침해경로, 방법 및 IP를 추적하려면 해당 서버에서 패킷을 수집해야 한다. 다음은 네트워크를 사용한 공격과 관련하여 BOTNET의 일부분으로 의심되는 컴퓨터를 분석한 또 다른 실례가 되겠다. 먼저 시작 프로그램을 분석하여 부팅시 시작되는 비정상적인 프로그램들을 수집해야 한다. ◦ mscore라는 시작프로그램이 등록되어 있으며 (왕).lnk를 인자로 사용하여 실행된다. ◦ 시스템 디렉토리에 위치하고 있는 iExplorer.exe를 실행한다. ◦ rundll32 를 이용하여 uw5rbu01cbj.dll을 실행시킨다. ◦ rundll32 를 이용하여 03i95q00mib11.dll을 실행시킨다. ◦ rundll32 를 이용하여 qicrji92.dll을 제거한다. < 시작 프로그램에 등록된 프로그램들 > mscore.exe는 레지스트리의 HKLM\SOFTWARE\Microsoft\CTF\Compatibility 등에 실행파일이 등록되어있는지 확 인하고 HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows에 실행파일“mscore.exe"를 load와 Run 이란 이름으로 등록시켜 실행파일을 부팅시에 항상 실행할 수 있게 준비한다. < 레지스트리에 등록하는 구조 > 그 후 C:\Windows\system32\mscore 폴더에 js.dat, keyword.dat, class.dat, id.dat를 생성하고 로컬 컴퓨터 의 보안설정 부분을 웹브라우저 컨트롤 스크립트를 허용, Active Scripting 허용, 도메인 간의 데이터 소스 접근 가능한 상태로 만든다. ProxyEnable을 0으로 설정하고 ProxyServer 등의 값을 삭제함으로써 프록시 사용 을 비활성화하고 API 함수에 관한 추적 파일을 기록하지 못하게 한다. < keyword.dat를 설정하는 구조 > DNS를 통해 itXX.com의 IP를 조회한 후 XXohu-X.com을 조회하여 202.XXX.XXX.XXX 과 219.XXX.XXX.XXX으로 접 속한다. itXX.com에서 urllist.txt를 다운받으려하나 존재하지 않아 실패하고 XXohu-X.com에서는 컴퓨터의 MAC 주소를 전송한 후 "success"란 응답을 받는다. < itXX.com에 접속하여 urllist.htm을 받으려고 시도 > < XXohu-X.com에 접속하여 MAC주소를 전송함 > iexplorer.exe는 Internet Explorer의 즐겨찾기에서 연결할 사이트를 찾는다. 테스트 시스템에는 즐겨찾기에 Microsoft로의 연결이 있으므로 microsoft.com에 hotmail등의 사이트로 지속적으로 접속한다. < 설치된 인터넷 브라우저를 사용 > 이후로도 계속 Microsoft의 사이트들인 200.XXX.XXX.XXX, 60.XXX.XXX.XXX 등으로 접속하는 동작을 한다. < 설정된 시작페이지에 접속하는 화면 > 또 다른 부팅시 시작되는 프로그램인 Windows\System32\drivers\iExplorer.exe는 시작되면 자신이 디버깅되고 있는지 확인한 후 iExplorer.exe를 다시 Windows\System32\drivers 위치에 복사한다. < C:\Windows\System32\drivers\iExplorer.exe로 복사하기 위한 준비 > 100.XXX.XXX.XXX (www.XXX.com)의 report.aspx로 접속하여 boolan67을 전송하고 “ok"를 응답받는다. 그리고 시스템폴더 아래에 report.htm을 생성한다. < yumingol.com에 전송하는 화면 > 그리고 newyumingol.txt를 전송받는다. newyumingol.txt에는 "http://www.XXX.com/file/5001.exe"가 쓰여있다. < www.XXX.com 에 접속하여 newyumingol.txt를 받는 화면 > 그리고 시스템폴더 아래에 URL.txt를 생성한다. 램 목록에 “dbrj"란 이름으로 등록하고 \Software\dbrj 부분에 ”http://www.XXX.com/file/5001.exe“ 를 등 록하고 frist라는 폴더를 만들어 id, date 키를 만든다. < 레지스트리에 date값을 등록하기 위한 준비 > 는 9836-87-5, AF.tmp 파일을 생성한 후 AF.tmp를 프로세스로 수행시킨다. < 9836-87-5의 내용 > AF.tmp는 디버거 상태인지 체크하고 사용자 디렉토리의 임시폴더에 nstB1.tmp, bofang.dll, RGInstall.dll, usb8028.sys, usb8028x.sys, hbcmd.dll, lfrmework.exe 등을 생성한 후 nszB2.tmp폴더의 System.dll을 생성하 고 라이브러리로 사용한다. RGInstall도 라이브러리로 읽어들인 후 fkwld.sys를 생성하고 HelpIE.dll의 레지 스트리 등록을 해제한다. 시스템 폴더에 있는 mshtmlsed.exe를 실행시키고 bofang.dll을 시스템 폴더의 tmp334.tmp로 복사한 후 lfrmewrk.exe를 실행시킨다. < usb8028x를 서비스로 등록하는 화면 > lfrmewrk.exe는 레지스트리에 자신의 경로를 저장하고 종료한 후 다시 AF.tmp가 lfrmewrk.exe를 다른 옵션을 사용하여 재수행시킨다. 그 후 AF.tmp는 컴퓨터이름 등을 점검한 후 “MSRundll.exe bofang.dll,Always"를 수 행시키고 usb8028.sys와 usb8028x.sys를 커널 디바이스 드라이버로 등록하고 종료한다. < bofang.dll의 실행을 준비하는 화면 > lfrmewrk.exe는 자신을 서비스로 등록하고 hbcmd.dll 을 읽어들이고 계정정보 등을 확인한 후 hbcmd.dll을 브 라우저의 오브젝트로 등록하여 동작하게 한다. < Browser Helper Object에 등록하려함 > MSRundll은 bofang.dll의 Always부분을 실행하는데 터미널 서비스 모드를 확인한 후 종료하고 boolan67.exe는 종료하며 자신을 삭제한다. < bofang.dll 중 Always 호출 함수 > iExplorer.exe는 5001.exe를 다운받고 해당 사이트로 5001.exe를 받았음을 알리고 “ok"를 응답받는다. 그 후 Internet Explorer가 시작페이지로 설정된 곳으로 계속적으로 접속하여 동작한다. < report.aspx로 5001.exe를 실행하고 id는 boolan67임을 전송 > 5001.exe를 분석해보면 www.XXX.net으로 접속하여 open11.zip을 다운받아 시스템폴더에 open11.dll로 저장하 고 Wservers.zip을 다운받아 Wservers.exe로 저장한다. 그리고 servers.ini 파일을 만들어 zid,system 값을 설정하고 실행하는 구조를 가지고 있다. 실제로도 같은 동작을 하여 www.XXX.net으로 접속한 후 생성된 servers.ini 파일을 보면 “zid=5001”로 기록하였다. < open11.dll을 사용하여 3w.39100.net에 접속하려 함 > ◦ rundll32.exe C:\WINDOWS\uw5rbu01cpj.dll _start@16을 분석하면 dll 루틴을 실행하는데 디버깅모드인지 확 인한 후 레지스트리에 .setupq라는 키를 만들고 new라는 키에 1이라는 값을 쓴며 ad.qqgqqm.com에 접속하여 up.dat를 받는다. 이 후 http://down.XXX.com/avps.exe를 받는다. avps.exe는 실행되지는 않았으나 분석해보 면 시작시 실행되게 되어 있으며 dllhosts.dll들을 실행시키는 agent 프로그램이다. < down.XXX.com에 접속하여 avps.exe를 받기 위한 준비 > ◦ rundll32.exe C:\WINDOWS\03i95q00mib11.dll _start@16을 분석해보면 03i95q00mib11.dll은 uw5rbu01cpj.dll 과 해쉬값이 같은 동일 파일이다. < uw5rbu01cbj.dll과 03i95q00mib11.dll의 md5값 비교 > 많은 파일들이 실행 압축을 사용하여 디버깅 및 백신을 우회하는 형태로 되어 있으며 악성코드가 스스로 사용 한 파일들을 삭제하는 경우가 대부분이므로 복구도 필요할 수 있다. 모두 다운로드 받아서 실행되는 구조이므 로 위험성은 모두 크나 mscore.exe와 iExplorer.exe는 원격으로 활용될 수 있는 가능성 및 능동성이 크며 특 히 mscore.exe는 MAC 주소를 전송하는 등의 체계를 갖추고 있고 실행압축이 잘 되어있으며 업데이트 등의 구 조를 가지고 있고 바이러스 백신으로도 탐지가 잘 되지 않는다. 인터넷 브라우저의 시작페이지 또는 즐겨찾기 를 통해 무작위 접속을 지속적으로 시도하므로 Microsoft의 웹서버에 계속적인 접속이 있을 수 있다. ◦ iExplorer.exe와 연관된 도메인 분석을 하면 ◦ bofang.dll와 연관된 도메인 분석을 하면 ◦ 5001.exe와 연관된 도메인 분석을 하면 ◦ uw5rbu01cbj.dll와 연관된 도메인 분석을 하면 있는 정보를 검색하게 되는데 다음은 삭제된 인터넷 접속 Shortcut에서 URL을 검색한 내용과 삭제된 xyz.txt 에서 발견된 cXXX.ic-XXX.cn 을 검색한 내용이다. < 삭제된 인터넷 접속 url > < xyz.txt에 "chX.XXX.XX/c12601.exe"가 기록되어 있음 > 대량으로 시스템 폴더 등에 복사된 기록이 있는 경우, 시스템 관리자가 복구를 위해 복사한 것이 아니라면 해커가 삭제된 흔적을 못 찾도록 파일시스템을 덮어 쓴 경우가 많으므로 유의하도록 한다. 다음시간에는 해 킹 악성코드 X-File 시리즈 5탄 – 해킹 악성 분석 도구 소개 및 사용방법에 대해서 알아보도록 한다. @
하위 폴더의이름은 .. 이며 해킹에 자주 사용되는 숨김 폴더형식이다.
moca는 elf 형식의 실행파일로써 프로세스의 이름을 바꿔서 실행시키는 해킹 도구이며 httpd와 ps는 다른 버


Irc.ircXXX.net으로 접근하여 해당 채널을 살펴보면 AXXXk 등이 있으며 파일서버가 된 BOTNET들
이 채널에 있다.
해당 BOTNET들에게 파일전송을 유도하여 패킷을 캡쳐한 후 분석하면 각 BOTNET들의 4개의 IP를 확인할수 있다.

BOTNET분석-2
![]()
![]()
![]()
![]()
악성 프로그램 시물레이션 및 디버깅 분석을 위해 시스템 디렉토리에 있는 파일들을 XP환경으로
이동하고 레지스트리에 있는 시작 프로그램들을 실행시킨다.






그 후 iexplorer.exe를 새로 생성시켜서 실행하고 에러가 나도 리포팅되지 않게 설정한다. 실행된 

![]()


URL.txt에는 ”10 http://www.XXX.com/file/5001.exe"라고 쓰여있다. 레지스트리에서 부팅시 시작하는 프로그
id에는 ”boolan67"이라고 기록한다. 그리고 시스템폴더 아래에 있는 boolan67.exe를 실행한다. boolan67.exe![]()








◦ mscore.exe와 연관된 도메인 분석을 하면




◦ uw5rbu01cbj.dll와 연관된 도메인 분석을 하면
삭제된 파일 분석을 위해서는 악성 코드가 자신이 사용한 파일들을 삭제하므로 삭제된 파일 중 URL 등과 관련

- 안철수연구소보안전문가 Dr.UK