At first glance, the global $shortcode_tag looks like the answer to your question. But then you will discover that, in the Codex, it has been removed from the list of globals that you "should use".
If you have the patience, this is a good read on why the global is not reliable:
And why there appears to be no reliable way to determine shortcodes in use.
The short answer is that shortcodes are being conditionally defined by plugins. In the most simple case, a plugin will use is_admin() to determine whether to define the shortcode. If true, for Admin panels only. If false, for everything but Admin panels. Backend/Frontend in some vocabularies.