본문 바로가기

Project/Poly_Zero ( Complete )

[Poly_Zero] 3. Note - 3 : Polymorphic Code + Hash ( 2014/7/16 )

개발 4일 째...

 

-> 새로 구현한 것

- 이번에는 kernel32.dll 에서 Native API 명을 찾을 때, 일반적인 문자열로 하면,

   분석이 쉬워짐으로 그 문자열에 해당하는 해쉬를 비교하는 방식으로, 만약 해쉬 값이 같다면, 그 함수를 로딩하라

   라는 방식을 넣어봄.

- Polymorphic 구조 대강 완성 완료. 간단하게 바이러스 역할을 하는 부분의 코드를 정해진 키 값(랜덤으로 바꿀예정)으로 암호화 후, 실행할 때 복호화 해서 실행.

 

-> 구현한 것

- 시작 프로그램 레지스트리 등록

- 다른 실행 파일 하나를 찾아 감염, zero 라는 새로운 섹션을 만든 후, 암호화된 바이러스 코드 주입

- %Temp% 폴더에 숙주 바이러스를 복사

- 문자열 해쉬 구하는 기능 추가. ( 분석 난독화를 위한 작업 )

- 감염 범위는, 이동식 디스크, 한 네트워크, CD.

- Self Modifying 기술 추가

 

-> 구현할 것

- 안티 디버깅 기능 추가 ( 거의 마지막에 )

- 패킹 ( 자체 패킹 기술 )

- 파괴적인 기능 추가

- 스텔스 프로세스

- 등...

 

 

 

 - 해쉬 구하는 알고리즘

 

- Self - Modifying 기술 일부