The opener completed his tenth hundred off 78 balls and went on to reach 145-ball 153 when bad light ended play seven overs earlier with New Zealand 249/1, a strong position with just 102 runs away from Pakistan's first innings total of 351.
Kane Williamson matched his skipper's aggression and was unbeaten on 76, putting an impressive 198 for the unfinished second wicket stand, which gave New Zealand a strong position to level the series that the tourists trail 1-0, Sport24 reported.
Pakistan won the first Test while the second ended in a draw.
McCullum's rapid-fire knock was overshadowed by the gloomy atmosphere as Pakistan and New Zealand observed a minute's silence before the start and wore black armbands to join in the mourning for young Australian batsman Phillip Hughes who passed away on Thursday from serious head injuries after being hit by a bouncer.
The New Zealand team also did not celebrate any dismissal. The teams also abandoned Thursday's second day's play as a mark of respect for the talented Australian .
New Zealand's coach Mike Hesson admitted the day was gloomy despite his team's dominance. He said that it wasn't about cricket, adding that it was about supporting a fellow player and the key for them to stay calm as some players were struggling more than the others.
McCullum stole the show, hitting eight sixes, four off left-arm spinner Zulfiqar Babar, and 17 boundaries as New Zealand rattled the total in just 45 overs. In the penultimate over before tea he hit four boundaries in one paceman Mohammad Talha over before two quick singles completed his hundred.
This was the fastest hundred ever by a New Zealand batsman, beating the 81-ball hundred Ross Taylor made against Australia at Hamilton in 2010.
Williamson, who had a dismal series before this match, hit seven fours and a six off 96 balls. Their stand is New Zealand's best for second wicket against Pakistan, beating the 195 between John Wright and Geoff Howarth in Napier in 1997.
Pakistan's spin-cum pace attack looked hapless against McCullum as Babar conceded 71 in his ten overs while leggie Yasir Shah gave 59 in as many overs. Tom Latham was the only wicket to fall, caught behind off Rahat Ali for 13, the report added.