pwntool 사용법
·
시스템해킹/공부
pwn 모듈 불러오기from pwn import *  p = process('./프로그램') # 로컬 프로그램을 대상으로 익스플로잇r = remote('주소', 포트번호) # 원격 서버를 대상으로 익스플로잇 ELF 매서드로 아키텍처 알아내서 쓰면 될 듯 하다.context.arch = "amd64" # x86-64 아키텍처context.arch = "i386" # x86 아키텍처context.arch = "arm" # arm 아키텍처 str = 0x12345678p32(str) # 0x78563412 값을 가짐. # 값을 packing하는 매서드, 입력 값을 little endian으로 변환해줌. p32(str, endian = 'big') # big endian으로 packi..
pwntools 함수
·
시스템해킹/공부
process p = process('./test') 로컬 바이너리를 대상으로 할 때 사용함 remote p = remote('example', 31337) 원격 서버에 있는 바이너리를 대상으로 할 때 사용함 send from pwn import * p = process('./test') p.send('A') # ./test에 'A'를 입력 p.sendline('A') # ./test에 'A'+'\n'을 입력 p.sendafter('hello', 'A') # ./test가 'hello'를 출력하면, 'A'를 입력 p.sendlineafter('hello', 'A') # ./test가 'hello'를 출력하면, 'A' + '\n'을 입력 데이터를 프로세스에 전송하기 위해 사용함. recv from pwn ..
리눅스 리버싱 관련 명령어2
·
시스템해킹/공부
pwndbg를 사용하여 분석하려면 git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup .sh 아래 명령어를 통해 pwndbg를 다운로드 받을 수 있음. gdb 명령어 start 명령어 실행 시 프로그램 진입점부터 분석할 수 있도록 진입점에 중단점을 설정해줌. si(step into) ni(next instruction)과는 다르게 함수를 만나면 함수 내부로 들어간다. pd(pdisas) pwndbg 상에서의 명령어이다. k(kill) 프로그램 종료 finish 프로그램을 끝까지 실행시킴. (끝부분에 실행이 멈춰있음.) telescope 또는 tele 메모리 덤프기능(솔직히 잘 모르겠다. 다른 블로그를 확인해봐도 드림핵에서 적은 내용을 그대로 복사해..
리눅스 리버싱 관련 명령어
·
시스템해킹/공부
apt-get 리눅스에서 사용하는 패키지 관리 명령어이다. apt-get update ← 모든 패키지 업데이트 apt-get upgrade ← 모든 패키지 업그레이드 apt-get install ← 패지키 설치 이외에도 많은 명령어가 있다. 주로 쓰이는건 이 정도. readelf -h 정적분석 gdb 실행파일명 gdb를 통해 해당 실행파일을 디버깅할 수 있음. gdb 실행파일명 PID ps를 통해 PID를 확인 후 현재 실행되고 있는 실행파일에 디버깅을 할 수 있음. gdb로 프로그램을 실행한 후 run 프로그램 실행 set disassembly-flavor intel intel CPU에서 사용하는 형식으로 어셈블리어를 볼 수 있음. disas disas함수로 함수의 어셈블리어를 확인할 수 있음. dis..
(Dreamhack) 리눅스 메모리 구조
·
시스템해킹/공부
https://learn.dreamhack.io/52 로그인 | Dreamhack dreamhack.io 굳이 정리된거 볼 필요없이 위 사이트가서 공부하는게 좋다. 프로세스의 메모리를 5가지의 세그먼트로 구분함. Segment → 해석하면 '조각, 부분'이라는 뜻으로 말 그대로 데이터를 관리하는 부분(영역)을 나눈 것을 뜻한다. 코드 세그먼트, 데이터 세그먼트, BSS 세그먼트, 힙 세그먼트, 스택 세그먼트가 있다. 코드 세그먼트(Code Segment, Text Segment) 기계 코드가 적재되는 영역이다. 읽기, 실행 가능. 쓰기 모드는 공격자가 악성코드를 심을 수 있기 때문에 권한이 없음. 데이터 세그먼트(Data Segment) 전역변수 또는 전역 상수가 적재되는 영역이다. 데이터 세그먼트에서는..
Goblebin
'시스템해킹/공부' 카테고리의 글 목록