Legal means just sticking to the law.
Ethical means both sticking to the law, and doing things in a transparent way.
In the recent Gupta scandal, McKinsey were law-abiding, but not ethical.
They did nothing illegal, but their actions could not stand the light of day.
The law is important, but being transparent is the ultimate test of ethics.
(Summary of extract of Nasim Taleb’s Skin in the Game. Highly recommended reading.)