목차
1. 샘플 파일
- 샘플 파일 소개
- 분석환경
2. 기초 분석
- Virustotal
3. 정적 분석
- Exeinfo
- Peid
- Bintext
- Peview
4. 동적 분석
- Process Explorer
- Process Monitor
- System Explorer
- Autoruns
- WireShark
5. 결론
1. 샘플 파일
- 샘플 파일 소개
- 분석 환경
- Vmware 17 pro, Windows 10 pro에서 분석을 진행함.
2. 기초 분석
- Virustotal
- 72개 백신중 65개가 악성코드라고 표시가 됨.
- 위협 카테고리로는 Trojan 즉 트로이 목마라고 표시가 됨.
- Details 탭에서 SVK-Protector와 UPX로 패킹을 했다는 것을 알게되었음.
- WIN 32 실행파일을 확인함.
- Relations 탭에서 연결된 URL과 샘플 실행시 드랍되는 파일들도 확인함.
3. 정적 분석
- Exeinfo
- UPX라는 툴로 패킹이 된 것을 확인함.
- 32bit에서 실행 가능한 것을 확인함.
- Peid
- SVKP 1.11로 패킹이 된것도 확인을 했고 UPX와 SVKP 1.11로 패킹을 한 것을 확인함.
- Bintext와 Peview를 사용하기 위해 언패킹을 진행함
- Peid에서는 언패킹이 되어서 C++를 사용한 것을 알수있는데 Exeinfo에서는 언패킹이 안된듯 함.
- Bintext
- cmd로 ping 명령어를 통해 네트워크 연결이 되어있는지 확인하는 문자열을 확인했음.
- C:\wiseman.exe를 실행시키는 문자열이라고 추측이 됨.
- 실행 시킨다음 C:\window\system32\rundl32.exe를 실행시키는 문자열이라고 추측이 됨.
- 여러 dll이 있지만 WS2_32.dll은 윈도우에서 제공하는 라이브러리로 윈도우 Socket을 사용하기 위한 함수들로 정의되어있다. 따라서 이 dll로 네트워크 작업을 할 것으로 추측이 된다.
- Peview
- MZ(매직파일)로 인해 실행 파일인 것을 확인함.
- DOS Mode에서는 실행이 안되는 것도 확인함.
- Virustotal에서 확인한 샘플이 만들어진 시간도 같은 것을 확인함.
- 헤더에 UPX0, UPX1이 있어서 앞에서 Exeinfo로 확인한 것처럼 언패킹이 다 안된것으로 생각하고 Virtual Size와 Size of Raw Data가 똑같은 크기이므로 패킹이 되어있다고 생각함.
- Bintext에서 확인한 라이브러리를 다시 확인함.
4. 동적 분석
- Process Explorer
- 샘플을 실행 하였더니 cmd.exe와 conhost.exe, ping.exe를 실행하는 것을 확인하고 이 세가지는 dgrep.exe와 같이 바로 사라짐.
- rundll32.exe, wiseman.exe가 실행이 되면서 사라지지 않는 것을 확인함.
- Process Monitor
- dgrep.exe를 실행시키고 무작위로 이름이 만들어진 allaa.exe를 만들어진 것을 확인함.
- cmd를 실행시키는 것도 확인할수있음.
- conhost.exe, ping.exe가 실행되는 것도 확인할수있음.
- allaa.exe도 실행이 되는 것을 확인할수있음.
- 무작위로 이름이 정해진 allaa.exe는 dgrep.exe를 SetDispositionInformationEx를 통해 삭제가 되는 것을 확인함.
- 또한 wiseman.exe, rundll_32.exe가 실행되는 것을 확인할수있음.
- rundll32.exe에서 allaa.exe를 삭제하는 것을 확인할수있음.
- rundll32.exe가 Virustotal에서 확인한 107.163.241.192에 연결을 시도하는것을 확인할수있음.
- 1.txt라는 파일도 만들어진것을 확인할수있음.
- System Explorer
- Process Monitor에서 확인한 1.txt와 무작위로 만들어진 slgvm 파일이 샘플 실행 후에 생겨남.
- 파일을 찾아보니 slgvm은 숨긴항목으로 되어있었고 1.txt와 wiseman.exe가 깔려있었음.
- Autoruns
- 스냅샷을 해보니 rundll32.exe와 wiseman.exe가 시작프로그램으로 등록된 것을 확인할수있음.
- Cports
- rundll32.exe가 107.163.241.198, 107.163.241.197로 syn-sent를 계속 보내고 있으나 ack가 안와 성립이 안되서 계속 syn을 보내는 것으로 보고 tcp 연결이 안되는 것으로 추측됨.
- WireShark
- Virustotal에서 api.wisemansupport.com에 해당하는 ip주소를 알아낸뒤 연결을 시도하는지 검색해보니 내컴퓨터가 SYN 패킷을 보내지만 RST로 응답하는 것을 보면 도메인이 작동하지 않는다고 추측됨.
- Cport에서 확인한 IP를 Wire Shark에서 필터링을 해서 찾아보니 내 컴퓨터에서 107.163.241.198로 SYN을 보내나 응답으로 RST가 응답으로 오기때문에 SYN 패킷을 받은 컴퓨터가 내 컴퓨터가 요청한 포트에대해 응답을 할 수 없어서 내 컴퓨터에게 연결이 정상적으로 될 수 없으니 통신을 종료하라는 의미에서 RST로 응답한 것이거나 또는 저 IP 주소에 해당하는 서버가 LISTEN 상태가 아니어서 RST를 보낸 것으로 생각이됨.
5. 결론
- 기초 분석
- 트로이 목마라고 식별이 남.
- UPX, SVKP 툴로 패킹이 됨.
- api.wisemansupport.com 도메인과 107.163.241.198 ip가 연관되어 있는것으로 추측됨. - 정적 분석
- Exeinfo에 UPX1, Peid에 SVKP를 보고 패킹이 되었을거라 추측됨.
- 언패킹을 진행한 후 Peid에 스캔해보니 C++로 만들어진것을 확인함.
- Bintext에서 여러 dll 중 WS2_32.dll로 인해 Socket 통신과 관련이 있으므로 네트워크에 연관되어있을 것으로 추측됨.
- ping 명령어로 네트워크를 확인한뒤 wiseman.exe, rundll32.exe를 설치하는 것을 확인함. - 동적 분석
- 샘플 실행시 무작위 실행 파일 allaa.exe를 생성하고 cmd를 실행하고 conhost.exe도 실행한다.
- cmd는 ping 명령어로 네트워크를 확인한뒤 allaa.exe를 실행함.
- allaa.exe가 실행되면서 degrep.exe를 삭제하면 cmd, ping, conhost까지 삭제가 되고 wiseman.exe와 rundll32.exe가 실행됨.
- rundll32.exe는 allaa.exe를 삭제하고 107.163.241.198에 tcp 연결을 계속 시도함.
- rundll32.exe는 1.txt 파일도 만들고 wiseman.exe와 같이 계속 실행상태로 남아있음.
- Wire Shark로 107.163.241.198에 tcp 통신을 보니 RST 패킷이 응답으로 오는 것을 보고 네트워크 연결이 안되는 것으로 추측할 수 있음.
- 따라서 ip주소에 해당하는 서버가 LISTEN 상태가 되거나 api.wisemansupport.com 도메인이 활성화가 된다면 트로이 목마 공격을 수행할 가능성이 있다고 생각됨.
'리팩토링' 카테고리의 다른 글
리팩토링 18주차 악성 코드 보고서(2) (0) | 2024.12.01 |
---|---|
리팩토링 17주차 보고서 작성 (0) | 2024.11.25 |
리팩토링 15주차 샘플분석 (0) | 2024.11.06 |
리팩토링 14주차 정적, 동적 Tool 실습 (0) | 2024.11.01 |
리팩토링 13주차 샘플 분석 환경 구성 (0) | 2024.10.17 |