From d6616cd8a9de9eee68f2f8cda7cdc7f0da14f252 Mon Sep 17 00:00:00 2001 From: "Joshua J. Drake" Date: Mon, 6 Feb 2012 11:28:59 -0600 Subject: [PATCH 1/3] Fix up posix meterpreter rtld/Makefile rule --- external/source/meterpreter/source/server/rtld/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/source/meterpreter/source/server/rtld/Makefile b/external/source/meterpreter/source/server/rtld/Makefile index 0e21bda85c..26a35b230c 100644 --- a/external/source/meterpreter/source/server/rtld/Makefile +++ b/external/source/meterpreter/source/server/rtld/Makefile @@ -53,7 +53,7 @@ metsrv_rtld.o: libc.h libm.h libcrypto.h libssl.h libmetsrv_main.h libsupport.h rtldtest: rtldtest.c msflinker gcc -march=i386 -m32 -o rtldtest rtldtest.c -DEP=`objdump -f msflinker | grep start | awk '{ print $$3 }'` -.s.o: +.S.o: gcc $(CFLAGS) -c $< .c.o: From 4b2d8f88e84a396ac91ec31d983ad30d4e5451ff Mon Sep 17 00:00:00 2001 From: "Joshua J. Drake" Date: Mon, 6 Feb 2012 11:37:29 -0600 Subject: [PATCH 2/3] Fix dprintf statements in meterpreter C src #6334 --- .../source/meterpreter/source/common/arch/posix/scheduler.c | 6 +++--- .../source/meterpreter/source/extensions/sniffer/sniffer.c | 4 ++-- external/source/meterpreter/source/server/server_setup.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/external/source/meterpreter/source/common/arch/posix/scheduler.c b/external/source/meterpreter/source/common/arch/posix/scheduler.c index cdacf8ddaa..2c4ea037e3 100644 --- a/external/source/meterpreter/source/common/arch/posix/scheduler.c +++ b/external/source/meterpreter/source/common/arch/posix/scheduler.c @@ -58,8 +58,8 @@ DWORD scheduler_destroy( VOID ) polltable = NULL; nentries = ntableentries = 0; } - - dprintf("[%s] Now for the fun part, iterating through list and removing items"); + + dprintf("[%s] Now for the fun part, iterating through list and removing items", __FUNCTION__); LIST_FOREACH_SAFE(current, &WEHead, link, tmp) { @@ -84,7 +84,7 @@ DWORD scheduler_destroy( VOID ) DWORD scheduler_initialize( Remote * remote ) { if(scheduler_thread) { - dprintf("[%s] Hmmm. scheduler_initialize() called twice?"); + dprintf("[%s] Hmmm. scheduler_initialize() called twice?", __FUNCTION__); return ERROR_SUCCESS; } diff --git a/external/source/meterpreter/source/extensions/sniffer/sniffer.c b/external/source/meterpreter/source/extensions/sniffer/sniffer.c index 47594db0c2..577cf85d6f 100644 --- a/external/source/meterpreter/source/extensions/sniffer/sniffer.c +++ b/external/source/meterpreter/source/extensions/sniffer/sniffer.c @@ -74,7 +74,7 @@ char *get_interface_name_by_index(unsigned int fidx) interfaces = int_iter = NULL; if(pcap_findalldevs(&interfaces, errbuf) == -1) { - dprintf("[%s] Hmm, out of memory? (errno = %d, but probably not useful)", errno); + dprintf("[%s] Hmm, out of memory? (errno = %d, but probably not useful)", __FUNCTION__, errno); return NULL; } @@ -399,7 +399,7 @@ void packet_handler(u_char *user, const struct pcap_pkthdr *h, const u_char *byt pkt = calloc(sizeof(PeterPacket) + h->caplen, 1); if(! pkt) { - dprintf("[%s] ho hum, no memory. maybe a pcap_breakloop / stop running?"); + dprintf("[%s] ho hum, no memory. maybe a pcap_breakloop / stop running?", __FUNCTION__); return; } diff --git a/external/source/meterpreter/source/server/server_setup.c b/external/source/meterpreter/source/server/server_setup.c index cc3c8aa9f8..c0e2c4b4a1 100644 --- a/external/source/meterpreter/source/server/server_setup.c +++ b/external/source/meterpreter/source/server/server_setup.c @@ -133,7 +133,7 @@ static VOID server_socket_flush( Remote * remote ) break; ret = recv(fd, buff, sizeof(buff), 0); - dprintf("[SERVER] Flushed %d bytes from the buffer"); + dprintf("[SERVER] Flushed %d bytes from the buffer", ret); // The socket closed while we waited if(ret == 0) { From 1a6cbd2bf0380515f68f346c0af32591668a6db9 Mon Sep 17 00:00:00 2001 From: "Joshua J. Drake" Date: Mon, 6 Feb 2012 11:42:12 -0600 Subject: [PATCH 3/3] Fix another dprintf from #6334, oops --- external/source/meterpreter/source/server/linux/netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/source/meterpreter/source/server/linux/netlink.c b/external/source/meterpreter/source/server/linux/netlink.c index fe2258e79c..61a118f58b 100644 --- a/external/source/meterpreter/source/server/linux/netlink.c +++ b/external/source/meterpreter/source/server/linux/netlink.c @@ -144,7 +144,7 @@ int netlink_parse(int fd, int seq, netlink_cb_t callback, void *data) if(nh->nlmsg_type == NLMSG_ERROR) { struct nlmsgerr *me = (struct nlmsgerr *) NLMSG_DATA (nh); - dprintf("[%s] in NLMSG_ERROR handling.. me = %p", __FUNCTION__); + dprintf("[%s] in NLMSG_ERROR handling.. me = %p", __FUNCTION__, me); dprintf("[%s] me->error = %d", __FUNCTION__, me->error); if(me->error) { dprintf("[%s] so, we have: nlmsg_len: %d, nlmsg_type: %d, nlmsg_flags: %d, nlmsg_seq: %d, nlmsg_pid: %d",