국내 악성코드 정보2015. 8. 20. 11:33

우선 복호화하기 위해서는 어딘가에는 암호화된 값이 있어야 한다. 여기서 소개할 파밍 악성코드에는 XML Type의 0x84(132)에 암호화된 값이 저장되어져 있다.



어찌어찌하여 리소스 로드 후 IDIV EDI을 통해 나누기 3 연산을 실시한다. EAX / EDI = 몫은 EAX , 나머지는 EDX에 저장된다. 이전에 CDQ를 통해 부호화 확장 실시^^





그리고 나머지 값을 EDI에 옮긴 뒤 나머지 값에 따라 SizeOfResource의 반환값만큼 아래의 연산이 적용된다.  [EBP-0x23C] = 13


나머지가 0인 경우 TEST EDI, EDI

AL +=CL

[ESI+EBX]-=AL


나머지가 1인 경우 CMP EDI, 0x1


[ESI+EBX] - DL


나머지가 2인 경우 CMP EDI, 0x2


[ESI+EBX] - CL


그리고 복호화가 끝나면 차후 PE의 헤더값 e_magic 부분(복호화된 영역의 첫자리)에 4D 5A(MZ)을 부여한다.



그 다음에는 GetTickCount()을 이용하여 랜덤한 폴더명 생성이 이루어지고 dll 생성 직후 악성코드 실행이 이루어진다.


Posted by Ec0nomist

댓글을 달아 주세요