Skip to content
Snippets Groups Projects
Commit d67acb2d authored by aticu's avatar aticu
Browse files

Add first version of new presentation

parent 947838b7
No related branches found
No related tags found
No related merge requests found
presentation_02_03_2021/FULogo.png

231 KiB

%
% $Id: FUbeamer.cls 174 2015-08-14 18:55:52Z herbert $
%
%%
%% Praesentationen mit LaTeX
%%
%% Copyright (C) 2009-15 Herbert Voss <hvoss@tug.org>
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%%
%% See http://www.latex-project.org/lppl.txt for details.
%%
%
\ProvidesClass{FUbeamer}[2015/08/14 v0.02a Vorlage Freie Universitaet Berlin (hv)]
%
\PassOptionsToPackage{ngerman}{babel}
\PassOptionsToPackage{table}{xcolor}
\PassOptionsToPackage{bookmarks,colorlinks}{hyperref}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{beamer}}
\ProcessOptions\relax
\LoadClass[profesionalfonts,covered]{beamer}
\RequirePackage[T1]{fontenc}
\RequirePackage{babel}
\RequirePackage{graphicx}
\RequirePackage{tabularx}
\RequirePackage[scaled]{helvet}
%
\definecolor{FUblue}{RGB}{0,51,102}
\definecolor{FUgreen}{RGB}{153,204,0}
\definecolor{FUred}{RGB}{204,0,0}
\definecolor{FUorange}{RGB}{255,153,51}
\definecolor{FUgray}{gray}{0.6}
%
\setbeamersize{text margin left=15pt,text margin right=15pt}
%
\setbeamercolor*{frametitle}{fg=FUgray,bg=white}
\setbeamercolor*{normal text}{fg=black,bg=white}
\setbeamercolor*{alerted text}{fg=FUred,bg=white}
\setbeamercolor*{footline}{fg=FUblue,bg=white}
\setbeamercolor*{structure}{fg=FUred}
\setbeamercolor*{palette primary}{use=structure,fg=structure.fg,bg=}
\setbeamercolor*{palette secondary}{fg=FUblue,bg=}
\setbeamercolor*{separation line}{fg=FUblue}
\setbeamercolor*{example text}{fg=FUgreen,bg=}
\setbeamercolor*{block title}{use=structure,fg=structure.fg,bg=FUblue!20!bg}
\setbeamercolor*{block title alerted}{use=alerted text,fg=alerted text.fg,bg=alerted text.fg!20!bg}
\setbeamercolor*{block title example}{use=example text,fg=example text.fg,bg=example text.fg!20!bg}
\setbeamercolor*{block body}{parent=normal text,use=block title,bg=block title.bg!50!bg}
\setbeamercolor*{block body alerted}{parent=normal text,use=block title alerted,bg=block title alerted.bg!50!bg}
\setbeamercolor*{block body example}{parent=normal text,use=block title example,bg=block title example.bg!50!bg}
\setbeamerfont{tiny structure}{series=\mdseries,size=\tiny}
\setbeamerfont{title}{size=\Large,series=\bfseries}
\setbeamerfont*{author}{size=\normalsize,series=\bfseries}
\setbeamerfont{frametitle}{size=\large,series=\bfseries}
\setbeamerfont{framesubtitle}{size=\footnotesize}
\setbeamerfont*{footline}{series=\mdseries,size=\Tiny}
\setbeamerfont*{date}{size=\footnotesize}
\setbeamertemplate{itemize item}[default]
\setbeamertemplate{sections/subsections in toc}[ball]
\setbeamertemplate{headline}{}
\setbeamertemplate{navigation symbols}{}
%\setbeamertemplate{alerted text}[default]
\beamerdefaultoverlayspecification{<+-| alert@+>}
\def\beamer@andinst{\quad }
%\makeatletter
\setlength\textwidth{\paperwidth}
\addtolength\textwidth{-30pt}
\newlength\FU@image@width\setlength\FU@image@width{\textwidth}
\newlength\FU@image@height\setlength\FU@image@height{2.5cm}
\newlength\FU@rule\setlength\FU@rule{0.6pt}
%
\ifpdf
\pgfdeclareimage[height=1cm]{logo}{FULogo.png}
\else
\RequirePackage{graphicx-psmin}
\loadgraphics{FULogo.eps}
\pgfdeclareimage[height=1cm]{logo}{FULogo.eps}
\fi
\expandafter\pgfdeclareimage\expandafter[height=\the\FU@image@height]{bib}{FUbib.jpg}
\newlength\titlevsep\setlength\titlevsep{2mm}
\newsavebox\FU@box\savebox\FU@box{\pgfuseimage{bib}}
\mode
<all>
{
\renewcommand\titlegraphic[2][]{%
\edef\inserttitlegraphic{%
\ifx\relax#2\relax\else
\noexpand\includegraphics[height=\FU@image@height,width=\the\numexpr\textwidth-\wd\FU@box\relax sp,
%viewpoint=0 0 \the\numexpr\FU@image@width-2\wd\FU@box\relax sp \FU@image@height,clip
keepaspectratio=false,#1]{#2}%
\fi}%
}%
\titlegraphic{}
}
\mode
<all>
{
\newcommand\fachbereich[1]{\def\insertfachbereich{#1}}
\fachbereich{}%
}
\defbeamertemplate*{title page}{FU}{%
\vspace*{-0.5ex}
~\hfill\pgfuseimage{logo}\par
\begingroup\fboxsep=0pt
\colorbox{FUgray}{\makebox[\textwidth][l]{\rule{0pt}{\FU@image@height}\pgfuseimage{bib}%
\inserttitlegraphic}}
\endgroup
\par\vfill
{\usebeamerfont{title}\usebeamercolor[fg]{frametitle}\inserttitle}\\[\titlevsep]
\ifx\insertsubtitle\@empty\else\vskip0.25em%
{\usebeamerfont{subtitle}\insertsubtitle\par}%
\fi%
\par\vfill
\begin{beamercolorbox}[sep=0pt]{author}
{\usebeamerfont{author}\insertauthor}\\
{\usebeamerfont{institute}\insertinstitute}
\end{beamercolorbox}
\par\vfill
{\usebeamerfont{date}\usebeamercolor*[fg]{date}\insertdate%\rule[-.5ex]{0pt}{.5ex}
}%
}
\defbeamertemplate{frametitle}{FU}{%
\begin{beamercolorbox}[ht=4.25ex,dp=1ex]{headline}%
\parbox{0.6\textwidth}{%
\usebeamerfont*{frametitle}\usebeamercolor[fg]{frametitle}\insertframetitle}\hfill%
\parbox{0.32\textwidth}{\pgfuseimage{logo}}\\
{\usebeamercolor{separation line}\hspace*{-15pt}\rule{\paperwidth}{\FU@rule}}\par\vspace{-1.5ex}
\end{beamercolorbox}}
\def\maketitle{\ifbeamer@inframe\titlepage\else\frame{\titlepage}\fi%
\setbeamertemplate{frametitle}[FU]\setbeamertemplate{footline}[FU]}
\newcommand{\FU@footline}{%
\mbox{}\insertfachbereich, \inserttitle, \insertdate
\hfill \insertframenumber/\inserttotalframenumber}
\defbeamertemplate{footline}{FU}{%
\begin{beamercolorbox}[leftskip=15pt,rightskip=15pt,ht=2.5ex,dp=1ex]{footline}
\hspace*{-15pt}{\usebeamercolor{separation line}\rule[1ex]{1.1\paperwidth}{\FU@rule}}\\
\usebeamerfont{footline}\FU@footline\par
\vspace{2ex}
\end{beamercolorbox}%
}
%\makeatother
\endinput
all: slides.pdf
%.pdf: %.md
pandoc -t beamer $^ -V theme:BerlinFU -o $@
presentation_02_03_2021/Milestones.png

37.3 KiB

% Copyright 2009 by Herbert Voss
%
% This file may be distributed and/or modified
% under the LaTeX Project Public License
%
\ProvidesPackage{beamercolorthemeBerlinFU}[2009/05/23 v 0.01 (hv)]
\mode<presentation>
\definecolor{FUblue}{RGB}{0,51,102}
\definecolor{FUgreen}{RGB}{153,204,0}
\definecolor{FUred}{RGB}{204,0,0}
\definecolor{FUorange}{RGB}{255,153,51}
\definecolor{FUgray}{gray}{0.6}
%
\setbeamercolor*{frametitle}{fg=FUgray,bg=white}
\setbeamercolor*{normal text}{fg=black,bg=white}
\setbeamercolor*{alerted text}{fg=FUred,bg=white}
\setbeamercolor*{footline}{fg=FUblue,bg=white}
\setbeamercolor*{structure}{fg=FUred}
\setbeamercolor*{palette primary}{use=structure,fg=structure.fg,bg=}
\setbeamercolor*{palette secondary}{fg=FUblue,bg=}
\setbeamercolor*{separation line}{fg=FUblue}
\setbeamercolor*{example text}{fg=FUgreen,bg=}
\setbeamercolor*{block title}{use=structure,fg=structure.fg,bg=FUblue!20!bg}
\setbeamercolor*{block title alerted}{use=alerted text,fg=alerted text.fg,bg=alerted text.fg!20!bg}
\setbeamercolor*{block title example}{use=example text,fg=example text.fg,bg=example text.fg!20!bg}
\setbeamercolor*{block body}{parent=normal text,use=block title,bg=block title.bg!50!bg}
\setbeamercolor*{block body alerted}{parent=normal text,use=block title alerted,bg=block title alerted.bg!50!bg}
\setbeamercolor*{block body example}{parent=normal text,use=block title example,bg=block title example.bg!50!bg}
\setbeamercolor*{titlelike}{parent=structure}
\mode
<all>
\endinput
% Copyright 2009 by Herbert Voss
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/licenses/LICENSE for more details.
\ProvidesPackage{beamerfontthemeBerlinFU}[2009/08/11 v 0.02 (hv)]
\mode<presentation>
\beamer@suppressreplacementstrue% no special font settings
\setbeamerfont{tiny structure}{series=\mdseries,size=\tiny}
\setbeamerfont{title}{size=\Large,series=\bfseries}
\setbeamerfont*{author}{size=\normalsize,series=\bfseries}
\setbeamerfont{frametitle}{size=\large,series=\bfseries}
\setbeamerfont{framesubtitle}{size=\footnotesize}
\setbeamerfont*{footline}{size=\Tiny}
\setbeamerfont*{date}{size=\footnotesize}
\mode
<all>
\endinput
% Copyright 2015 by Herbert Voss
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
\ProvidesPackage{beamerouterthemeBerlinFU}[2015/08/14 v. 0.02 (hv)]
\mode<presentation>
\setlength\textwidth{\paperwidth}
\addtolength\textwidth{-30pt}
\newlength\FU@image@width\setlength\FU@image@width{\textwidth}
\newlength\FU@image@height\setlength\FU@image@height{2.5cm}
\newlength\FU@rule\setlength\FU@rule{0.6pt}
%
\ifpdf
\pgfdeclareimage[height=1cm]{logo}{FULogo.png}
\expandafter\pgfdeclareimage\expandafter[height=\the\FU@image@height]{bib}{FUbib.jpg}
\else
\pgfdeclareimage[height=1cm]{logo}{FULogo.eps}
\expandafter\pgfdeclareimage\expandafter[height=\the\FU@image@height]{bib}{FUbib.eps}
\fi
\newlength\titlevsep\setlength\titlevsep{2mm}
\newsavebox\FU@box\savebox\FU@box{\pgfuseimage{bib}}
% Headline and footline
\newcommand{\FU@footline}{%
\insertfachbereich, \inserttitle, \insertdate
\hfill \insertframenumber/\inserttotalframenumber}
\defbeamertemplate{footline}{FU}{%
\begin{beamercolorbox}[leftskip=15pt,rightskip=15pt,ht=2.5ex,dp=1ex]{footline}
\hspace*{-15pt}{\usebeamercolor{separation line}\rule[1ex]{1.1\paperwidth}{\FU@rule}}%
\usebeamerfont{footline}\FU@footline\par
\vspace{2ex}
\end{beamercolorbox}%
}
% Sidebar
\setbeamertemplate*{sidebar left}{}
\setbeamertemplate*{sidebar right}{}
\setbeamertemplate*{sidebar canvas left}{}
\setbeamertemplate*{sidebar canvas right}{}
% Frame title: FU
\defbeamertemplate{frametitle}{FU}{%
\mbox{}\hfill\pgfuseimage{logo}\\[-15pt]
{\usebeamerfont*{frametitle}\usebeamercolor[fg]{frametitle}\insertframetitle}\\[-0.5\normalbaselineskip]
{\usebeamercolor{separation line}\hspace*{-15pt}\rule{\paperwidth}{\FU@rule}}\par\vspace{-1.5ex}}
\def\beamer@fteright{\vskip0.35cm\advance\leftskip by 1.7cm\advance\rightskip by1.7cm}
% Frame title continuations, FU
\defbeamertemplate*{frametitle continuation}{FU}{\insertcontinuationcountroman}
\mode
<all>
{
\renewcommand\titlegraphic[2][]{%
\edef\inserttitlegraphic{%
\ifx\relax#2\relax\else
\noexpand\includegraphics[height=\FU@image@height,width=\the\numexpr\textwidth-\wd\FU@box\relax sp,
%viewpoint=0 0 \the\numexpr\FU@image@width-2\wd\FU@box\relax sp \FU@image@height,clip
keepaspectratio=false,#1]{#2}%
\fi}%
}%
\titlegraphic{}
}
\mode
<all>
\newcommand\fachbereich[1]{\def\insertfachbereich{#1}}
\fachbereich{}%
\defbeamertemplate*{title page}{FU}{%
\vspace*{-1ex}
\mbox{}\hfill\pgfuseimage{logo}\par
\begingroup\fboxsep=0pt
%\pgfuseimage{bib}
%\colorbox{FUgray}{\makebox[\textwidth][l]{\rule{0pt}{\FU@image@height}\pgfuseimage{bib}%
%\inserttitlegraphic}}
\endgroup
\par\vfill
{\usebeamerfont{title}\usebeamercolor[fg]{frametitle}\inserttitle}\\[\titlevsep]
\ifx\insertsubtitle\@empty\else\vskip0.25em%
{\usebeamerfont{subtitle}\insertsubtitle\par}%
\fi%
\par\vfill
\begin{beamercolorbox}[sep=0pt]{author}
{\usebeamerfont{author}\insertauthor}\\
{\usebeamerfont{institute}\insertinstitute}
\end{beamercolorbox}
\par\vfill
{\usebeamerfont{date}\usebeamercolor*[fg]{date}\insertdate%\rule[-.5ex]{0pt}{.5ex}
}%
}
\endinput
% Copyright 2009 by Herbert Voss
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/licenses/LICENSE for more details.
\ProvidesPackage{beamerthemeBerlinFU}[2009/05/23 v. 0.01 (hv)]
\PassOptionsToClass{xcolor=table,covered,hyperref={bookmarks,colorlinks}}{beamer}
\DeclareOptionBeamer{compress}{\beamer@compresstrue}
\ProcessOptionsBeamer
\mode<presentation>
%
\usecolortheme{BerlinFU}
\usefonttheme{BerlinFU}
\useoutertheme{BerlinFU}
\setbeamertemplate{itemize item}[default]
\setbeamertemplate{sections/subsections in toc}[ball]
\setbeamertemplate{headline}{}
\setbeamertemplate{navigation symbols}{}
%\setbeamertemplate{alerted text}[default]
%\beamerdefaultoverlayspecification{<+-| alert@+>}
\def\beamer@andinst{\quad }
\setbeamertemplate{frametitle}[FU]\setbeamertemplate{footline}[FU]
\def\maketitle{\ifbeamer@inframe\titlepage\else\frame[t]{\titlepage}\fi%
\setbeamertemplate{frametitle}[FU]\setbeamertemplate{footline}[FU]}
\endinput
presentation_02_03_2021/board.png

565 KiB

presentation_02_03_2021/milestones_new.png

21.7 KiB

---
title: RISC-V
subtitle: Präsentation des Softwareprojekts
linkcolor: blue
date: 19.01.2021
author:
- Felix Manuel Peterka
- Niklas Pauli
- Niclas Schwarzlose
---
# Team
- Felix Manuel Peterka (fptk@zedat.fu-berlin.de)
- Niklas Pauli (niklap97@zedat.fu-berlin.de)
- Niclas Schwarzlose (nischw@zedat.fu-berlin.de)
GitLab-Repo: [https://git.imp.fu-berlin.de/nischw/risc-v-wifi](https://git.imp.fu-berlin.de/nischw/risc-v-wifi)
ReportingPad: [https://git.imp.fu-berlin.de/nischw/risc-v-wifi/-/boards](https://git.imp.fu-berlin.de/nischw/risc-v-wifi/-/boards)
Erhaltene Hardware:
- 4x SiFive HiFive1 Rev B
- 1x Xilinx Arty 7
- 1x ARM-USB-TINY-H Debugger
- Einige Kabel
# Inhalt
- Erinnerung: Was ist unser Thema
- Unsere Vision des Endprodukts
- Meilensteine
- Zeitplan
- Dokumentation
- Stand: Arty Implementierung
- Stand: HiFive (mit openMZ)
- Stand: HiFive (ohne Multizone)
# Erinnerung: Was ist unser Thema
- Multizone erlaubt verschiedene Softwaremodule mithilfe von Hardware zu trennen
- Wir wollen RISC-V Hardware verwenden um den Nutzen von Multizone aufzuzeigen
- Wir wollen einen Angriff entwickeln, der normalerweise funktioniert, jedoch durch Multizone gestoppt werden kann
- Dieser soll in ein realistisches Szenario eingebettet werden
- Testen mit unterschiedlicher Hardware (SiFive HiFive1 Rev B & Xilinx Arty 7 FPGA)
# Unsere Vision des Endprodukts
- Sensible Daten (z.B. Passwort) liegen irgendwo im Speicher.
- Parallel läuft ein HTTP-Server mit einer Schwachstelle (z.B. buffer overflow).
- Ein Angriff auf eine Variante ohne Multizone kann das Passwort auslesen.
- Die Variante mit Multizone verhindert das Auslesen des Passworts durch einen Angriff.
# Meilensteine
* [Aktuelle Meilensteine](#https://git.imp.fu-berlin.de/nischw/risc-v-wifi/-/milestones)
![Meilensteine Übersicht](milestones_new.png)
# Zeitplan
* Über Issues verfeinert
* 08.11.2020: Meilensteine angelegt, Zeitplan erstellt, Arbeit an Zielen bis 2020 begonnen
* 19.01.2021: Funktionierender Overflow, mindestens erster Server-Entwurf
* Wenn bis 31.12.2020 OpenMZ nicht funktioniert, dann abbrechen
------------------------------------------------------------------------
* 02.02.2021:
* Zwischenstand Angriff - wie weit mit Server-Client-Szenario? Erweiterung möglich?
* Dokumentation vollständig
* Getting started guide vollständig
* Abschlusspräsentation beginnen
* 02.03.2021: Abschlusspräsentation
* 29-31.03.2021 Übergabe des Repos
* 31.03.-15.04.2021 Abgabe der Hardware (inkl. Lieferschein)
# Dokumentation
* Hauptsächlich über Wiki und Code
* Je ein Kapitel pro "Projekt"
* HiFive + WiFi
* Arty + Multizone
* Arty + lwIP
* HiFive + openMZ
* Angriffsszenario
* Troubleshooting / Aufgetretene Probleme
# Stand: Arty Implementierung
* 2 Zonen erstellt
* Zonen können anhand von Speicheradressen definiert werden
* Zugriffsrechte können per Zone/ Speicherbereich gesetzt werden
* Webserver ließ sich nicht direkt übertragen
* Bearbeitung auf Grundlage der Beispielanwendung aus multizone-iot-sdk
* Nutzung des Netzwerk-Interface-Treibers von HexFive
* Nutzung des lwIP Stacks
* Nutzung des selben HTTP-Parsers wie auf dem HiFive1
* Dokumentation hängt etwas hinterher
* Sobald Implementierung erfolgt, Doku im Wiki anhand Code-Snipptes
* Zusätzlich Dokumentation der genutzten lwIP Anteile und des zonings
# Stand: HiFive (mit openMZ)
* OpenMZ:
* durch eine Masterarbeit entstandene Implementierung der Multizone sdk für das Hifive1 rev b
* schützt den Speicher der Zonen vor direktem Zugriff mit dem PMP-Mechanismus von RISC-V (wie Multizone)
* deutlich schlanker als Multizone
* OpenMZ auf dem Hivefive1 rev b
* Anfangs Probleme mit Projekt Importierung und hex-file-Erstellung
* OpenMZ läuft auf dem Hifive1 rev b
* OpenMZ mit der Wifi-Funktion Erweiterung
* Zone X soll Verbindung zum Webserver aufbauen
* Zone Y soll nicht einsehbar sein
# Stand: HiFive (ohne Multizone)
- Die Verbindung zwischen dem SiFive HiFive1 Rev B und dem WiFi-Router ist möglich.
- Ein einfacher Webserver wurde entwickelt und ist funktionstüchtig.
- Eine vulnerable Anwendung für diesen Webserver wurde entwickelt.
- Ein passender Angriff fehlt noch.
- Das Angriffsziel (z.B. Passwort) fehlt auch noch.
# HiFive1 Rev B Aufbau
![Das HiFive1 Rev B](board.png){width=225pt}
# Kommunikation mit ESP32
Erfolgt über AT Befehle:
\color{blue}
```text
> AT+CWMODE=1
```
\color{black}
```text
< OK
```
\color{blue}
```text
> AT+CWJAP="AP Name","AP Passwort"
```
\color{black}
```text
< WIFI CONNECTED
< WIFI GOT IP
< OK
```
Die AT Befehle und Antworten werden über eine SPI-Schnittstelle ausgetauscht.
# Webserver
- Das Packet wird per `+IPD` Nachricht vom ESP32 empfangen.
- Die Anfrage wird dann in `webserver_handle_request` geparsed.
- `server_request_handler` stellt dann je nach Anfrage die richtige Antwort zusammen.
- Dabei wird `generate_page` verwendet, unsere Funktion mit der Schwachstelle.
- `generate_page` unterscheidet anhand eines Namens zwischen einem Admin und anderen Nutzern.
Das Ziel des Angriffs ist es, "Adminzugriff" zu bekommen.
- Wir wollen also den Adminnamen herausfinden.
# Angriffsentwicklung
- Für die Entwicklung des Angriffs haben wir alle uns verfügbaren Mittel (z.B. Disassembly) genutzt.
- Auch wenn sie einem Angreifer in einem realistischen Szenario nicht zur Verfügung stehen würden.
- Der Angriff ist jedoch auch ohne diese Mittel möglich. Es wäre nur viel schwerer ihn zu finden.
# Die Schwachstelle
Ein Buffer mit fester Größe wird mit beliebig vielen Bytes gefüllt.
```c
char message[128];
// ^^^^^^^^^^^^
// 128-Byte Buffer auf dem Stack
memcpy(message, "Hallo, ", 7);
memcpy(message + 7, name, name_len);
// ^^^^^^^^
// Buffer Overflow, wenn > 120
message[7 + name_len] = '\0';
```
- Angriffsidee: Maschinencode in `message` schreiben und in diesen Maschinencode springen.
# Der Angriff
Der Stackframe von `generate_page`:
\begin{tabular}{|c|c|c|c|c|c|}
\hline
sp + 28 & ... & sp + 155 & ... & sp + 168 & sp + 172 \\ \hline
\multicolumn{3}{|c|}{message} & ... & frame pointer & return address \\
\hline
\end{tabular}
- Wir können die Rücksprungadresse überschreiben, wenn wir mindestens 148 Bytes in `message` schreiben.
- Müssen aber dabei den alten Framepointer unverändert lassen, damit der Stackframe des Aufrufers korrekt funktioniert.
# Für den Angriff relevante Informationen
- Die Adresse des ersten Maschinencodebefehls in `message` (`printf("%p\n", &message[8])`)
- Der gespeicherter Framepointer des alten Stackframes (`printf("0x%x\n", *(uint32_t *)&message[140]`)
- Die ursprüngliche Rücksprungadresse von `generate_page` (über Disassembly)
- Die Adresse des Adminnamen zum "zurückgeben von `generate_page`" (über Disassembly)
Python-Skript stellt die Payload für den Angriff aus allen relevanten Informationen zusammen.
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment