본문 바로가기

My Study/Reversing

msiexec1 연습

음.. 파일이 있길래 한번 봐보았습니다.
이미 막혀버린 DDOS프로그램 이지만.. 공부 삼아서 봐보면 괜찮겠죠??

원래 프로그램이 뭔지 분석할 때 바로 올디로 열어서 하지 않지만.. 그냥 바로 열어서 봐보았습니다.
뭐 패킹같은건 않되있구요. 안티 디버깅 기술 같은 것도 적용 되어있지 않는 것 같습니다.

중요한 부분들만 보면서 넘어가 보았습니다. 실력이 부족하여 많이 허접 합니다.
그리고 API함수들을 보면서 대충을 추측이 가능하더군요.

음 이 부분에서는 GetCommandLine함수를 호출하면서 해당 파일의 절대경로를 읽어옵니다.

별거 없이 쭉쭉 내려오다가..

RVA 1300에서부터 중요한 루틴이 시작되는것 같았습니다.

SetCurrentDirectory하는것 보니 파일의 경로를 바꿔주고 있네요.
차근차근 내려가 보았습니다.

3번째 줄은 라이브러리에서 사용된 함수의 주소를 얻어오는 부분 이었습니다.
0040132B부분은 SetCurrentDirectory인자로 전달해줄 경로가 만들어 집니다. 봐보니 system32폴더 였습니다.
결국 현재 폴더 경로는 system32로 옮겨지게 됩니다.
그 아래 2개의 함수가 더 호출되고 있는데 첫번째 함수 내부로 들어가보았습니다.

이것도 뭐.. 딱 보면 답이 나옵니다.
nregvs.nls파일을 아까 설정해준 system32폴더에 생기겠죠?? 그리고 해당 파일에 무언가를 쓰고..
그 폴더의 시간을 바꿔준다음 핸들을 닫는다. 이게 전부 입니다. 그러면 해당 파일에 무엇을 쓰는지 봐보겠습니다.

인자로 해당 문자열이 들어있는 주소를 인자로 전달하는데 그 주소로 따라가 보았더니..
사이트 주소들이 많이 적혀 있었습니다.

www.whitehouse.gov
www.faa.gov
www.ustreas.gov
www.dhs.gov
www.state.gov
www.dot.gov
www.ftc.gov
www.nsa.gov
www.usps.gov
www.voanews.com
www.yahoo.com
www.defenselink.mil
travel.state.gov
www.nyse.com
www.nasdaq.com
www.site-by-site.com
www.marketwatch.com
finance.yahoo.com
www.usauctionslive.com
www.usbank.com
www.amazon.com

이렇게 있더군요. 음.. 우리가 공격 받았던 사이트들이 전부 없는 걸로 봐서는 이 파일에 의해 공격 당한건 아닌가 봅니다.
아무튼 이렇게 있었습니다.

그리고 아래서 SetFileTime으로 해당 파일의 시간을 바꾸네요. 바이러스 찾을 때 최근 생긴 파일을 보니까 그걸 방지 하려고 해놓는 것 같습니다. 해당 함수는 이렇게 끝이네요. 그러면 system32로 가보겠습니다. 해당 파일이 생겼겠죠?

이렇게 파일이 생겼네요. 만든 날짜를 봐보니 1980년으로 되어있네요?? 이유는 아시겠죠??

이제 그 다음 함수를 봐보겠습니다.

이 함수도 내부를 봐보니 어떠한 경로를 얻어와서 거기에 파일을 생성 시키고 무언가를 계속 Wirte하고 있는 것을 알수 있습니다. 봐본 결과 얻어온 경로는 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\. 이 경로입니다.
그리고 생성하려는 파일 명은 vme.bat입니다. 그러면 결국은 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vme.bat
이렇게 생성이 될겁니다. 그리고 그 아래로 총 7번의 WriteFile이 호출되는데 무엇을 쓰는지 보기 귀찮으므로 그냥 다 넘기고
직접 파일에서 봐보겠습니다.(잘 않보이실태니 그림 클릭)

봐보니 del은 지워라라는 명령어 이므로 해당 파일이 존재하면 지워버려라 라는 뜻이고 그 아래는 방금 생성한 vme.bat자신도 삭제를 하네요.

그 아래로 ShellExecute함수가 호출 되는데 해당 파일이 종료되면 아마 실행을 할 것입니다.

그리고 끝입니다. -_-;; 올디를 꺼주게 되면 해당 파일이 삭제 될 것입니다. 하지만 system32에 파일 하나는 남아있겠죠??
이 파일에서는 패킷을 뿌리지는 않네요.
2,3번 파일을 봐보니 조금씩 사이트가 추가되고 코드가 추가되네요.