보안정보
전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.
북한발 사이버 공격과 코니(Konni)의 공격 아티팩트 분석
2024.10.08
5,060
01. 북한 사이버 위협 동향과 공격 그룹 현황
1) 북한 사이버 위협 동향과 위협 클러스터링
북한, 이란, 러시아, 중국과 같은 국가 지원 사이버 공격그룹의 정보 탈취, 공급망 공격, 사회 불안조성 등의 공격 활동이 전 세계적으로 증가함에 따라 국내에서도 피해가 지속적으로 증가하는 추세다. 국가사이버안보센터는 2024년에만 방산 분야 해킹사고를 담은 ‘韓獨 합동 사이버 보안 권고문’, 김수키(Kimsuky)의 공격을 정리한 ‘美 정부와의 합동 보안 권고문’, 안다리엘(Andariel)에 의한 ‘韓美英 합동 사이버보안권고문’ 등 북한발 공격그룹을 포함한 국가 지원 사이버 공격그룹과 관련된 다수의 사이버 보안 권고문을 발표했다. 이는 대규모 사이버 공격에 대응하기 위해 국제적 보안 협력 체계가 강화된 결과라 볼 수 있다.
Kimsuky, Lazarus, Konni 등 북한발 해킹그룹에 의한 공격이 활발하게 이뤄지면서 앞서 언급한 협력 체계를 비롯해 국내외 다수의 기관 및 보안업체에서 관련 인텔리전스 정보를 적극적으로 발표하고 있다. 공격그룹에 대한 정보를 관리하고 효과적으로 대응하기 위해 공격 패턴 분석을 기반으로 특정 해킹 그룹을 클러스터링하여 분류하는 작업도 진행되고 있다.
[표 1]은 마이터 어택(MITRE ATT&CK)프레임워크의 ATT&CK Groups 중 북한발 사이버 공격그룹을 정리한 자료다. 공격벡터 및 기술, 도구, 기법 등의 아티팩트가 유사하더라도 기관이나 기업에서 명명하는 방식이나 분류 체계가 상이하기 때문에 그룹 이름이 다르게 부여된 경우도 있다.
공격그룹을 클러스터링하는 방법은 여러가지가 있으나, 가장 쉬운 방법은 숫자를 부여하는 것이다. 맨디언트(Mandiant)는 APT뒤에 숫자를 붙여 북한 공격그룹은 APT37이나 APT38 등으로 매핑하고 있다. 이런 방식은 직관적인 관리가 가능하나 그룹명을 통해 공격 유형이나 특징을 유추하기 어렵다는 단점이 있어서 공격 국가나 그룹의 목적에 따라 연상되는 단어를 매핑하기도 한다.
크라우드스트라이크(CrowdStrike)는 공격 국가를 연상시키는 동물을 매핑한다. 예를 들어 중국은 딥 판다(Deep Panda), 무스탕판다(Mustang Panda)와 같이 판다(Panda)를 기준으로 분류하고, 북한은 벨벳천리마(Velvet Chollima), 싸일런트천리마(Silent Chollima)와 같이 우주 발사체나 사회주의 건설운동과 연관된 상징인 천리마(Chollima)를 사용한다. 이 외에 금전적 목적의 그룹은 거미(Spider)를 , 핵티비스트(Hacktivist)에는 자칼(Jackal)로 분류한다.
마이크로소프트(Microsoft)는 초기에는 숫자 방식과 유사하게 원소기호를 사용해 탈륨(THALLIUM), 세륨(CERIUM), 징크(ZINC·아연), 오스뮴(OSMIUM) 등의 이름을 부여했으나, 공격 규모와 복잡성이 증가하자 보다 세밀한 관리를 위해서 날씨를 차용한 그룹핑을 하고 있다. 국가 지원(Nation-state), 금전적 동기부여(Financially motivated), 민간 영역 공격 행위자(Private sector offensive actors), 영향력 있는 운영조직(Influence operations), 개발 중인 그룹(Groups in development)의 5가지 기준으로 분류하고 날씨 유형으로 표현한다.
공격 그룹 자체나 캠페인의 특징을 반영하여 이름을 부여하기도 한다. 김수키라는 명칭을 처음 사용한 카스퍼스키 랩(Kaspersky Lab)은 북한 공격그룹이 사용한 ‘Kimsukyang’이라는 이메일 계정을 그룹명으로 사용하고자 했으나, 한국어에 익숙하지 않아 ‘ang’을 제외한 ‘Kimsuky’로 부르게 되었다. 이외에도 고급 호텔의 와이파이를 공격한 그룹은 ‘Dark Hotel’이라는 이름을 부여하였다. 이처럼 사이버 공격 그룹은 공격 아티팩트나 특징 등 다양한 요소에 따라 분류되기 때문에 공격그룹을 잘 이해하기 위해서는 다양한 아티팩트를 분석하고 활용해야 한다.
2) 북한발 공격그룹 코니(Konni) 위협 클러스터링
북한발 사이버 공격그룹 중 하나인 ‘코니(Konni)’는 앞서 설명한 위협 클러스터링 기준에 따라 코니 이외에 김수키나 라자루스 등 다른 북한발 사이버 공격그룹으로 매핑하는 경우가 있다. 코니라는 이름은 2017년 탈로스(Talos)가 발표한 ‘KONNI: A Malware Under The Radar For Years’에서 명명된 ‘Konni RAT’ 악성코드에서 시작된 것으로 전해진다.
2014년부터 활동한 코니는 2016년과 2017년에 추가로 발견되었다. 주로 러시아나 한국 등을 대상으로 악성메일의 첨부파일을 초기 공격벡터로 사용하였으며, .scr(화면보호기)를 유포해 악성 행위를 시도했다.
2014년에 발견된 코니 악성코드 명은 “beauty.scr”이었지만, 2016년에 발견된 캠페인의 파일명은 “How can North Korean Hydrogen Bomb Wipe Out Manhattan(북한 수소폭탄이 맨해튼을 쓸어버릴 수 있는 방법)”으로 북한 관련 소재가 사용되면서 코니와 북한과의 연관성이 제기되기 시작했다.
코니 악성코드가 사용된 캠페인들은 타 북한발 공격그룹과는 북한과 연계된 정치적 이슈를 사용한다는 공통점 이외에는 공격 기술이나 악성코드 등이 상이함에 따라 2019년 국내의 이스트시큐리티(ESTsecurity)가 코니를 ‘APT그룹’으로 분류해 추적하기 시작했다. 이 과정에서 코니는 기존의 김수키나 APT37과의 연관성에 대해서도 논쟁이 있었으나 현재는 다른 공격 형태로 보는 시각이 지배적이다. 한편, 2018년 팔로알토(Palo Alto)에서는 Reaper, Group123, Scarcruft로 불리는 APT37이 사용한 NOKKI 악성코드와 코니 RAT 악성코드의 연계성을 확인했다. 이러한 이유로 해외에서는 주로 코니는 APT 그룹이 아닌 APT37에서 사용하는 하나의 ‘도구’라는 시각이 보편적이다.
본 문서에서는 ‘코니’를 하나의 ‘APT그룹’으로 분류하고 관련된 공격 아티팩트 분석을 통해 코니 그룹에 대해서 알아가고자 한다. 그 중에서도 특히 최근에 빈번하게 발견되고 있는 바로가기(LNK) 파일의 특징을 중점적으로 살펴보고자 한다. 분류 기준에 따라서 ‘코니’라는 공격그룹의 범주에 차이가 발생할 수 있음을 참고하기를 바란다.
- * 코니와 관련된 분석 보고서에 대해서는 기 공개된 보고서 내에 포함되어 있는 내용도 참조 됨에 따라 관련내용들에 대해서는 보고서 말미에 참조문서로 포함하였습니다.
02. 코니 공격 아티팩트 상세분석결과 : LNK
1) Dropper(다수의 vbs, bat을 이용한 정보 탈취)
코니 공격 그룹의 대표적인 공격으로 문서 형식으로 위장한 바로가기(LNK) 파일을 사용해 악성 페이로드를 드롭하는 공격이 있다. 주로 한국어로 작성된 공식 문서로 위장해 공격 대상자에게 첨부 파일로 송부하는 스피어피싱 방법을 구사하여 사용자들의 관심을 자극해 실행하도록 유도한다. 파일 실행 시 미끼 문서를 화면에 출력함과 동시에 다수의 vbs, bat 파일을 드롭 및 실행하여 최종적으로 피해자 시스템의 정보 탈취 후 C&C서버로 전송 및 C&C서버에서 추가 페이로드를 다운로드 받아 실행한다.
샘플 파일(MD5: 7bb236041b91d4cd4fa129267cf109c3)의 분석 사례를 통해 Dropper 유형에 대해 자세히 알아보겠다. 악성 바로가기 파일은 문서로 위장하기 위해 이중 확장자(.hwp.lnk)를 사용하고 실제 문서와 유사한 아이콘을 사용한다. 속성 확인 시 사용자가 이상한 점을 눈치채지 못하게 바로가기 파일의 인자로 다수의 띄어쓰기를 사용하기도 하며 사용자가 문서로 착각해 실행 시 난독화된 powershell 명령어가 실행된다.
powershell 명령어는 확장자와 파일의 크기를 기준 삼아 바로가기 파일을 찾아낸 후 특정 구간의 데이터를 읽어와 경우에 따라 XOR 연산을 통해 복호화하여 hwp 문서 파일과 cab 압축 파일을 생성한다. 문서 파일은 바로가기 파일이 있던 곳에 생성됨과 동시에 실행되고 흔적을 없애기 위해 바로가기 파일은 삭제된다. 압축 파일은 C:\Users\public 경로에 생성 후 C:\Users\public\documents 경로에 압축을 해제한 뒤 해제된 파일들 중 start.vbs 파일을 실행한다.
start.vbs 파일은 약간의 난독화가 된 상태로 메인 bat 파일을 실행하는 간단한 동작을 수행한다. 메인 bat 파일은 지속성 유지를 위해 부팅 시 마다 동작하도록 레지스트리에 start.vbs를 등록한 후 정보 탈취, 추가 페이로드 다운로드 및 실행을 위해 bat 파일들을 연쇄적으로 실행한다.
이번 샘플의 정보 탈취 bat 파일의 경우 “다운로드 폴더 하위 목록”, “문서 폴더 하위 목록”, “바탕화면 폴더 하위 목록”, “systeminfo 명령어 실행 결과(시스템 정보)”의 총 4가지 정보를 탈취했으며, 샘플에 따라 수집하는 정보가 추가되거나 빠진다.
추가 페이로드 다운로드 bat 파일들은 서로 다른 bat 파일에서 서로 다른 C2에 접근해 추가 페이로드(zip, cab)를 각각 내려 받아 압축을 풀고 실행한다. 여기서 cab 페이로드를 다운로드하는 bat 파일의 C2 도메인은 정보 탈취에 사용되는 C2 도메인과 동일하며 컴퓨터명을 파라미터로 사용하는 점을 통해 정보 탈취 이후 이어서 수행되는 타깃형 공격으로 추정된다.
탈취 정보가 담긴 파일을 업로드하거나 추가 페이로드를 다운로드 시에는 RC4, Base64를 이용한 암·복호화 루틴을 수행하는 별도의 업로드, 다운로드 bat 파일을 사용한다.
탈취 정보 업로드 성공 시에는 upok.txt 파일을 생성하는데, 해당 파일이 있을 경우 LNK 악성 파일이 실행되어도 정보 탈취를 더 이상 수행하지 않는다.
분석 시점에는 C2에 접근할 수 없어 추가 페이로드를 확보하지 못해 분석이 불가했으나, 추가 페이로드로 Amadey, RftRAT, XRat 등의 백도어 악성코드를 설치하여 키로깅, 추가 정보 탈취 등의 작업을 수행하는 것으로 알려졌다.
2) Downloader(AutoIt 스크립트 파일을 이용한 정보 탈취)
코니 그룹이 사용한 LNK 악성코드는 초기에는 Dropper 유형만 있었으나, 최근에는 바로 C2에서 페이로드를 다운로드 받아 실행하는 Downloader 형식의 악성코드가 발견된다.
샘플 파일(MD5:9d6c79c0b395cceb83662aa3f7ed0123) 분석 사례를 통해 Downloader 유형의 기능을 자세히 알아보자. Downloader 유형의 바로가기 파일도 문서로 위장하기 위해 이중 확장자(.hwp.lnk)를 사용하고 실제 문서 파일과 유사한 아이콘을 사용한다. 바로가기 파일의 인자로 난독화된 powershell 명령어가 작성되어 있어, 사용자가 문서로 착각해 실행 시 명령어가 동작하여 악성행위가 수행된다.
powershell 명령어는 확장자와 파일의 크기를 기준으로 바로가기 파일을 찾아낸 후 특정 구간의 데이터를 읽어와 XOR 연산을 통해 hwp 문서 파일을 생성한다. 문서 파일은 바로가기 파일이 있던 곳에 생성 및 실행되고 흔적을 남기지 않기 위해 바로가기 파일은 삭제된다.
Downloader형의 샘플은 C드라이브에 숨김 속성을 가진 랜덤 문자열의 폴더를 생성한 후 curl.exe 파일을 폴더명과 동일한 이름의 exe 파일로 복사한다. 이후 curl을 이용해 C2에 접근해 AutoIt3.exe, 오토잇 스크립트 파일을 다운받고 스크립트 파일을 1분마다 실행하는 스케줄러를 등록한다.
다운로드 받은 오토잇 스크립트 파일은 컴파일이 된 상태로 디컴파일 도구(autoit-ripper)를 이용해 디컴파일 시 스크립트 확인이 가능하다.
스크립트 내용은 Github에 오픈소스로 공개된 Lilith RAT 코드를 오토잇 스크립트로 변환하여 사용한 것으로 확인되며 Avast 백신 유무에 따른 지속성 유지를 위한 행위가 추가된 것으로 보인다. 백신이 있을 경우에는 작업 스케줄러에 5~10분 사이의 랜덤한 시간마다 실행하도록 하는 스케줄을 등록하고, 없을 경우에는 스크립트를 실행하도록 하는 명령어가 작성된 바로가기 파일을 시작 프로그램에 생성한다.
Lilith RAT은 하드코딩된 C2에 연결 성공 시 본격적인 악성행위를 수행하는데 Github에서 확인 가능한 원본 파일에서는 더 많은 기능이 발견되나, 이번 샘플의 스크립트에서는 Reverse Shell과 같이 프로그램을 원격 실행하는 RemoteControl 기능만 있는 것으로 확인된다.
03. 코니 악성코드의 공격 아티팩트별 주요 특징 : LNK
1) 미끼 문서에 사용된 주제의 특징
앞에서 코니 LNK 악성코드의 Dropper 유형과 Downloader 유형이 어떻게 동작하는지 알아보았고, 이번에는 총 29개의 Konni 악성코드 샘플 분석 결과를 비교하여 코니 LNK 악성코드의 특징을 소개하고자 한다.
미끼 문서 파일에 사용된 이름 중 중복을 제외한 15개의 이름을 확인한 결과, 9개의 이름에서 세무와 관련된 키워드가 사용됐다. 코니 그룹이 스피어 피싱을 통해 악성코드를 유포하기 때문에 공식 기관의 신뢰성을 기반으로 부가가치세, 자금출처명세서, 소득세법 등 금전과 관련된 키워드를 통해 수신자의 불안감을 조성하여 공격한 것으로 보여진다.
2) 파일 동작 매커니즘에서의 특징
LNK 악성코드 실행 시 동작하는 명령어를 분석한 결과, 샘플에 따라 사용된 방식의 세부 사항은 조금씩 차이가 나는 경우도 있지만 같은 유형인 경우 [표 5]와 같이 공통적인 특징이 발견된다. [그림 25], [그림 26]에는 표에서 확인가능한 각 유형의 특징을 표에서 사용한 색을 이용해 표시했다.
3) Dropper 및 Downloader 별 발견되는 C2의 특징
마지막으로 코니 악성코드에 사용된 C2의 특징을 살펴보자. Dropper 유형의 악성코드의 경우 크게 3가지 유형이 확인된다. 세 유형은 모두 정보 탈취 후 전송에 사용할 C2와 추가 페이로드를 받기 위한 C2 주소 총 2개를 사용하는데 정보 탈취 C2의 경우 “upload.php”, 추가 페이로드 다운로드 C2의 경우 “list.php”가 이용되는 공통적인 특징이 발견된다.
2023년 중반 이후로 발견되는 Dropper B, C 유형의 샘플에서는 다른 추가 페이로드를 다운로드하기 위한 C2가 추가로 사용되어 총 3개의 C2가 확인된다. 추가 사용된 C2는 두 개의 파라미터를 사용하며 발견 초기인 B유형은 파라미터 명은 랜덤이지만 파라미터 값이 비슷했다면, 2024년 이후에 발견된 C 유형의 샘플은 파라미터 명, 값이 “ra=iew&zw=lk0100”으로 동일한 것으로 확인된다. B 유형과 C 유형을 종합적으로 보았을 때는 “파라미터1=[임의의 문자열 3자리]&파라미터2=[영문 2자리 + 숫자 4자리]”의 공통점을 보인다.
Downloader 유형의 악성코드의 경우 정보 탈취 업로드를 위한 C2는 사용되지 않고, 추가 페이로드 다운로드를 위한 C2만 사용된다. C2로 사용되는 사이트는 주로 WordPress 사이트이며 두 개의 파라미터를 사용하는 특징을 보인다.
Downloader A 유형의 파일이 Dropper C 유형의 파일보다 발견 시점이 빠름에도 C2가 WordPress 사이트이며 파라미터명이 동일한 점을 통해 해당 Downloader 악성 LNK 파일이 Konni 그룹과 연관되어 있을 가능성이 보인다.
Downloader B,C 유형의 C2에서는 파라미터명은 rv, za로 동일하지만 파라미터 값을 다르게 사용하는 특징이 확인된다. 파라미터 값으로는 특별한 목적으로 사용한 것으로 보이지는 않지만 super, papago, bear 등 실제로 뜻이 있는 단어가 사용된 특징도 볼 수 있다.
04. 마무리
지금까지 북한발 공격그룹 중 하나인 코니 그룹의 현황과 대표적인 악성코드에 대해서 살펴보았다. 코니의 최근 공격 특징을 분류하면 △ 사회공학적 공격 키워드의 변화, △ 사용환경에 따른 공격벡터 변화, △ 정보탈취를 위한 원격제어형 악성코드 활용, △ WordPress를 이용한 C2구축의 4가지 형태로 분류할 수 있다. 코니 그룹은 Konni RAT 악성코드에서 유래해 추가 아티팩트들이 분석됨에 따라 김수키, 라자루스, APT37 등의 타 북한발 공격그룹으로 그룹핑되어 레포팅되는 경우들이 상당수이다. 이번 코니 공격 아티팩트 분석을 바탕으로 북한발 사이버 공격을 모니터링하고 대응할 것을 권고한다.
1) 사회공학적 공격 키워드의 변화 : 북한 정치 이슈 > 세무 관련 키워드
북한 공격그룹 중 특히 코니는 사람의 호기심을 자극하는 소재를 이용한 사회공학기법을 통해 악성파일을 유포하는 공격기법을 주로 사용한다. 과거에는 북한의 정치적 이슈를 많이 사용했다면, 최근에는 국내에서 신뢰할 수 있는 기관을 사칭하여 세무 관련 키워드를 이용한 공격을 주로 수행한다.
2) 사용환경에 따른 공격벡터 변화 : .SCR, .DOC -> .LNK
공격벡터로는 관심을 끄는 키워드를 파일명으로 사용한 화면보호기 파일인 SCR이나 DOC, HWP 등의 문서형 악성코드를 이용하였으나, 화면 보호기 파일은 사용자들이 점차 사용하지 않는 추세이며 문서형 파일의 경우 매크로를 통한 공격 방지를 위한 보안 정책이 발전함에 따라 사용이 줄어들어 최근에는 문서로 위장한 바로가기 유형의 악성 파일을 공격벡터로 사용 중이다.
3) 정보탈취를 위한 원격제어형 악성코드 활용
코니가 정보탈취에 사용하는 원격제어형 악성코드로는 Konni RAT, Amadey, Lilith RAT 등이 있다. Dropper는 공격자가 악성 페이로드를 포함한 vbs나 bat파일을 드롭하여 해당 파일을 통해 추가 악성코드를 다운로드 하는 방식으로 사용된다. Loader는 Windows 10 1803 이후 버전부터는 기본으로 설치되는 curl.exe를 이용하기 때문에, 악성코드를 자체 개발하지 않고 오픈소스로 공개된 악성코드를 변경해서 사용하는 추세다. 코니 역시 Loader 방식을 통해 공격 흔적을 삭제하고 정상 행위와 유사하게 공격을 감행한다.
4) WordPress를 이용한 C2 구축
악성코드를 유포하기 위한 방법 중 하나인 C2에서도 공격벡터의 변화가 발생하고 있다. 취약한 홈페이지를 공격하던 과거와 달리 구축이 용이하고 다양한 플러그인을 제공하는 WordPress를 통해 C2를 자체구축하는 추세다. 특히 플러그인에 존재하는 보안 취약점을 악용하면 공격이 용이해 탈취하여 사용 가능하기 때문에 지속적인 모니터링과 보안 패치가 필요하다.
05. MITRE ATT&CK
06. IoC 정보
1) MD5
2) C2
07. 참고자료
1. MITRE ATT&CK Groups: https://attack.mitre.org/tactics/TA0011/
2.What a Cluster! How Industry Groups and Names Threat Activity Clusters : https://medium.com/@Shinigami42/what-a-cluster-how-industry-groups-and-names-threat-activity-clusters-0c65a7128162
3.The Newcomer’s Guide to Cyber Threat Actor Naming : https://cyb3rops.medium.com/the-newcomers-guide-to-cyber-threat-actor-naming-7428e18ee263
4.Mandiant – Advanced Persistent Threats(APTs) : https://www.mandiant.com/resources/insights/apt-groups
5.How Microsoft names threat actors : https://learn.microsoft.com/en-us/defender-xdr/microsoft-threat-actor-naming
6.Naming Adverssaries and Why It Matters to Your Security Team : https://www.crowdstrike.com/blog/naming-adversaries-and-why-it-matters-to-security-teams/
7.Threat Tracking: Analysis of puNK-003’s Lilith RAT ported to AutoIt Script : https://medium.com/s2wblog/threat-tracking-analysis-of-punk-003s-lilith-rat-ported-to-autoit-script-30dd59e68213
8.AutoIt 활용 방어 회피 전술의 코니 APT 캠페인 분석 : https://www.genians.co.kr/blog/threat_intelligence/autoit
9.국세청 우편물 발송 알림 사칭 공격 (Konni APT Campaign) : https://www.genians.co.kr/blog/threat_intelligence/konni
10.AutoIt을 사용해 악성코드를 제작하는 Kimsuky 그룹 (RftRAT, Amadey) : https://asec.ahnlab.com/ko/59460/
11.코니(Konni) APT 조직, 러시아 문서로 위장한 공격 등장 : https://blog.alyac.co.kr/2474
12.KONNI: A Malware Under The Radar For Years : https://blog.talosintelligence.com/konni-malware-under-radar-for-years/
13.암호화폐 내용의 Konni APT 캠페인과 ‘오퍼레이션 헌터 아도니스’ : https://blog.alyac.co.kr/2061
14.New KONNI Malware attacking Eurasia and Southeast Asia : https://unit42.paloaltonetworks.com/unit42-new-konni-malware-attacking-eurasia-southeast-asia/