본문 바로가기
악성코드 정보

유포 경로가 다양한 디도스 공격 목적의 악성코드

by 알 수 없는 사용자 2017. 4. 6.

디도스(DDoS) 공격을 목적으로 하는 악성코드가 주로 중국산 디도스 공격 툴과 빌더 프로그램으로 국내에서 제작되어 다양한 경로로 유포되는 정황이 지속해서 확인되고 있다. 악성코드는 감염된 사용자 즉, 봇 PC 내에 상주하여 공격자가 내리는 원격 명령에 따라 작동하고 공격 대상 시스템을 대상으로 디도스 공격을 수행할 수 있다. 안랩에서는 해당 파일을 원격 제어(Remote Access)가 가능한 악성코드란 뜻으로 코렛(Korat) 으로 진단한다.

[그림 1] 디도스 공격 악성코드 동작 흐름

코렛 악성코드는 디도스 공격을 하기 위한 최대한 많은 수의 봇을 확보할 목적으로 사회공학기법을 이용하여 사용자가 많이 다운받거나 사용하는 파일을 위장하여 각종 국내 웹 하드 자료실이나 개인 블로그 등을 통해 유포된다. 대표적으로 주요 소프트웨어 프로그램, 불법 무설치 게임 프로그램, 성인용 음란 동영상 및 게임, 각종 매크로 프로그램 등이 있다. 공격자는 소수의 특징적인 인원이 아닌 디도스 공격 툴과 빌더를 이용하는 불특정 다수이기 때문에 제작된 악성 파일의 외형과 유포 방식이 매우 다양하다. 아래는 확인된 악성코드 유포 방식이다.

  • 정상 프로그램 위장
  • 유명 게임 불법 무설치판
  • 성인용 음란 동영상/게임
  • 매크로 프로그램, 불법 정품 인증 크랙 툴

 

[정상 프로그램 위장]
한글과컴퓨터의 한글2010 소프트웨어를 위장한 파일로 Nullsoft 인스톨러 설치 형태로 유포된다. 파일 내부에는 정상 한글2010 설치 파일과 드로퍼 파일이 존재한다. 해당 드로퍼는 추가 파일을 드롭하고 해당 파일이 코렛 파일을 외부 URL 접속을 통해 다운로드 받아 실행한다.

[그림 2] 한글2010 소프트웨어를 위장한 유포

[그림 3] 유포 파일 내 정상(setup.exe.exe), 악성(svchost.exe) 파일 존재

[유명 게임 불법 무설치판]
스타크래프트, 워크래프트 프로즌쓰론 등의 인기 유료 게임의 불법 무설치 파일, 일명 립버전으로 유포된다. 파일은 특정 URL에 접속하여 악성 파일을 다운로드 받고, 내부에 악성코드를 포함하고 있다.

[그림 4] 브루드워 게임 무설치판을 이용한 유포

[성인용 음란 동영상/게임]
성인용 음란 동영상 또는 게임 파일 형태로, 대부분 토렌트나 성인용 웹하드 등에서 악성 파일이 유포된다.파일 확장자가 *.avi.exe, *.mp4.exe 처럼 동영상 파일을 위장하고 있고 파일 아이콘 역시 동영상 파일로 보이게 제작한다. 성인용 음란 게임은 사용자가 의도한 게임 내에 악성 파일이 함께 압축되어 있어 실행 시 악성 파일이 드롭된다.

[그림 5] 성인용 음란게임 내에 악성코드가 포함된 유포

[매크로 프로그램, 불법 정품 인증 크랙 툴]
매크로 프로그램이나 로또 추첨 프로그램, 불법 정품 인증 크랙 프로그램 등의 파일 내에 악성코드가 유포된다. 이러한 간단한 프로그램류는 대부분 사용자가 온라인 자료실 등 직접 파일을 찾아 다운받는 경우가 많고 해당 파일에 대한 인증서 등 정상 여부 검증 정보가 부족하므로 악성코드 유포 방식으로 이용된다. 유포 파일 내에는 악성 파일 혹은 드로퍼 형태로 존재하여 코렛 악성 파일을 시스템에 생성 및 실행한다. 유형에 따라 코렛 악성코드가 루트킷 등의 추가 악성코드를 시스템에 추가 생성하는 파일도 확인되었다.

[그림 6] 키보드매크로 프로그램을 이용한 유포

다양한 경로를 이용해 유포되는 악성 파일은 대부분 공격자가 사용하는 디도스 공격 툴 내의 빌더 기능을 통해 제작된다. 공격 툴 및 빌더 프로그램은 그 종류가 다양하며 상당수 중국에서 제작되었고, 한국에서 제작된 프로그램도 확인되었다. 일부 중국산 프로그램은 부분 한글 패치가 되어 있어 공격자가 사용하는데 어려움 없게 만들어졌다. 따라서 전문적인 파일 제작 기술이 없이도 툴을 통해 쉽게 파일을 만들고 변종을 만들 수 있다. 공격 툴은 온라인상에서 무료로 구할 수도 있고, 종류에 따라 유료로 불법 거래되기도 한다.

[그림 7] 대표 디도스 공격 툴 프로그램 화면

악성코드는 디도스 공격 툴을 이용하는 공격자의 요청에 따라 동작하기 위해 공격자의 PC에 해당하는 고정된 C&C 주소에 접속을 시도한다. C&C는 IP 또는 DDNS(Dynamic DNS)로 되어 있으며, 대다수 악성코드는 이 중 DDNS 주소를 이용하는 것으로 확인되었다. 별도의 유료 고정IP를 신청한 것이 아닌 일반적으로 인터넷 사업자에게 인터넷 회선을 제공받아 공유기 등을 이용하는 경우 IP가 유동적으로 변하게 되는데, DDNS를 이용하면 도메인 주소를 통해 외부에서 변경된 IP 주소로 접속할 수 있다. 또한 일반적인 가정용 공유기는 기본적으로 DDNS 기능을 제공하기 때문에 간단한 설정으로 외부에서 특정 PC로 접속할 수 있다.

따라서 확인 된 악성코드의 대다수가 IP 대신 DDNS 주소 방식으로 C&C에 접속하고, 파일 제작 역시 디도스 공격 툴을 이용해 쉽게 제작할 수 있다는 점은 공격자가 전문적인 기술을 갖추지 않은 불특정 다수의 스크립트 키디(Script Kiddie) 일 가능성이 높다는 점을 시사한다.

[그림 8] 악성코드 내 하드코딩 되어 있는 DDNS 도메인 

공격자와 연결된 이후에 악성코드 감염 PC의 시스템 정보 확인, 원격 프로세스 제어, 파일 접근, 네트워크 접속 등 원격 제어 백도어 기능을 수행할 수 있다. 악성코드는 Windows 서비스로 등록되어 실행되는데, 실행되는 메인 스레드 내에서 백도어 기능의 핵심적인 스레드 혹은 함수가 호출된다. 해당 스레드 또는 함수는 공통으로 소켓 통신 이후 수신한 데이터를 바탕으로 케이스 분기 별로 기능을 실행하도록 하며 이는 무한 루프 내에 있어 반복적으로 공격자의 명령을 수신할 수 있다.

시스템 정보 확인

HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 레지스트리,
GetVersion, GlobalMemoryStatus, GetIfTable 함수를 이용하여 운영체제 (종류, SP),
프로세서 (MHz, 코어 수), 램 (메모리), 네트워크 (비트레이트) 정보 확인

파일 다운로드 및 실행

파라미터로 입력된 URL 경로를 URLDownloadToFile 함수로 다운
다운로드 이후 WinExec 함수로 실행

서비스 삭제(교체)

파일 내 고정적인 서비스 이름을 찾아서 DeleteService 함수로 삭제
파라미터로 입력된 URL 경로를 URLDownloadToFile 함수로 다운 후 실행
현재 파일의 속성 정보를 SetFileAttributesA 함수로 0x80 파일(NORMAL)로 변경

Internet Explorer 실행

URL 파라미터를 전달하여 iexplorer.exe 프로세스를 ShellExecuteA 함수로 실행

시스템 재부팅

프로세스가 SeShutdownPrivilege 권한을 사용할 수 있도록 LookupPrivilegeValueA 함수로 권한을 얻은 후 ExitWindowsEx 함수를 이용하여 재부팅

디도스 공격 수행

디도스 공격 수행 함수 호출, 스레드 생성

[그림 9] 공격자의 명령에 따라 동작하는 분기 흐름 코드

악성코드는 윈도우 소켓(Socket) 기반 함수를 이용하여 네트워크 통신을 한다. 디도스 공격은 TCP SYN Flood, UDP Flood, HTTP GET 요청 방식이 확인되었다. 공격자에게서 디도스 공격 대상 사이트 주소를 전달받으면 악성 파일은 해당 주소로 다수의 스레드를 생성하여 소켓을 생성 후 send 혹은 sendto 로 데이터를 보내 공격 대상 사이트에 부하를 주게 된다. 감염된 PC 대수가 많을수록 네트워크 부하가 많고 이로 인해 공격 대상 사이트 서버는 임시 다운이 될 수 있다.

[그림 10] 디도스 공격 코드 일부 - 네트워크 패킷을 대량 발생시키는 스레드가 반복문으로 구성

안랩 V3 제품에서는 관련 코렛 악성코드와 디도스 공격 툴 등을 다음과 같은 진단명으로 진단하고 있다.

  • Downloader/Win32.Korddos (2017.01.24.01)
  • Dropper/Win32.Korat (2017.02.24.03)
  • Dropper/Win32.Korddos (2016.11.11.03)
  • Dropper/Win32.Nitol (2015.08.07.05)
  • Trojan/Win32.Ddostool (2017.03.24.04)
  • Trojan/Win32.HackTool (2011.10.18.00)
  • Trojan/Win32.Korat (2017.02.15.07)
  • Trojan/Win32.Nitol (2012.03.07)
  • Trojan/Win32.Scar (2011.06.30.00)
  • Trojan/Win32.MalPack (2014.09.01.03)
  • Trojan/Win32.Generic (2014.05.29.00)
  • Win-Trojan/Scar.109568.U (2011.03.11.00)
  • Win-Trojan/Pcclient.525312 (2011.04.09.00)
  • Win-Trojan/Agent.70144.KG (2011.11.09.00)

 

 

 

댓글