테크레시피

이란 철도 시스템 정지시킨 악성코드, 정체는?

지난 7월 9일(현지시간) 와이퍼형 악성코드에 의한 공격으로 이란 철도 시스템이 중단됐다. 메테오익스프레스(MeteorExpress)로 명명한 이 악성코드를 조사한 보안 기업 센티널랩스(SentinelLabs)는 지금까지 본 적이 없는 악성코드를 포함한 사이버 킬체인 대부분을 재구축할 수 있었다고 보고하고 있다.

메테오익스프레스를 이용한 공격을 받은 이란은 교통부 웹사이트로 열차 운행을 중지한다. 역 전광판에 사이버 공격에 의한 장시간 지연이라는 문자와 문제가 된 자세한 내용은 이곳에서 확인하라며 이란 최고 지도자 사무실 전화번호를 표시한 것이다.

이란 보안 연구자 분석을 바탕으로 센티널랩스가 분석에 나서 공격자는 RAR 아카이브 다양한 배치 파일을 함께 구축한 CAB 파일을 배포해 파일 시스템을 암호화해 MBR을 손상시키고 시스템을 잠갔다고 밝혔다.

초반 윈도 전력 효율 진단 디렉터리에 존재하는 요소(AnalyzeAll)를 삭제한다. 이 배치 파일은 이란 철도 네트워크 공유 CAB 파일을 통해 초기 구성 요소를 복사하는 역할을 한다. CAB 파일이 전개되고 매개변수(hackemall)와 연관된 경로에 실행파일(env.exe)로 업데이트 배치파일(update.bat)을 실행한다.

이후 배치 파일은 압축파일(WinRAR)을 이용해 추가 구성 요소(programs.rar, bcd.rar, ms.rar)를 풀어 실행(hackemall)시키며 구성 요소는 사용 즉시 삭제되도록 설계되어 있다. 이 시점 스크립트는 여러 분기를 시작한다. 첫째는 파워셸(PowerShell)을 이용해 후속 스크립트에 대한 장애물을 제거하고 다른 파일(cache.bat)은 감염된 장치를 네트워크에서 분리한 바이러스 백신 소프트웨어 카스퍼스키 안티바이러스(Kaspersky Anti-Virus)가 설치되어 있는지 여부를 확인하고 윈도 디펜더(Windows Defender) 제외를 설정한다.

이어 파일(boot.ini)을 덮여 씌워 네이티브 명령(bcdedit)으로 부팅 옵션을 나열하고 각각 제거한다. 이렇게 하면 공격자는 기본 명령어(wevtutil)를 이용해 보안 시스템 이벤트 로그를 삭제한다. 마이크로소픝 도구에서 유닉스나 리눅스 싱크 명령에 해당하는 명령을 실행해 파일 시스템 데이터 캐시를 디스크에 기록하고 이 때 메테오를 실행 가능한 파일(msrun.bat)을 호출한다.

다음으로 화면 잠금형 악성 코드 등 여러 요소를 필요 위치로 이동시킨다. 배치파일(msrun.bat)은 mstask를 만들고 메테오를 실행하도록 예약한다.

메테오가 가능한 공격은 모든 사용자 암호를 변경하고 화면 보호기를 비활성화하고 복구 모드를 비활성화하는 것 등이 있지만 알 수 없는 이유로 대부분은 이번 공격에서 실행되지 않았다.

메테오익스프레스 개발자는 중복 코드를 사용하고 있으며 코드 구성에 실패한 것으로 내부 테스트에 사용되는 첫 디버그 문자열을 해결하지 않고 컴파일한 것 같다고 지적하기도 한다. 또 사이버 공간 분쟁에서 대담한 공격이 증가하고 있다. 이번 공격자 기술 수준은 중급이지만 운용한 구성 요소는 초보적인 것에서 고급까지 다양하다. 서로 다른 구성 요소 사이에 중복이 있기 때문에 팀간 제대로 공유되지 않은 것 같다고 밝히고 있다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사