본문 바로가기

Malware

(39)
28. Lazarus's 한국국가정보학회 학회장 선거공고.hwp 지난 11월, 한국국가정보학회 학회장 선거공고를 사칭해 한글 문서 악성코드가 유포되었다. 이번 글에서는 해당 한글 문서 악성코드를 분석한다.(상세히 악성 행위까지 분석하지는 못했다.) 한글 문서의 기본적인 속성은 다음과 같다. 타임 스탬프 : 2002년 1월 10일 오후 7:31:30 생성시간 : 2002-01-10 10:31:30(UTC) 최종 수정시간 : 2019-10-28 11:26:39(UTC) 해당 문서의 EPS 부분을 살펴보면 아래와 같은 코드들을 확인할 수 있다. 해당 코드들 내부에는 BASE64로 인코딩 된 쉘코드가 존재하며 해당 쉘코드가 실제 드로퍼 역할을 한다. 아래 그림 중 드래그 된 부분이 BASE64 인코딩 된 부분이다. BASE64 인코딩 된 부분을 디코딩 시켜주면 아래와 같은 ..
25. Rich Header PE 구조에서 DOS 헤더와 COFF 헤더 사이에는 2가지 Stub이 존재한다. 하나는 DOS Program으로써, 대부분 파일에 적혀있듯 This program cannot be run in DOS mode 가 DOS Stub이다. DOS Stub은 실행되지 않는 부분, 도스모드에서 실행을 방지하기 위한 부분이라고 대부분 알고있지만 사실은 도스모드에서 실행되는 부분이다. 최근 프로그램들은 모두 윈도우에서 동작하기 때문에 도스모드에서 실행될 경우에는 "This program cannot be run in DOS mode"라고 출력한 다음 종료하도록 설계해둔 것이다. 다른 하나는 Rich Header 인데, 리치헤더는 Rich 문자열 앞부분에 이어져있다. Rich 문자열 앞 부분은 모두 체크섬을 이용해 x..
24. Lazarus's HWP(CES 참관단) Lazarus가 제작하고 유포한 것으로 추정되는 연애심리테스트.xls 악성코드가 발견된지 바로 하루만에, 또 다시 새로운 악성코드가 유포되었다. 문서는 CES 참관단 신청서를 위장하고 있으며 타임스탬프는 2006년 2월 3일 오후 1:48:46분으로 계산된다. 또한, 최종 수정 날은 2019년 10월 21일 07:30:06(UTC)로 나타난다. 이전의 라자루스가 제작했던 HWP 악성코드와 동일하게, Y101 이라는 변수명으로 EPS 가 구성되어있다. EPS 안에는 본파일이 될 헥스값들이 존재하고 특정 헥스값과 XOR 연산을 통해 복호화 하는 방식이다. 특정 XOR은 다음과 같다. 0xF6, 0xA4, 0xE6, 0xE8, 0x0xF6, 0xA4, 0xE6, 0xE8, 0x7C, 0x27, 0x63, 0x..
23. Lazarus, 연애심리테스트.xls Lazarus 그룹이 제작한 것으로 추정되는 xls 악성코드가 유포되었다. 실제 샘플 파일의 정보를 살펴보면, xls 파일이 작성된 날짜 자체는 2018년 03월 21일이다. 이전에도 이런 비슷한 악성코드가 유포된 적이 있는데, 그 당시 사용했던 악성코드를 다시 재활용한 것으로 보인다. xls 문서를 실행하게 되면 아래와 같은 화면을 볼 수 있다. 클릭 부분이 존재하고, "진실하게 답해야 해" 라는 문구가 보인다. 하지만 이 화면에서는 특별할 것이 없고, 파일을 열고 매크로 사용을 클릭한 순간 환경 백그라운드에서는 악성 매크로가 동작하면서 파워쉘 파일을 드롭한다. 실제로 xls 파일의 매크로는 이렇게 이루어져있다. 먼저, 실행중인 환경이 Mac 환경인지를 체크한다. Mac 환경이면 특정 URL로 연결하고..
22. Kimsuky's HWP malware 지난 10월 17일, Kimsuky 조직으로 추정되는 곳에서 한국의 통일연구원(KINU)를 사칭해 악성문서를 유포했다. 이 글은 해당 악성코드를 분석하고 정리한 글이다. 가장 먼저 한글 파일의 제목은 "KINU 전문가 자문회의 안내 및 요청사항"으로 되어있다. Author는 KINU이고 최종적으로 수정한 사람의 이름은 KNU로 되어있는 걸 볼 수 있다. 한글로 유포되는 악성코드의 경우에는 EPS(Encapsulated Post Script)를 통해서 악성행위가 이루어지기 때문에 EPS 부분을 긁어왔다. EPS 안에는 /ar
19. 이벤트 당첨 위장 한글 악성코드 분석 이번 글은 '이벤트 당첨자 개인정보 수집 및 이용 동의 안내서.hwp' 악성코드를 분석한다. 현재 통신이 안되서 드롭되는 악성코드에서 감염사실 이후에 공격자 서버로부터 받아오는 DLL 등 추가 악성코드는 분석하지 못했다. 결론적으로 이 악성코드는 정보탈취 목적의 악성코드이며 이후에 암호화폐와 관련된 사람들에게서 지갑을 탈취한다거나 추가적인 공격에 활용되지 않을까 추정해본다. 악성코드는 한글 악성코드이다. 최종 저장자는 'Tester' 라고 저장되어있는걸 확인할 수 있다. 한글 내 EPS를 살펴보면 헥스값들로 페이로드가 저장된 걸 볼 수 있다. 결론적으로 이 페이로드를 xor 복호화 한 다음에 행위를 수행한다. 악성코드를 그냥 실행하면 (주)DAYBIT 이라는데를 사칭해서 이벤트가 당첨됐으니 이런저런걸 적..
16. olevba 사용법 MS Office 워드나 엑셀같이 문서 파일을 이용한 악성코드를 분석하다보면 만나게 되는게 매크로를 이용하는 부분이다. 근데, 이 매크로 부분이 종종 안보인다거나 매크로가 있는 시트를 숨겨놓는다던가 아니면 매크로 자체에서 매크로를 실행시켜서 악성 행위를 하는 프로그램은 드롭시키고(혹은 악성행위는 수행하고) 문서 파일 자체는 꺼버리는 행위를 하기도 한다. 그러면 그 사이에 재빨리 매크로를 채올 수 있는가? 그것도 사실 힘들겠지.. 그래서 찾다보니 olevba 라는 신박한 툴이 있었다.(매크로가 있는 시트를 숨겨놓는 경우는 다음 글에서 어떻게 해결하는지 정리한다.) 굉장히 신기한 툴인데, 문서 파일 안 매크로 스크립트인 VB script를 추출해주는 툴이다. 심지어 VBA 프로젝트에 암호가 걸려있어도 매크로..
14. Nemty 2019년 08월 27일 Nemty 랜섬웨어가 발견되었다. 본 글에서는 해당 악성코드를 상세분석한다. Malware Nemty ransomware Environment OS Windows 7 Action File encryption 가장 먼저 넴티(Nemty) 랜섬웨어는 실행되면 중복 실행 방지를 위해 "hate"라는 이름의 뮤텍스를 생성한다. 이후 base64로 인코딩 되어있는 랜섬노트 내용을 복호화 한다. 이어서 감염 PC에서 논리 드라이브를 탈취하고 드라이브 타입을 알아낸다. 드라이브 타입이 USB와 같은 "REMOVABLE" 타입인지, 일반 HDD와 같이 "FIXED" 타입인지, NAS와 같이 "NETWORK" 타입인지를 알아낸다. 드라이브 타입을 알아낸 이후에는 해당 디스크에 공간이 얼마나 남아..