Israel's military has ordered the evacuation of 23 Lebanese villages, saying Hezbollah is using sites there to conceal weapons and launch attacks on Israel.