Closed r00tkillah closed 8 years ago
me too, same result:(, get net packet by wireshark everything is right,and /bin/sh also start at the client side
and have same two line code in the driver_exec.c (line 131,132)
That's really weird! I'm out of town and really busy at work, but this is high up on my TODO list and I'll check things out.
A pcap, and the output of the client running with --packet-trace and -d and the server running with --packet-trace and --firehose would be helpful. There'll be a lot of output, but it'll help me immensely!
On Tue, Feb 23, 2016 at 12:19 AM, asmc notifications@github.com wrote:
and have same two line code in the driver_exec.c (line 131,132)
— Reply to this email directly or view it on GitHub https://github.com/iagox86/dnscat2/issues/89#issuecomment-187598199.
Logs attached logs.zip
I don't know if this is related, but perusing the code, I see that 9c405f3d added an attribute reader in DriverConsole for the stopped attribute, but there is no other reference in the class to it. Could this be related?
git bisect leads me to think that 91299717acf03441af914ee94312eecbc60fcbd4 broke it
Sweet, thanks for doing research! I return home on Wednesday, and am going to try and work through the open bugs on the weekend. Thanks for your patience. :)
On Mon, Feb 29, 2016 at 7:05 AM, Hacker, J.R. notifications@github.com wrote:
git bisect leads me to think that 9129971 https://github.com/iagox86/dnscat2/commit/91299717acf03441af914ee94312eecbc60fcbd4 broke it
— Reply to this email directly or view it on GitHub https://github.com/iagox86/dnscat2/issues/89#issuecomment-190249735.
Sorry for the delay, and thanks for your patience!
You're absolutely right, I can repro no problem. The issue seems to be, as you determined with git bissect, in the changes to select_group.c. In driver_exec.c, the "data just came in from the process!" callback is never happening, and it should be handled by select_group.c code.
I'll figure this out! :)
This check is the problem in select_group.c:
483 if(SG_IS_ACTIVE(group, i))
484 {
485 if(SG_IS_READY(group, i))
486 FD_SET(SG_SOCKET(group, i), &read_set);
487 else
488 FD_SET(SG_SOCKET(group, i), &write_set);
489
490 FD_SET(SG_SOCKET(group, i), &error_set);
491 }
SG_IS_READY() is never getting set for the socket, because there's no "connect" happening (it becomes READY after a connect).
Now I just have to figure out the best way to fix that. :)
shell commands appears to not work:
Nothing seems to come back.
Version: