For SolidBrushes, you could save the Color.
For HatchBrushes, you could save the HatchStyle, ForegroundColor, and BackgroundColor.
For TextureBrushes, you need to save or refer to the image somehow -- depends on your application.
For LinearGradientBrushes and PathGradientBrushes, this gets more complicated, but almost always your particular GoShape subclass will be generating such brushes dynamically based on the size of the shape, so perhaps you just need to save some Colors and Singles which are the real parameters for (i.e. properties of) that shape class.
To summarize: how much you need to save depends on your application's use of brushes.