본문 바로가기

Exploit

libc-database 정리

SMALL

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



LIST

'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