-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shellcraft Syscall Madness #685
Comments
I have been working on this, I'll add a pull request with some commits later tonight. |
It would also be nice if the shellcraft CLI ignored all the syscalls and only listed the 'useful' shellcodes... |
It already does that, you need to pass the flag --syscalls for it to list syscalls. I have improved the UX for the shellcraft CLI by making it print only the help/usage when using it without arguments, and adding a -l/--list which lists every shellcode, and takes an optional argument to narrow down the list (e.g. -l i386.linux). |
Doesn't it already have a --list option? Would you mind adding your PR so I can follow progress?
|
It does, because you added it a week ago and I hadn't pulled. Wouldn't it be even better if
Added. |
Since we have a |
How is this going? |
I'll try to get a mergeable version of this pushed tomorrow, thanks for reminding me. |
@kristoff3r If you need help with this just push up your branch |
++agree |
@kristoff3r Ping |
Ping on both my and @krisoff3r's pull requests. I think his does a great job solving this particular PR, and mine solves the generic case of all syscalls, and the ability to generate them on the fly (and a few things are made easier, like passing strings to open() and having it "just work"). |
* vmmap: add QEMU kernel support This feature uses GDB's `monitor info mem` to fetch memory pages for QEMU in kernel mode. However, at least on QEMU 3.0.0 on `qemu-system-x86_64` the `monitor info mem` command returns memory pages without the `executable` permission bit, so for now we assume that all pages are executable. The `monitor info mem` works only in QEMU kernel mode and in QEMU-user it does: ``` (gdb) monitor info mem Target does not support this command. ``` * Update vmmap command docs * Use monitor_info_mem only on X86/X64 * monitor_info_mem: fix comment about executable perm * Update vmmap help
The 3.0 release added a bunch of syscall wrappers, but it did two things wrong:
socketcall
do not (listen
,socket
, etc.)The syscalls should be migrated into their own
syscalls
sub-directory, e.g.pwnlib/shellcraft/templates/i386/linux/syscalls/execve.asm
.The fall-through logic of the
shellcraft
module will make these accessible as top-level attributes on theshellcraft
object.This introduces some ambiguity with current ez-mode wrappers which are named after syscalls. These will either need to be renamed, or we accept the ambiguity in these few cases.
The text was updated successfully, but these errors were encountered: