bet4it / build-an-efficient-pwn-environment Goto Github PK
View Code? Open in Web Editor NEWHow to build an efficient pwn development environment in 2020
How to build an efficient pwn development environment in 2020
Great work on the debugger build. The one that I was curious was when do you automatically load up hyperpwn-client and hyperpwn-server? I wanted to make sense of this and figure out when you could actually run both? Ideally I would just like to hit gdb on Hyper and both scripts will run off the bat. It seems arbitrary when/where you would start it.
When install pwntools via pip with command: pip install pwntools
, it requires unicorn-engine >1.0.2rc1 - 1.0.2rc4.
But some other lib use pwntools >=1.0.3 and unicorn-engine will be bump up to unicorn2. I think we nees to update :D
If you document how to get all this to work on Kali/Debian I bet you will get a big uptick in usage.
`from pwn import *
context.binary = './combo-chain'
context.log_level = 'debug'
context.terminal=['~/hyperpwn/hyperpwn-client.sh']
conn = gdb.debug('./combo-chain')`
Result:
Starting local process '/usr/bin/gdbserver' argv=[b'/usr/bin/gdbserver', b'--multi', b'--no-disable-randomization', b'localhost:0', b'./combo-chain'] : pid 21153 [DEBUG] Received 0x43 bytes: b'Process ./combo-chain created; pid = 21157\n' b'Listening on port 45131\n' [DEBUG] Wrote gdb script to '/tmp/pwn24bii4nz.gdb' target remote 127.0.0.1:45131 [*] running in new terminal: /usr/bin/gdb -q "./combo-chain" -x /tmp/pwn24bii4nz.gdb [DEBUG] Launching a new terminal: ['~/hyperpwn/hyperpwn-client.sh', '/usr/bin/gdb -q "./combo-chain" -x /tmp/pwn24bii4nz.gdb']
I set context.terminal , but the terminal where hyperpwn-server.sh work show nothing.
Help me ...
Hi there, thank you for sharing this great setup. Itβs so useful. However, could you explain the virtual environment setup in detail?
Or can you post your own setup in this repo, so others can refer to them.
This question is simliar to issue 5.
kali 2020.4
I have the following python script:
from pwn import *
context.clear(arch='amd64')
context.log_level = 'debug'
context.terminal = ['~/hyperpwn-client.sh']
filename = "ls"
sh = gdb.debug(filename) # type: pwnlib.tubes.process.process
then i run it in terminal with an opening hyper terminal which runs the server, but the ~/hyperpwn-client.sh doesn't take effect
[DEBUG] Received 0x38 bytes:
'Process ls created; pid = 16673\n'
'Listening on port 44169\n'
[DEBUG] Wrote gdb script to '/tmp/pwnkaSrGb.gdb'
target remote 127.0.0.1:44169
[*] running in new terminal: /usr/bin/gdb -q "/usr/bin/ls" -x /tmp/pwnkaSrGb.gdb
[DEBUG] Launching a new terminal: ['~/hyperpwn-client.sh', '/usr/bin/gdb -q "/usr/bin/ls" -x /tmp/pwnkaSrGb.gdb']
[*] Stopped process '/usr/bin/ls' (pid 16673)
but if i run~/hyperpwn-client.sh '/usr/bin/gdb -q "/usr/bin/ls" -x /tmp/pwnkaSrGb.gdb'
on terminal, it can function normally
How can I start everything with one click?
Now I have to start hyper and type ./hyper-server.sh
the terminal should be set to ./hyper.client.sh
Can I find a way to start it quickly?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.