Michael Campbell, 28, of the 1500 block of North Campbell Avenue was arrested Thursday and charged with aggravated criminal sexual assault, kidnapping by force or threat of force and aggravated robbery.

Authorities said Campbell attacked the 20-year-old woman about 5 a.m. Monday at a bus stop in the 1000 block of North Western Avenue near the border of Humboldt Park and Ukrainian Village.

He then dragged her by her head and neck into a nearby gangway where he beat her and sexually assaulted her, authorities said.

During the attack, the woman cried for help, and Campbell told her he "had a gun and would shoot her if she did not shut up," Assistant State's Attorney Christina Brewer said.

Before raping the woman, Campbell also slammed her head into a brick wall multiple times, Brewer said.

Campbell grabbed the woman's purse and ran off when a witness heard the commotion and called 911, and another witness saw Campbell "shedding clothing" as he ran away, prosecutors said.

Police gathered video from a nearby gas station that showed a man wearing clothing found near the scene, and the victim identified the man from the video as her attacker.

Photos from the video were given to the media, and soon afterward a witness contacted police and identified the attacker as Campbell, Brewer said.

On Thursday, police found Campbell hiding under a bed at his home in the 1500 block of North Campbell Avenue and arrested him. He was positively identified by the victim in a lineup.