For each face, to show a distinct color I guess we have to use opacity, but at this point, this problem seemed out of my hand. Could anyone help me out?
My attempt
\documentclass{article}
\usepackage{tikz}
\definecolor{cof}{RGB}{219,144,71}
\definecolor{pur}{RGB}{186,146,162}
\definecolor{greeo}{RGB}{91,173,69}
\definecolor{greet}{RGB}{52,111,72}
\begin{document}
\begin{tikzpicture}[thick,scale=3]
\coordinate (A1) at (0, 0);
\coordinate (A2) at (0, 1);
\coordinate (A3) at (1, 1);
\coordinate (A4) at (1, 0);
\coordinate (B1) at (0.3, 0.3);
\coordinate (B2) at (0.3, 1.3);
\coordinate (B3) at (1.3, 1.3);
\coordinate (B4) at (1.3, 0.3);
\draw[very thick] (A1) -- (A2);
\draw[very thick] (A2) -- (A3);
\draw[very thick] (A3) -- (A4);
\draw[very thick] (A4) -- (A1);
\draw[dashed] (A1) -- (B1);
\draw[dashed] (B1) -- (B2);
\draw[very thick] (A2) -- (B2);
\draw[very thick] (B2) -- (B3);
\draw[very thick] (A3) -- (B3);
\draw[very thick] (A4) -- (B4);
\draw[very thick] (B4) -- (B3);
\draw[dashed] (B1) -- (B4);
\draw[fill=yellow,opacity=0.6] (A1) -- (B1) -- (B4) -- (A4);
\draw[fill=black!20,opacity=0.5] (A1) -- (A2) -- (A3) -- (A4);
\draw[fill=red,opacity=0.6] (A1) -- (A2) -- (B2) -- (B1);
\draw[fill=black,opacity=0.6] (B1) -- (B2) -- (B3) -- (B4);
\draw[fill=blue,opacity=0.6] (A3) -- (B3) -- (B4) -- (A4);
\draw[fill=green,opacity=0.6] (A2) -- (B2) -- (B3) -- (A3);
\end{tikzpicture}
\end{document}