Add linux_intro presentation
5
.gitignore
vendored
@ -19,6 +19,9 @@
|
||||
/*.pdf
|
||||
/assets/dot/*.pdf
|
||||
_minted-presentation/
|
||||
_minted-bof/
|
||||
_minted-linux_intro/
|
||||
|
||||
!presentation.pdf
|
||||
!bof.pdf
|
||||
!linux_intro.pdf
|
||||
!assets/*.pdf
|
||||
|
16
Makefile
@ -1,6 +1,6 @@
|
||||
# use bash so process substutution is available
|
||||
SHELL = bash
|
||||
SRC = presentation.tex
|
||||
SRC = bof.tex linux_intro.tex
|
||||
TARGET = $(SRC:%.tex=%.pdf)
|
||||
|
||||
.PHONY: build
|
||||
@ -15,9 +15,17 @@ install: build
|
||||
%.pdf: %.tex
|
||||
latexmk $<
|
||||
|
||||
# .PHONY: watch
|
||||
# watch:
|
||||
# latexmk -pvc $(SRC)
|
||||
|
||||
.PHONY: watch
|
||||
watch:
|
||||
latexmk -pvc $(SRC)
|
||||
watch_intro:
|
||||
latexmk -pvc linux_intro.tex
|
||||
|
||||
.PHONY: watch
|
||||
watch_bof:
|
||||
latexmk -pvc bof.tex
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
@ -34,3 +42,5 @@ clean: clean_tex
|
||||
clean_tex:
|
||||
latexmk -C
|
||||
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
|
||||
\input{commands}
|
||||
|
||||
\graphicspath{{assets/}}
|
||||
\graphicspath{{assets/bof/}}
|
||||
|
||||
\useDepartmentLogo
|
||||
|
||||
\AtBeginSsection[]
|
||||
\AtBeginSection[]
|
||||
{%
|
||||
\begin{frame}
|
||||
\frametitle{Inhalt}
|
||||
@ -108,11 +108,11 @@
|
||||
|
||||
\section{Beispiel}
|
||||
\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}
|
||||
|
||||
% \begin{frame}
|
||||
% \inputminted[firstline=3,lastline=7]{c}{assets/vuln.c}
|
||||
% \inputminted[firstline=3,lastline=7]{c}{assets/bof/vuln.c}
|
||||
% \end{frame}
|
||||
|
||||
\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?
|
||||
|