분석 정보/악성코드 분석 정보

ICMP Tunneling 기법을 사용하는 PingBack 악성코드

알 수 없는 사용자 2021. 5. 18. 11:00

최근 침입차단시스템을 우회하기 위해 ICMP 패킷에 데이터를 추가해 공격자와 통신하는 "PingBack" 백도어 악성코드가 발견됐다. 해당 악성코드는 MSDTC 서비스가 로드하는 DLL로 위장한 후 DLL 하이재킹을 이용해 사용자의 컴퓨터에서 실행하며, 공격자는 명령어가 포함된 ICMP 패킷을 감염된 컴퓨터에 보내 악의적인 행위를 수행한다.

 

"PingBack" 악성코드는 사용자의 컴퓨터에 백도어를 설치하기 위해 [그림 1]과 같이 MSDTC 서비스가 로드하는 "oci.dll"로 위장한다. MSDTC(Microsoft Distributed Transaction Coordinator) 서비스는 여러 시스템에 분산된 트랜잭션을 처리하기 위해 사용하며, "oci.dll"은 오라클 데이터베이스를 조작하는데 사용하는 C 라이브러리로 오라클 클라이언트를 설치할 때 설치 경로에 생성된다. 하지만, MTxOCI.dll에서 실행할 oci.dll의 경로를 정확히 지정하지 않아 다른 경로에 존재하는 oci.dll이 실행될 수 있다.

 

[그림 1] 정상적인 oci.dll (Oracle Call Interface) 로드 과정

 

- 정상적인 oci.dll의 로드 과정

1.    MSDTC 서비스가 실행되면 C:\Windows\Sytem32 경로의 msdtc.exe가 실행된다.

2.    msdtc.exeC:\Windows\Sytem32 경로의 msdtcm.dll을 로드한다.

3.    msdtcm.dllC:\Windows\Sytem32 경로의 MTxOCI.dll을 로드한다.

4.    MTxOCI.dlloci.dll, SQLLib80.dll xa80.dll과 동일한 이름의 파일을 검색한 후 로드한다.

 

[그림 2]PingBack 악성코드가 실행되는 전체적인 흐름이다.

 

[그림  2] PingBack 악성코드 실행 흐름도

 

- 악성코드의 실행 과정

1.    공격자가 PingBack 악성코드를 C:\Windows\Sytem32 경로에 oci.dll이란 이름으로 드롭한다.

2.    MSDTC 서비스를 재실행해 oci.dll로 위장한 PingBack 악성코드를 실행한다.

3.    공격자는 명령이 포함된 ICMP 패킷을 PingBack 악성코드로 전송해 파일 다운로드 및 업로드 등의 명령을 실행한다.

 

해당 악성코드가 실행하는 명령은 [1]과 같으며 downloadupload 명령어는 각각 3개씩 사용한다.

 

[표 1] PingBack 악성코드 명령어

 

[그림 3]은 클라이언트 환경을 구축한 후, upload2 download 명령을 사용한 결과이며, Trustwave 측에서 깃허브에 공개한 PingBack 악성코드의 클라이언트 스크립트를 사용해 테스트를 진행했다.

 

[그림 3] PingBack 클라이언트 구축 및 명령 실행 결과

 

해당 악성코드는 탐지를 우회할 목적으로 ICMP 패킷에 임의의 데이터를 추가한 후, 에코 요청과 응답을 사용해 공격자와 통신하는 ICMP 터널링(Tunneling)이란 기법을 사용한다. 또한, 식별을 위해 1234~1236의 시퀀스 번호를 설정했으며, 일반적인 명령을 보낼 때는 시퀀스 번호를 1234로 지정한다. 마지막으로 ICMP Data 필드는 788 Bytes의 크기로 악성코드가 실행할 명령 또는 명령과 관련된 데이터를 포함한다.

 

[그림 4] PingBack이 사용하는 ICMP 패킷 구조

 

[그림 5] [그림 3]과 같이 클라이언트 환경을 구축하여 감염된 컴퓨터의 PingBack 악성코드와 통신한 결과이다.

 

[그림 5] PingBack 악성코드 ICMP 패킷

 

PingBack 악성코드가 사용한 DLL 하이재킹이나 ICMP 터널링 기법은 예전부터 등장한 기법이지만 여전히 패치되지 않은 경우가 발견되며 탐지 또한 쉽지 않다. 따라서 사용하고 있는 보안 제품이나 OS를 항상 최신 버전으로 유지해야 하고, 네트워크 모니터링 환경 구축 및 지속해서 정책을 업데이트할 필요가 있다.

상기 악성코드는 잉카인터넷 안티바이러스 제품 TACHYON Internet Security 5.0에서 진단 및 치료가 가능하다.

 

[그림 6] TACHYON Internet Security 5.0 진단 및 치료 화면