ELF 섹션 정보 구조체 - 섹션 갯수 - 섹션 Index - 섹션 이름 - 섹션 헤더 GOT 정보 구조체 - 이름 문자열 포인터 - 주소값 SYM 정보 구조체 - 이름 문자열 포인터 - 값 ELF 파일 정보 구조체 - fd 값 - 파일 이름 포인터 -섹션 정보 - GOT 정보 - SYM 정보 이런 정보를 바탕으로 구조체 설계를 해본 결과는 typedef struct Section{ Elf64_Half SectionCnt; Elf64_Half SectionStringIndex; char * SectionName; Elf64_Shdr * SectionHeader; }Section; typedef struct got{ char * name; unsigned long long addr; } GOT; typed..
https://modoocode.com/231 씹어먹는 C 언어 시작하기 modoocode.com 이 사이트의 예제들을 눈으로 훏어보고 포인터를 활용하는 간단한 프로그램들을 만들어보면서 기억을 되살렸다. 또한 이전에 풀었던 해킹 문제 writeup 글들과 리눅스 라이브러리 코드 글들을 보면서 해킹 지식을 기억하려고 노력했다. #include #include #include #defineBUF_SIZE100 int main() { FILE *fp = NULL; FILE *fp2 = NULL; int nbyte=0; char buf[BUF_SIZE]={0, }; // file open fp = fopen("./proto.c","rb"); if ( fp == NULL ) { printf(" fopen() er..
프로그래밍에 앞서 포너블을 위한 환경을 구성해야 했다. 2019.10.04 - [CTF write-up/CTF tools] - ubuntu 16.04 18.04 도커 (ctf) ubuntu 16.04 18.04 도커 (ctf) 가상머신을 쓰게 되면 속도나 용량면에서 손실이 있기 때문에 도커를 활용하는 방법이 더 낫다고 판단하여 도커를 설치하게 되었다. 자세한 Dockerfile은 https://github.com/youngsouk/docker_ubuntu_16.04 https. youngsouk-hack.tistory.com 내가 앞서서 만들었던 도커를 활용해서 환경 구성을 했고, 우분투 16기준으로 프로그램을 만들 것이기 때문에 16.04 도커로 다운 받았다. 이런 식으로 gef, python, pwn..
C언어로 포너블 라이브러리 만들어보기 제작 언어 : C/C++ 주요기능 : process관리, ELF파일 구조 분석, 리틀엔디안 & 빅엔디안 변환, 리모트 엑세스 파이썬으로 해킹 유틸리티 만들기 제작언어 : python 주요기능 : 메뉴형 포너블 함수 자동화 제작, 익스플로잇 파일 개요 작성 필요한 지식들 1. ELF 파일 구조 ko.wikipedia.org/wiki/ELF_파일_형식 ELF 파일 형식 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ELF 파일은 두 관점을 갖는다: 프로그램 헤더는 런타임 시 사용되는 세그먼트들을 보여주고, 섹션 헤더는 바이너리의 섹션들의 집합을 나열한다. ELF(Executable and ko.wikipedia.org 2. 리눅스 process 관..
프로젝트 자기계발 계획서를 일요일에 작성하고 메일을 보냈지만, 오늘 포스팅을 올리게 되었다.