Industry Issue

공격자가 원격 데스크톱 연결을 악용하는 방법 및 6가지 사이버 위협 대응 팁

Cyber Security
작성자
관리자
작성일
2024-03-08 11:13
조회
62

공격자가 원격 데스크톱 연결을 악용하는 방법 및 6가지 사이버 위협 대응 팁



몇 달 전 신종 코로나바이러스 사태로 재택근무가 필요해지자 원격 액세스 시스템이 없는 기업은 해당 시스템 구축에 몰두해야 했습니다. 이러한 대규모 원격 근무 전환에 대비해 왔던 IT 조직은 많지 않았습니다. 그렇다 보니 잘못된 구성, 안전하지 않은 원격 액세스 프로토콜에 대한 사용, 취약하다고 알려진 오래된 소프트웨어와 섀도우 IT(shadow IT)의 설치 등으로 인한 보안 결함이 만연하게 되었습니다.

일부 기관은 이미 이러한 실수가 초래한 결과 때문에 힘들어 하고 있으며, 다른 기관은 현재로서는 큰 피해 없이 이러한 문제들을 헤쳐 나오기도 했습니다. 하지만, 결과적으로 보안 결함의 영향을 받았든 받지 않았든, 올바른 결론을 내려야만 할 때입니다.

올해 초부터 원격 재택근무를 전면 허용하는 기업들이 급증하는 추세입니다. 장기적 혹은 영구적으로 재택근무(working from home, WFH) 및 원격 근무를 허용하는 기업들이 꾸준히 늘고 있습니다.

원격 액세스를 위해 일반적으로 사용되는 방법으로는 VPN, RDS 및 VNC 등이 있습니다. 각 방식은 적절한 용도가 정해져 있으며, 올바른 사용 범위를 넘어서서 이용할 경우 심각한 보안 위험을 초래할 수 있습니다.  관리자가 선택할 수 있는 툴(tool)은 수없이 많지만, 회사에서 필요로 하는 아키텍처와 활용 범위를 만족하는 솔루션을  선택을 해야 합니다.

본 블로그는 구축 용이성 등의 장점에 힘입어 업무환경에서 매우 일반적으로 사용되는 원격 데스크톱 프로토콜/서비스(Remote Desktop Protocol/Services, RDP/RDS) 보안에 대해 집중적으로 알아보고자 합니다. 익히 알려져 있는 원격 데스크톱 서비스/프로토콜(RDS/RDP)의 취약점에 대한 개요를 읽어보고 나서 액티브 디렉터리(Active Directory)를 기반으로 하는 네트워크 인프라에 대한 공격 시나리오 몇 개와 주요 완화 전략 몇 개를 확인해 보시기 바랍니다. 이 정보가 실수를 피하면서 귀사의 보안을 강화하는 데 도움이 되었으면 하는 바람입니다.

최근 발표된 RDS/RDP의 취약점

사이버 범죄자, 특히 랜섬웨어 제작자는 원격 액세스의 취약점에 빈틈없이 대응하면서 언제든 습격할 준비를 갖추고 있습니다. 제로데이(zero-day) 취약점은 상당히 광범위하다고 알려져 있는데, 그 이유는 아직 패치가 만들어지지 않았기 때문입니다. 원격 데스크톱 서비스(RDS)는 널리 사용되기는 하지만, 익히 알려져 있는 치명적 취약점을 갖고 있습니다. 다음은 마이크로소프트(Microsoft)가 최근 발표한 RDS의 취약점을 간략히 요약한 것입니다.

CVE-2019-0787

이 취약점은 악성 서버에 연결하는 사용자에게 문제를 일으킬 수 있습니다. 공격자는 사용자의 기기를 제어하거나 해당 시스템에 거점을 확보함으로써 원격 액세스를 지속적으로 유지할 수 있습니다.

CVE-2019-1181 / CVE-2020-0609 / CVE-2019-1182

이러한 취약성은 인증되지 않은 공격자가 취약점들을 악용해 RDS를 실행하는 서버의 원격 코드 실행을 중단시킬 수 있습니다.  단지 특수하게 조작된(사용자를 속일 수 있도록) 요청만 있으면 됩니다.  이러한 결함은 자기 복제를 통해 동일한 네트워크 내 다른 컴퓨터로 확산하는 악성코드인 컴퓨터 웜(computer worm)을 만드는 데에도 사용될 수 있습니다. 간단히 말해서, 이러한 취약점은 엔터프라이즈 네트워크 전체를 위험에 빠뜨릴 수 있습니다. 유일한 해결책은 패치가 배포되는 즉시 소프트웨어 보안 업데이트를 적용하는 것입니다.

원격 액세스 소프트웨어는 연구하는 사람들과 사이버 범죄자 모두에게 큰 관심을 끌었습니다. 그리고 우리는 원격 엑세스와 관련된 새로운 허점을 발견할 수 있을 것입니다.  그나마 다행인 것은 모든 취약점이 공개적인 익스플로잇(exploit)으로 이어지는 것은 아니라는 점입니다. 우려되는 부분은 노련한 사이버 범죄자들이 취약점 정보 또는 패치 디핑(Patch Diffing)과 같은 방법을 통해 익스플로잇을 활용할 수 있는 충분한 전문지식을 이미 보유하고 있을 수 있다는 점입니다. 그런 의미에서, 기업들은 정기적으로 소프트웨어를 업데이트하고, 새로 나온 취약점 보고서를 빠짐없이 챙기고, 취약한 소프트웨어로 인한 위협을 방지하거나, 최소화하기 위해 최소 권한 원칙(principle of least privilege, POLP)을 시행하고, 파일 없는 공격에 대한 보호를 제공하는 고급 응용프로그램 통제수단을 적용할 것을 강력히 권고합니다.

원격 데스크톱 공격 벡터

다음은 액티브 디렉터리를 기반으로 하는 네트워크 인프라에 초점을 맞춘 공격의 일반적 논리에 대해 살펴보겠습니다.  아래의 기법들은 다음과 같은 침입자에 해당됩니다. 원격 데스크톱 게이트웨이, 즉 단말 서버에 대한 액세스 권한이 있는 유효한 사용자 계정을 가진 공격자입니다. 참고로 단말 서버는 외부 네트워크에서 액세스 할 수 있습니다. 이러한 방법을 활용함으로써 공격자는 공격 표면을 확장하고 지속성을 유지할 수 있게 됩니다. 해당 네트워크 구성은 시나리오별로 다를 수 있는 반면 아래의 기법들은 거의 공통적입니다.

제한된 쉘 환경 이스케이프 및 권한 에스컬레이션(권한 상승)의 예

원격 데스크톱 게이트웨이에 액세스하려고 시도할 때, 공격하는 상대방은 일종의 제한된 환경에 직면하게 될 가능성이 높습니다. 어플리케이션은 연결 설정의 일환으로 단말 서버에서 실행됩니다. 그것은 로컬 리소스, 파일 탐색기(이전의 윈도우 탐색기), 오피스 패킷 또는 기타 소프트웨어에 대한 원격 데스크톱 프로토콜 연결 통로일 수 있습니다.

공격자의 목표는 명령 프롬프트(CMD) 또는 파워쉘(PowerShell) 스크립트를 실행할 수 있도록 명령 실행 방법에 액세스하는 것입니다. 윈도우(Windows) 샌드박스를 피하기 위한 몇 가지 대표적인 기법들이 있습니다. 이런 트릭에 대해 자세히 살펴보도록 하겠습니다.

시나리오 1. 공격자가 원격 데스크톱 게이트웨이 내 원격 데스크톱 연결 인터페이스에 액세스 할 수 있다고 가정합니다.

첫 번째 단계는 “옵션 보기” 메뉴를 여는 것입니다. 메뉴를 열면 연결 구성 파일을 관리하기 위한 옵션들이 나열됩니다.  이 화면에서 파일 탐색기에 쉽게 액세스 할 수 있습니다(“열기” 또는 “저장” 버튼을 클릭하기만 하면 됩니다).

파일 탐색기가 열리면 주소 표시줄에서 허용된 실행 파일을 실행할 수 있으며 파일 시스템 계층 구조도 표시할 수 있습니다. 이는 시스템 드라이브가 숨겨져 있어 공격자가 직접 접근할 수 없는 경우, 유용할 수 있습니다.

이와 같은 시나리오는 마이크로소프트 오피스(Microsoft Office) 패키지 중 엑셀의 구성요소가 원격 애플리케이션으로 사용될 때 재연될 수 있습니다.  또한 MS 오피스 매크로는 공격용으로 잘못 다뤄질 수 있는, 취약하기로 악명 높은 링크입니다.

시나리오 2. 공격자가 시나리오 1과 동일한 액세스 권한을 갖고 있으며, 동일한 계정으로 여러 개의 원격 데스크톱 연결을 연다고 가정합니다. 두 번째로 연결을 시도할 경우, 첫 번째 연결이 닫히면서 화면에 오류 메시지가 나타납니다. “도움말” 버튼을 클릭하면 인터넷 익스플로러(Internet Explorer, 이하 IE)가 서버에 표시되고, 이를 통해 범죄자는 파일 탐색기에 액세스할 수 있게 됩니다.

시나리오 3.   실행 파일 실행 기능이 제한될 경우, 공격자는 그룹 정책이 명령 프롬프트(cmd.exe) 트리거를 허용하지 않는 상황에 직면할 수 있습니다. 이런 경우 cmd.exe /k <명령 이름>과 같은 문자열이 포함된 원격 데스크톱에서 배치파일(.bat)을 실행하여 이 상황을 피할 수 있는 방법이 있습니다.

시나리오 4.  실행 가능한 블랙리스트를 사용하여 특정 애플리케이션을 차단하는 것은 궁극적으로 효과적이지 못하며 우회할 수 있는 방법도 있습니다.

관리자가 명령줄 도구에 대한 액세스를 차단하고 IE 및 파워쉘이 실행되지 않도록 그룹 정책을 구성한 상황을 살펴보도록 하겠습니다. 공격자가 Shift 키를 누른 상태에서 열린 Modal Window의 상황에 맞는 메뉴를 통해 파워쉘을 실행하려고 시도합니다. 하지만 운이 따라주지 않습니다. 그런 다음 공격자는 주소 표시줄을 통해 파워쉘을 실행하려고 시도하나 또다시 실패하고 맙니다. 그렇다면 공격자는 어떻게 액세스 제한을 우회할 수 있을까요?

C:\Windows\System32\WindowsPowerShell\v1.0 폴더에서 파워쉘(PowerShell.exe)을 사용자 디렉터리로 복사하고, 파일명을 PowerShell.exe에서 다른 이름으로 변경하면 바로 실행이 가능합니다.원격 데스크톱 연결의 기본 설정은 클라이언트의 로컬 드라이브에 대한 액세스를 허용합니다. 공격자는 그 로컬 드라이브에서 파워쉘을 복사한 뒤 파일명을 바꾼 다음 실행할 수 있습니다. 블랙리스트에 포함되지 않은 폴더가 있어 접속이 가능한 경우도 많습니다.
또한 회사에서 배포한 컴퓨터인 경우, 일부 소프트웨어 개발자들이 실행되거나 심지어 수정할 수도 있는 스크립트 몇 개를 남겨두었을 가능성이 높습니다. 필자는 그러한 스크립트를 여러 번 보았습니다. 심지어 그것들 중 일부는 도메인 관리자의 권한으로 실행될 수도 있습니다. 다시 정리하자면, 블랙리스트는 침입을 방지하기 위한 해결책이 아닙니다.

원격 데스크톱 연결을 보호하는 방법

기존의 방어물을 피해 권한 에스컬레이션 공격을 수행하기 위한 시나리오는 한둘이 아닙니다. 공통적인 것은 공격의 초기 단계에 공격자가 파일 탐색기에 액세스한다는 것입니다. 수많은 타사 애플리케이션이 기본 윈도우 파일 관리 도구를 사용하고 있고, 이러한 애플리케이션이 제한된 환경에서 작동하는 한 유사한 기법이 적용될 가능성이 높습니다.

제한된 환경에서도 공격을 지휘할 수 있는 옵션은 많이 있습니다. 잠재적인 침입자에 대한 기대치를 높일 필요가 있습니다. 다음은 원격 데스크톱 연결을 악용한 공격을 막는 데 도움이 되는 6 가지 팁입니다.

1. 그룹 정책을 사용하여 애플리케이션의 화이트리스트(허용목록) 및 블랙리스트(차단목록)를 지정하십시오. 그러나 임의의 코드 실행이 가능하도록 하는 몇 가지 허점은 여전히 남아 있습니다. 파일을 조작하고 시스템에서 코드를 실행하는 문서화되지 않은 방법에 대한 아이디어를 얻으려면 자급자족식 공격(Living Off The Land Binaries And Scripts, LOLBAS) 프로젝트에 익숙해져야 합니다. 그러기 위해서 다양한 유형의 제한을 결합하는 것이 좋습니다. 예를들어, 명령 프롬프트(cmd.exe)의 사용은 제한하면서 마이크로소프트 서명 실행 파일은 허용할 수도 있습니다.

2. 인터넷 익스플로러(IE)에서 설정 탭을 비활성화(레지스트리를 통해 로컬에서 수행 가능)하십시오.

3. 레지스트리 편집기(Regedit)를 사용하여 기본적으로 제공되는 윈도우 도움말 기능이 열리지 않도록 하십시오.

4. 귀사에서 필요하지 않은 경우, 원격 연결을 위한 로컬 드라이브 마운트 옵션을 비활성화하십시오.

5. 원격 데스크톱의 로컬 드라이브에 대한 액세스를 제한하고, 사용자 폴더에만 액세스할 수 있도록 하십시오.

6. 관리자 권한을 제거하고, 권한 접근 관리(privileged access management, PAM)와 같은 최소 권한솔루션을 사용함으로써 도메인 관리자 또는 기타 슈퍼유저 권한 없이 효과적인 윈도우 관리를 가능케 합니다.

이러한 공격으로 인해 고통받고 있는 환경은 마이크로소프트만이 아닙니다. 애플 맥OS 네트워크의 경우도 원격 데스크톱과 관련된 랜섬웨어 공격이 급증했습니다.

 

원문 게시일: 2020.07.21

원문 기고자: David Balaban

출처: https://www.beyondtrust.com/blog/entry/how-attackers-exploit-remote-desktop-6-ways-to-step-up-your-cyber-defense

/about-us/inquiry/
https://www.youtube.com/@softflow2018
https://blog.naver.com/softflow_group
#