rokJSH2013.03.21 20:30
3/20일 한국 전산망 마비사태(해킹)

APT(Advanced persistent threat) 공격

APT공격이란 개인해커에 의한 공격이 아닌 정부 또는 금전 및 특정회사의 중요 정보 획득을 목적으로 하는 범죄 그룹에 의해서 사이트, 기업을 상대로 지속적으로 해킹공격을 하는것을 말함.

1) 공격자가 공격대상에게 스피어-피싱을 하기 위한 직원을 찾아냄

2) 신뢰하는 사람으로부터 오는 악성코드가 포함된 이메일, 메신저를 전송. 

3)전송된 악성코드로 시스템 접근 기반을 만들고 나면 다음으로 접근 권한 상승을 노림. 이때 패스워드값을 알아내기위하여 브루트 포싱 기법을 사용하여 네트워크 접근 권한 및 시스템접근 권한을 획득.

4)데이터를 훔친 다음, 훔친 정보로 회사내부에 암호화하여 저장, 이파일은 작은 파일로 나누어 비정기적으로 위부로 유츌.


악성코드 바이너리 분석

API Load > OpenFileMappingA(실행) >열리면 종료/아니라면 CreateFileMapping A(생성)
>Thread1 >MBR공격> Thread2> HDD,Flash 메모리공격 > 종료

 1.바이너리가 사용할 함수 Load

 >해당 API주소를 얻어오는과정중에 백신에 탐지되는것을 우회하기위해 사용하는 것 으로 추정

2. OpenFileMapping A 시도

>OpenFileMapping A 시도하는 이유는 해당 공격을 당한 후에는 이 바이너리가 다시는 실행되는 일이 없기때문에
이것으로 실행이된다면 공격이 되지않는 시스템으로 인식 후 종료.

3. OpenFileMapping A 시도 후 실패시 CreateFilemapping A (생성)

4. GetWindowsDirectory A 를 통해 시스템 폴더 경로를 가져옴

5. stract 을 통해 파일경로 완성.

6. PathFileExists A 를 통해 stract로 완성한 경로와 존재여부를 확인

7.  파일이 존재하지 않을 경우 명령을 실행[CreateThread(생성)]

8. PhysicalDrive CreateFile로 실행[Thread 1]

>PhysicalDrive0 를 실행하게 되면 MBR로 직접적인 접근이 가능해짐.

9. SetFilePointer 를 이용하여, PhysicalDrive0의 위치를 설정후 ReadFile로 복사.

>해당위치에서 ReadFile을 하는 이유는 MBR을 백업을 하는 용도로 보임.

10 . 루프를 통해 "PRINCPES"  60번 복사.

11. WriteFile로 Segment, MBR을 10번 반복.

12. B:\\ 부터 Drive Type 가져옴[Thread 1]

>GetDriveType Return 에 의한 분기 => HDD 또는 Flash 메모리가아니라면 C,D,E,F를 전부 탐지.

13. 분기가 맞다면 CreateThread로 Thread 생성[Thread 1]

14. HDD, Flash 메모리에 대한 GetDiskFreeSpaceA[Thread 2]

15. HDD, Flash 메모리 CreateFile 실행[Thread 2]

>해당위치에서 CreateFile을 실행해 모든드라이브를 다돌때까지 루프를 돌리면서 HDD, Flash 메모리 같은 드라이브가 발견되면 Thread 를 생성함.

16. 512byte 만큼 String(배열/무작위값)생성[Thread 2]

17. SetFilePointer로 Pointer 지정 [Thread 2]

18. WriteFile로 생성한 String, 200번 Write[Thread 2]

19. 루프를 돌리면서 해당 HDD, Flash메모리 Write[Thread 2]

20. 재부팅으로 최종 마무리가됨[Thread 1]



마무리 . 
>이와 같은 과정이 이루어지면 자동으로 windows가 재부팅이나 종료가 되며 기존 C드라이브 같은 경우도 Dummy값으로 일부 덮어버렸기 때문에, MBR을 복구한다고 할지라도 C드라이브 같은 영역은 제대로된 복구가 불가능함.














 

'rokJSH' 카테고리의 다른 글

3/20 한국 전산망 마비사태(해킹)  (0) 2013.03.21
Posted by rokJSH