He had hands on him, but wasn't pulling him or anything.
How do you know? It doesn't take very much to pull a man down from his shoulders, especially if he already doesn't have the best balance.
He should've kept his hands to himself. Whether the Brazilian went down intentionally or not, I don't know, but to me it didn't seem like he had any time to consciously decide to fish for a penalty. Not like Rivaldo covering his face after a ball hit him on the hip in 2002. I didn't see any overt signs of acting, he was in the middle of fight for the possession of the ball and during it he went down, referee called it a penalty and it ended up going in.
There's a way to avoid flimsy penalties being called, and that's not letting the enemy team into the penalty zone with possession of the ball. The Croatian defense failed even before the penalty, and whether or not it was a foul is not really up to question.
If the referee had thought it was not a foul, he could've booked the Brazilian player for filming or delaying the game. But he didn't, because the Croat defender made it appear an obvious foul.