Iran vows to retaliate