ctf-pwn
Pwn utilities for Rust.
Features
Pipe
- Converting TCP Stream or Process to Pipe
- Conditional reading
- Bridging pipe to stdout/stdin
- Payload crafter
- Ansi event support for ncurses like shells
Shell
- Intel x86
- Amd x64
- Arm
- Risc-V
Binary Parsing
- Elf
- PE
Examples
Connecting to tcp stream
let mut pipe = connect.await?;
Spawning new process
let mut pipe = from_app.await?;
let mut pipe = from_app_args.await?;
Generic loading
let mut pipe = new;
Reading examples
let data: = pipe.recv.await?;
let data: = pipe.recv_until.await?;
let data: = pipe.recv_until.await?;
let data: String = pipe.recv_line_utf8.await?;
let data: AsciiString = pipe.recv_line_ascii.await?;
Regex
let data = pipe.recv_until.await?;
let flag = pipe.recv_regex_utf8.await?;
Interactive shell
pipe.interactive_shell.await?;
Ncurses support
Sending ansi commands
pipe.write_ansi_command.await?;
pipe.write_ansi_command.await?;
pipe.write_ansi_command.await?;
Ansi event based interactive shell
pipe.interactive_ansi.await?;
Payload
let payload = builder
.recv_until
.push
.push
.send
.recv_until
.push_line
.send
.recv_regex_utf8
.build;
let flag = pipe.payload.await?;
println!;