파일리스 형태의 매그니베르 랜섬웨어 사전방어 (V3 행위탐지)

파일리스 형태의 매그니베르 랜섬웨어 사전방어 (V3 행위탐지)

작년(2018년) 안랩 분석팀에서 제작한 매그니베르(Magniber) 복구툴 배포 이후, 매그니베르는 파일리스(Fileless) 형태로 복구가 불가능하게 변경되었다. Fileless 형태로 유포 중인 매그니베르는 행위탐지를 우회하고, 성공적인 파일 암호화를 위하여 (감염 시스템의)권한이 있는 불특정 프로세스에 무차별 인젝션을 수행하게 진화하였다. 이러한 기법을 통해 랜섬웨어 행위의 주체가 감염 시스템의 실행 중인 정상 프로세스가 되고, 해당 프로세스를 종료해도 다른 프로세스에 의해 랜섬웨어 행위가 재

[주의] 국세청 사칭 악성 메일 대량 유포 (Ammyy, CLOP)

[주의] 국세청 사칭 악성 메일 대량 유포 (Ammyy, CLOP)

2019년 5월 30일 오전 국세청을 사칭한 국내 기업 타겟 악성코드가 대량 유포되어 사용자의 주의가 필요하다. 국세청 세금계산서로 위장하여 스팸 메일이 발송되었고, 첨부 된 .html 파일은 악성 엑셀 파일(xls)을 다운로드 하는 기능이 있다. 기존에는 메일에 xls파일을 첨부하여 유포하였다면, 이번엔 스크립트(html)를 첨부해 이를 통해 xls 을 다운로드 하는 방식으로 변경되었다. [그림 1] 국세청

[주의] 국내 기업을 대상으로 대량 유포되는 엑셀 파일 분석 – Ammyy 원격제어 백도어와 Clop 랜섬웨어 유포

[주의] 국내 기업을 대상으로 대량 유포되는 엑셀 파일 분석 – Ammyy 원격제어 백도어와 Clop 랜섬웨어 유포

최근 국내에서 가장 이슈가 되는 타겟형 공격은 기업을 대상으로 유포되고 있는 Ammyy 원격제어 백도어와 이를 통해 설치되는 Clop 랜섬웨어이다. 백도어 파일은 온라인에 공개되어 있는 Ammyy 원격제어 프로그램의 소스를 이용하여 제작되었고, 이를 공격 대상 PC에 심어 놓은 후 원격으로 시스템에 접근한다. 공격자가 장악한 시스템에서 최종 실행하고자 하는 악성 파일은 Clop 랜섬웨어이다. 특징적으로 이 공격은 유포과정에서 공격 대상 PC가 도메인 컨트롤러를 이용하고 있는 AD(Active Directory) 서비스 구조에 있는 사용자인지 여부를 확인한다. 맞을 경우에만 이후 전파 과정을 진행하는데, 이는 일반적으로 사용자를 도메인으로 구성해서 시스템을 운영하는 기업을 공격 대상으로 한다는 것을 의미한다. 기업 사용자를 타겟하여 설치되는 해킹툴 Ammyy (CLOP 랜섬웨어) 해킹툴 Ammyy를 이용한 CLOP 랜섬웨어 유포(?) 국내 사용자를 대상으로 유포 중인 악성 Excel 문서 파일 문제는 공격의 시작이 되는 악성 파일이 매우 교묘하게 만들어진 엑셀 파일이라는 것이다. 엑셀 파일은 기업 이메일 계정을 대상으로 동시다발적으로 발송되는데, 대량 발송과 발송된 이메일 내용으로 인해 사용자가 실행할 가능성이 매우 높다. 이번 글에서는 과거부터 현재까지 Ammyy 원격제어 백도어와 Clop 랜섬웨어를 유포하고 있는 엑셀 파일의 기능 및 특징에 대해 변화 순으로 상세히 분석한다. 그리고 이 과정에서 악성 파일이 이용한 ‘엑셀 매크로’라는 과거 엑셀 4.0 버전의 매크로 방식 XLM에 관해서도 설명한다. [첫 번째] * 시기 – 2018년 12월 26일 첫 확인 * 주요 특징 – 엑셀 4.0 (XLM) 매크로 시트 이용, 매크로 시트 숨김, msiexec.exe 프로세스를 통한 파일 다운로드 악성 엑셀 파일을 실행하면 ‘문서 내용을 보기 위해서 상단의 노란색 바에서 콘텐츠 사용을 클릭하라’는 한글 또는 영문 메시지를 확인할 수 있다. 콘텐츠 사용은 매크로 코드 동작에 대한 허용을 의미한다. 메시지는 텍스트가 아닌 공격자가 의도적으로 만든 이미지로 되어 있으며, 이미지 이름은 그림을 뜻하는 ‘Рисунок’로 되어 있다. 이 가짜 메시지 부분은 이후 설명할 악성 엑셀 파일 모두 공통적인 특징이다. 활성화된 악성 매크로는 XLM 매크로로 만들어졌는데, 이는 기존의 VBA와는 전혀 다르다. XLM 매크로는 과거 엑셀 4.0(1992년 출시)의 디폴트 매크로 방식이다. 이후 1993년에 나온 엑셀 5.0부터 현재까지는 디폴트 매크로 코드를 VBA언어를 이용하고 있지만, 여전히 과거의 엑셀 4.0 XLM 매크로 기능을 지원하고 있다. 공격자는 이 부분을 악용하여 비교적 백신 제품에서 탐지가 잘 되는 VBA 방식을 우회하였다. 현재 엑셀 프로그램에서 XLM 매크로를 이용하는 방법 중 대표적으로 엑셀 4.0 매크로 시트(Excel 4.0 Macro Sheet)가 있다. 이외에도 셀(Cell) 이름 관리자를 이용해 XLM 함수를 지정하거나 VBA 코드에서 매크로 함수를 호출할 수 있는 방법이 있지만, 여기에서는 악성 파일이 이용한 매크로 시트에 관해서 설명한다. 매크로 시트는 일반적인 워크시트와 다르게 셀 수식에 입력된 값을 즉시 계산하지 않고 각각을 매크로 함수로 인식하여 셀 단위로 실행한다. 시트이기 때문에 ‘숨기기’를 적용할 수도 있다. 다음은 유포되었던 엑셀 파일에 숨겨져 있던 엑실 4.0 매크로 시트이다. 기본으로 화면에 보이는 시트(Лист)에 우클릭해서 숨기기 취소를 하면 매크로(Макрос) 시트가 확인된다. A1 셀은 이름이 Auto_Open으로 지정되어 문서 실행 시 자동으로 A1 셀이 실행되도록 한다. =EXEC( )은 개별 프로그램을 실행하는 함수로 msiexec.exe와 /i 등 필수 인자 정보를 전달한다. =HALT( )는 =RETURN( )과 유사한데, RETURN이 현재 실행 중인 함수만 중단하는 반면, HALT는 모든 매크로를 이후 단계에서 중단한다. 사용자의 콘텐츠 사용 허용으로 매크로가 실행되면 msiexec.exe 프로세스가 악성 주소에 접근하여 update 이름의 msi 파일을 다운로드하고 실행한다. 매크로 정보를 포함한 모든 Workbook 시트 데이터는 BIFF(Binary Interchange File Format) 포맷으로 저장된다. BiffView나 Oledump와 같은 툴을 이용하여 악성 엑셀 파일의 Workbook 스트림의 구조를 보면, 각 시트의 정보를 담고 있는 BOUNDSHEET(85h)는 총 2개가 있다. 이는 순서대로 Макрос와 Лист 시트 정보와 연결된다. 첫 번째 시트 Макрос의 BOUNDSHEET 정보는 길이 22로 되어있고, 4번과 5번 값이 각각 01h이다. 4번 값은 시트의 현재 상태로서 01h는 Hidden을 의미한다. 5번 값은 시트의 타입으로서 01h는 Excel 4.0 매크로 시트를 뜻한다. 반면 두 번째 시트 Лист는 Visible과 동시에 일반 워크시트 또는 다이얼로그 시트이다. 셀 수식에 입력된 데이터도 CELL FORUMULA(6h)에 저장된다. 이와 같이 엑셀 파일을 직접 실행하지 않아도 Workbook 시트 데이터를 파싱하여 의심스러운 시트의 존재 여부를 확인할 수 있다. [두 번째] * 시기 – 2019년 2월 13일 첫 확인 ~ 5월 16일 * 주요 특징 – 엑셀 4.0 (XLM) 매크로 코드 난독화 시작 엑셀 4.0 매크로 코드를 이용한 악성 엑셀 파일은 최초 발견 이후 코드를 점차 난독화 하기 시작하였다. VBA를 이용한 대부분의 악성 오피스 파일이 VBA 코드를 난독화 하듯이, 엑셀 매크로도 난독화가 가능하다. 매크로 시트의 셀에는 한 개의 셀 수식만 입력이 가능하므로, 제한된 함수 표현 내에서는 이를 난독화하기가 어렵다. 이 때문에 코드의 분기 흐름 자체를 파악하기 어렵게 하였다. 기본적으로 매크로 시트는 Auto_Open 등으로 이름이 지정되거나 없을 경우 A1 셀의 수식을 첫 번째로 실행한다. 이후 현재 실행 중인 열(Column) 아래 방향으로 코드 흐름이 진행된다. 이 과정에서 ‘Macro1’이나 ‘Macro2’처럼 이름이 지정된 셀을 호출하여 분기 흐름이 변경될 수 있다. 분기하게 되면 이전까지 실행했던 루틴을 저장하고 새로운 콜 스택을 생성하여 해당 열에서 아래 방향으로 RETURN 될 때까지 실행한다. 악성 파일은 코드 흐름을 어렵게 하는 것 외에도 기존에 =EXEC 함수를 통해 실행하였던 msiexec.exe 프로세스와 전달 인자 정보를 이제 하나의 셀이 아닌 몇 개의 셀로 나누고, 실행 도중에 데이터를 합쳐 실행하도록 하였다. 아래는 5월 16일에 대량 유포되었던 악성 엑셀 파일이다. 이전보다 더 복잡한 형태로 난독화 되어 있는데 열을 넘어서도 분기를 한다. Auto_Open 또한 A1 이 아닌 D2 에서 시작한다. 이렇게 복잡한 형태로 되어 있을 경우 실행 흐름을 눈으로 따라가기가 어려운데, 이때 VBA 디버깅과 유사하게 한 단계씩 코드를 실행하는 기능을 이용하면 어떤 셀 수식으로 흐름이 이동했는지 파악할 수 있다. 엑셀 4.0 XLM 매크로 코드의 분기 방식을 상세히 이해하기 위해 예시로 만든 매크로 시트로 설명한다. 사용자 눈에 보이는 매크로 함수는 “A1”, “A2”, “B1” 메시지를 띄우는 다이얼로그 박스와 EXEC을 통해 실행되는 계산기(calc.exe)이다. 총 2개의 열에 엑셀 매크로 코드가 있고 행 중간에는 아무 수식도 없는 셀도 있다. 이때 실행 흐름 순서는 다음과 같다. 1) (Auto_Open, A1) ALERT “A1” 메시지 다이얼로그 박스 2) (A2) Macro1 이름을 가진 셀 실행

‘AhnLab’ 폴더를 암호화에서 제외하는 Maze 랜섬웨어

‘AhnLab’ 폴더를 암호화에서 제외하는 Maze 랜섬웨어

안랩 ASEC은 지난 5월 24일 국내 사용자들을 대상으로 유포 중인 Maze Ransomware를 발견하였다. 자사의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD(AhnLab Smart Defense)를 통해 확인된 결과 해당 랜섬웨어는 PowerShell을 이용하여 다운로드되고 Fallout EK 에 의해 유포되는 것으로 확인되었다. 암호화가 되면 확장자는 여러가지의 랜덤한 문자열로 변경되고 DECRYPT-FILES.html 파일을 생성한다. [

V3Lite 사용여부에 따라 차별화된 실행방식 사용하는 BlueCrab(갠드크랩 후속)

V3Lite 사용여부에 따라 차별화된 실행방식 사용하는 BlueCrab(갠드크랩 후속)

최근 새롭게 등장한 블루크랩 랜섬웨어는 기존 갠드크랩 랜섬웨어와 같이 다양한 방식으로 유포되고 있다. 유포 방법에는 악성 문서를 포함한 피싱 이메일, 유틸리티 피싱 다운로드 페이지 등이 해당된다. 안랩 ASEC은 유틸리티를 위장한 자바스크립트의 유포 코드를 모니터링하고 있다. [그림 1]과 같은 유틸리티 피싱 다운로드 페이지에서 다운로드된 자바스크립트 파일(.js)은 실행 시 블루크랩 랜섬웨어가 실행된다. [그림 1] 유틸리티를 위장한 자바스크립트의 유포 피싱 페이지   현시점에 자바스크립트의 실행 흐름은 [그림 2]와 같으며, Powershell.exe에 블루크랩 랜섬웨어가 인젝션 되어 암호화 행위가 수행된다. [그림 2] 블루크랩 유포 자바스크립트의 실행 흐름 여기서 주목할 점은 V3Lite 사용자를 대상으로 차별화된 실행방식이 사용된다는 점이다. 자사 제품은 블루크랩 랜섬웨어가 사용하는 특정 UAC(사용자 계정 컨트롤) 우회 기법을 행위기반으로 사전 차단하고 있다. 악성코드 제작자는 이러한 차단을 피하기 위해 자사 제품 사용자에게는 UAC 우회기법을 사용하지 않고, UAC 알림창을 100회 반복하여 사용자로 하여금 ‘예’를 클릭하여

국내 사용자 대상 신종 랜섬웨어 확인 (.kname 확장자)

국내 사용자 대상 신종 랜섬웨어 확인 (.kname 확장자)

안랩  ASEC은 지난 5월 13일 자사의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD(AhnLab Smart Defense)를 통해 새로운 랜섬웨어가 국내로 유포되고 있음을 확인하였다. 아직 알려지지 않은 이 랜섬웨어는 암호화 후 확장자를 .kname으로 변경하는 특징을 갖고 있으며, AhnLab 폴더를 암호화 제외 대상으로 하는 등 국내 사용자 환경을 타겟하여 유포하는 것으로 추정된다. 또한, ASD를 통해 확인된 결과 랜섬웨어 파일은

스팸메일을 악용한 Crypter 계열 악성코드의 유포 및 동작 방식

스팸메일을 악용한 Crypter 계열 악성코드의 유포 및 동작 방식

문서 파일이나 압축 파일을 첨부하여 악성코드를 유포하는 악성 스팸메일 공격 방식은 과거부터 현재까지 꾸준하게 공격자들이 사용하는 악성코드 유포 방법의 하나다. 안랩 ASEC 분석팀은 다수의 고객으로부터 접수된 스팸메일을 분석한 결과 이메일에 첨부된 악성 문서 파일에서 다운로드된 파일들이 주로 Crypter 계열의 정보 유출형 악성코드(HawkEye, Nanocore, FormBook, Lokibot, Remcos)임을 확인하였다. Crypter 계열 악성코드는