Iran vows retaliation if attacked