mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
149 lines
2.8 KiB
Markdown
149 lines
2.8 KiB
Markdown
# PwnTools
|
|
|
|
{{#include ../../../banners/hacktricks-training.md}}
|
|
```
|
|
pip3 install pwntools
|
|
```
|
|
## Pwn asm
|
|
|
|
라인이나 파일에서 **opcodes**를 가져옵니다.
|
|
```
|
|
pwn asm "jmp esp"
|
|
pwn asm -i <filepath>
|
|
```
|
|
**선택할 수 있는 항목:**
|
|
|
|
- 출력 유형 (raw, hex, string, elf)
|
|
- 출력 파일 컨텍스트 (16, 32, 64, linux, windows...)
|
|
- 피할 바이트 (새 줄, null, 목록)
|
|
- gdb를 사용하여 디버그 셸코드를 선택하고 출력을 실행
|
|
|
|
## **Pwn checksec**
|
|
|
|
Checksec 스크립트
|
|
```
|
|
pwn checksec <executable>
|
|
```
|
|
## Pwn constgrep
|
|
|
|
## Pwn cyclic
|
|
|
|
패턴 가져오기
|
|
```
|
|
pwn cyclic 3000
|
|
pwn cyclic -l faad
|
|
```
|
|
**선택할 수 있는 항목:**
|
|
|
|
- 사용된 알파벳(기본적으로 소문자 문자)
|
|
- 고유 패턴의 길이(기본값 4)
|
|
- 컨텍스트(16,32,64,linux,windows...)
|
|
- 오프셋 가져오기(-l)
|
|
|
|
## Pwn 디버그
|
|
|
|
프로세스에 GDB 연결
|
|
```
|
|
pwn debug --exec /bin/bash
|
|
pwn debug --pid 1234
|
|
pwn debug --process bash
|
|
```
|
|
**선택할 수 있습니다:**
|
|
|
|
- 실행 파일, 이름 또는 pid 컨텍스트(16,32,64,linux,windows...)
|
|
- 실행할 gdbscript
|
|
- sysrootpath
|
|
|
|
## Pwn disablenx
|
|
|
|
바이너리의 nx 비활성화
|
|
```
|
|
pwn disablenx <filepath>
|
|
```
|
|
## Pwn disasm
|
|
|
|
Hex opcode를 디스어셈블합니다.
|
|
```
|
|
pwn disasm ffe4
|
|
```
|
|
**선택할 수 있습니다:**
|
|
|
|
- 컨텍스트 (16,32,64,linux,windows...)
|
|
- 기본 주소
|
|
- 색상(기본)/무색
|
|
|
|
## Pwn elfdiff
|
|
|
|
두 파일 간의 차이를 출력합니다.
|
|
```
|
|
pwn elfdiff <file1> <file2>
|
|
```
|
|
## Pwn hex
|
|
|
|
16진수 표현 얻기
|
|
```bash
|
|
pwn hex hola #Get hex of "hola" ascii
|
|
```
|
|
## Pwn phd
|
|
|
|
hexdump 가져오기
|
|
```
|
|
pwn phd <file>
|
|
```
|
|
**선택할 수 있습니다:**
|
|
|
|
- 표시할 바이트 수
|
|
- 하이라이트 바이트당 바이트 수
|
|
- 시작 부분의 바이트 건너뛰기
|
|
|
|
## Pwn pwnstrip
|
|
|
|
## Pwn scrable
|
|
|
|
## Pwn shellcraft
|
|
|
|
쉘코드 가져오기
|
|
```
|
|
pwn shellcraft -l #List shellcodes
|
|
pwn shellcraft -l amd #Shellcode with amd in the name
|
|
pwn shellcraft -f hex amd64.linux.sh #Create in C and run
|
|
pwn shellcraft -r amd64.linux.sh #Run to test. Get shell
|
|
pwn shellcraft .r amd64.linux.bindsh 9095 #Bind SH to port
|
|
```
|
|
**선택할 수 있는 항목:**
|
|
|
|
- 쉘코드 및 쉘코드에 대한 인수
|
|
- 출력 파일
|
|
- 출력 형식
|
|
- 디버그 (쉘코드에 dbg 연결)
|
|
- 이전 (코드 이전에 디버그 트랩)
|
|
- 이후
|
|
- opcodes 사용 피하기 (기본값: null 및 새 줄 아님)
|
|
- 쉘코드 실행
|
|
- 색상/무색상
|
|
- 시스템 호출 목록
|
|
- 가능한 쉘코드 목록
|
|
- ELF를 공유 라이브러리로 생성
|
|
|
|
## Pwn 템플릿
|
|
|
|
파이썬 템플릿 가져오기
|
|
```
|
|
pwn template
|
|
```
|
|
**선택할 수 있는 항목:** 호스트, 포트, 사용자, 비밀번호, 경로 및 조용함
|
|
|
|
## Pwn unhex
|
|
|
|
16진수에서 문자열로
|
|
```
|
|
pwn unhex 686f6c61
|
|
```
|
|
## Pwn 업데이트
|
|
|
|
pwntools를 업데이트하려면
|
|
```
|
|
pwn update
|
|
```
|
|
{{#include ../../../banners/hacktricks-training.md}}
|