A Russian drone has slammed into a block of flats in eastern Kyiv, killing six people and wounding dozens of others, during a wave of strikes throughout the Ukrainian capital.

As emergency workers sifted through the wreckage in the Lisovyi area, one Kyiv resident called Vita described how the drone had pierced the building, exploding on the other side.

Meanwhile, Ukraine stepped up its attacks on Russia's oil infrastructure, with drone strikes on one of its biggest export terminals in Novorossiysk, on the Black Sea coast.

Fire broke out at the Sheskharis oil refinery, and a ship and a block of flats were hit, officials said.

Krasnodar governor Veniamin Kondratyev said three crew members and another man were hurt in the attack which damaged the main oil depot and a container terminal.

Mayor Andrei Kravchenko declared a state of emergency and Reuters reported that oil exports were suspended.

President Volodymyr Zelensky said Ukraine had fired long-range Long Neptune cruise missiles during its attacks on Russia overnight, without specifying what they targeted.

Condemning Russia's overnight attacks as vile and calculated, Zelensky said about 430 drones and 18 missiles had been launched and dozens of high-rise buildings damaged.

This was a deliberately calculated attack aimed at causing maximum harm to people and civilian infrastructure, he said.

A drone attack on a market at Chornomorsk in the south of the country killed two people.

In Kyiv, residential buildings came under attack in practically every district, the head of the city's military administration Tymur Tkachenko said on Telegram.

The fire service in the Lisovyi neighborhood said later the drone had hit the seventh floor of the residential building. When it exploded all floors from the eighth down to the fourth collapsed, a spokesman told the BBC.

More than 40 people were rescued, they added, including 14 from a fire in a residential building. Another person was rescued after being pulled from beneath the rubble, they said.

Kyiv's energy infrastructure was badly hit, leaving some buildings in the capital without heat, officials said.

The attack was massive, with drones, ballistic missiles, and lots of air defense working, Ukrainian MP Lisa Yasko told the BBC. Very often there was the feeling that your bed was just shaking together with the windows.

Medical teams were deployed to all fires, officials said, while Mayor Vitali Klitschko said nine people were being treated in hospital with one man in an extremely serious condition.