최근 AnyDesk를 악용한 공격 사례가 증가하고 있다. AnyDesk는 원격 제어 애플리케이션으로 원격 데스크탑, 파일 전송 등의 기능을 제공한다. 특정 사용자 환경에 AnyDesk가 설치되어 있고 외부에서 해당 시스템에 접속하려고 할 경우 팝업 메시지가 나타나며, 사용자가 연결을 허용하면 외부에서 해당 시스템에 대한 원격 제어가 가능하다. 이러한 연결 방식 외에도 AnyDesk에 비밀번호 설정을 통해 사용자의 허용 없이 비밀번호 만으로 원격 제어가 가능하다. 비밀번호만으로 원격 접속이 가능한 특징 때문에 AnyDesk는 실제 콘티(Conti), 아보스락커(AvosLocker), 블랙하트(BlackHeart) 랜섬웨어과 같이 기업 내부망 장악을 목표로 하는 공격자들이 주로 사용하고 있다. 이번 장에서는 AnyDesk를 악용한 보안 사고가 발생했을 때 확인 가능한 아티팩트와 로그를 살펴보고자 한다.
[그림 1] AnyDesk 원격 제어 프로그램 실행 화면
2022년 3월, Conti 랜섬웨어 그룹의 데이터가 대량 유출되었다. Conti는 내부 침투를 위해 PowerShell, cmd를 이용해 AnyDesk 설치를 자동화하여 감염 시스템에서 비밀번호를 입력하여 사용자의 동의 없이 원격으로 제어할 수 있었다.
[표 1] Conti의 AnyDesk 자동 설치 PowerShell 스크립트 스니펫 유출
[그림 2] AnyDesk를 설치한 원격 시스템에 비밀번호를 이용하여 로그인하는 과정
휴대 전화로 시스템에 원격 연결을 시도하거나, GUI를 통한 접근(예: VPN, RDP, VNC, 다른 원격 제어 도구, HVNC(Hidden Virtual Network Computing) RAT 등)으로 AnyDesk를 지속해서 사용하려고 한다면 공격 행위로 의심해볼 수 있다. AnyDesk 사용이 의심스러울 경우, 사용자에게 연락하여 [원격 IP 주소의 지리적 위치, 원격 시스템의 사용자 이름, 원격 OS, 시각] 등을 확인해야 한다.
AnyDesk에는 4개의 로그가 있다. 설치 버전과 포터블 버전 2가지를 선택해 사용할 수 있고 각각 로그의 설치 경로가 다르다.
[표 2] AnyDesk 로그
[표 3] AnyDesk 로그 경로
![]() |
![]() |
[그림 3] 설치 버전 AnyDesk 로그 경로 |
[그림 4] 포터블 버전 AnyDesk 로그 경로 |
connection_trace.txt 파일에서 수신 요청에 성공한 AnyDesk 연결 정보를 확인할 수 있다. 'Passwd' 와 'Token'은 외부에서 원격 연결 요청 시 암호를 설정한 경우에 확인할 수 있고, 수신 요청만 기록하며 데이터 관련 기록은 표시하지 않는다.
[표 4] Connection_trace.txt - Status Type
connection_trace.txt 파일의 필드는 [ Direction, limited to Date/Time, status, alias, ID ]로 구성되어 있으며, UTC를 기준으로 한다. [표 5]는 일부 정보(AnyDesk 연결 ID 변경)를 변경한 connection trace log 예시이다.
[표 5] connection_trace.txt
ad.trace, ad_svc.trace 파일의 특정 키워드를 검색해 파일 복사 이벤트, 클립보드 텍스트 복사 이벤트, 원격 연결 성공 이벤트를 확인할 수 있다. 또한, 공격자가 원격에서 시스템을 강제로 재부팅 할 경우, ad_svc.trace 파일에서 기록을 확인할 수 있다.
[표 6] ad.trace, ad_svc.trace - 키워드 검색 예시
ad.trace, ad_svc.trace 파일에서 AnyDesk에 연결하는 원격 IP를 찾기 위해 "Logged in from"라는 문자열을 검색한다. 이 로그는 AnyDesk에 연결하는 원격 IP를 파악할 수 있는 유일한 로그이다. [표 7]에서 원격 IP 주소는 “23.82.193.163”임을 확인할 수 있다.
[표 7] ad_svc.trace - “Logged in from” 문자열 검색
연결된 시스템에 대한 세부 정보를 확인하기 위해 ad.trace, ad_svc.trace 로그 파일을 확인한다. 로그를 통해 원격 연결 시스템의 사용자 이름이 hacker임을 알 수 있다.
[표 8] 원격 연결 시스템의 호스트 네임
아래 [표 9]에서는 원격 연결한 운영 체제 정보를 확인할 수 있다.
[표 9] 원격 연결한 운영 체제 정보
공격자는 사용자 pc에 의도적으로 취약한 AnyDesk 이전 버전을 설치하기도 하므로 ad.trace, ad_svc.trace 파일에서 AnyDesk 버전과 Windows 버전을 확인할 필요가 있다. [표 10]은 멀웨어 캠페인에 사용되거나 공격 과정에서 다운로드된 이전 버전의 AnyDesk와 관련된 CVE 목록이다.
[표 10] 공격에 사용된 AnyDesk CVE 목록
CVE-2020-35483의 경우, 공격자는 AnyDesk 폴더에 “악성 gcapi.dll” 파일을 덮어씌운 후, 읽기 전용 속성을 설정해 덮어쓰기를 방지하고 이 파일에 포함된 악성 코드를 실행한다. 사용자가 AnyDesk를 관리자로 실행하지 않는 한 코드는 일반 사용자 권한으로 실행된다. gcapi.dll은 [표 11]과 같이 실행 파일과 같은 위치나 Temp 폴더에서 확인할 수 있다. AnyDesk는 실행될 때 gcapi.dll 파일을 로드하려고 시도하기 때문에 브라우저 다운로드 디렉터리에서 실행되는 AnyDesk portable 버전에서 특히 위험하다.
[그림 5] AnyDesk 응용프로그램과 gcapi.dll 파일
[표 11] gcapi.dll 파일 경로
CVE-2021-40854의 경우, AnyDesk에 대한 GUI 액세스가 필요하다. 연결이 수락되면 “Open Chat Log” 링크를 클릭해 에스컬리에션된 권한으로 메모장을 연 후, “파일 > 열기”를 통해 모든 응용프로그램을 관리자 권한으로 실행할 수 있게 된다. AnyDesk는 Chat 윈도우와 원격 상호 작용을 차단하므로 원격으로는 이 취약점을 악용할 수 없다.
공격자는 시스템에서 파일이나 텍스트를 복사하여 붙여 넣을 수 있다. [표 12]를 보면, 시스템에서 파일을 복사한 로그를 확인할 수 있다. “files”와 “offer” 문자열을 이용해 파일 복사를 확인할 수 있다.
[표 12] ad.trace - “files”, “offer” 문자열 검색
[표 13]에서는 텍스트를 복사한 기록을 확인할 수 있다. 공격자는 이러한 방식으로 시스템에서 실행 파일의 base64 복사본, 민감한 데이터, ssh 키 등과 같은 전체 텍스트 파일을 복사할 수 있다.
[표 13] 텍스트 복사 기록
user.conf 파일은 공격자가 파일 전송을 시도한 경우에 유용하게 활용된다. 기본적으로 사용자 폴더 경로에 위치하며, AnyDesk에서 발생한 연결 이벤트, 오류 이벤트, 시스템 알림 이력을 확인할 수 있다. User.conf 파일에서도 연결 기록을 확인할 수 있지만, AnyDesk ID와 Desktop 버전을 사용할 때에만 확인 가능하다는 한계가 있다.
Sysmon Operational 이벤트 로그와 Security 이벤트 로그에서 AnyDesk의 명령줄 매개변수, 타임스탬프, 활동 내역 등을 확인할 수 있다.
[표 14] Sysmon Operational 이벤트 로그, Security 이벤트 로그 경로
cmd 정보는 Sysmon 이벤트 ID 1, Security 이벤트 ID 4688에서 확인할 수 있다. Conti Ransomware처럼 공격자는 원격 접근을 위해 AnyDesk를 자동으로 설치할 수 있다. 자동 설치와 패스워드를 통한 AnyDesk 원격 연결은 공격자의 행위가 EDR, XDR, AV에 기록되지 않아 사용자가 알기 어렵다.
AnyDesk는 사용자 동의 없이 패스워드만으로도 원격 제어를 가능하게 하므로 공격자에게 널리 쓰이는 원격제어 프로그램 중 하나이다. 공격자는 무차별 대입 공격(Brute Forcing)과 사전 공격(Dictionary Attack)을 이용해 취약한 비밀번호를 탈취해 악용할 수 있다. 이러한 방식 외에도 AnyDesk의 이전 버전을 설치해 취약점을 공격할 수도 있다.
따라서 보안 관리자들은 추측하기 어려운 복잡한 비밀번호를 사용해야 하며, 최신 버전을 사용해 취약점 공격을 방지해야 한다. 외부에 공개되어 접근할 수 있는 데이터베이스 서버 등의 경우 FW, IPS, WAF와 같은 보안 제품을 이용해 외부 공격자로부터 접근을 통제해야한다.
[1] Digital Forensic Artifact of AnyDesk Application
https://medium.com/mii-cybersec/digital-forensic-artifact-of-anydesk-application-c9b8cfb23ab5
[2] AnyDesk Forensic Analysis and Artifacts
https://hatsoffsecurity.com/2022/02/28/anydesk-forensic-analysis-and-artefacts/
[3] Conti Secrets Hacker’s Handbook Leaked
https://blog.cyble.com/2021/08/06/conti-secrets-hackers-handbook-leaked/
보안관제센터 MIR Team