[보안뉴스 원병철 기자] 최근 국내 의료 기관에서 사용 중인 PACS(Picture Archiving and Communication System) 서버를 공격한 사례가 확인돼 관계기관의 주의가 요구된다. 안랩 ASEC 분석팀에서는 취약한 서버를 대상으로 유포 중인 악성코드를 모니터링 하던 중 이와 같은 공격을 확인했다고 밝혔다.
[이미지=utoimage]
PACS는 환자의 의료 영상을 디지털로 관리하고 전송하는 시스템으로써 병원에서 의료 영상을 시공간 제한 없이 조회하고 판독하기 위해 사용하는 시스템이다. 현재 많은 병원에서 PACS를 사용하며, 이 PACS 시스템에는 여러 전문 업체가 있어 의료기관에 따라 사용하는 PACS 제품이 다를 수 있다.
▲‘dcm4che’ 공식 홈페이지[자료=안랩 ASEC 분석팀]
이번 확인된 사례는 ‘dcm4che‘라 불리는 JAVA 기반의 오픈 소스 애플리케이션을 사용해 서버를 구축한 제품에 대한 공격 사례다. dcm4che는 의료영상처리를 지원하는 도구로 의료 영상 이미지 변환 및 관리를 도와주는 오픈 소스 프로그램이다. 이는 관리를 위해 웹 인터페이스를 제공하며 PACS 서버를 쉽게 구축할 수 있도록 도와준다. 이때 사용되는 웹 컨테이너가 JBoss 애플리케이션이다. 공격자는 ‘JexBoss‘ 라는 툴을 이용해 JBoss 애플리케이션의 취약한 서버를 대상으로 공격했다.
▲쇼단으로 확인된 취약한 JBoss 애플리케이션 서버[자료=안랩 ASEC 분석팀]
JexBoss(JBoss Verify and EXploitation tool)는 깃허브에 공개되어 있는 취약점 공격 도구이다. 그 대상으로는 JBoss 애플리케이션 서버를 포함해 다양한 자바 플랫폼, 프레임워크, 애플리케이션들이 있다. JexBoss는 이러한 자바 기반 환경에 대한 취약점 스캐닝을 지원하며 나아가 취약한 것으로 확인될 경우에는 이를 공격해 웹쉘을 설치하여 해당 시스템에 대한 제어를 획득할 수 있다.
▲JexBoss 깃허브[출처=JexBoss 깃허브, 자료=안랩 ASEC 분석팀]
오픈소스이다 보니 그 접근성으로 인해 JexBoss는 실제 다양한 공격자들에 의해 사용되고 있다. 예를 들어 2016년경 SamSam 랜섬웨어 공격자 그룹이 취약점이 패치되지 않은 JBoss 서버를 공격해 랜섬웨어를 설치한 사례가 존재한다.
이번 확인된 사례는 공격자가 JexBoss를 이용해 웹쉘을 설치한 후, 정찰 과정을 거쳐 최종적으로 미터프리터 백도어를 설치했다. 이는 디폴트로 설정된 계정정보를 변경하지 않은 JBoss 환경이나 취약점 패치가 이루어지지 않은 과거 버전이 아직까지 사용될 경우 공격자가 JexBoss 툴을 이용해 해당 시스템을 장악할 수 있다. JexBoss는 전달받은 주소에 대해 스캐닝한 후 다음과 같이 결과를 보여주며 간단하게 웹쉘 설치 과정까지 진행할 수 있다.
▲JexBoss를 이용해 웹쉘을 설치하는 로그[출처=exBoss 깃허브, 자료=안랩 ASEC 분석팀]
공격자는 JexBoss를 이용한 스캐닝 이후 그 결과를 기반으로 취약점 공격을 진행할 수 있다. 다음은 JexBoss에서 지원하는 취약점 공격을 통해 공격 대상 시스템에 웹쉘을 설치하는 과정에 대한 안랩 ASD 로그이다. 취약한 ‘javaservice.exe‘ 프로세스가 JexBoss에서 제공하는 URL에서 웹쉘을 설치하는 로그가 확인된다. 참고로 war 파일은 자바 웹 애플리케이션 파일로서 웹쉘(WebShell)은 war 파일 내부에 존재한다.
▲JexBoss에 의해 웹쉘이 설치되는 로그[자료=안랩 ASEC 분석팀]
JSP로 만들어진 웹쉘은 윈도우 및 리눅스 환경에 따라 ‘cmd.exe’ 또는 ‘bash’를 이용해 공격자로부터 전달받은 명령을 감염 시스템에서 실행하는 기능을 담당한다.
▲감염 환경에 설치된 JSP 웹쉘[자료=안랩 ASEC 분석팀]
웹쉘 설치가 끝나고 공격자는 명령어를 입력했다. 먼저 net 명령을 이용해 감염 환경에서 사용자 계정 목록을 구하고 ‘smoke’라는 이름의 사용자를 제거했다. 이후 tasklist 명령을 이용해 현재 실행 중인 프로세스의 목록을 확인했다. 또한, 공격자는 미터프리터(Meterpreter)를 설치하기 위해 또 다른 시도를 했다. 이는 certutil.exe를 악용해 PE(실행파일) 및 PowerShell 형태의 메타스플로잇 Stager를 다운로드한 로그이다.
‘de4444.exe’는 메타스플로잇 Stager로서 C&C 서버에 접속하여 메모리상에 미터프리터 페이로드를 다운로드해 실행하는 PE 포맷의 악성코드다. Stager를 이용하면 실제 백도어 기능을 담당하는 페이로드를 필요할 때 다운로드할 수 있기 때문에 단순한 형태를 갖으며 작은 사이즈만으로 공격에 사용될 수 있다.
▲미터프리터를 다운로드하는 Stager 악성코드(de4444.exe)[자료=안랩 ASEC 분석팀]
현재 ‘w.ps1’는 확인되지 않지만 안랩 ASD 로그 상 파워쉘 형태의 스테이저로 추정된다는 게 ASEC 분석팀의 설명이다. 이는 PE 포맷의 스테이저와 기능은 실질적으로 동일하기 때문에 미터프리터는 powershell.exe 프로세스의 메모리상에서 실행된다. 다음은 파워쉘 프로세스에 로드된 미터프리터가 winlogon 프로세스에 인젝션되어 C&C 서버와 통신하는 로그이다.
▲미터프리터 ASD 로그[자료=안랩 ASEC 분석팀]
미터프리터는 백도어 악성코드로서 명령제어(C&C) 서버로부터 공격자의 명령을 전달받아 악의적인 기능들을 수행할 수 있다. 즉, 미터프리터 악성코드의 설치까지 완료되면 공격자는 메타스플로잇 프레임워크를 이용해 감염 시스템에 대한 제어를 완전히 획득할 수 있다.
안랩 ASEC 분석팀은 “관리자는 디폴트로 설정된 계정 정보를 변경해야 하며, 서버 구성 환경이 취약할 경우 최신 버전으로 패치해 기존에 알려진 취약점으로부터 사전에 방지해야 한다”면서, “또한 외부에 공개된 서버의 경우 보안 제품을 통해 외부인으로부터의 접근을 통제할 필요가 있다”고 조언했다.
[원병철 기자(boanone@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>