'WinDBG'에 해당되는 글 1건

  1. 2010.08.21 [Reversing] Windbg와 VMware 연결하기
0x03 Reversing/Reversing2010.08.21 16:19

1. 개 요
Windbg는 MS 사에서 제공하는 커널 레벨 디버깅이 가능한 디버거로 다음 주소에서 다운 받을 수 있다.
* Windbg 다운로드 URL : http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#E3
커널 레벨 루트킷을에 대해서 분석을 진행하면서 Windbg를 사용하게 되었는데, 기본적인 사항으로 VMware와 Windbg 연동부터 알아보도록 하자.

2. Windbg와 VMware 연동 방법
① Vmware에 Serial Port 추가

Windbg는 Serial port를 이용하여 디버깅 대상 OS와 연결되므로 일단 VMware의 디버깅 대상이 되는 OS에 Serial port를 추가해 주어야 한다.

위의 그림과 같이 "Edit virtual machine settings"을 선택한 후, (또는 상단 메뉴의 VM -> Settings을 선택하거나 단축키 Ctrl + D) Serial port 추가를 위해 "Add" 버튼을 클릭한다.

"Serial Port"를 선택 후 "Next"를 선택한다.

Windbg와 연결시 named pipe를 이용하여 Vmware와 연결할 것이므로 "Output to named pipe" 선택 후 "Next"를 클릭한다.

위 그림과 같이 pipe name을 정해준 뒤 "This end is the server."를 선택하여 VMware는 서버의 역할을 Windbg는 client의 역할을 하도록 수정한 뒤 "Finish"를 클릭한다.

② VMware OS의 환경 설정
커널 모드 디버깅을 위해 VMware 윈도우의 C:\boot.ini 파일의 내용을 아래와 같이 수정한다.
 [boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional - Debug" /fastdetect /debugport=com1 /baudrate=115200

③ Windbg의 설정 변경
Windbg의 바로가기 부분의 "-b -k com:pipe,port=\\.\pipe\com_1" 를 추가해 준다.


다음은 Windbg의 심볼 설정을 해주어야 한다. Windbg 실행 후 File -> Symbol File Path를 선택한다.


srv*c:\symbols*http://msdl.microsoft.com/download/symbols; 와 같이 설정시 심볼은 자동으로 다운로드 되어 "C:\symbols"에 저장된다.

④ Vmware와 Windbg 연결 확인
이제 연동이 잘 되었는지 확인해 본다. 일단 Vmware의 OS를 Booting하면 아래와 같은 메뉴가 나타난다.


하단의 디버서 사용가능 이라고 나온 모드로 윈도우를 부팅을 한 뒤, 바로 Windbg를 실행한다.

정상적으로 연결이 되었다면 Vmware의 OS는 더이상 진행이 되지 않고 정지하며, Windbg에는 아래와 같은 내용이 나타나면서 하단에 커맨트 창이 활성화 되어 있는 것을 볼 수 있다. 커맨트 창에 "g" 입력시 정상적으로 윈도우가 부팅된다.

                                                                                                    +---------------------------------+
                                                                                                    | Infinite Flow..                                     |

                                                                                                    | mail : geekspark@gmail.com            |
                                                                                                    | Blog : http://sinun.tistory.com          |
                                                                                                    | twitter : @unpacker                           |
                                                                                                    | CISSP                                              |
                                                                                                    +----------------------------------+
저작자 표시 비영리 변경 금지
신고
Posted by By. PHR34K