Posh started well, with Harry Beautyman heading over before Marcus Maddison and Erhun Oztumer spurned chances.
Conor Washington then broke the deadlock for Posh, finishing low into the corner from the centre of the box.
Shrewsbury's equaliser came when Ben Alnwick palmed a long-range shot into the path of substitute Barnett, who finished into the bottom corner.
Barnett, who cost Peterborough a then club record seven-figure fee from Crawley in 2012, joined Shrewsbury in February.
He has now netted six times this season, but this was his first in two months, to help lift Town to 18th, a point clear of trouble.
Shrewsbury boss Micky Mellon told BBC Radio Shropshire:
"You always hope that players who come back to their former club can score. It doesn't always happen but I was delighted for Tyrone Barnett to do that.
"It was a bit of a kick in the teeth to concede as we were enjoying a good spell. We gave away possession and they found the back of the net.
"Peterborough are a good side, but you don't just defend with your back four. All the way through we needed to get the shape right. We knew where the threats were to have any chance of winning."
Shrewsbury Town earned a hard-fought point at Peterborough with a late goal from ex-Posh striker Tyrone Barnett.