Why does the colour rub off brown egg shells when boiled? Are they dyed?

No, brown eggs are not dyed! 

This one comes down to some basic science. The egg shell is composed mainly of calcium carbonate, which is white. If the hen lays brown eggs, the natural pigments of the brown egg are added to the shell in the last hours of shell formation. This layer is still calcium based, and alkaline. Vinegar is a weak acid. Acid dissolves alkaline. If you boil your eggs in water and add vinegar it can soften the colour layer. We did some experiments and found that about 5% vinegar in your pot is enough to make it happen. However, we could only replicate this if you attempt to rub it off almost straight away, if the boiled eggs were allowed to dry the colour was stable again. If the colour rubs off it is nothing to be concerned about, perhaps try using less vinegar.

For a more extreme experiment you can try soaking an egg in pure vinegar, and it will actually completely dissolve the shell.