Here is a possible way with tcolorbox, using TikZ nodes in underlays.
The outer box wraps around the \tableofcontents, being shifted to the right side, then two 'side' panels are drawn, each is a separate node. The dimensions of the side panels can be controlled with sidepanel xshift and bottom sidepanel yshift etc.
One underlay is for the unbroken box, the other one appears only for the first box if the box is broken.
If there's no page break for the ToC, tcbraster is easier, of course.
\documentclass{book}
\usepackage{lipsum}%,titletoc}
\usepackage[margin=2cm]{geometry}
\usepackage[most]{tcolorbox}
\usetikzlibrary{calc}
\makeatletter
\tcbset{%
sidepanel xshift/.store in=\tocbox@sidepanel@xshift,
sidepanel xshift=5cm,
sidepanel width/.store in=\tocbox@sidepanel@width,
sidepanel width=4cm,
bottomsidepanel yshift/.store in=\tocbox@bottomsidepanel@yshift,
bottomsidepanel yshift=1cm,
tocback/.colorlet=tcbcol@tocback,
tocback=gray!40!white,
topsidepanel/.style={enhanced,sharp corners, frame hidden, colback=tcbcol@tocback},
bottomsidepanel/.style={topsidepanel},
}
\DeclareTotalTColorBox{\tableofcontentsbox}{+O{}+m+m}{
enhanced,
breakable,
colupper=white,
left skip=\tocbox@sidepanel@xshift,
sharp corners,
colback=tcbcol@tocback,
frame hidden,
remember,
underlay={%
\coordinate (topsidepanel) at ($(frame.north west)+(-\tocbox@sidepanel@xshift,0pt)$);
\node[below right,inner sep=0pt] (topsidepanelnode) at (topsidepanel) {
\begin{tcolorbox}[topsidepanel,width=\tocbox@sidepanel@width,colupper=white,
overlay={\node[inner sep=0pt, outer sep=0pt] (topsidepanelbottom) at (frame.south west) {};},#1]
#2%
\end{tcolorbox}};
\node[below right,inner sep=0pt] (bottomsidepanelnode) at ($(topsidepanelbottom) + (0pt,-\tocbox@bottomsidepanel@yshift)$) {
\begin{tcolorbox}[bottomsidepanel,width=\tocbox@sidepanel@width,colupper=white,#1]
#3%
\end{tcolorbox}};
},
underlay first={%
\coordinate (topsidepanel) at ($(frame.north west)+(-\tocbox@sidepanel@xshift,0pt)$);
\node[below right,inner sep=0pt] (topsidepanelnode) at (topsidepanel) {
\begin{tcolorbox}[topsidepanel,width=\tocbox@sidepanel@width,colupper=white,
overlay={\node[inner sep=0pt, outer sep=0pt] (topsidepanelbottom) at (frame.south west) {};},#1]
#2%
\end{tcolorbox}};
\node[below right,inner sep=0pt] (bottomsidepanelnode) at ($(topsidepanelbottom) + (0pt,-\tocbox@bottomsidepanel@yshift)$) {
\begin{tcolorbox}[bottomsidepanel,width=\tocbox@sidepanel@width,colupper=white,#1]
#3%
\end{tcolorbox}};
},
#1}{%
\tableofcontents
}
\makeatother
\begin{document}
% TOC CONTENT
%% Right column:
\tableofcontentsbox[fontupper=\large,bottomsidepanel yshift=0.5cm]{\textbf{Authors:}
\begin{itemize}
\item[] Barry
\item[] Betty
\item[] Berty
\end{itemize}
}{
This is a rather good cookbook, I'm sure you'll agree.%
}
% ACTUAL CONTENT
\chapter{Vegetables}
\lipsum
\chapter{Fruit}
\lipsum
\chapter{Seaweed}
\lipsum
\end{document}

tcbrasteris a good idea, however, as soon as there's a long ToC, it won't break any longer within the raster. – Jan 06 '18 at 19:55