"The eye of Hurricane Lorena is now passing over the coast of Los Cabos," Mexico's hurricane monitor, CONAGUA, wrote on Twitter.
The hurricane, which has been churning up the Pacific coast, first made landfall Thursday in west-central Mexico, then was briefly downgraded to a tropical storm before moving back over the water and regaining strength.
According to CONAGUA, Lorena was packing sustained winds of 140 kilometers (87 miles) per hour as it battered Los Cabos, making it a Category One hurricane on the scale of one to five.
After moving slowly northwest throughout the morning, it ground to a halt 70 kilometers from the beach town of Cabo San Lucas, dumping torrential rain on the area.
The US National Hurricane Center said the storm was expected to pour up to 20 centimeters (eight inches) of rain on the region, which "may result in flash flooding."
It warned that the storm's trajectory was "highly uncertain."
"Some weakening is forecast during the next 48 hours if Lorena moves inland. If the hurricane moves over the Gulf of California, it could strengthen instead," it said in its 2100 GMT update.
Lorena already buffeted west-central Mexico with strong winds, torrential rain and high waves, leading officials to cancel school in the affected areas.
Authorities suspended classes in Los Cabos for Friday, and ordered all boats and ships to remain docked.
The army said it had deployed troops to set up 14 emergency shelters in case they were needed.