Ludovic Sylvestre struck against the run of play to give the visitors the lead just before the half-hour mark but a red card to Isaiah Osbourne left the Tangerines to hold on with 10 men for over 30 minutes.
But McGugan equalised with a penalty nine minutes from time to preserve Billy Davies' unbeaten run since returning as manager, while leaving Paul Ince's side just four points above the drop zone.
The Tangerines' first meaningful attack came in the ninth minute when Nathan Delfouneso cut in from the left and let fly with a curling shot from the edge of the area that came crashing back off the bar.
They took the lead with their next attack as Sylvestre grabbed his third goal of the season. The midfielder picked up the ball on the left-hand edge of the area and unleashed an effort beyond Karl Darlow's reaches into the far corner.
Forest came out with greater purpose in the second period. Elliott Ward headed over from a corner before Chris Cohen forced a save from Matt Gilks with a shot from the edge of the area and they were boosted as the visitors were reduced to 10 men for the second game in succession, as Osbourne was shown a straight red card for a late tackle on Halford.
Davies responded by bringing on McGugan, who rescued a point at Burnley, and he went close three times within five minutes of entering the fray.
Dexter Blackstock and Billy Sharp were also summoned from the bench, leaving Forest with four strikers on the pitch.
And the pressure told as Chris Basham fouled Simon Cox in the area and McGugan added the equaliser - the sixth consecutive game he had found the net.
Forest pressed for a winner and were given seven minutes of stoppage time to find it, but Ince's men held on to extend their unbeaten run at the City Ground to seven matches.