This question is a favorite of skeptics. Cain was a member of Adam’s family. After Cain killed his brother Abel, the Lord put a curse on him and drove him from the land, into the land of Nod, east of Eden, where he took a wife. Since there were no other people on earth at the time, the question becomes where did Cain find someone to marry?
Genesis 5:4 tells that by the time Adam was 800 years old, he had had “other sons and daughters.” One of these siblings would have been the female Cain married.
Yes, Cain married one of Adam’s daughters, making his wife one of his sisters. To read why this intermarriage was acceptable, read the whole article, here