With TikZ is easy to:
\documentclass[border=3mm,
tikz,
prewiev]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of math nodes,
left delimiter=(,
right delimiter=),
nodes in empty cells] (m)
{
0 & 0 & 0 & 0 & \dots & 0 \\
0 & \vphantom{0}
& & & & \\
0 & & & & & \\
0 & & & & & \\
\vdots & & & & & \\
0 & & & & & \\
};
\fill[blue!30] (m-2-2.north west) -| (m-6-6.south east);
\fill[ red!30] (m-2-2.north west) |- (m-6-6.south east);
\draw[line width=3mm,white] (m-2-2.north west) -- (m-6-6.south east);
\draw[thick,stealth-stealth] (m-2-2.north west) -- (m-6-6.south east);
\end{tikzpicture}
\end{document}

Edit:
Gonzalo Medina remind me on the forgotten dots
, Sorry for this. Now I add them in the first row and column and also appearance of diagonal line with use white background line.
Edit (2):
The matrix will be centered in text, if you enclose with \begin{center} ... \end{center}
or put in some other appropriate environment, for example \begin{figure}\centering\begin{tikzpicture} ... \end{tikzpicture}\end{figure}, etc.
For rounded shadow fill you need to add option rounded corners
. Se new MWE below.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage[active,tightpage]{preview}% just for show only picture
\PreviewEnvironment{center}%
\setlength\PreviewBorder{1em}
\begin{document}
\begin{center}
\begin{tikzpicture}
\matrix[matrix of math nodes,
left delimiter=(,
right delimiter=),
nodes in empty cells] (m)
{
0 & 0 & 0 & 0 & \dots & 0 \\
0 & \vphantom{0}
& & & & \\
0 & & & & & \\
0 & & & & & \\
\vdots & & & & & \\
0 & & & & & \\
};
\fill[rounded corners,blue!30] (m-2-2.north west) -| (m-6-6.south east);
\fill[rounded corners, red!30] (m-2-2.north west) |- (m-6-6.south east);
\draw[line width=3mm,white] (m-2-2.north west) -- (m-6-6.south east);
\draw[thick,stealth-stealth] (m-2-2.north west) -- (m-6-6.south east);
\end{tikzpicture}
\end{center}
\end{document}
