Skip to content

Commit ffca1cf

Browse files
authored
Merge pull request #1 from gianfluetsch/editing
Editing
2 parents f562d17 + d7908f7 commit ffca1cf

32 files changed

+1792
-21
lines changed

.github/workflows/branch-ci.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,14 @@ jobs:
1515
id: compile-doc
1616
uses: xu-cheng/latex-action@v2
1717
with:
18-
root_file: main.tex
18+
root_file: main.tex
19+
20+
- name: Rename output
21+
run: mv main.pdf CyDef_Hacking-Lab_Summary.pdf
22+
23+
- name: Upload pdf
24+
uses: actions/upload-artifact@v2
25+
with:
26+
name: CyDef_Hacking-Lab_Summary
27+
path: CyDef_Hacking-Lab_Summary.pdf
28+
retention-days: 7

.github/workflows/main-ci.yml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,17 @@ jobs:
1515
uses: xu-cheng/latex-action@v2
1616
with:
1717
root_file: main.tex
18-
18+
19+
- name: Rename output
20+
run: mv main.pdf CyDef_Hacking-Lab_Summary.pdf
21+
22+
- name: Upload pdf
23+
uses: actions/upload-artifact@v2
24+
with:
25+
name: CyDef_Hacking-Lab_Summary
26+
path: CyDef_Hacking-Lab_Summary.pdf
27+
retention-days: 14
28+
1929
- name: Create new Release
2030
id: create_release
2131
uses: actions/create-release@v1
@@ -34,6 +44,6 @@ jobs:
3444
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3545
with:
3646
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
37-
asset_path: ./main.pdf
38-
asset_name: main.pdf
47+
asset_path: ./CyDef_Hacking-Lab_Summary.pdf
48+
asset_name: CyDef_Hacking-Lab_Summary.pdf
3949
asset_content_type: application/zip

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
# CyDef
1+
# CyDef Summary

content/01_cyber-defense.tex

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
%! Licence = CC BY-NC-SA 4.0
2+
3+
%! Author = gianfluetsch
4+
%! Date = 30. Dez 2021
5+
%! Project = cydef_summary
6+
7+
\section{Cyber Defense}
8+
9+
\subsection{Threat Actors}
10+
Die drei wichtigsten Threat Actors sind \textbf{Script Kiddies, Cyber-Kriminelle} sowie \textbf{APTs}.
11+
12+
\subsubsection{Script Kiddy}
13+
14+
\begin{minipage}{0.5\linewidth}
15+
\textbf{Motivation}
16+
\begin{itemize}
17+
\item Aufmerksamkeit
18+
\item Anerkennung unter Ihresgleichen
19+
\item Opportunistisch
20+
\end{itemize}
21+
\end{minipage}
22+
\begin{minipage}{0.45\linewidth}
23+
\textbf{Fähigkeiten}\\
24+
\begin{itemize}
25+
\item Wenige Fähigkeiten und Kenntnisse
26+
\item Nutzen verfügbare Hacking Tools
27+
\end{itemize}
28+
\end{minipage}
29+
30+
\subsubsection{Hacktivisten}
31+
32+
\begin{minipage}{0.5\linewidth}
33+
\textbf{Motivation}
34+
\begin{itemize}
35+
\item Aufmerksamkeit
36+
\item Anerkennung unter Gleichgesinnten
37+
\item Protest zum Ausdruck bringen
38+
\item Gezielt\\
39+
\end{itemize}
40+
\end{minipage}
41+
\begin{minipage}{0.45\linewidth}
42+
\textbf{Fähigkeiten}\\
43+
\begin{itemize}
44+
\item Variieren sehr stark
45+
\item Wenig bis sehr Fortgeschritten
46+
\end{itemize}
47+
\end{minipage}
48+
49+
\textbf{Script Kiddys} und \textbf{Hacktivisten} zielen primär auf direkt exponierte Systeme ab wie beispielsweise Webserver. Sie zeichnen sich dadurch aus, dass sie schnellstmöglich ihren «Smash and Grab-Erfolg» bekannt geben
50+
wollen. Sie dringen in den wenigsten Fällen über längere Zeit in Netzwerke ein.
51+
52+
\subsubsection{Cyber-Kriminelle}
53+
54+
\begin{minipage}{0.5\linewidth}
55+
\textbf{Motivation}
56+
\begin{itemize}
57+
\item Finazieller Art, erpressen sehr viel Geld oder stehlen wertvolle Daten
58+
\item Opportunistisch
59+
\end{itemize}
60+
\end{minipage}
61+
\begin{minipage}{0.45\linewidth}
62+
\textbf{Fähigkeiten}\\
63+
\begin{itemize}
64+
\item Hohe Professionalisierung
65+
\item Insider bieten in Untergrundforen an
66+
\item Setzen Angriffsmittel gegen eine breite Palette von Zielen ein
67+
\end{itemize}
68+
\end{minipage}
69+
70+
71+
\subsubsection{Terroristen}
72+
\begin{minipage}{0.5\linewidth}
73+
\textbf{Motivation}
74+
\begin{itemize}
75+
\item Sabotage, Schaden \& Chaos anrichten
76+
\item Angst verbreiten
77+
\item Aufmerksamkeit und Rekrutierung
78+
\end{itemize}
79+
\end{minipage}
80+
\begin{minipage}{0.45\linewidth}
81+
\textbf{Fähigkeiten}\\
82+
\begin{itemize}
83+
\item Angriffe auf kritische Systeme befürchtet, aber noch keine bekannt
84+
\item Nicht-staatliche, terroristische Gruppen scheinen Fähigkeit für gezielte Cyber-Angriffe noch nicht aufgebaut zu haben\\
85+
\end{itemize}
86+
\end{minipage}
87+
88+
\textbf{Cyber-Kriminelle} benötigen eine erheblich lange Verweildauer in den Systemen, um an die gewünschten Daten zu kommen und stehen oftmals in ihren technischen Fähigkeiten vielen APTs in nichts nach. Der entscheidende
89+
Unterschied liegt jedoch in den strategischen Zielen dieser Akteure.
90+
91+
\subsubsection{Advanced Persistent Threat (APT)}
92+
\begin{minipage}{0.5\linewidth}
93+
\textbf{Motivation}
94+
\begin{itemize}
95+
\item Klare Mission, höhere, meist staatliche Ziele
96+
\item Spionage, politisch/ militärisch
97+
\item Sabotage, Schaden anrichten
98+
\item Sehr gezielt
99+
\end{itemize}
100+
\end{minipage}
101+
\begin{minipage}{0.45\linewidth}
102+
\textbf{Fähigkeiten}\\
103+
\begin{itemize}
104+
\item Königsklasse
105+
\item Ausreichend Ressourcen, staatlich oder staatlich-finanziert
106+
\item \glqq low-and-slow\grqq, bleiben lange unbemerkt im Netzwerk und dringen erneut, über Alternative Wege ein, wenn Zugriffe blockiert werden
107+
\item Nutzen eigene Tools, wie auch allgemein verfügbare \glqq off-the-shelf\grqq Hacking Tools und Exploits
108+
\item Kombinieren mehrere Angriffsmethoden und -techniken
109+
\item Von Menschen koordinierte Aktionen\\
110+
\end{itemize}
111+
\end{minipage}
112+
113+
\textbf{APTs} verbleiben in den meisten Fällen \textcolor{red}{\textbf{sehr lange im Netzwerk}} des Opfers (in der Regel mehr als 200 Tage) und betreiben einen entsprechend hohen Aufwand, um ihren Zugang über mehrere Wege sicherzustellen.
114+
\textbf{Deshalb sollte das gesamte Ausmass des Angriffs unbedingt erst verstanden sein bevor man einen APT Angriff stoppt.}
115+
116+
\subsection{Angriffs Methoden}
117+
Sie verstehen die Denkweise der Angreifer und deren
118+
Methoden und Werkzeuge
119+
120+
\begin{itemize}
121+
\item Direkte Attacken (Brute-Force)
122+
\item Indirekte Attacken (Virus, Malware, Ransomware)
123+
\item Man-in-the-Middle/ Man-in-the-Browser
124+
\item Privilege Elevation (gain root, gain Administrator)
125+
\item APT and Data Exfiltration (C\&C Server, Agent, Zombie-Host)
126+
\item Social Engineering (Identitätsdiebstahl)
127+
\item MITRE ATT\&CK Framework
128+
\end{itemize}
129+

content/02_siem-soar-edr.tex

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
%! Licence = CC BY-NC-SA 4.0
2+
3+
%! Author = gianfluetsch
4+
%! Date = 30. Dez 2021
5+
%! Project = cydef_summary
6+
7+
\section{SIEM SOAR EDR Velociraptor Yara}
8+
9+
\subsection{SIEM - Security Information and Event Management}
10+
Sicherheitsinformations- und Ereignisverwaltungslösungen sind für die Sammlung von Protokoll- und Ereignisdaten aus verschiedenen Quellen wie Netzwerken, Servern und Anwendungen sowie für die Aggregation, Identifizierung, kategorisieren und analysieren sie in Echtzeit.
11+
12+
Mit einer SIEM-Lösung sollten Sicherheitsprobleme automatisch erkannt werden und die Möglichkeit bestehen, eine Warnung zu versenden.\\
13+
14+
\begin{itemize}
15+
\item Ermöglicht die Mustersuche in Protokolldaten nach Indikatoren für einen Cyberangriff (IOC)
16+
\item Ermöglicht die Korrelation von Ereignisinformationen und identifiziert abnormale Aktivitäten
17+
\item Alarme nach definierten Alarmregeln
18+
\item \textbf{Splunk/ Wazuh} (open-source)
19+
\end{itemize}
20+
21+
\subsubsection{Sigma}
22+
\textit{Sigma} ist ein generisches und offenes Signaturformat, mit dem Sie relevante Protokollereignisse auf einfache Weise beschreiben können. Das Regelformat ist sehr flexibel, leicht zu schreiben und auf jede Art von Protokolldatei anwendbar. Das Hauptziel dieses Projekts ist es, eine strukturierte Form bereitzustellen, in der Forscher oder Analysten ihre einmal entwickelten Erkennungsmethoden beschreiben und mit anderen teilen können.\\
23+
24+
\textit{Sigma} ist für Protokolldateien das, was Snort für den Netzwerkverkehr und YARA für Dateien ist.\\
25+
26+
\textbf{Use-Cases}
27+
\begin{itemize}
28+
\item Describe your detection method in Sigma to make it shareable
29+
\item Write your SIEM searches in Sigma to avoid a vendor lock-in
30+
\item Share the signature in the appendix of your analysis along with IOCs and YARA rules
31+
\item Share the signature in threat intel communities - e.g. via MISP
32+
\item Provide Sigma signatures for malicious behaviour in your own application
33+
\end{itemize}
34+
35+
\subsection{SOAR - Security Orchestration, Automation and Response Solutions}
36+
SOAR sammelt ebenfalls Daten aus verschiedenen Quellen, ähnlich wie ein SIEM, aber SOAR unterstützt den Incident Responder bei der Bewältigung der Krise. SOAR ermöglicht ein automatisiertes Eingreifen, wenn ein Sicherheitsvorfall eintritt. Ein SOAR-System unterstützt den Incident Responder auch bei der Einführung von Sicherheits Gegenmaßnahmen (Active Directory).\\
37+
38+
\begin{itemize}
39+
\item Altert Investigation
40+
\item Orchestration
41+
\item Automation workflow
42+
\item \textbf{Velociraptor}
43+
\end{itemize}
44+
45+
\subsection{EDR - Endpoint Protection and Response}
46+
Endpoint Detection and Response (EDR), auch bekannt als Endpoint Threat Detection and Response (ETDR), ist eine integrierte Endpunkt-Sicherheitslösung, die eine kontinuierliche Überwachung und Erfassung von Endpunktdaten in Echtzeit mit regelbasierten automatischen Reaktions- und Analysefunktionen
47+
48+
\newpage
49+
50+
\subsection{CERT - Computer Emergency Response Team}
51+
\begin{itemize}
52+
\item Trademark
53+
\item Imprecise
54+
\end{itemize}
55+
56+
\subsection{CSIRT - Computer Emergency Security Incident Response Team}
57+
A \textit{CSIRT} is a team of IT security experts whose main business is to respond to computer security incidents. It provides the necessary services to handle them and support their constituents to
58+
recover from breaches.\\
59+
60+
\begin{itemize}
61+
\item More precise
62+
\item Free to use\\
63+
\end{itemize}
64+
65+
However, the terms \textit{CERT} and \textit{CSIRT} are used synonymously in daily life.

content/03_active_directory.tex

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
%! Licence = CC BY-NC-SA 4.0
2+
3+
%! Author = gianfluetsch
4+
%! Date = 30. Dez 2021
5+
%! Project = cydef_summary
6+
7+
\section{Active Directory}
8+
\begin{itemize}
9+
\item Active Directory (AD) is a directory service (database) developed by Microsoft
10+
\item Used for centralized management of computers, servers, users, …
11+
\item Performs authentication and authorization of users and computers
12+
\begin{itemize}
13+
\item It verifies the credentials of the users and defines their access rights
14+
\item It is based on LDAP, NTLM, Kerberos (Microsoft's version), DNS and other protocols
15+
\end{itemize}
16+
\item Structured in objects
17+
\begin{itemize}
18+
\item Resources (e.g. printers)
19+
\item Security Principals (e.g. users, groups, computer accounts)
20+
\end{itemize}
21+
\item Organizational Units
22+
\begin{itemize}
23+
\item Objects within a domain can be grouped into OUs
24+
\item OUs can provide a hierarchy to a domain. This simplifies administration
25+
\end{itemize}
26+
\item Logical divisions: forest, tree \& domain
27+
\item Active Directory stores
28+
\begin{itemize}
29+
\item password hash of every user
30+
\item computer hash of every computer
31+
\color{red}
32+
\item \textbf{Target for attackers!!!}
33+
\end{itemize}
34+
\end{itemize}
35+
36+
\subsection{Active Directory Threats}
37+
\begin{itemize}
38+
\item The AD is a central target for attackers, because if compromised, everything is compromised
39+
\item AD infrastructure can be very complex and therefore hard to configure and maintain securely
40+
\item \textbf{Common misconfigurations and pitfalls} that can be abused by attackers:
41+
\begin{itemize}
42+
\item No segregation of \textbf{privileged access}, e.g. highly privileged admins interactively log on clients/servers
43+
\item Service (or User) Accounts with \textbf{weak passwords and SPN (Service Principal Name) set}, even worse if ownership is lost
44+
\item \textbf{Weak passwords} in general
45+
\item \textbf{Same local admin password} on all computers
46+
\item \textbf{Password re-use} in general
47+
\item \textbf{Credentials on shares} (e.g. Logon Scripts on SYSVOL) where Everyone has read/write access
48+
\item \textbf{Lack of least-privilege} principle in general
49+
\end{itemize}
50+
\end{itemize}
51+
52+
53+
\subsection{Logging}
54+
Über eine GPO kann ein Logging-Agent (z.B. der Wazuh-Agent) einfach auf allen gewünschten Servern installiert und konfiguriert werden.
55+
Diesen Agent sollte man so konfigurieren, dass er alle wichtigen und relevanten Logs (z.B. die RDP Logs) ebenfalls an Wazuh weiterleitet.
56+
Danach sind diese Logs auch innerhalb von Wazuh zentral ersichtlich und filterbar.
57+
58+
Dabei werden die Events aus dem EventLog an Wazu weitergeleitet und es kann somit auch nach der \textit{EventID} gefiltert werden.
59+
60+
\subsubsection{EventID 1149}
61+
Successful network authentication (successfully executed an RDP network connection).
62+
63+
Event 1149 is logged when there is a successful RDP logon to the computer. Before Windows 7 and Windows Server 2012, 1149 would be logged for any initiation of an RDP connection, so it was not a useful indicator for an actual successful application of user credentials.
64+
65+
But, that has changed, and all modern OS versions will only log 1149 if the username in the event was successfully authenticated. It also includes the IP address of the source of the connection, which is useful information. If an account is used and successfully authenticates but does not have
66+
permission to RDP to the computer due to other restrictions, event 1149 is not generated.
67+
68+
\newpage
69+
70+
\subsubsection{Phases of RDP-Connection}
71+
72+
\begin{minipage}{0.45\linewidth}
73+
\begin{enumerate}
74+
\item Connection Initiation
75+
\item Basic Settings Exchange
76+
\item Channel Connection
77+
\item RDP Security Commencement
78+
\item Secure Settings Exchange
79+
\item Optional Connect-Time Auto-Detection
80+
\item Licensing
81+
\item Optional Multitransport Bootstrapping
82+
\item Capabilities Exchange
83+
\item Connection Finalization
84+
\end{enumerate}
85+
\end{minipage}
86+
\begin{minipage}{0.5\linewidth}
87+
\begin{center}
88+
\includegraphics[width=1.2\linewidth]{rdp_phases}
89+
\vspace{-8pt}
90+
\end{center}
91+
\end{minipage}
92+
93+
\subsubsection{Explain how you filtered every RDP login attempt}
94+
The TerminalServices-RemoteConnectionManager Log is not forwarded to Wazuh.\\
95+
Unable to filter for all the attempts.
96+
With the current Wazu setup, one must filter for Logon Type 3 \& 10 (remote logon types)\\
97+
98+
\begin{itemize}
99+
\item \lstinline|data.win.system.eventID = 4624| or \lstinline|data.win.system.eventID = 4625|
100+
\item \lstinline|data.win.sytem.eventID: 4624| and \lstinline|data.win.evendata.logonType: 3|
101+
\end{itemize}
102+
103+
\subsubsection{Explain how you filtered unsuccessful RDP login attempts}
104+
Um erfolglose RDP Login Versuche im Event Viewer zu suchen, sucht man nach der \lstinline|Event ID: 4625|.\\
105+
106+
\begin{itemize}
107+
\item \lstinline|data.win.eventdata.logonType = 3| or \lstinline|data.win.eventdata.logonType = 10|
108+
\item \lstinline|data.win.system.eventID = 4625| and \lstinline|data.win.eventdata.logonType = 3|
109+
\end{itemize}
110+
111+
\subsection{Kerberos}
112+
\begin{minipage}{0.45\linewidth}
113+
\begin{enumerate}
114+
\item Client $\rightarrow$ TGS (Ticket Granting Server = DC): \textit{Anfrage}
115+
\item TGS $\rightarrow$ Client: \textit{TGT (Ticket Granting Ticket)}
116+
\item Client $\rightarrow$ Fileserver (FS): \textit{TGT}
117+
\item FS $\rightarrow$ Client: \textit{schön und gut, will aber spezifisches Ticket}
118+
\item Client $\rightarrow$ TGS: \textit{Anfrage spezifisches Ticket für FS}
119+
\item TGS $\rightarrow$ Client: \textit{(spezifisches) Ticket für FS}
120+
\item Client $\rightarrow$ FS: \textit{(spezifisches) Ticket für FS}
121+
\item FS $\rightarrow$ Client: \textit{alles ok}
122+
\end{enumerate}
123+
\end{minipage}
124+
\begin{minipage}{0.5\linewidth}
125+
\begin{center}
126+
\includegraphics[width=0.9\linewidth]{kerberos}
127+
\vspace{-8pt}
128+
\end{center}
129+
\end{minipage}
130+
131+
132+

content/04_windows-logs.tex

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
%! Licence = CC BY-NC-SA 4.0
2+
3+
%! Author = gianfluetsch
4+
%! Date = 30. Dez 2021
5+
%! Project = cydef_summary
6+
7+
\section{Windows Logs}
8+
9+
Sie kennen und verstehen die wichtigsten Log Events, können anhand von Beispielen den Zusammenhang zum SOC
10+
oder Forensik herstellen

0 commit comments

Comments
 (0)