'ida 원격 디버깅'에 해당되는 글 1건
- 2015.11.08 IDA로 elf binary 동적 디버깅(IDA Linux 원격 디버깅)
## IDA로 ELF Binary 원격 디버깅하기(IDA Linux 원격 디버깅)
일반적으로 Linux에서 동작하는 elf 바이너리는 정적 분석, 동적 분석을 할 수 있는데, 정적 분석은 보통 IDA를 이용하여 하게 된다. 그런데 가끔 분석하다 보면 동적 분석이 필요한 경우가 생기게 된다. 이럴때 동적 분석을 할 수 있는 방법에는 여러가지가 있는데 우선 가장 기본적으로 gdb를 이용하여 동적 분석을 할 수 있다. 하지만 dbg를 이용하여 하게 될 경우 익숙하지 않은 경우 좀 힘들 수 있는데, 이 때 사용할 수 있는 도구가 edb 또는 IDA의 원격 디버깅 기능을 이용하는 것이다. edb는 ollydbg를 모티브삼아 만든거라 뭐 편할 수도 있는데 여기서는 IDA의 원격 디버깅 기능을 정리할 것이다.([그림 1]을 보면edb는 한번도 안써봤지만 왠지 편할 거 같다.)
[그림 1] edb-debugger 실행 화면
이제 본격적으로 IDA로 elf파일을 원격으로 디버깅 해보도록 하겠다.
1. VMware(Linux System)에 대상 프로그램과 ida 파일들 중에 linux_server(elf파일)을 옮긴다.
[그림 2] Linux System
2. ./linux_server를 실행한다.
[그림 3] linux_server 실행
[그림 2]와 같이 linux_server를 실행하면 23946포트로 접속을 리스닝하게 된다. 그럼 이제 IDA에서 접속하면 된다.
3. IDA를 켜고 [Debugger] - [Run] - [Remote Linux Debugger]를 선택한다.
[그림 4] Remote Linux debugger 선택
4. 그럼 [그림 5]와 같은 화면이 나타나는데 [Application] 항목에는 디버깅 하고자 하는 파일의 절대경로명을 써주면 되고,
[Directory]에는 그 파일의 디렉터리의 절대경로명 [Parameters]에는 프로그램의 인자 값(없으면 안쓰면 됨), [Hostname]
에는 대상 Linux System의 IP주소, [Password]는 빈칸으로 두면 된다.
[그림 5] 설정 화면
5. 그럼 이제 뜨는 창은 전부 OK하면 [그림 6]과 같이 디버깅이 가능하다.
[그림 6] IDA 원격 디버깅 실행 화면
6. 끝!
'잡 > Tip~!' 카테고리의 다른 글
[Tip] gdb heap command(gef) (4) | 2017.01.17 |
---|---|
[Tip] Visual Studio에서 프로그램 컴파일 시 dll 포함시키는 방법 (0) | 2016.04.29 |
FTZ Putty 접속 시 한글 설정 (0) | 2015.12.30 |
kali linux에서 ssh & sftp 서버 구동 방법 (0) | 2015.11.08 |
모의 해킹 연습용 사이트(펌) (0) | 2014.01.07 |