commit e4fd222bf9b2dfcdab5e15eac9c8b237ed7bc0bb Author: Giulio Date: Sun Dec 18 11:28:51 2022 +0100 Public release diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..561c17a --- /dev/null +++ b/Readme.md @@ -0,0 +1,7 @@ +Public domain + +Compile with: + +``` +sh compile.sh slides.tex +``` diff --git a/beamertheme1337.sty b/beamertheme1337.sty new file mode 100644 index 0000000..8c9c840 --- /dev/null +++ b/beamertheme1337.sty @@ -0,0 +1,168 @@ +\DeclareOption{Lato}{ + \setsansfont[Ligatures=TeX]{Lato} + \setmonofont[Ligatures=TeX]{Lato} +} +\ProcessOptions + +\RequirePackage{tikz} +\RequirePackage[overlay, absolute]{textpos} +\usetikzlibrary{arrows.meta, shapes.misc} + +% 'strong' colors +\definecolor{1337Black}{RGB}{0,0,0} +\definecolor{1337White}{RGB}{255,255,255} +\definecolor{1337Blue}{RGB}{0,129,202} +\definecolor{1337Gray}{RGB}{124,124,124} +\definecolor{1337Purple}{RGB}{240,0,240} + +% full solarized palette, https://ethanschoonover.com/solarized/ +\definecolor{1337SolarizedBase03}{RGB}{0,43,54} +\definecolor{1337SolarizedBase02}{RGB}{7,54,66} +\definecolor{1337SolarizedBase01}{RGB}{88,110,117} +\definecolor{1337SolarizedBase00}{RGB}{101,123,131} +\definecolor{1337SolarizedBase0}{RGB}{131,148,150} +\definecolor{1337SolarizedBase1}{RGB}{147,161,161} +\definecolor{1337SolarizedBase2}{RGB}{238,232,213} +\definecolor{1337SolarizedBase3}{RGB}{253,246,227} + +\definecolor{1337SolarizedYellow}{RGB}{181,137,0} +\definecolor{1337SolarizedOrange}{RGB}{203,75,22} +\definecolor{1337SolarizedRed}{RGB}{220,50,47} +\definecolor{1337SolarizedMagenta}{RGB}{211,54,130} +\definecolor{1337SolarizedViolet}{RGB}{108,113,196} +\definecolor{1337SolarizedBlue}{RGB}{38,139,210} +\definecolor{1337SolarizedCyan}{RGB}{42,161,152} +\definecolor{1337SolarizedGreen}{RGB}{133,153,0} + +\setbeamercolor{normal text}{fg=1337SolarizedBase1, bg=1337SolarizedBase03} +\setbeamercolor{background canvas}{bg=1337SolarizedBase03} +\setbeamercolor{section in toc}{parent={normal text}} +\setbeamercolor{subsection in toc}{parent={normal text}} +\setbeamercolor{item}{parent={normal text}} +\setbeamercolor{block title}{parent={normal text}, fg=1337White, bg=1337Black} +\setbeamercolor{block body}{parent={normal text}, fg=1337White, bg=1337Gray} +\setbeamercolor{block title example}{parent={normal text}, fg=1337White, bg=1337Gray} +\setbeamercolor{block body example}{parent={normal text}, fg=1337White, bg=1337Black} +\setbeamercolor{logo}{parent={normal text}, bg=1337SolarizedBase03} +\setbeamercolor{institute in head/foot}{parent={normal text}} +\setbeamercolor{headline}{parent={normal text}, bg=1337Black} +\setbeamercolor{qed symbol}{parent={normal text}} + +\setbeamercolor{title page}{fg=1337SolarizedRed, bg=1337SolarizedBase03} +\setbeamercolor{subtitle}{fg=1337SolarizedBase01, bg=1337SolarizedBase03} +\setbeamercolor{author}{fg=1337SolarizedYellow, bg=1337SolarizedBase03} +\setbeamercolor{footline}{fg=1337SolarizedMagenta, bg=1337SolarizedBase03} +\setbeamercolor{footnote}{fg=1337White, bg=1337Gray} +\setbeamercolor{frametitle}{fg=1337White, bg=1337Black} +\setbeamercolor{canvas}{fg=1337Gray, bg=1337SolarizedBase03} +\setbeamercolor{prefooter}{fg=1337White, bg=1337Gray} +\setbeamercolor{section page}{fg=1337SolarizedOrange, bg=1337SolarizedBase03} + +\setbeamercolor{alerted text}{fg=1337SolarizedYellow} + +\setbeamerfont{footline}{size=\normalsize} +\setbeamerfont{footnote}{size=\normalsize} +\setbeamerfont{institute in head/foot}{size=\small} +\setbeamerfont{navigation symbols}{size=\small} +\setbeamerfont{section page}{size=\huge} +\setbeamerfont{title}{size=\Large} +\setbeamerfont{frametitle}{size=\huge} +\setbeamerfont{subtitle}{size=\small} +\setbeamerfont{author}{size=\small} +\setbeamerfont{date}{size=\large} + +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{itemize items}[circle] + + + \setbeamertemplate{footline}{ + \begin{beamercolorbox}[ht=1cm,wd=\paperwidth]{footline} + %\includegraphics[height=1.5cm]{images/warcon} + %\includegraphics[height=1.5cm]{images/1337_bw} + \hfill + \vbox to 1cm{\vfil\hbox{\textit{My Special Event 2022} - \#\insertframenumber/\inserttotalframenumber}\vfil}%\ + \hspace{0.5cm} + \end{beamercolorbox} + } + + \setbeamertemplate{footnote}{ + \begin{beamercolorbox}[ht=0.75cm,wd=\paperwidth]{footnote} + \end{beamercolorbox} + } + + +\setbeamertemplate{title page}{ + \begin{beamercolorbox}[wd=0.3\paperwidth,ht=0.4\paperheight,dp=8ex,left]{logo} + \vfill + \includegraphics[height=2.5cm]{images/logo_conf} + \hfill + \includegraphics[height=2.5cm]{images/logo_personal} + \vfill + \end{beamercolorbox} + \begin{textblock*}{12cm}(0.4\paperwidth,3cm) + \begin{beamercolorbox}[wd=0.7\paperwidth]{title page} + \usebeamerfont{title}\usebeamercolor{title}\inserttitle% + \end{beamercolorbox}% + \end{textblock*} + \begin{textblock*}{12cm}(0.4\paperwidth,5cm) + \begin{beamercolorbox}[wd=0.7\paperwidth]{author} + \usebeamerfont{author}\usebeamercolor{author}\insertauthor% + \end{beamercolorbox}% + \end{textblock*} + \begin{textblock*}{12cm}(0.4\paperwidth,7cm) + \begin{beamercolorbox}[wd=0.7\paperwidth]{subtitle} + \usebeamerfont{subtitle}\usebeamercolor{subtitle}\insertsubtitle% + \end{beamercolorbox}% + \end{textblock*} +} + +\setbeamertemplate{frametitle}{ +\begin{beamercolorbox}[wd=\paperwidth,dp=1ex,leftskip=0.5cm,rightskip=0.5cm]{frametitle} + \vfill + \usebeamerfont{frametitle}\insertframetitle + \vfill +\end{beamercolorbox} +} + +\setbeamertemplate{block begin}{ + \vskip\baselineskip + \begin{beamercolorbox}[wd=\textwidth, ht=0.5cm, dp=0.2cm, leftskip=0.2cm]{block title}% + \usebeamerfont*{block title}{\rule[-0.4ex]{0mm}{2ex}\insertblocktitle}% + \end{beamercolorbox}% + {\nointerlineskip\vskip-0.5pt}% + \usebeamerfont{block body}% + \begin{beamercolorbox}[wd=\textwidth, leftskip=0.2cm, dp=0.2cm]{block body}% + \vskip-.75ex\vbox{}% +} + +\setbeamertemplate{block end}{ + \end{beamercolorbox} + \vspace*{.25cm} +} + +\setbeamertemplate{block example begin}{ + \vskip\baselineskip + \begin{beamercolorbox}[wd=\textwidth, ht=0.5cm, dp=0.2cm, leftskip=0.2cm]{block title example}% + \usebeamerfont*{block title example}{\rule[-0.4ex]{0mm}{2ex}\insertblocktitle}% + \end{beamercolorbox}% + {\nointerlineskip\vskip-0.5pt}% + \usebeamerfont{block body example}% + \begin{beamercolorbox}[wd=\textwidth, leftskip=0.2cm, dp=0.2cm]{block body example}% + \vskip-.75ex\vbox{}% +} + +\setbeamertemplate{block example end}{ + \end{beamercolorbox} + \vspace*{.25cm} +} + +\AtBeginSection[]{ + \begin{frame} + \vfill + \centering + \begin{beamercolorbox}[center]{section page} + \usebeamerfont{section page}\insertsectionhead\par% + \end{beamercolorbox} + \vfill + \end{frame} +} \ No newline at end of file diff --git a/compile.sh b/compile.sh new file mode 100755 index 0000000..3966062 --- /dev/null +++ b/compile.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +LOGO="images/logo" +FOOTER="images/footer" +DPI=600 + +clean() { + rm -rf *.aux *.nav *.toc *.log *.snm *.out *.vrb _minted* +} + +convert_images() { + if [ ! -f "${LOGO}.png" ]; then + convert -density ${DPI} ${LOGO}.svg ${LOGO}.png + fi + + if [ ! -f "${FOOTER}.png" ]; then + convert -density ${DPI} ${FOOTER}.svg ${FOOTER}.png + fi +} + +main() { + clean + convert_images + xelatex --shell-escape "${1}" + xelatex --shell-escape "${1}" + clean + echo "Done, output is ${1%.*}.pdf" +} + +main "${1}" + diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 0000000..795a5da Binary files /dev/null and b/images/logo.png differ diff --git a/images/logo_conf.png b/images/logo_conf.png new file mode 100644 index 0000000..9d69bcf Binary files /dev/null and b/images/logo_conf.png differ diff --git a/images/logo_personal.png b/images/logo_personal.png new file mode 100755 index 0000000..3f88b74 Binary files /dev/null and b/images/logo_personal.png differ diff --git a/images/placeholder1.png b/images/placeholder1.png new file mode 100644 index 0000000..72bc0f0 Binary files /dev/null and b/images/placeholder1.png differ diff --git a/images/placeholder2.png b/images/placeholder2.png new file mode 100644 index 0000000..892e377 Binary files /dev/null and b/images/placeholder2.png differ diff --git a/images/placeholder3.png b/images/placeholder3.png new file mode 100644 index 0000000..fd07c3c Binary files /dev/null and b/images/placeholder3.png differ diff --git a/images/placeholder4.png b/images/placeholder4.png new file mode 100755 index 0000000..0f0824a Binary files /dev/null and b/images/placeholder4.png differ diff --git a/images/placeholder5.png b/images/placeholder5.png new file mode 100755 index 0000000..d531729 Binary files /dev/null and b/images/placeholder5.png differ diff --git a/images/placeholder6.png b/images/placeholder6.png new file mode 100755 index 0000000..49cfcf4 Binary files /dev/null and b/images/placeholder6.png differ diff --git a/slides.pdf b/slides.pdf new file mode 100644 index 0000000..b644512 Binary files /dev/null and b/slides.pdf differ diff --git a/slides.tex b/slides.tex new file mode 100644 index 0000000..d5f17f8 --- /dev/null +++ b/slides.tex @@ -0,0 +1,169 @@ +\documentclass[aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage{listings} +%\usepackage{minted} + +% for strikethrough +\usepackage{soul} + +\usetheme{1337} + +\DeclareUrlCommand\url{\color{white}} + +\title{A good presentation title\\Which can have a subtitle} +\author{g@1337.ax} +\subtitle{\textit{My Special Event 2022}} + +\begin{document} + +\frame[plain]{\maketitle} + +%\begin{frame}{Table of contents} +% \tableofcontents +%\end{frame} + +%\section{Section title} + +\begin{frame}{Introduction}{} +\alert{Please do not do bad things} +\begin{itemize} + \item Disclaimer or content list 1 + \item Disclaimer or content list 2 +\end{itemize} +\alert{More lists} +\begin{itemize} + \item Computer science is not science 1 + \item Computer science is the only science that had to put science in the name + \item It is probably imposter syndrome? +\end{itemize} +\end{frame} + +\begin{frame}{\st{Nope} This is better}{} + \begin{block}{You can get this template at} + \begin{center} + \url{https://git.lsd.cat/1337/slides} + \end{center} + \end{block} + \alert{License is public domain, do anything} +\end{frame} + +\begin{frame}{Premise}{} +\emph{Can a song be a vulnerability?} +\begin{itemize} + \item Released in 2022: CVE-2022-38392 + \item Read more: \url{https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-38392} + \item \st{Repsonsible Disclosure} +\end{itemize} +\emph{Is it fixed?} +\begin{itemize} + \item Nope it is hardware :) + \item And it is very old anyway +\end{itemize} +\end{frame} + +\begin{frame}{But we knew something already} + \begin{itemize} + \item Screaming at servers is bad + \item Specially if they use hard drives + \item Bryan Cantrill showed it + \begin{itemize} + \item[$\circ$] \textit{Highlighted stuff here} - some follow up text + \item[$\circ$] \textit{Highlighted stuff here} - some follow up text + \end{itemize} + \item \alert{https://www.youtube.com/watch?v=tDacjrSCeq4} + \end{itemize} +\end{frame} + +\begin{frame}{Images} + \hspace{2em} + \includegraphics[height=0.6\paperheight]{images/placeholder1} + \hfill + \includegraphics[height=0.6\paperheight]{images/placeholder2} + \hspace{2em} +\end{frame} + +\begin{frame}{Image with side text} +\begin{columns}[T] % align columns +\begin{column}{.48\textwidth} + \hspace{2em} + \includegraphics[height=0.6\paperheight]{images/placeholder3} +\end{column} +\hfill +\begin{column}{.68\textwidth} + +Key Specs +\begin{itemize} + \item Description of the image + \item Procedure to hack whatever + \item More explanation + \item Final results: \alert{STONKS!} +\end{itemize} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}{Image with sidetext with different proportions} +\begin{columns}[T] % align columns +\begin{column}{.60\textwidth} + \includegraphics[height=0.6\paperheight]{images/placeholder4} +\end{column} +\hfill +\begin{column}{.50\textwidth} + +\begin{itemize} + \item Some \alert{shorter} text here 1 + \item Some \alert{shorter} text here 2 + \item Some \alert{shorter} text here 3 + \item Some \alert{shorter} text here 4 + \item But \emph{what}, \emph{else}, maybe? +\end{itemize} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}{Root Root} +\begin{columns}[T] % align columns +\hfill +\begin{column}{.40\textwidth} + \begin{center} + \includegraphics[height=0.7\paperheight]{images/placeholder5} + \end{center} +\end{column} +\hfill +\begin{column}{.60\textwidth} +\begin{itemize} + \item Kernel is old, some privileged binaries have multiple stack overflows + \item More than one race condition + \item \alert{\emph{setuid iptables} is a root sentence} + \begin{itemize} + \item[$\circ$] Some sub itemize here + \item[$\circ$] \alert{\emph{--some-switch}} something (\emph{passwd}) + \item[$\circ$] \alert{\emph{LD\_PRELOAD=}} is always a fun trick + \end{itemize} +\end{itemize} +\end{column} +\end{columns} +\end{frame} + + +\begin{frame}{Final procedure all together} +\begin{enumerate} + \item Step 1 + \item Step 2 + \item \alert{Step 3} + \item \alert{Step 4} + \item Step 5 + \item Step 6 +\end{enumerate} +\end{frame} + + +\begin{frame}{Conclusive picture} + \begin{center} + \includegraphics[height=0.8\paperheight]{images/placeholder6.png} + \end{center} +\end{frame} + +\section{DEMO TIME!} + +\end{document}