The behavior you describe is not within the normal spectrum. It is not unusual for young children to be curious about their bodies and to undress and look at and touch each other's body. But your son and his friend are older than would be expected for such curiosity, and the sexulaized behavior they displayed is not what you'd expect in younger children. In fact, the simulation of sexual acts that your son and his friend displayed indicates some exposure, either in real life or via pictures, video, movie, etc. to similar behavior. It doesn't occur to children to act in such sexualized ways spontaneously. Be sure to talk with your son about this and figure out how he came to know about such behavior. Also, stay calm - there's no need to make youself sick about this. In fact, if you can remain calm and reasoned, you'll make more progress than you will if you allow yourself to become emotional. There's no need to punish your son, but be sure to establish a clear and firm limit about undressing and touching (or allowing himself to be touched).
My daughter is 4yrs old and plays with alittle boy who is the same age.Yesterday I caught him laying on top of her with his shirt pulled up and her shirt pulled up and hidding under a blanket.....My hasband and I do not like this and worry if this is something that's needs to be addressed.