\documentclass{standalone}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\tikzset{mpoint/.style={circle, fill=gray, inner sep=0.4mm},
triangle/.style={fill=gray!20, opacity=0.5}}

\coordinate [label=below right:{$A_1$}] (A1) at (3,0,0);
\coordinate (B1) at (2,2,1);
\coordinate [label=below:{$C_1$}] (C1) at (2,0,3);
\coordinate [label=right:{$A_2$}] (A2) at (3.73,2.73,0);
\coordinate [label=above:{$B_2$}] (B2) at (1.5,2.86,1);
\coordinate (C2) at (3.23,1.87,3);
\coordinate (A) at (1,2,0);
\coordinate (B) at (1,2,1);
\coordinate (C) at (1,2,3);

\draw [->] (0,0,0) -- (3.5,0,0) node [right] {$x$};
\draw [->] (0,0,0) -- (0,3.5,0) node [above] {$y$};
\draw [->] (0,0,0) -- (0,0,3.5) node [below] {$z$};

\draw [thick] (1,2,5) -- (1,2,-1.2) node [above right] {$l$};
\filldraw [triangle] (A1) -- (B1) -- (C1) -- cycle;
\filldraw [triangle] (A2) -- (B2) -- (C2) -- cycle;
\draw [dashed] (A) -- (A1) (A) -- (A2) (B) -- (B1) 
  (B) -- (B2) (C) -- (C1) (C) -- (C2);

\foreach \i in {A,B,C,A1,B1,C1,A2,B2,C2} \node[mpoint] at (\i) {};

\node at (B1) [above right] {$B_1$};
\node at (C2) [below] {$C_2$};
\end{tikzpicture}

\end{document}