Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

GTFObins Printable/Base64 Streams #195

Open
calebstewart opened this issue Sep 19, 2021 · 0 comments
Open

GTFObins Printable/Base64 Streams #195

calebstewart opened this issue Sep 19, 2021 · 0 comments
Labels
bug Something isn't working enhancement New feature or request

Comments

@calebstewart
Copy link
Owner

Bug Description

At one point in the past, the gtfobins module supported both "printable", "raw" and "base64" streams. The intent was that some commands may not be able to transfer raw un-encoded data. This requirements was basically due to the fact that the data-transfer method of pwncat couldn't accept or write data in an unencoded format directly.

Largely, this requirement is gone with the newer framework changes, which left gtfobins in a weird place. The base64 stream is no longer supported, and the print stream is largely not needed anymore. Some base64 streams were left in the database which can cause problems in edge cases.

In an effort to get a quick fix out, I'm splitting this problem up. I'm pushing a fix now to ensure that only raw streams are selected for now. This should ensure that pwncat doesn't crash in those sitautions (as the gtfobins module won't return incompatible payloads), but may render some gtfobins entries useless. A larger and more intensive look needs to be taken at the gtfobins module to update the payloads, but this is a large task.

Separately, I'm working on a fix-gtfobins-streams branch which will implement test cases for every gtfobins database entry, and attempt to prune older print and base64 entries from the database. This is going to take time as there's a lot of entries and testing is tedious at best.

This issue represents two things: a bug in pwncat as well as an enhancement/feature moving forward so I'm marking it as such. The bug should be fixed this evening, but the larger enhancement will be longer standing. I'll make sure to reference this issue in the resulting pull request for the bug in order to better track the problem. 👍

@calebstewart calebstewart added bug Something isn't working enhancement New feature or request labels Sep 19, 2021
@calebstewart calebstewart changed the title GTFObins Printable Streams GTFObins Printable/Base64 Streams Sep 19, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant