The U.S. ambassador to the UN has urged Iran to “look in the mirror” for the causes of an attack on a military parade that killed 25 on Saturday.
Nikki Haley said Iranian President Hassan Rouhani had “oppressed his people for a long time”.
She was responding to Mr Rouhani’s fierce criticism of the US, in which he blamed it for enabling the attack.
Two separate groups have claimed they carried out the shooting, but neither has provided evidence.
Four gunmen opened fire at Revolutionary Guard troops in the south-western city of Ahvaz on Saturday, killing 25 people including soldiers and civilians watching a commemorative parade.
One of the victims was a four-year-old girl.
Who is blaming whom?
An anti-government Arab group – Ahvaz National Resistance – and the Islamic State (IS) group both claimed responsibility for the killings.
A video released by the Islamic State group’s news agency, Amaq, shows three men in a car who appear to be dressed in Islamic Revolutionary Guards Corps (IRGC) uniforms, possibly on their way to carry out the shooting.
The men do not identify themselves as members of IS in the video, but do talk about the importance of jihad.
President Rouhani said the “bully” US, along with Gulf states it backed, had enabled the attack.
But the US has denied responsibility and says it condemns “any terrorist attack”, while a senior official for the United Arab Emirates – one of the countries Mr Rouhani was thought to be referring to – called the accusations “baseless”.
“He’s got the Iranian people… protesting, every ounce of money that goes into Iran goes into his military, he has oppressed his people for a long time and he needs to look at his own base to figure out where that’s coming from,” Ms Haley told CNN.
“He can blame us all he wants. The thing he’s got to do is look in the mirror.”
Mr Rouhani will face Donald Trump at the UN General Assembly this week.
Speaking on Sunday, before leaving for the UN in New York, Mr Rouhani vowed that Iran would “not let this crime stand”.
“It is absolutely clear to us who committed this crime… and whom they are linked to,” he said.
He alleged that a Gulf country had supported the “financial, weaponry and political needs” of the attackers.
He added: “The small puppet countries in the region are backed by America, and the US is provoking them and giving them the necessary capabilities.”
Why does Iran blame its Gulf neighbours for the attack?
Mr Rouhani did not specify which “puppet” countries he was referring to – but his comments are widely thought to be directed at Iran’s regional foe Saudi Arabia, and the UAE and Bahrain.
Iran has previously alleged that Saudi Arabia supports separatist activity among Iran’s Arab minority.
Both countries have been struggling for regional political and religious dominance for decades, and are engaged in a number of proxy wars around the region, backing rival factions in Yemen and Syria.
The decades-old feud between them is exacerbated by religious differences – Iran is largely Shia Muslim, while Saudi Arabia sees itself as the leading Sunni Muslim power.
The UAE and Bahrain are closely allied with Saudi Arabia.
Iran has also alleged that the gunmen had links to its bitter foe Israel.
Iran considers Israel an illegitimate occupier of Muslim land – and has accused it of attempting to undermine the government.
Iran also summoned diplomats from the UK, the Netherlands, and Denmark on Saturday, accusing their countries of harbouring Iranian opposition groups.
And why are US-Iran relations so tense?
The two sides have had thorny relations for decades.
The US has accused Iran of running a clandestine nuclear weapons programme, which Iran denies.
In 2015, under then-President Barack Obama, the US and Iran reached a landmark nuclear deal – also signed by China, Russia, the UK, France and Germany – where Iran limited its nuclear activities in exchange for sanctions relief.
However, ties deteriorated after Mr Trump took office and then withdrew from the nuclear deal.
Since then, the US has brought sanctions back into place, despite opposition from EU partners, China and Russia, and warned that anyone trading with Iran would also be punished.
The US has also expressed support for anti-government protesters in Iran.
More generally, the US is deeply suspicious of Iranian activity in the Middle East – including its influence in Syria and Yemen – and is an ally of Israel and Saudi Arabia.
Mr Trump is chairing a UN Security Council meeting on Wednesday – and says the meeting will be focused on Iran.