‘이반티 보안 VPN’ 제로데이 취약점 ‘경계령’
‘이반티’사 등 보안업체들 “중국발 공격자, 자격증명 도용” 경고 VPN 웹 구성 요소에 ‘인증 우회 취약점’, ‘명령 삽입’ 등 2가지 취약점
[애플경제 김향자 기자] 전세계적으로 보급된 보안업체 이반티(Ivanti)의 VPN 솔루션인 ‘Ivanti Secure VPN’(이반티 VPN)의 제로데이 취약점이 발견되었다. 이로 인해 특히 중국에 본거지를 둔 사이버 공격자들이 시스템을 침해할 수도 있다는 지적이다.
취약점에 노출된 ‘이반티 VPN’ 어플라이언스의 절반 정도는 미국에 있으며 일본과 독일이 그 뒤를 잇고 있다. 국내에서도 상당수 보급되어 있어 주의가 필요하다.
최근 해외 보안매체와 기술매체를 종합하면, 전 세계 기업들이 널리 사용하는 ‘이반티 VPN’에서 2개의 제로데이 취약점이 발견되었다. “이 취약점은 현재 ‘UTA0178’이라고 불리는, 한 명 또는 다수의 중국에 근거지를 둔 사이버 공격자에 의해 악용되고 있다”는게 ‘사이버린트’의 경고다.
이들 두 가지 취약점이 연결되어 있으면, 모든 공격자가 인증 없이 원격 코드를 실행하고 영향을 받는 시스템을 손상시킬 수 있는 것으로 전해졌다.
“공격자, 인증 없이 원격 코드 실행, 손상”
‘이반티’사는 14일 ‘Ivanti Connect Secure’(종전 ‘펄스 Connect Secure’)와, ‘Ivanti Policy Secure Gateways’ 등 모든 VPN 버전에 영향을 미치는 2개의 제로데이 취약점인 ‘CVE-2023-46805’, ‘CVE-2024-21887’에 대해 공식적으로 보안 권고를 하고, 이에 대응하는 기술 자료를 공개했다.
‘CVE-2023-46805’는 이들 2개의 VPN 버전의 웹 구성 요소에 있는 ‘인증 우회 취약점’이다. 이를 통해 공격자는 제어 검사를 우회, 제한된 리소스에 액세스할 수 있다.
‘CVE-2024-21887’은 2개의 VPN 버전의 웹 구성 요소에 명령을 삽입하도록 하는 취약점이다. 이를 통해 인증된 관리자는 특별히 제작된 ‘요청’을 보내고, 어플라이언스에서 임의의 명령을 실행할 수 있다. 그러나 인터넷을 통해 악용될 수 있다.
이 두 가지 취약점을 결합하면 공격자가 영향을 받는 어플라이언스에서 명령을 실행할 수 있게 된다.
‘테크리퍼블릭’은 프랑스의 사이버 보안 검색 엔진인 ‘ONYPHE’를 인용, “세계적으로 29,664개의 ‘Ivanti Secure VPN’ 어플라이언스가 인터넷에 연결되어 있다”면서 “노출된 시스템의 40% 이상이 미국에 있으며, 일본(14.3%)과 독일(8.48%)이 그 뒤를 따른다”고 했다. 취약점을 이용한 중국발 사이버 공격이 본격화되면, 그 만큼 세계 각국에서 광범위한 피해가 발생한다는 얘기다.
어플라이언스 파일 수정, 자격증명 도용 위한 웹셸 배포
미국의 사이버 보안 회사 볼렉시티(Volexity)사도 보안 조사 과정에서 이들 2가지 취약점을 모두 발견한 후 그 수법을 상세히 공개했다. 이에 따르면 공격자는 ‘이반티 VPN’ 어플라이언스에 있는 여러 파일을 수정한 것으로 나타났다. 또한 시스템의 임시 폴더(/tmp)에서 다수의 파일(/tmp/rev, /tmp/s.py, /tmp/s.jar, /tmp/b, /tmp/kill)이 생성되거나, 사용 또는 실행되었다고 한다.
특히 “s.py로 추정되는 파이썬 기반의 프록시 유틸리티인 ‘PySoxy’가 디스크 이미지에서 발견되었다”면서 “이는 인터넷에서 무료로 사용할 수 있는 ‘SOCKS5’ 프록시 스크립트”라고 전했다.
볼렉시티사가 ‘UTA0178’로 명명한 공격자는 주로 손상된 자격 증명을 사용하는 것으로 알려졌다. 시스템 간의 이동을 위해 도용된 자격 증명을 허용하도록 웹셸과 수정된 파일을 배포하는 수법이다. 또 “공격한 모든 시스템에서 자격 증명을 계속 수집했으며, ‘Active Directory’ 데이터베이스의 전체 이미지를 덤프하는 것이 관찰되었다”고 덧붙였다.
공격자는 특히 VPN 어플라이언스에 제공된 모든 자격 증명을 캡처하기 위해 웹 로그인 페이지에 로드된 자바스크립트를 수정했다. 자격 증명을 훔치기 위해 합법적인 ‘lastauthserverused.js’ 스크립트를 공격자가 제어하는 도메인 ‘Symantke(.)com’으로 보내도록 수정되었다.
이렇게 자격 증명을 확보한 위협 행위자는 네트워크를 탐색, 사용자 파일과 구성 파일을 살펴보고, ‘GLASSTOKEN’이라는 사용자 지정 웹셸 등 다수의 웹셸을 네트워크에 배포했다.
이때 공격자는 약간 다른 두 가지 버전으로 ‘GLASSTOKEN’ 웹셀을 배포하는 것으로 밝혀졌다.
첫 번째 버전에는 요청에 제공된 매개변수에 따라 2개의 코드 경로가 포함되어 있다. 첫 번째 경로는 연결을 중계하는 데 사용되는 반면, 두 번째 경로는 ‘base64’로 디코딩되기 전에 16진수에서 디코딩된 코드를 실행하는 데 사용된다. 볼렉시티사에 따르면 공격자는 이를 주로 파워셀 명령을 실행하는 데 사용했다.
웹셸의 두 번째 버전은 프록싱 기능이 누락되어 코드 실행만 허용한다는 점을 제외하면 첫 번째 버전과 유사하다.
전문가들 “철저한 네트워크 트래픽 분석” 주문
볼렉시티사는 이에 “VPN 어플라이언스의 아웃바운드 트래픽을 주의 깊게 분석하면 의심스러운 활동을 탐지할 수 있다”면서 “‘pulsesecure.net’ 및 기타 고객 관련 구성 통합(SSO, MFA 등)에 대한 합법적인 연결 외에도 의심스러운 활동을 분석해야 한다”고 철저한 네트워크 트래픽 분석을 주문하고 있다.
이에 따르면 공격자는 원격 웹사이트에 대한 컬 요청, 원격 IP 주소에 대한 SSH 연결, 공급자 또는 장치 업데이트와 연결되지 않은 호스트에 대한 암호화된 통신 등을 구사한다. 그러므로 “VPN 어플라이언스와 연결된 IP 주소의 인바운드 네트워크 트래픽에 대한 활동도 주의 깊게 확인해야 한다”면서 “이를 통해 내부 시스템에 대한 RDP 또는 SMB 활동, SSH 연결 시도 또는 포트 검색 등을 발견할 수 있다”고 전했다.
VPN 장치 로그 분석도 중요하다. “VPN 어플라이언스 로그 파일이 지워졌거나 비활성화되었다는 표시는 이전에 활성화된 경우 손상을 나타내는 강력한 지표”라는 것이다. 공격자가 일반 폴더 외부에 파일을 저장하거나 조작할 수 있으므로, 로그의 비정형 경로에 있는 파일에 대한 요청도 고려하고 분석해야 한다는 주문이다.
빌드 내 무결성 검사 도구를 사용, 자동으로 실행하되, 새 파일이나 일치하지 않는 파일을 검색할 수도 있다. 볼렉시티사는 “새 파일이나 일치하지 않는 파일이 나열되면 장치가 손상된 것으로 간주해야 한다”고 조언했다.
이반티사도 시스템이 손상된 것으로 의심되는 경우에 사용해야 하는 무결성 검사 도구의 외부 버전을 제공하고 있다. 이 도구는 시스템에서 모든 포렌식 증거(특히 메모리 이미지)를 수집한 후에만 설치하고 실행해야 한다. “도구를 먼저 실행하면 어플라이언스가 재부팅되고 증거 데이터가 ‘덮어쓰기’ 될 수 있기 때문”이란 얘기다.
이반티사도 일단 패치가 제공될 때까지 공격 완화 방법을 제공하고 있다. 이반티사는 “1월 22일부터 첫 번째 버전을 고객에게 제공되는 것을 목표로 하며, 최종 버전은 2월 19일 이후 제공할 계획”이라고 밝혔다. 그때가 되면 사용자들은 포털을 통해 ‘ mitigation.release.20240107.1.xml’ 파일을 다운로드하면 된다.