본문 바로가기
AI 스쿨 리팩토링 보안직무 과정

16주차 과제 - 악성코드 샘플 분석 2 (상)

by IT스터디큐브 2023. 1. 30.

 이번 주도 악성코드 샘플 분석을 진행해 보겠습니다. 이번 분석 대상 파일은 dgrep.exe 이며, 지난번에 사용이 미비했던 바이러스토탈의 사용을 집중해서 다뤄보고자 했습니다.

16주차 과제 - 악성 코드 샘플 분석 2-(상).pptx
3.63MB

 과제 발표에 사용한 PPT 파일을 첨부합니다. 만약 지금 제가 거치고 있는 AI 스쿨 교육과정이 더 궁금하시다면 다음 링크를 통해 자세한 정보를 확인해 주세요.

https://cafe.naver.com/itscholar

 

정보보안전문가 취업카페 스칼라 : 네이버 카페

비전공자 전문IT교육, 정보보안전문가, 보안을 아는 개발자, AI 양성교육, IT기술리더, 창업가 양성

cafe.naver.com


[이미지 1] dgrep.exe를 Virustotal에 분석을 요청한 모습.


 가장 먼저 자동화분석입니다. 자동화분석은 바이러스토탈을 이용하여 진행했습니다. 72개 엔진 중 67개가 악성코드가 포함되어 있다고 분석한 것을 확인할 수 있습니다. 이어 악성코드 분석명에 포함된 키워드가 downloader, backdoor, Trojan이 포함된 사실을 파악할 수 있습니다.


 악성코드 진단명들을 검색하여 구글에서 관련 정보를 수집하려 해 봤지만 유효한 정보를 찾을 수 없었습니다. 대부분의 안티바이러스 엔진에서는 모든 악성코드마다 진단명을 각각 다르게 사용하지는 않는 것으로 보였습니다. 그리고 진단명이 세분화 되어있는 얄약과 안랩의 경우에는 검색 결과가 0건으로 나왔습니다.

[이미지 2] dgrep.exe의 Details 탭 부분


 이어 디테일 탭을 확인한다면 파일의 해쉬값, 파일 유형이 32비트인점, 패킹 여부와 svk, upx로 패킹되었다는 사실을 확인할 수 있습니다.

 이제 기본 정보를 확인한 이후 다음 정보를 확인하면 파일 생성 시점, 이 악성코드가 사용한 다른 이름들, 그리고 시스템 dll파일 중 어떤 dll 파일에 접근하여 수정을 하는지도 정보를 얻을 수 있습니다.

 만약 dll과 해당 명령어 라이브러리에 능통한 보안 전문가라면 해당 dll파일 목록만 보고 악성코드의 악성행위가 어떤 종류인지 파악할 수 있을것입니다. 하지만 저는 아직 그 수준에 다다르지 못했기 때문에 해당 dll파일이 시스템의 어떤 기능과 권한을 가지는지 ppt에 표시해 두었으니 참고하시기 바랍니다.

[이미지 3] dgrep.exe의 relations 탭 부분


 그 다음 관계 탭 입니다. 관계 탭에서는 해당 악성코드가 연결을 시도하는 url, 도메인과 IP 및 다운로드하는 파일에 대한 정보까지 확인할 수 있습니다.


 악성코드가 연결을 시도하는 url중 api.wisemansupport.com 의 비중이 매우 높은 것을 확인할 수 있습니다. 해당 주소로 유추하건데 api기능을 호출하여 파일을 다운로드하거나 지시를 받는 것이 아닌지 생각해 볼 수 있습니다.

[이미지 4] dgrep.exe의 behavior 탭 부분


  마지막으로 살펴볼 탭은 행위 탭 입니다. 해당 부분에서는 악성코드 분석에 사용되는 자동화 샌드박스 분석 장치가 분석한 결과를 보여줍니다. 


 우리가 유심히 살펴볼 곳은 바로 개요 부분입니다. 개요 부분은 샌드박스 분석 결과를 간단히 정리히여 해당 악성코드의 경향성을 정리해서 보야줍니다.


 여기서 이 악성코드의 경우 파일을 다운로드하는 종류가 월등히 많으며 네트워크에 잡근하는 트래픽도 적지 않다는 점을 알아두고 다음 과정으로 넘어가겠습니다.

 추가로 악성코드의 태그에 대한 부분에 관해서 해설을 남겼습니다. 하지만 태그에서는 대략적인 경향성만을 보여주고 있어서 참고하는데에 유의해야합니다. 해설은 ppt를 참고해 주시기 바랍니다.
 
 그리고 행위 부분의 구체적 악성 행위 목록은 해당 행위의 이름에 대한 번역을 마쳤고 그것을 바탕으로 ppt 의 자료를 확인해 주시기 바랍니디.

 정적 분석

[이미지 5] dgrep.exe의 peid와 exeinfo PE 검사 결과


 가장 먼저 패킹 여부를 확인해 보고자 합니다. 패킹 여부는 peid와 exeinfo pe를 사용하여 확인하였습니다. exeinfo pe는 dotfix fakesigner로 패킹된 파일이라고 판단했고 peid는 svkp로 패킹된 파일이라는 정보를 발견했습니다.


 하지만 디패커 프로그램을 찾지 못하여 패킹된파일을 추가로 분석하지는 못했습니다.

[이미지 6] dgrep.exe의 PEView 결과 (1)
[이미지 7] dgrep.exe의 PEView 결과 (2)


 정적 분석의 다음 단계는 peview 입니다. 해당 툴에서 dgrep.exe를 열어 분석해본 결과, 파일 생성일이 바이러스 토탈의 결과와 같은 점을 확인하였고 , 대부분의 명령어 부분이 암호화 되어 있어 해당부분은 분석을 진행하지 못했습니다.

그리고 이런 결과는 strings와 bintext를 이용한 분석에서도 같은 결과를 볼 수 있었습니다

 동적 분석

 동적 분석을 위해 동적 분석 툴을 작동시키고 dgrep.exe파일을 관리자 권한으로 실행하였습니다. 그러자 dgrep.exe파일은 곧바로 자동적으로 삭제되었고 c드라이브 상에 wiseman.exe와 1.txt 파일이 생성되는 것을 육안으로 확인할 수 있었습니다. 

[이미지 8] CPORT 분석


 곧바로 cport를 이용한 분석을 시도했습니다. cport상에서 본래 네트워크에 연결된 프로세스가 하나도 존재하지 않았으나 네트워크 통신을 시도하는 시스템 프로세스가 신규로 발견되었습니다. 

[이미지 9] AUTORUNS 분석 결과.


 autoruns 를 이용한 분석입니다. 시작 프로그램에 이전에 없던 프로그램 둘이 나타난 것을 확인할 수 있었습니다. 하나는 이전에 c드라이브 상에 나타나는 것을 발견할 수 있었던 wiseman.exe였고 다른 하나는 EvtMgr.exe이며 해당 파일의 경로는 c드라이브상에 새로 생성된 숨긴 폴더에 들어 있었습니다.

[이미지 10] 시스템 익스플로러의 dgrep.exe 실행 전후의 스냅샷 비교 결과



다음 분석은 시스템 익스플로러입니다. 시스템 익스플로러에서는 방대한향의 레지스트리가 편집된것을 확인할 수 있었고 시스템 폴더에도 여러 파일이 수정되고 추가된 흔적을 발견할 수 있었습니다.

[이미지 11] 프로세스 모니터의 wiseman.exe 감시


프로세스 모니터에서는 wiseman.exe의 프로세스 활동이 매우 활발하게 일어나는 것을 확인할 수 있었습니다.

[이미지 12] 프로세스 익스플로러로 프로세스를 조사하는 모습.


프로세스 익스플로러에서는 파일 실행 전과 파일 실행 후의 프로세스 변동사항을 관찰했습니다. 관찰 결과 wininti.exe의 하위 프로세스 중 하나였던 dllhost.exe가 사라졌고. rundll32.exe가 새로 켜졌고 하위 프로세스로 wiseman.exe가 추가되었습니다. 원래 바이러스 토탈에 검사를 요청하려 했지만, 바이러스토탈에 실시간 감시를 요청하는 기능은 새로 등장한 프로세스에 작동하지 않았습니다.

[이미지 13] 와이어샤크의 네트워크 감시


 마지막으로 스마트스니프와 와이어샤크를 이용해서 네트워크를 확인하려 했습니다. 이에 TCP연결을 시도하지만 연결에 지속적으로 실패하는 모습을 확인할 수 있었습니다.

댓글