ELF 파일 구조체에 대한 공부를 해서 ELF 섹션 정보와 GOT 정보를 얻어오는 함수들을 구현했다. 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; typedef struct sym{ char * name; unsigned long long value; }SYM; typedef struct elfinfo{ int fd; char * filename; Section section; GOT * got..
동작 방식을 설계해야 하는데 내가 기본적으로 구상하고 있는 기능들은 아래에 있다. 1. 데이터 패킹 & 언패킹 함수 2. socket 통신을 위한 remote 함수 3. 로컬 컴퓨터에서의 실행을 위한 Process 함수 4. retmote로 실행되는 프로그램의 출력을 얻어오는 recv, recvuntil 함수 5. retmote로 실행되는 프로그램에 값을 보내는 send, sendline함수 6. remote로 실행되는 프로그램과 표준 출력&표준 입력을 통해 상호작용하는 함수 7. 출력되는 값을 보기 편하게 하기 위한 hexdump 함수 기본적으로는 이정도 기능이 있다. 기본적인 동작방법은 아래의 순서와 같다. 1. ELFinfo 구조체에 ELF함수를 이용하여, GOT, SYM 등의 정보를 얻어온다. 2..
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 관..
프로젝트 자기계발 계획서를 일요일에 작성하고 메일을 보냈지만, 오늘 포스팅을 올리게 되었다.