mirror of https://github.com/MISP/misp-training
164 lines
5.6 KiB
TeX
164 lines
5.6 KiB
TeX
%
|
|
% MISP ELEMENTS
|
|
%
|
|
\newcommand{\hr}{\centerline{\rule{3.5in}{1pt}}}
|
|
\newcommand{\misp}{\includegraphics[scale=0.2]{misp.pdf}\hspace*{0.5em}}
|
|
\newcommand{\events}{\hyperlink{event}{\texttt{Events}} }
|
|
\newcommand{\event}{\hyperlink{event}{\texttt{Event}} }
|
|
\newcommand{\attributes}{\hyperlink{attribute}{\texttt{Attributes}} }
|
|
\newcommand{\attribute}{\hyperlink{attribute}{\texttt{Attribute}} }
|
|
\newcommand{\objects}{\hyperlink{object}{\texttt{MISP Objects}} }
|
|
\newcommand{\object}{\hyperlink{object}{\texttt{MISP Object}} }
|
|
\newcommand{\reference}{\hyperlink{reference}{\texttt{Reference}} }
|
|
\newcommand{\references}{\hyperlink{reference}{\texttt{References}} }
|
|
\newcommand{\proposals}{\hyperlink{proposal}{\texttt{Proposals}} }
|
|
\newcommand{\proposal}{\hyperlink{proposal}{\texttt{Proposal}} }
|
|
\newcommand{\eventreports}{\hyperlink{eventreport}{\texttt{Event Reports}} }
|
|
\newcommand{\eventreport}{\hyperlink{eventreport}{\texttt{Event Report}} }
|
|
\newcommand{\sightings}{\hyperlink{sighting}{\texttt{Sightings}} }
|
|
\newcommand{\sighting}{\hyperlink{sighting}{\texttt{Sighting}} }
|
|
\newcommand{\taxonomies}{\texttt{Taxonomies }}
|
|
\newcommand{\taxonomy}{\texttt{Taxonomy }}
|
|
\newcommand{\galaxy}{\hyperlink{galaxy}{\texttt{Galaxy}} }
|
|
\newcommand{\galaxies}{\hyperlink{galaxy}{\texttt{Galaxies}} }
|
|
\newcommand{\clusters}{\hyperlink{cluster}{\texttt{Galaxy Clusters}} }
|
|
\newcommand{\cluster}{\hyperlink{cluster}{\texttt{Galaxy Cluster}} }
|
|
\newcommand{\sharinggroups}{\hyperlink{sharinggroup}{\texttt{Sharing Groups}} }
|
|
\newcommand{\sharinggroup}{\hyperlink{sharinggroup}{\texttt{Sharing Group}} }
|
|
\newcommand{\notes}{\hyperlink{note}{\texttt{Analyst Notes}} }
|
|
\newcommand{\note}{\hyperlink{note}{\texttt{Analyst Note}} }
|
|
\newcommand{\opinions}{\hyperlink{opinion}{\texttt{Analyst Opinions}} }
|
|
\newcommand{\opinion}{\hyperlink{opinion}{\texttt{Analyst Opinion}} }
|
|
\newcommand{\relationships}{\hyperlink{relationship}{\texttt{Analyst Relationships}} }
|
|
\newcommand{\relationship}{\hyperlink{relationship}{\texttt{Analyst Relationship}} }
|
|
\newcommand{\collections}{\hyperlink{collection}{\texttt{Element Collections}} }
|
|
\newcommand{\collection}{\hyperlink{collection}{\texttt{Element Collection}} }
|
|
|
|
\newcommand{\taggable}{\faicon{tags}\hspace*{0.3em}}
|
|
\newcommand{\distributable}{\faicon{eye-slash}\hspace*{0.3em}}
|
|
\newcommand{\synchronisable}{\faicon{exchange}\hspace*{0.3em}}
|
|
|
|
%
|
|
% Layout
|
|
%
|
|
\tikzstyle{mybox} = [
|
|
draw=black,
|
|
fill=white,
|
|
very thick,
|
|
rectangle, rounded corners,
|
|
inner sep=10pt
|
|
]
|
|
\tikzstyle{boxtitle} = [
|
|
% fill=black,
|
|
% text=white,
|
|
% fill=gray!30,
|
|
% text=black,
|
|
% font=\bfseries,
|
|
% right=10pt
|
|
draw=black,
|
|
line width=1pt,
|
|
text=white,
|
|
fill=black!80,
|
|
font=\bfseries,
|
|
rectangle, rounded corners=2pt,
|
|
inner sep=4pt,
|
|
right=10pt
|
|
]
|
|
\tikzset{actionbox/.style={
|
|
text=white,
|
|
yshift=-1pt,xshift=-1pt,
|
|
append after command={
|
|
\pgfextra
|
|
\draw[sharp corners, fill=black]%
|
|
(\tikzlastnode.west)%
|
|
[rounded corners=0pt] |- (\tikzlastnode.north)%
|
|
[rounded corners] -| (\tikzlastnode.east)%
|
|
[rounded corners=0pt] |- (\tikzlastnode.south)%
|
|
[rounded corners] -| (\tikzlastnode.west);
|
|
\endpgfextra
|
|
}
|
|
}}
|
|
|
|
% Creates a box with a label taking 1/3 of the available width
|
|
% arg1[optional] = icon
|
|
% arg2[optional] = purpose
|
|
% arg3[optional] = usecase
|
|
% arg4[optional] = actions
|
|
% arg5[optional] = description
|
|
% arg6 = title
|
|
% arg7 = content
|
|
\NewDocumentCommand{\cheatbox}{ O{} O{} O{} O{} O{} m m}{
|
|
\begin{tikzpicture}
|
|
\node [mybox] (box){%
|
|
\begin{minipage}{0.3\textwidth}
|
|
\ifthenelse{\isempty{#4}}{}{\vspace{1em}}
|
|
\textit{#5}
|
|
\vspace*{0.3em}
|
|
\ifthenelse{\isempty{#2}}{}{ \par{\textbf{Purpose}: #2}}
|
|
\ifthenelse{\isempty{#3}}{}{ \par{\textbf{Usecase}: #3\ifthenelse{\isempty{#7}}{}{\\}}}
|
|
#7
|
|
\end{minipage}
|
|
};
|
|
\node[boxtitle] at (box.north west) {#1 #6};
|
|
\ifthenelse{\isempty{#4}}{}{
|
|
\path node [actionbox, anchor=north east] at (box.north east) (actionLabel) {#4};
|
|
}
|
|
\end{tikzpicture}
|
|
|
|
\vspace*{2pt}
|
|
}
|
|
|
|
% Creates a box with a label taking 0.46 of the available width
|
|
% arg1[optiona] = description
|
|
% arg2 = title
|
|
% arg3 = content
|
|
\newcommand{\cheatboxlarge}[3][]{
|
|
\begin{tikzpicture}
|
|
\node [mybox] (box){%
|
|
\begin{minipage}{0.46\textwidth}
|
|
\ifthenelse{\isempty{#1}}{}{\textit{#1}}
|
|
\ifthenelse{\isempty{#1}}{}{\vspace{2pt}}
|
|
#3
|
|
\end{minipage}
|
|
};
|
|
\node[boxtitle] at (box.north west) {#2};
|
|
\end{tikzpicture}
|
|
|
|
\vspace*{3pt}
|
|
}
|
|
|
|
% Creates a formated entry in a \cheatbox
|
|
% arg1 = label
|
|
% arg2 = text
|
|
\newcommand{\boxentry}[2]{
|
|
\par{\textbf{#1}: #2\vspace*{0.3em}}
|
|
}
|
|
|
|
% Creates a formated entry in a \cheatbox without additional spacing
|
|
% arg1 = label
|
|
% arg2 = text
|
|
\newcommand{\boxentrycompact}[2]{
|
|
\par{\textbf{#1} #2}
|
|
}
|
|
|
|
% Creates a centered text for the available width with color formating
|
|
% arg1[optional, default=black] = bg color
|
|
% arg2[optional, default=white] = text color
|
|
% arg3 = text
|
|
\NewDocumentCommand{\multicolstitle}{O{black} O{white} m}{
|
|
\begin{minipage}{0.46\textwidth}
|
|
\begin{center}
|
|
\colorbox{#1}{\Large\textcolor{#2}{\textbf{#3}}}
|
|
\end{center}
|
|
\end{minipage}
|
|
}
|
|
|
|
\newcommand{\bashcode}[1]{
|
|
\colorbox{gray!20}{\lstinline[language=bash]|#1|}
|
|
}
|
|
\newcommand{\clicode}[1]{
|
|
\colorbox{gray!20}{\lstinline[language=bash]|MISP/app/Console/cake #1|}
|
|
}
|
|
\newcommand{\httpcode}[3][]{\colorbox{gray!20}{#2 \lstinline[]|#3|}
|
|
\colorbox{gray!20}{\lstinline[]|#1|}
|
|
} |