Dnscat2 Versions Save

v0.07

7 years ago

This change fixes a pretty serious bug where 'exec' and 'shell' didn't work at all.

(I don't know what happened to version 6.. some of my documents said I was at 6, and some said 7, so rather than argue with Past Ron I decided to take the safer version. It's not like I'm gonna run out of version numbers!)

Feedback is extremely important to me! Please let me know what you think!

Where can I get it?

Here are some links:

How can I help?

I'd love to hear from anybody who successfully or unsuccessfully tried to get things going. Anything from what you liked, what you didn't like, what was intuitive, what was unintuitive, where the documentation was awesome, where the documentation sucked, what you like about my face, what you hate about my face - anything at all! Seriously, if you get it working, email me - knowing that people are using it is awesome and motivates me to do more. :)

For feedback, my email address is my first name (ron) at my domain (skullsecurity.net). If you find any bugs or have any feature requests, the best place to go is my [https://github.com/iagox86/dnscat2/issues](Issue tracker).

v0.05

8 years ago

This change introduces basic tunnels (a la "ssh -L") to dnscat2! As usual, full details can be found in my blog post about it for gory details. :)

Feedback is extremely important to me! Please let me know what you think!

Where can I get it?

Here are some links:

How can I help?

I'd love to hear from anybody who successfully or unsuccessfully tried to get things going. Anything from what you liked, what you didn't like, what was intuitive, what was unintuitive, where the documentation was awesome, where the documentation sucked, what you like about my face, what you hate about my face - anything at all! Seriously, if you get it working, email me - knowing that people are using it is awesome and motivates me to do more. :)

For feedback, my email address is my first name (ron) at my domain (skullsecurity.net). If you find any bugs or have any feature requests, the best place to go is my [https://github.com/iagox86/dnscat2/issues](Issue tracker).

v0.04

8 years ago

This change introduces cryptography to dnscat2! All connections are now encrypted by default. Since encryption is kind of complicated to explain in release notes, please check out my blog post about it for gory details. :)

Feedback is extremely important to me! Please let me know what you think!

Where can I get it?

Here are some links:

How can I help?

The goal of this release is primarily to find bugs in compilation, usage, and documentation. Everything should work on all 32- and 64-bit versions of Linux, Windows, FreeBSD, and OS X. If you get it working on any other systems, let me know so I can advertise it!

I'd love to hear from anybody who successfully or unsuccessfully tried to get things going. Anything from what you liked, what you didn't like, what was intuitive, what was unintuitive, where the documentation was awesome, where the documentation sucked, what you like about my face, what you hate about my face - anything at all! Seriously, if you get it working, email me - knowing that people are using it is awesome and motivates me to do more. :)

For feedback, my email address is my first name (ron) at my domain (skullsecurity.net). If you find any bugs or have any feature requests, the best place to go is my [https://github.com/iagox86/dnscat2/issues](Issue tracker).

v0.03

8 years ago

This is another stability / cleanup release. Huge chunks of the server were re-written and cleaned up, and the documentation was greatly expanded and improved! Like v0.02 with the client, this is the release where I tried to fix the worst decisions I made while writing the server!

From the release notes:

  • Re-wrote large parts of the server into way cleaner code
  • Significantly updated the documentation for the server
  • Removed reliance from rubydns, a built-in DNS server is now used for everything
  • Added a standalone tool, dnslogger.rb
  • There is now a "passthrough" option, which will forward any requests that dnscat2 doesn't know how to handle to an upstream server (somewhat stealthier, maybe?)

Like last release, feedback is extremely important to me!

Where can I get it?

Here are some links:

How can I help?

The goal of this release is primarily to find bugs in compilation, usage, and documentation. Everything should work on all 32- and 64-bit versions of Linux, Windows, FreeBSD, and OS X. If you get it working on any other systems, let me know so I can advertise it!

I'd love to hear from anybody who successfully or unsuccessfully tried to get things going. Anything from what you liked, what you didn't like, what was intuitive, what was unintuitive, where the documentation was awesome, where the documentation sucked, what you like about my face, what you hate about my face - anything at all! Seriously, if you get it working, email me - knowing that people are using it is awesome and motivates me to do more. :)

For feedback, my email address is my first name (ron) at my domain (skullsecurity.net). If you find any bugs or have any feature requests, the best place to go is my [https://github.com/iagox86/dnscat2/issues](Issue tracker).

What's the future hold?

Beta v0.04 will be a feature release! I'm working hard on adding some crypto and signing to messages by default, so it isn't as easy to read the traffic from a pcap.

Beyond that, shellcode, proxying, and new features!

I'm happy to focus on what people want, too, so drop me a line if you have any specific feature requests. I've been prioritizing things based on feedback I've received. I'm very responsive via email and github issues if you aren't asking me to hack your friend's or wife's Facebook account. :)

v0.02

8 years ago

This is a major cleanup release. I spent a significant amount of time re-writing some of what I consider my worst decisions on the client from the first beta. The next release will be a server cleanup, after which I plan to start adding more features.

From the release notes:

  • Re-wrote large parts of the client into cleaner code (for example, removed the entire message.* code, which was an awful, awful idea)
  • When multiple sessions are in progress, it's now "fair" (a message is sent every 'tick'; each session now takes turns sending out a message, rather than the oldest sessions blocking out younger ones
  • Removed some parameters that nobody will ever use from the commandline, like --name and --download (though --download may come back in another form!)
  • Changed the way a "tunnel driver" (ie, dns driver) is created on the commandline - it's now modeled after socat
  • The client will no longer transmit forever against a bad server - it will attempt to retransmit 10 times by default

Like last release, feedback is extremely important to me!

Where can I get it?

Here are some links:

How can I help?

The goal of this release is primarily to find bugs in compilation, usage, and documentation. Everything should work on all 32- and 64-bit versions of Linux, Windows, FreeBSD, and OS X. If you get it working on any other systems, let me know so I can advertise it!

I'd love to hear from anybody who successfully or unsuccessfully tried to get things going. Anything from what you liked, what you didn't like, what was intuitive, what was unintuitive, where the documentation was awesome, where the documentation sucked, what you like about my face, what you hate about my face - anything at all! Seriously, if you get it working, email me - knowing that people are using it is awesome and motivates me to do more. :)

For feedback, my email address is my first name (ron) at my domain (skullsecurity.net). If you find any bugs or have any feature requests, the best place to go is my [https://github.com/iagox86/dnscat2/issues](Issue tracker).

What's the future hold?

Beta v0.03 will be cleanup of the server code and a better server UI.

Beyond that, shellcode, proxying, and new features!

I'm happy to focus on what people want, too, so drop me a line if you have any specific feature requests. I'm very responsive via email and github issues if you aren't asking me to hack your friend's or wife's Facebook account. :)

v0.01

9 years ago

As I promised during my 2014 Derbycon talk (amongst other places), this is an initial release of my complete re-write/re-design of the dnscat service / protocol. It's now a standalone tool instead of being bundled with nbtool, among other changes. :)

I'd love to have people testing it, and getting feedback is super important to me! Even if you don't try this version, hearing that you're excited for a full release would be awesome. The more people excited for this, the more I'm encouraged to work on it! In case you don't know it, my email address is listed below in a couple places.

Where can I get it?

Here are some links:

Wait, what happened to dnscat1?

I designed dnscat1 to be similar to netcat; the client and server were the same program, and you could tunnel both ways. That quickly became complex and buggy and annoying to fix. It's had unresolved bugs for years! I've been promising a major upgrade for years, but I wanted it to be reasonably stable/usable before I released anything!

Since generic TCP/IP DNS tunnels have been done (for example, by http://code.kryo.se/iodine/), I decided to make dnscat2 a little different. I target penetration testers as users, and made the server more of a command & control-style service. For example, an old, old version of dnscat2 had the ability to proxy data through the client and out the server. I decided to remove that code because I want the server to be runnable on a trusted network.

Additionally, unlike dnscat1, dnscat2 uses a separate client and server. The client is still low-level portable C code that should run anywhere (tested on 32- and 64-bit Linux, Windows, FreeBSD, and OS X). The server is now higher-level Ruby code that requires Ruby and a few libraries (I regularly use it on Linux and Windows, but it should run anywhere that Ruby and the required gems runs). That means I can quickly and easily add functionality to the server while implementing relatively simple clients.

How can I help?

The goal of this release is primarily to find bugs in compilation, usage, and documentation. Everything should work on all 32- and 64-bit versions of Linux, Windows, FreeBSD, and OS X. If you get it working on any other systems, let me know so I can advertise it!

I'd love to hear from anybody who successfully or unsuccessfully tried to get things going. Anything from what you liked, what you didn't like, what was intuitive, what was unintuitive, where the documentation was awesome, where the documentation sucked, what you like about my face, what you hate about my face - anything at all! Seriously, if you get it working, email me - knowing that people are using it is awesome and motivates me to do more. :)

For feedback, my email address is my first name (ron) at my domain (skullsecurity.net). If you find any bugs or have any feature requests, the best place to go is my [https://github.com/iagox86/dnscat2/issues](Issue tracker).

What's the future hold?

I've spent a lot of time on stability and bugfixes recently, which means I haven't been adding features. The two major features that I plan to add are:

  • TCP proxying - basically, creating a tunnel that exits through the client
  • Shellcode - a x86/x64 implementation of dnscat for Linux and/or Windows

Once again, I'd love feedback on which you think is more important, and if you're excited to get shellcode, then which architecture/OS that I should prioritize. :)