library를 식별할 때 사용하는 libc database에 관해서 정리
git download
$git clone https://github.com/niklasb/libc-database.git
library download
pwd : libc-database
$./get
library search
./find [함수] [offset 3바이트]
$ubuntu:~/libc-database$ ./find __libc_start_main 540
archive-glibc (id libc6_2.23-0ubuntu3_i386)
ubuntu-xenial-i386-libc6 (id libc6_2.23-0ubuntu9_i386)
archive-glibc (id libc6-i386_2.23-0ubuntu3_amd64)
ubuntu-xenial-amd64-libc6-i386 (id libc6-i386_2.23-0ubuntu9_amd64)
libc_start_main의 3바이트 offset이 0x540인 후보군 라이브러리
해당 라이브러리를 식별할 때, id 값으로 진행 함
예) archive-glibc의 id 는 libc6_2.23-0ubuntu9_i386로 등록되어 있음.
library dump
./dump [library id] [optional 함수 이름]
$ubuntu:~/libc-database$ ./dump libc6-i386_2.23-0ubuntu3_amd64
offset___libc_start_main_ret = 0x18637
offset_system = 0x0003a920
offset_dup2 = 0x000d4c20
offset_read = 0x000d4420
offset_write = 0x000d4490
offset_str_bin_sh = 0x15909f
./dump libc6-i386_2.23-0ubuntu3_amd64 의 경우 library id libc6-i386_2.23-0ubuntu3_amd64에서 주요 함수들의 offset을 추출
선택적으로 함수 이름을 붙이면 그 함수의 offset을 구해줌
$ubuntu:~/libc-database$ ./dump libc6-i386_2.23-0ubuntu3_amd64 puts
offset_puts = 0x0005f020
'Exploit' 카테고리의 다른 글
House of force (0) | 2018.02.28 |
---|---|
shellcode extract (0) | 2017.09.07 |
Command Injection Sheet (0) | 2017.06.15 |
REVERSE SHELLCODE (0) | 2017.06.10 |
[MIPS] Shellcode (0) | 2017.04.13 |