Add linux_intro presentation
5
.gitignore
vendored
@ -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
|
||||||
|
16
Makefile
@ -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/
|
||||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
BIN
assets/linux_intro/cat.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
assets/linux_intro/curl.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
assets/linux_intro/dig.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
assets/linux_intro/grep00.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
assets/linux_intro/grep01.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/linux_intro/id.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
assets/linux_intro/man.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
assets/linux_intro/nmap.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
assets/linux_intro/redirect_pipe.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
assets/linux_intro/strings.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
assets/linux_intro/temp_file.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
assets/linux_intro/w.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/linux_intro/wget.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
assets/linux_intro/xxd.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
@ -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
220
linux_intro.tex
Normal 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
@ -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?
|
||||||
|
|