Add linux_intro presentation

This commit is contained in:
Valentin Brandl 2022-10-05 17:58:22 +02:00
parent 8dfc841a59
commit 1e0227831b
33 changed files with 297 additions and 8 deletions

5
.gitignore vendored
View File

@ -19,6 +19,9 @@
/*.pdf /*.pdf
/assets/dot/*.pdf /assets/dot/*.pdf
_minted-presentation/ _minted-presentation/
_minted-bof/
_minted-linux_intro/
!presentation.pdf !bof.pdf
!linux_intro.pdf
!assets/*.pdf !assets/*.pdf

View File

@ -1,6 +1,6 @@
# use bash so process substutution is available # use bash so process substutution is available
SHELL = bash SHELL = bash
SRC = presentation.tex SRC = bof.tex linux_intro.tex
TARGET = $(SRC:%.tex=%.pdf) TARGET = $(SRC:%.tex=%.pdf)
.PHONY: build .PHONY: build
@ -15,9 +15,17 @@ install: build
%.pdf: %.tex %.pdf: %.tex
latexmk $< latexmk $<
# .PHONY: watch
# watch:
# latexmk -pvc $(SRC)
.PHONY: watch .PHONY: watch
watch: watch_intro:
latexmk -pvc $(SRC) latexmk -pvc linux_intro.tex
.PHONY: watch
watch_bof:
latexmk -pvc bof.tex
.PHONY: lint .PHONY: lint
lint: lint:
@ -34,3 +42,5 @@ clean: clean_tex
clean_tex: clean_tex:
latexmk -C latexmk -C
rm -rf ./_minted-presentation/ rm -rf ./_minted-presentation/
rm -rf ./_minted-bof/
rm -rf ./_minted-linux_intro/

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

BIN
assets/linux_intro/cat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
assets/linux_intro/curl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/linux_intro/dig.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
assets/linux_intro/id.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
assets/linux_intro/man.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
assets/linux_intro/nmap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
assets/linux_intro/w.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
assets/linux_intro/wget.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
assets/linux_intro/xxd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

View File

@ -37,11 +37,11 @@
% custom commands % custom commands
\input{commands} \input{commands}
\graphicspath{{assets/}} \graphicspath{{assets/bof/}}
\useDepartmentLogo \useDepartmentLogo
\AtBeginSsection[] \AtBeginSection[]
{% {%
\begin{frame} \begin{frame}
\frametitle{Inhalt} \frametitle{Inhalt}
@ -108,11 +108,11 @@
\section{Beispiel} \section{Beispiel}
\begin{frame} \begin{frame}
\inputminted[firstline=4,lastline=13]{c}{assets/logic/logic.c} \inputminted[firstline=4,lastline=13]{c}{assets/bof/logic/logic.c}
\end{frame} \end{frame}
% \begin{frame} % \begin{frame}
% \inputminted[firstline=3,lastline=7]{c}{assets/vuln.c} % \inputminted[firstline=3,lastline=7]{c}{assets/bof/vuln.c}
% \end{frame} % \end{frame}
\section{Stack Layout, Execution Flow} \section{Stack Layout, Execution Flow}

BIN
linux_intro.pdf Normal file

Binary file not shown.

220
linux_intro.tex Normal file
View File

@ -0,0 +1,220 @@
\documentclass[aspectratio=169,16pt]{beamer}
\usetheme[department=FakIM,pageNumbers]{OTHR}
% document language and hyphenation
\usepackage[ngerman]{babel}
% \usepackage[utf8]{luainputenc}
% \usepackage{filecontents}
\usepackage{subfigure}
% code listings
\usepackage{listings}
\usepackage{minted}
\usepackage{enumerate}
\usepackage{calc}
\usepackage[plain]{fancyref}
% math stuff
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{chronology}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\addbibresource{bibliography.bib}
% \bibliographystyle{amsalpha}
% acronyms
\usepackage{acro}
% \acsetup{single,make-links=true}
\acsetup{make-links=true}
\input{acronyms}
% custom commands
\input{commands}
\graphicspath{{assets/linux_intro/}}
\useDepartmentLogo
\AtBeginSection[]
{%
\begin{frame}
\frametitle{Inhalt}
\tableofcontents[
currentsection,
hideothersubsections,
sectionstyle=show/hide,
subsectionstyle=show/shaded/hide,
]
\end{frame}
\addtocounter{framenumber}{-1}% If you don't want them to affect the slide number
}
\begin{document}
\newcommand{\genemail}[1]{\href{mailto:#1}{\textless\nolinkurl{#1}\textgreater}}
\title{Linux Einführung}
\author{Magdalena Reif \inst{1} \and Valentin Brandl \inst{2}}
\institute{Fakultät Informatik und Mathematik \and \inst{1} \genemail{magdalena.reif@st.oth-regensburg.de} \and \inst{2} \genemail{mail@vbrandl.net}}
\date{\today}
% Angepasstes Titelformat definieren (verwendet bewusst nicht die
% Beamer-Infrastruktur, um einfache Anpassungen zu zeigen)
% \newcommand{\fillme}{\vskip0pt plus 1filll}
% \newenvironment{references}{\begin{tiny}\begin{flushleft}}%
% {\end{flushleft}\end{tiny}\vspace*{\fill}}
% \defbeamertemplate*{title page}{customized}[1][]
% {
% \vspace*{1em}\usebeamerfont{title}\textbf{\inserttitle}\bigskip\par
% \begin{scriptsize}
% \insertauthor\bigskip\par
% \textit{\insertinstitute}\\\insertdate
% \end{scriptsize}
% % \fillme\begin{references}
% % \(^{1}\){\color{gray}{GPG/PGP-ID \href{http://pgp.mit.edu/pks/lookup?op=vindex&search=0xD22BCBB9E835336F}{E835336F},
% % Fingerprint: A62E FFFC 4029 7339 357B D04D D22B CBB9 E835 336F.}}\\
% % \(^{2}\){\color{gray}{GPG/PGP-ID \href{http://keys.gnupg.net/pks/lookup?op=get&search=0xF16F252398356E1E}{98356E1E},
% % Fingerprint: 5920 9407 AB5C 8B28 3C7B 4F02 F16F 2523 9835 6E1E.}}
% % \end{references}
% }
\maketitle
\frame{%
\frametitle{Inhalt}
\tableofcontents[
sectionstyle=show/show,
subsectionstyle=hide/hide,
]
}
\section{Unix Stuff}
\begin{frame}
\frametitle{Aktueller Benutzer - \emph{id}}
\includegraphics[width=\textwidth]{id.png}
\end{frame}
\begin{frame}
\frametitle{Aktuell aktive Benutzer - \emph{w}}
\includegraphics[width=\textwidth]{w.png}
\end{frame}
\begin{frame}
\frametitle{\emph{man}, where is my car}
\includegraphics[width=\textwidth]{man.png}
\end{frame}
\section{Dateien Analysieren}
\begin{frame}
\frametitle{Dateiinhalt einsehen}
\begin{description}
\item[\emph{cat}] Für Textdateien
\item[\emph{xxd}] Für Binärdateien
\end{description}
\end{frame}
\begin{frame}
\frametitle{Dateiinhalt einsehen - \emph{cat}}
\includegraphics[width=.7\textwidth]{cat.png}
\end{frame}
\begin{frame}
\frametitle{Dateiinhalt einsehen - \emph{xxd}}
\includegraphics[width=\textwidth]{xxd.png}
\end{frame}
\begin{frame}
\frametitle{In Dateien Suchen: \emph{grep}}
\begin{itemize}
\item \mintinline{bash}{grep regex datainame}
\item \mintinline{bash}{grep --ignore-case regex datainame}
\item \mintinline{bash}{grep -F kein-regex datainame}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{In Dateien Suchen: \emph{grep}}
\centering
\begin{tabular}{@{}c@{}}
\begin{tabular}{c}
\includegraphics[width=.4\linewidth]{grep00.png} \\ %\small (a)
\end{tabular} %\qquad
\begin{tabular}{c}
\includegraphics[width=.5\linewidth]{grep01.png} \\ %\small (b)
\end{tabular} \\
% Some main caption for the above figures.
\end{tabular}
\end{frame}
\begin{frame}
\frametitle{Ausgaben Umleiten und Wiederverwenden}
\begin{itemize}
\item Ausgabe in Datei umleiten: \mintinline{bash}{>}
\item Verketten durch pipes: \mintinline{bash}{|}
\item Ausgabe von \mintinline{bash}{cmdA} als temporäre Datei für \mintinline{bash}{cmdB}: \mintinline{bash}{cmdB <(cmdA)}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Ausgaben Umleiten und Wiederverwenden}
\includegraphics[width=\linewidth]{redirect_pipe.png}
\end{frame}
\begin{frame}
\frametitle{Ausgabe als temporäre Datei}
\includegraphics[width=\textwidth]{temp_file.png}
\end{frame}
\begin{frame}
\frametitle{Strings in Binärdateien finden - \emph{strings}}
\includegraphics[width=\textwidth]{strings.png}
\end{frame}
\section{Networking}
\begin{frame}
\frametitle{Dateien Herunterladen - \emph{wget}}
\includegraphics[width=\textwidth]{wget.png}
\end{frame}
\begin{frame}
\frametitle{Dateien Herunterladen - \emph{curl}}
\includegraphics[width=\textwidth]{curl.png}
\end{frame}
\begin{frame}
\frametitle{Portscan - \emph{nmap}}
\includegraphics[width=\textwidth]{nmap.png}
\end{frame}
\begin{frame}
\frametitle{DNS Lookups - \emph{dig}}
\includegraphics[width=.9\textwidth]{dig.png}
\end{frame}
\appendix
% \nocite{*}
\section*{Quellen}
\begin{frame}[allowframebreaks]
\frametitle{Quellen}
\printbibliography[heading=none]{}
\end{frame}
\end{document}
% vim: set filetype=tex ts=2 sw=2 tw=0 et spell :

56
unix_intro.md Normal file
View File

@ -0,0 +1,56 @@
filesystem + navigation:
* ls
* cd
* pwd
* rm
* touch
* mkdir
prozesse:
* htop
* ps
unix stuff:
* whoami
* pipes und redirects > < |
* man
dateien "analysieren"
* cat
* grep
* strings
networking
* wget
* nmap
* dig
* nano
* hexdump/xxd
* objdump
networking:
* nmap
* dig
* netcat
* curl/wget
* ssh
tools:
* debugger: r2/gdb/ghidra
* exiftool
* python/pwntools?