This is probably a bad question but what I mean is would I have to gts trade for a non-legit legendary or is there any way to get a legit legendary (even from a glitch, not a hack)?
Although it's not legit. There is absolutely no way you can ever get a Shiny Xerneas/Yveltal/Zygarde.
It's possible using Power Saves though, although you can't trade it after you get it, so you won't find any of those in the GTS.
NOTE: The usual process of Shinification (a form of hack) doesn't work, as the Pokemon are Shiny-locked.
Hope I helped!
They are all shiny locked, but I think if you get a legit one you can have somebody make it shiny for you. Hope I helped!
There was an event for shiny xernias/yveltal but it has ended. In ultra sun/moon, only the alola legendaries (excluding type:null) and zygarde are shiny locked. This means legendaries obtained through ultra wormholes are not shiny locked. So you can hunt xernias in ultra sun (green wormhole) and yveltal in ultra moon (red wormhole)
Also, in June 2018 there is an event for shiny zygarde. This is in the year of legendary pokémon.