ida로 언패킹된것을 열고 LockResource를 누르고
더블클릭을 하면
넘어오는데 reference로 간다
findresource를 하는 부분이있고
그밑으로 sizeofresource랑
loadresource가 있습니다.
그래프 참조를 이용해서
참고를하자
winmain으로부터 어떤흐름을 가지고 저 함수로 들어왔는지 파악할 수있다
winmain()
sub_ 4032F0이라는
-sub_403050 : FindResource
그래서 g를 눌러서 4032F0으로 가서 구조를 봅니다.
OpenSCManagerA 서비스를 등록하기위해 권한을 얻는 함수
GetSystemDirectory에 64to32.dll을 설치한 것을 확인할 수 있었다.
그리고 밑에는 분기점이있는데
서비스를 등록하는 방법을 달리해서 만들어 놓은 것이다.
왼쪽에서는 64to32dll의 이름을 정의하고
서비스를 바로 만듭니다. 바로등록하고
create service를 하고
좀내려보면
401230을 콜하는 것을 알 수있습니다.
마우스 스크롤만 위로 올리면 그냥 내용이 보이긴 한다
그래도 혹시 그냥 들어가봅니다.
레지스트리를 등록하거나 그러하게 관련된 내용들이 들어있습니다.
레지스트리를 modified하는 애들이다
여기서 403050 즉
find resource 애들이 들어가 있습니다.
sub_4032A0은
직접적으로 서비스를 등록하고 실행하고 닫고 그런 행동을 하는 곳이라 생각됩니다.
이런식으로 합니다.
아까의 다른 오른쪽 분기를 보게된다면
access를 하고있습니다
access는
파일이 있는 없는지 확인하는 함수
내려가보면 이렇게되고
왼쪽은 레지스트리 키를 닫고 파일을 옮기고 있습니다.
401EC0을 먼저들어가게되고
오른쪽은 dll을 ecx에 넣게된다.
401EC0
401EC0에서
GETickCount 를하고 %08X를 하고있고
wsprintA를 해서 특정 문자열을 생성하는거같은데
다시나오면
이거뒤에
find resource를 할 인자들을 결정 하고있는거 같습니다.
find resource를 통해서 openservice를 하고있고
지나오면
402032A0의 이런 기능들이들어가있습니다.
Openstart service 라고 생각하면 될거같습니다.
changeserviceconfigA를 하는 것도 알수있었고
어떤 내용인지
이내용에 대해서 보려면
저 svchost.exe -k netsvcs 는
일반적인 서비스 프로세스 이고 애가 하는 역할은
네트워크에관련된 서비스 들을 실행하게해주는 기능을 담담하고있다.
64to32라는 이것을 통해서 저것만등록해서실행시키고있는데
이서비스가 시작이되면 위에내용을 재시작하고
네트워크에 관련된 서비스로 올리기위한 작업들이 뒤에 수행되고 있다.
시스템을 잘 이해하고 있는 사람이 많들었다고 생각한다.
이쪽에서는 서비스를 등록하고
service를 통해 많은 것을 하고 있는 것같다.
dll이 생성하는 것을 알수있고
서비스를 등록하는것도볼 수 있다.
여러가지 루틴으로 갈리긴했는데 아마 이유가 있을테니까 이것을 동적으로 따라가 봅니다.
이제 마지막
winMain을 살펴보면
여기서 가장중요한 3개를 하고있는데 그중에서 AntivirusDetect는
v3tray ayagent, nsavsvc.npc,v3sp등등
실행중인지확인하고
백신을 죽이고 삭제한다.
레지스트리 관련된api들을 호출하는 역할 들만 하고있고
resourceservice 는 리소스 서비스 관련된 내용을 아까 지켜봤고
createThread를 하고있습니다.
createThread 에대한 내용은 offset StartAddress에서 확인을 할 수 잇습니다.
GetProcAddress를 하고나서
GetlogicaldriveString 드라이브 이름을 얻고
시스템디렉토리를 얻은다음에 getdriveType을 하게됩니다.
그래서 여기를 나와서
createThread를 하게되면
그뒤에 WaitForSingleObject를 한뒤에
closeHandle 종료되게 됩니다.
중간에 뮤텍스 생성하는 영역들도 볼수있었다.
그리고 실행결과에 따라서 루틴이 갈린다.
그래서 루틴이 갈리는 것을 봐서
system32t 가 뮤텍스관련된 것이라고 생각할 수 있었다.
'악성코드 및 포렌식' 카테고리의 다른 글
샌디박싱과 쿠쿠박스 (0) | 2021.03.28 |
---|---|
트로이 목마 악성코드 분석 - 4 (0) | 2021.03.28 |
트로이 목마 악성코드 분석 - 2 (0) | 2021.03.28 |
트로이 목마 악성코드 분석 - 1 (0) | 2021.03.28 |
C언어로 트로이 목마 만들기 -droper 주요 api (0) | 2021.03.28 |