A powerful tornado ripped through more than a dozen rural villages in eastern Bangladesh late Friday, killing at least 20 people and injuring more than 100, officials said.