악성코드 샘플분석 2차

정지범·2024년 2월 27일
0

refactoring

목록 보기
13/20

기초분석(VIRUSTOTAL)

  • 72개의 백신 중 68개의 백신이 악성코드로 진단, 해당 파일은 악성코드일 확률이 매우 높을 것으로 추정 할 수 있습니다.
  • 공통된 진단 명은 trojan, Backdoor, Downloader가 있으므로, 이를 참고하면서 분석을 진행하겠습니다.

정적분석(EXEINFO PE)

  • UPX로 패킹 처리되어 있습니다.

언패킹

  • UPX로 패킹된 파일을 언패킹 했습니다.
  • "File cannot be unpacked" 메시지가 출력되었습니다.

정적분석(BINTEXT)

  • cmd.exe를 사용해 127.0.0.1 주소로 ping 명령을 시도하는 것을 확인했습니다.<<루프백 주소(127.0.0.1)>>
  • c:\wiseman.exe - 파일 경로 및 실행 파일 문자열을 확인했습니다.
  • "RedTom21@HotMail.com"이라는 이메일 주소를 확인했습니다.(악성파일 관련 이메일 추정)


윈도우 운영체제의 핵심 라이브러리

  • KERNEL32.DLL: 시스템 기능에 대한 접근을 제공합니다. 파일 및 메모리 관리, 프로세스 및 스레드 생성 및 제어, 예외 처리 등과 관련된 기능을 제공합니다.
  • GDI32.DLL: 그래픽 관련 기능을 제공하는 라이브러리로, Windows에서 그래픽 객체를 생성하고 편집하는 데 사용됩니다.
  • MFC42.DLL: Microsoft Foundation Classes의 일부로, C++ 프로그래밍을 위한 클래스 라이브러리를 제공합니다.
  • MSVCRT.DLL: C 프로그래밍 언어를 위한 런타임 라이브러리로, 기본적인 C 함수 및 입출력 기능을 제공합니다.
  • SHLWAPI.DLL: Windows 쉘에서 사용되는 경량 API로, 파일 및 폴더 조작, 문자열 처리 등을 포함한 다양한 기능을 제공합니다.
  • USER32.DLL: Windows 사용자 인터페이스와 관련된 함수를 제공하는 라이브러리로, 창 생성, 메시지 처리, 입력 처리 등의 기능을 제공합니다.
  • WS2_32.DLL: Windows에서 네트워크 프로그래밍을 지원하는 라이브러리로, 소켓 통신과 관련된 함수를 제공합니다.

동적분석(PROCESS EXPLORER)

  • 먼저 dgrep.exe 원본 파일이 삭제된 것으로 보아 트로이목마 성격을 가지고 있음을 알 수 있습니다.
  • dgrep.exe를 실행 전 후를 비교해봤습니다.
    • 'conhost.exe', 'cmd.exe' 프로세스는 cmd를 실행시키는 행위
    • 'PING.EXE' 프로세스는 TCP/IP Ping 명령으로 네트워크 관련 행위를 하는 것으로 추정을 할 수 있습니다.

동적분석(PROCESS MONITER)

  • process monitor의 filter 기능을 이용하여 분석했습니다.
    • dgrep.exe로 필터 시 여러 파일이 생성되는 것을 확인했습니다.

  • cmd.exe 프로세스가 ping 명령어 사용을 위해 PING.EXE 파일을 실행하는 모습을 확

  • SetDispositionINformationFile 이라는 함수를 사용하여 dgrep.exe 파일을 삭제하는 것을 확인했습니다.

동적분석(AUTORUNS)

  • HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"은 윈도우 시작 프로그램에 등록이 되어 자동으로 실행되게끔 하는 레지스트리 경로입니다.
  • 두 파일이 등록된 레지스트리 주소는 윈도우를 재시작했을때 자동으로 시작되게 하는 영역입니다.
  • 대부분의 악성코드가 등록하는 영역입니다.

동적분석(CURRPORTS)

  • Virustotal에서 확인했던 107.163.241.198 IP를 확인했습니다.
  • Bintext에서 확인했던 127.0.0.1 루프백 주소도 확인할 수 있었습니다.
  • 6520 포트로 연결을 하기 위해 시도하는 것으로 보입니다.
  • 전송됨(SYN_SENT) 이라는 상태에서 변함이 없는 것을 보았을 때 최종 세션 성립에는 실패한 것으로 추정되어 집니다.

동적분석(WIRESHARK)

  • Wireshark에서 또한 107.163.241.198 IP와 통신을 시도하는 것을 확인할 수 있습니다.
  • 로컬에서 해당IP로 SYN 패킷을 주기적으로 송신합니다.

  • 해당 IP에서 RST 패킷으로 답신합니다.
  • RST 패킷으로 답신하는 것으로 봐서는 연결에 실패한 것으로 추정되어 집니다.

결론

분석 결론

  • 기초분석
    • degrap.exe 파일은 trojan, Backdoor 유형의 악성파일로 추정
    • 패킹 유무 확인
    • 특정 IP,URL과 연관 확인
  • 정적분석
    • 107.163.241.198과 http://api.wisemansupport.com 사이트와 통신하기 위한 백도어를 형성하는 악성코드로 추정
    • cmd.exe를 이용해 ping 127.0.0.1 -n 2 명령어를 통해 호스트 네트워크 상태를 확인하고자는 문자열 확인
    • 라이브리러 목록 중 107.163.241.198과 http://api.wisemansupport.com 사이트와 통신하기 위해 사용된 것으로 추정되는 WS_32.dll를 발견
  • 동적분석
    • 프로세스: rundll 함수를 통해 wiseman 프로그램 실행과 그와 관련된 자식프로세스 생성 및 ping 명령어 등을 확인(Process Explorer/Monitor)
    • 레지스트리: wiseman 프로그램이 자동으로 실행되도록 시작 레지스트리 값에 등록(Autoruns)
    • 파일: wiseman.exe 실행 파일 추가 생성, Run 실행 파일안에 EvtMgr와 Wiseman 레지스트리 값 추가 생성(Autoruns)
    • 네트워크: 107.163.241.198로 지속적인 통신 시도 확인(CurrPorts, wireshark)

대응책

현재는 네트워크 동작을 하지는 않지만 어느 순간 활동을 재개할 가능성도 있기 때문에, 대응 방안을 세워둬야 합니다.

  • 네트워크 차단: 악성 프로그램이 특정 IP 주소 및 URL과 통신하려 시도하고 있으므로, 방화벽 규칙을 통해 해당 IP 주소 및 URL에 대한 통신을 차단합니다.
  • 시스템 복구: 레지스트리 값 및 자동 실행 파일 등이 변경되었을 수 있으므로, 시스템 복구 지점을 활용하거나 수동으로 레지스트리 및 시작 프로그램을 복구합니다.
  • 바이러스와 백도어 탐지 툴 이용: 잘 알려진 백도어는 대부분 바이러스 일종으로 분류되어 다양한 탐지 툴에서 발견될 수 있습니다.
  • 열린 포트 확인: 백도어 상당수가 외부와 통신을 하려고 서비스 포트를 생성,
    시스템에서는 netstat 명령으로 열린 포트를 확인할 수 있는데, 일반 시스템에서 사용하는 포트가 많지 않아 하나하나 살펴보면 백도어가 사용하는 포트 를 쉽게 확인가능

출처

profile
안녕하세요

0개의 댓글