I must prove that
$M\times N$ compact $\implies$ $M$ compact and $N$ compact
using the definition that, if a metric space $M$ is compact, then every cover has an open finite sub cover.
$$M=\cup A_{\lambda}\implies M = A_{\lambda1}\cup\cdots\cup A_{\lambda_n}$$ where $A_\lambda$ is an open cover.
So, I must prove that if I have an open cover in $M\times N$, with a finite open subcover, I must have an open cover in $M$ and $N$ with finite open subcovers. However, I don't have any idea on how to prove that.
No, that is not what you must prove.
What you must prove is that assuming that $M\times N$ is compact, if you have an open cover of $M$, then it has a finite subcover. (And then similarly for $N$, but that goes the same way by symmetry).
Assuming that $M\times N$ is compact is not the same as assuming that you have a particular open cover of $M\times N$. It is, by definition, the same as knowing that you are allowed to construct an open cover of $M\times N$ in any way you like, and then there's an oracle that will pick out a finite subset of that which covers all of $M\times N$. You will need the freedom to choose a cover of $M\times N$ in a deliberate way in order to make your proof go through.
In other words instead of assuming that somebody gives you a cover of $M\times N$, what you're given is an open cover of $M$. And once you see that, you can decide on your own which cover (or covers) of $M\times N$ to apply the definition of compactness to.