Why do you punish him? He doesn't understand. Punishing children causes them to become aggressive. He is most likely aggressive because of being controlled, punished and lonely in his heart (because he is not understood.)
I had similar problems with my older son, but the problems vanished when I learned what to do instead of punishment. I learned kind ways of understanding my son.
If you understand the reason, you can eliminate the cause. Have you read the book, Raising Our Children, Raising Ourselves, or the author's many advice columns in The Mother, and other magazines internationally?
I recommend that you learn to respond to your son in a way that he takes away the REASON for his aggression.