C2 서버, 측면 이동·다단계 공격·데이터 유출 등을 위한 도구로 활용
[보안뉴스 김영명 기자] 사이버 공격과 관련된 기사를 읽다보면에서 자주 등장하는 단어 중 하나가 바로 ‘C2 서버(Command & Control 서버)’다. C2 서버는 주로 공격자들이 사이버 공격에 많이 사용하는데, 대부분 공격 그 자체에만 집중할 뿐 C2 서버가 무엇인지 설명하는 경우는 거의 없다. 그럼 C2 서버란 무엇이며, 공격자들은 왜 C2 서버를 많이 사용할까? 보안기업 이글루코퍼레이션은 최근 ‘Command & Control 서버를 이용하는 악성행위 분석’ 보고서를 발표하고 C2 서버에 대한 궁금증을 해소해주었다.

[이미지=utoimage]
공격자가 사랑하는 C2 서버
우선, C2 서버 또는 C&C 서버로 불리는 ‘Command & Control 서버’는 명령 및 제어, 공격자가 초기 침투에 성공한 장치와의 통신을 유지하는 데 사용하는 도구 및 기술 집합이다. 일반적으로 피해자 조직의 장치와 공격자가 제어하는 플랫폼 간의 하나 이상의 은밀한 통신 채널로 구성되며, 감염된 대상에 명령 전달, 추가 악성 페이로드를 다운로드, 탈취한 데이터를 공격자에게 전달하는 데 사용된다. 사이버 공격과 침입을 분류하고 설명하는 지침인 ‘마이터 어택(MITRE ATT&CK)’은 프레임워크 v12 기준으로 16가지 상위 Command&Control 기술, 23가지 하위 Command&Control 기술을 나열했다.

▲C2를 이용해 진행되는 공격의 일반적인 예시[자료=이글루코퍼레이션]
C2 서버를 이야기할 때 주로 등장하는 용어로는 △좀비(Zombie) △봇넷(Botnet) △비콘(Beacon) 등이 있다. ‘좀비(Zombie)’는 악성코드에 감염돼 소유자 모르게 또는 동의 없이 공격자가 원격으로 제어할 수 있는 컴퓨터 또는 기타 연결된 장치다. 일부 바이러스, 트로이 목마 및 원치 않는 프로그램(Potentially Unwanted Application, PUA)이 장치를 감염시킨 후 정보 탈취 등 특정 작업을 수행하지만, 악성코드 다수는 주로 공격자의 C2 서버 연결도구로 사용된다. 연결이 성공하면 이메일 릴레이 서버부터 대규모 분산 서비스 거부 공격(DDoS)까지 다양한 작업이 가능하다.
‘봇넷(Botnet)’은 불법적인 목적을 위한 좀비화된 장비 모음이다. 봇넷을 이용해 암호화폐 채굴에서부터 분산 서비스 거부 공격(DDoS) 공격을 통해 웹사이트를 오프라인 상태로 만드는 것까지 가능하다. 봇넷은 공격자가 AaaS(Attack as a Service) 유형으로 다른 범죄자에게 봇넷에 대한 액세스 권한을 판매하는 것도 가능하다.
‘비콘(Beacon)’은 감염된 장비가 명령이나 추가 페이로드를 전달받기 위해 특정 시간에 공격자의 C2 서버에 연결을 시도하는 클라이언트 악성코드다. 탐지를 피하고자 일부 비콘은 임의의 간격으로 신호를 보내거나, C2 서버에 연결하기 전에 일정 기간 대기 상태로 존재한다.
공격에 사용되는 C2 서버의 종류
다음으로 ‘C2 모델’의 종류를 살펴보면, 중앙집중식, 피어 투 피어(P2P) 등이 있다. ‘중앙집중식’ 모델은 기본적으로 알고 있는 클라이언트-서버 관계와 매우 유사하게 동작한다. 감염된 PC에서 동작하는 클라이언트 악성코드는 최초 실행 시 C2 서버에 접속해 실행 여부를 알린다. 공격자는 합법적인 웹사이트를 침투한 이후 소유자 모르게 C2 서버로 호스팅하거나 퍼블릭 클라우드 서비스 및 콘텐츠 전송 네트워크를 이용해 C2 활동을 호스팅 또는 마스킹한다.
C2로 사용되는 서버는 캠페인과 관련된 경우가 많으며 빠르게 발견되는 경우 도메인 및 서버는 추적을 피하고자 몇 시간 내에 비활성화될 수 있다. 최신 악성코드는 다수의 C2 서버를 이용해 한쪽의 연결이 불가능한 경우 다른 C2 서버로 연결되도록 하드코딩하기도 하며, 빠른 발견을 피하고자 C2를 난독화하는 방법을 사용하고 있다. 추가로, 사진에 포함된 GPS 좌표와 인스타그램(Instagram)의 댓글에서 C2 서버 목록을 가져오는 악성코드도 발견됐다.

▲피어 투 피어(P2P) 방식의 구성도[자료=이글루코퍼레이션]
‘피어 투 피어(Peer to Peer, P2P)’ 모델은 명령 및 제어 명령은 봇넷의 구성원이 서로 메시지를 중계하는 분산된 방식으로 전달된다. 일부 봇은 여전히 서버로 작동할 수 있지만, 중앙 또는 마스터 노드는 없다. 이에 따라 중앙 집중식 모델보다 비활성화하기 훨씬 더 어려워지지만, 공격자가 전체 봇넷에 명령을 내리기가 더 어려워질 수도 있다. P2P 네트워크는 기본 C2 채널이 중단될 경우 대체 메커니즘으로 사용되기도 한다.
그밖에도 감염된 장비에 지시를 내리기 위한 다양한 기술이 관찰되고 있으며, 일부 공격자는 보통 소셜 미디어 플랫폼(SNS)을 거의 차단하지 않는다는 점을 악용해 C2 서버로 광범위하게 사용했다. Twittor라는 프로젝트는 Twitter의 다이렉트 메시지만 사용해 완전한 C2 서버로 악용되는 것을 목표로 한다. 또한, 공격자들은 지메일(Gmail), IRC 채팅방, 핀터레스트(Pinterest)를 사용해 감염된 장비에 지시를 내리는 도구로 활용하는 것이 확인됐다.
공격자들이 C2 서버를 이용하는 이유
세 번째로, ‘C2를 사용하는 이유’를 살펴보면, 측면이동, 다단계 공격, 데이터 유출 등이 있다. 먼저, ‘측면 이동(Lateral Movement)’은 공격자가 최초 목표에 공격 성공 시 연결된 C2를 이용해 다른 호스트로 측면 이동을 시도한다. 최초로 측면 이동에 성공한 장비가 중요한 데이터를 갖고 있지 않을 수 있으나 전체 시스템 장악을 위한 준비로 사용할 수 있다. 파일 서버나 도메인 컨트롤러(DC)와 같은 서버에 접속할 때까지 측면 이동을 지속 수행할 수 있다.
일반적인 사이버 공격은 ‘다단계 공격(Multi-stage Attacks)’을 이용하는 경우가 많다. 공격의 초기 단계에서 C2에 접근해 추가 악성코드를 내려받게 하는 드로퍼(Dropper) 또는 다운로더(Downloader)를 사용하는 경우가 많아지고 있다. 드로퍼를 이용해 수천 개의 조직을 감염시킨 이후 공격자가 가장 맞춤형 2단계 악성코드를 만들 수 있다. 이를 이용할 경우 은행이나 병원과 같은 주요 대상에 대한 액세스 권한을 랜섬웨어 갱단에 판매하는 것이 가능해진다.
또 하나는 ‘데이터 유출(Data Exfiltration)’이 있다. C2와 통신은 일반적으로 양방향 통신으로 공격자는 감염된 대상에 명령 전송 외에도 민감한 데이터를 내려받거나 유출할 수 있다. 탈취된 데이터는 피해 대상에 따라 개인정보부터 군사기밀에 이르기까지 다양할 수 있다. 많은 랜섬웨어 조직이 감염된 대상을 협박하기 위한 추가 전술로 데이터 유출을 사용하며 백업에서 데이터를 복구하더라도 공격자는 탈취 정보 공개라는 추가적인 위협에 직면할 것이다.

▲공격자가 C2 생성 또는 정상 서버 탈취하는 방식의 공격 구성도[자료=이글루코퍼레이션]
공격자들의 C2 서버 제작 방법
공격자가 C2를 제작하는 방식은 공격자가 C2 생성 또는 정상 서버 탈취, 정상 서비스에 C2 생성(클라우드 컴퓨팅), 클라우드 저장소를 C2로 이용, 텍스트 공유 서비스를 C2로 이용, GitHub Codespaces를 악용해 C2로 이용하는 방법 등이 있다.
먼저, 가장 편한 방법 중 하나로 ‘공격자가 C2 생성 또는 정상 서버를 탈취’하는 것이다. 물리 또는 가상 PC를 이용해 C2로 사용될 서버를 직접 제작하는 것으로, 명령 및 제어에 필요한 항목 또는 추가 페이로드를 미리 저장한다. 이렇게 생성된 C2의 경우 공격자가 직접 생성해 관리는 쉽겠지만, 대단위 공격의 경우 공격자의 정체가 발각당할 우려가 있다.
공격자 입장에서는 정상 서비스 중인 서버를 탈취하는 방법이 간편하다. 이 방법을 사용하던 도중 C2를 추적하는 보안 전문가 등 서버를 비활성화해야 하는 상황에 직면할 경우 언제든지 서버나 자신이 숨겨둔 파일의 삭제가 쉬우며, 일반적인 접근시 정상 사이트로 보이기 때문에 표면상으로 해당 서버가 C2로 사용 중이라는 점을 알아차리기 힘들다는 장점이 있다.

▲클라우드 저장소를 이용해 C2를 생성하는 방식의 공격 구성도[자료=이글루코퍼레이션]
그 다음으로는 ‘정상 서비스에 C2 생성(클라우드 컴퓨팅)’하는 방법이다. POS(Point-of-Sales) 악성코드인 AlinaPOS와 JackPOS의 변종이 2017년 AWS에서 무료로 제공하는 EC2 t2.micro 인스턴스를 악용해 수천 개의 C2를 생성 및 사용했다. 클라우드 컴퓨팅 서비스는 보통 최초 계정 생성 및 결제정보 입력 시 무료로 인스턴스를 제공하는 프로모션을 악용해 사용하며 탈취된 이메일 계정과 결제정보를 이용하는 것으로 보인다. 하지만, 일정 트래픽 이상 발생 시 사용량에 대해 결제해야 정상 사용이 가능하며 신고 등을 통해 서비스 운영 주체의 직권으로 인스턴스가 비활성화되기도 해 C2 서버를 지속 운영하기는 어렵다.
‘클라우드 저장소를 C2로 이용’하는 방법도 있다. 러시아 추정 공격그룹인 APT29(Cozy Bear, Nobelium)의 경우 2022년 5월부터 6월까지 외국 대사관을 대상으로 공격하는 캠페인 전개 당시 클라우드 저장소인 Dropbox, Google Drive를 활용했다. 클라우드 저장소 사용은 쉬운 가입 절차를 악용해 탈취된 이메일 계정과 결제정보만으로 계정 생성이 가능하며, 데이터 보관에 큰 용량이 들지 않는다는 장점이 있다. 하지만 내부 모니터링, 신고 등의 사유로 파일 다운로드가 막히거나 계정이 정지될 가능성도 있다.

▲텍스트 공유 서비스를 C2로 악용하는 방식의 공격 구성도[자료=이글루코퍼레이션]
‘텍스트 공유 서비스를 C2로 이용’하는 방법은 공격자들이 많이 사용한 방식이다. 텍스트 공유 사이트에 공격자가 원하는 텍스트를 저장한 이후 최초로 설치된 다운로더나 드로퍼가 업로드된 텍스트를 읽어 들여 2차 C2로 연결, 스크립트 코드 다운로드, 아주 작은 단위의 실행파일을 직접 다운로드하는 등의 방식을 이용한다.
최근 활발하게 활동하고 있는 njRAT의 변종으로 텍스트 공유 서비스인 페이스트빈(Pastebin)을 1차 C2로 이용하기도 한다. 공격에 사용될 텍스트를 페이스트빈에 업로드하며 해당 샘플은 실행파일 데이터를 base64로 인코딩한 이후 저장하며 최초 접근 시 해당 텍스트를 다운로드해 njRAT를 실행하는 것으로 확인됐다.

▲실행파일 내부에 존재하는 암호화된 C2 주소[자료=이글루코퍼레이션]
‘GitHub Codespaces를 악용해 C2로 이용’하는 방법도 있다. GitHub Codespaces는 클라우드 기반의 개발 환경으로 개발자가 웹 브라우저에서 직접 코드를 생성, 편집 및 실행할 수 있다. GitHub Codespaces 기능 중 내부 특정 포트를 외부로 오픈해 Private/Public으로 공유할 수 있다. Private 방식은 소속된 조직원만 접근할 수 있으며 쿠키를 사용해 인증하지만, Public으로 설정될 경우 인증 없는 사용자도 공개된 포트로 접근이 가능하다. 이 방식을 악용할 경우 공격자가 공격에 사용될 스크립트나 악성코드를 아무런 조건 없이 유포하거나 C2로 사용이 가능하다. 특히, GitHub의 경우 다른 클라우드 서비스(AWS, GCP 등)가 요구하는 신용카드를 비롯한 지불수단이 필요 없기 때문에 공격자가 사용하는 진입장벽이 낮아졌다.

▲PoC 코드로 생성된 openurl 및 실제 접근 시 확인되지 않는 쿠키[자료=이글루코퍼레이션]
공격자가 정보 탈취를 목적으로 한다면, C2 서버를 사용하는 것은 필수불가결이라 볼 수 있다. 또한, 정보 탈취 이외에도 악성코드 유포 과정에서 중간 기착지 역할 및 서버를 일회용으로 사용한 이후 폐쇄하는 전략을 사용해 탐지를 더욱 어렵게 하고 있다.
이글루코퍼레이션 관계자는 “일반적으로 인바운드 통신에는 관심이 많지만, 아웃바운드 통신의 감시는 소홀히 하는 경우가 있다”며 “하지만, 악성코드가 감염된 이후 외부 C2가 내부로 접근하는 인바운드 통신이 아닌 감염된 PC가 외부 C2로 통신하는 아웃바운드 통신이 큰 비중을 차지해 이신에 대한 탐지와 대응을 더욱 강화해야 한다”고 말했다. 이어 “프록시를 사용해 아웃바운드 통신을 검사하는 경우 C2와 암호화를 이용한 통신을 고려해야 하므로 SSL/TLS 트래픽 추가 검사 설정에 대한 논의가 필요하며 DNS 필터링 서비스를 사용해 의심스럽거나 새로 등록된 도메인에 대한 C2 요청을 차단하는 방식으로 대응이 가능할 것”이라고 밝혔다.
[김영명 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>