The color(s) you see in a block depend on the block definition and the layer the block is on. You can't change either of those things without editing the referenced drawing.
If the components of a block are set to color ByLayer and if they're on layer 0, then you can change the color of the layer on which the block is inserted, and the block will change color. So it's a good idea to define all your blocks that way if possible. Otherwise, you're stuck with the colors of the block elements or of the block instance itself.
Another possibility is if those block elements are color ByBlock (because nothing is simple in AutoCAD). Then the block, not the layer, determines the color. Unless the block is color ByLayer, then it inherits the layer color.
tl;dr: You can redefine the color of an xref-ed layer, but if that doesn't help, you're stuck without access to the drawing itself.