NOTICE

 오늘은 .Net 악성코드 분석 방법에 대해서 살펴보고자 합니다. 분석 방법이라기보다 디버거 Tool 소개입니다.


 작년 말부터 .Net 악성코드의 수가 급격히 증가한 것에 반해 아직 이렇다 할 만한 분석 도구가 없습니다. 'ILSpy.exe'와 같은 자동 디컴파일 Tool을 많이 사용하는 것으로 압니다. 오늘 소개하고자 하는 'dnSpy.exe'는 디컴파일과 함께 디버깅 기능을 지원해 줍니다.


- dnSpy.exe Download URL: https://github.com/0xd4d/dnSpy/releases


 'dnSpy.exe'의 기본적인 UI입니다. 'ILSpy.exe'와 매우 유사합니다.



 Debug 탭을 확인해보면 새로운 파일 디버깅과 함께 동작 중인 프로세스에 Attacth도 가능한 것을 알 수 있습니다.



  .net 샘플을 올렸을 때 화면입니다. 기본적으로 디컴파일 지원하고 'Start' 버튼을 누르면 디버깅을 시작합니다.


 


 디버깅 과정에서 함수 호출 시 전달하는 파라미터 값도 확인할 수 있습니다. 다음은 타깃 파일 암호화 함수 호출입니다. 파일 경로와 암호화 키 값을 전달합니다.



 코드 실행 결과 다음과 같이 파일이 암호화됩니다.


파일 암호화 함수 호출 전 


파일 암호화 함수 호출 후


 dnSpy 단축키 정보를 간략하게 알려드리면 다음과 같습니다.


 단축키

 설 명

 F5

  파일을 엽니다.

 F5

  파일을 열고난 뒤에 'F5'를 누르면 그대로 실행됩니다.

 Shift + F5

  Stop Debugging.

 F9

  Break Point.

 Cntl + Shif + F5

  Restart.

 F11

  Step Into.

 F10

  Step Over.

 Shift + F11

  Step Out.


 이 외에도 많은 기능들이 있으니 활용해보시기 바랍니다.

 이상으로 "[.Net File] dotNet 악성코드 분석하기_dnSpy"에 대한 포스팅을 마치겠습니다.