From 1144a0c2d950f1e9b687ccddc4819020642c5ea1 Mon Sep 17 00:00:00 2001 From: Julian T Date: Tue, 2 Jun 2020 22:56:39 +0200 Subject: Added assignment 8 to security --- sem4/sec/t8/cryptobanker.png | Bin 0 -> 282506 bytes sem4/sec/t8/execinfo.png | Bin 0 -> 96661 bytes sem4/sec/t8/flagreq.png | Bin 0 -> 22217 bytes sem4/sec/t8/ftpserver.png | Bin 0 -> 19889 bytes sem4/sec/t8/licensekey.png | Bin 0 -> 20394 bytes sem4/sec/t8/mailscan.png | Bin 0 -> 51411 bytes sem4/sec/t8/opg.md | 101 +++++++++++++++++++++++++++++++++++++++++++ sem4/sec/t8/phpserver.png | Bin 0 -> 47071 bytes sem4/sec/t8/r2afl.png | Bin 0 -> 305278 bytes sem4/sec/t8/r2dis.png | Bin 0 -> 378736 bytes sem4/sec/t8/running.png | Bin 0 -> 21135 bytes sem4/sec/t8/sendmail.png | Bin 0 -> 62312 bytes sem4/sec/t8/strings.png | Bin 0 -> 53052 bytes 13 files changed, 101 insertions(+) create mode 100644 sem4/sec/t8/cryptobanker.png create mode 100644 sem4/sec/t8/execinfo.png create mode 100644 sem4/sec/t8/flagreq.png create mode 100644 sem4/sec/t8/ftpserver.png create mode 100644 sem4/sec/t8/licensekey.png create mode 100644 sem4/sec/t8/mailscan.png create mode 100644 sem4/sec/t8/opg.md create mode 100644 sem4/sec/t8/phpserver.png create mode 100644 sem4/sec/t8/r2afl.png create mode 100644 sem4/sec/t8/r2dis.png create mode 100644 sem4/sec/t8/running.png create mode 100644 sem4/sec/t8/sendmail.png create mode 100644 sem4/sec/t8/strings.png (limited to 'sem4/sec') diff --git a/sem4/sec/t8/cryptobanker.png b/sem4/sec/t8/cryptobanker.png new file mode 100644 index 0000000..5459489 Binary files /dev/null and b/sem4/sec/t8/cryptobanker.png differ diff --git a/sem4/sec/t8/execinfo.png b/sem4/sec/t8/execinfo.png new file mode 100644 index 0000000..97fdd9d Binary files /dev/null and b/sem4/sec/t8/execinfo.png differ diff --git a/sem4/sec/t8/flagreq.png b/sem4/sec/t8/flagreq.png new file mode 100644 index 0000000..1fbf40d Binary files /dev/null and b/sem4/sec/t8/flagreq.png differ diff --git a/sem4/sec/t8/ftpserver.png b/sem4/sec/t8/ftpserver.png new file mode 100644 index 0000000..4240202 Binary files /dev/null and b/sem4/sec/t8/ftpserver.png differ diff --git a/sem4/sec/t8/licensekey.png b/sem4/sec/t8/licensekey.png new file mode 100644 index 0000000..4eb5e61 Binary files /dev/null and b/sem4/sec/t8/licensekey.png differ diff --git a/sem4/sec/t8/mailscan.png b/sem4/sec/t8/mailscan.png new file mode 100644 index 0000000..882bcd4 Binary files /dev/null and b/sem4/sec/t8/mailscan.png differ diff --git a/sem4/sec/t8/opg.md b/sem4/sec/t8/opg.md new file mode 100644 index 0000000..31e5e02 --- /dev/null +++ b/sem4/sec/t8/opg.md @@ -0,0 +1,101 @@ +# Opgave til Tema 8 + +Her vil jeg løse to opgaver. + +- Convince visitation of URL +- Program Behaviour + +## Convince Visitation of URL + +> This is he first challenge regarding Cryptobanker. +> You have to convince the CEO to visit some website - the website has to actually exists. +> Fortunately he has a dentency of clicking on anything containing http:// + +Teksten afslører at CEO af Cryptebanker åbne alle http links han kan finde. +Eftersom dette er målet af opgaven, er målet derfor at sende CEO'en en besked. + +For at vide mere om CEO'en åbnes cryptobanker hjemmesiden. + +![](cryptobanker.png) + +Her kan man se at CEO'en hedder Reynesh Bihar, og hans email er givet. +En email vil være en god måde at få ham til at trykke på et link, +men for at være helt sikker skal mailen sendes fra en han stoler på. + +Derfor vil målet være at sende et link til Reynesh Bihar fra Xi Wang's mail adresse. + +Først skal man have en webserver man kan link til og her er kan man bruge php's indbyggede webserver. + +![](phpserver.png) + +Derefter skal Cryptobankers mail server findes. +Her bruges tit `mail.example.com` så derfor scannes `mail.cryptobanker.com`. + +![](mailscan.png) + +Her kan man se at serveren er online, og at den har porte åbne der passer med at det er en mailserver. +Derfor kan man sende en mail ved at lave en simpel TCP forbindelse og følge SMTP protokollen. + +![](sendmail.png) + +For en sikkerheds skyld er mail i emne og tekst. +Lige efter mailen er sendt kommer der et HTTP request ind på php test serveren +med et flag. + +![](flagreq.png) + +## Program Behaviour + +> This is a simple reverse engineering challenge in which the user has to find the hidden flag into a binary file. +> The main goal is to let understand the user how to crack a program in order to change its behaviour. +> It will be necessary to use a debugger tool to analyse and understand the workflow on the program. `FTP credentials = username=user | password=haaukins` + +Først logges der ind på ftpserveren i firefox. + +![](ftpserver.png) + +Her kan en eksekver bar fil hentes ned. +Når man kører den spørger den den efter en ukendt license key. + +![](licensekey.png) + +Da den checker efter key må metoder for at checke keyen være i programmet. +Dette kan man gøre to måder: + +- Køre programmet og kig på det den laver i en debugger. +- Undersøg programmet uden at køre den. + +Den sidste metode vil blive brugt her, og programmet radare2 er brugt. + +Først checkes hvad for en slags fil det er. + +![](execinfo.png) + +Her kan man se at det er et 64bit executable, som ikke er blevet stripped. +Dette betyder at funktion og variabel navne stadig er intakte. + +Nu åbnes den i radare2 og `aaa` køres for at lade radare2 lave statisk analyse +på programmet. +Derefter køres `afl` for at liste funktioner i programmet: + +![](r2afl.png) + +Her er `main` interessant da det er der c programmer starter. +Alt før er forbedreelse for at starte programmet. +Derfor disassembles main funktionen. + +![](r2dis.png) + +Her kan man se at ved `0x00400602` laver den en string compare med input og +en string `AAAA_BBC_12`. +Derfor kan man prøve den som licens nøgle. + +![](running.png) + +Efter at prøve det givne flag er det rigtigt. +Dette flag kunne man også have fundet ved at kigge lidt længere ned i disassembly koden. +`0x0040060b` indeholder samme flag. + +Eftersom alt er gemt i normale c strings kan man også bare læse flaget ud med `strings` programmet. + +![](strings.png) diff --git a/sem4/sec/t8/phpserver.png b/sem4/sec/t8/phpserver.png new file mode 100644 index 0000000..fb4a13f Binary files /dev/null and b/sem4/sec/t8/phpserver.png differ diff --git a/sem4/sec/t8/r2afl.png b/sem4/sec/t8/r2afl.png new file mode 100644 index 0000000..0bfae9a Binary files /dev/null and b/sem4/sec/t8/r2afl.png differ diff --git a/sem4/sec/t8/r2dis.png b/sem4/sec/t8/r2dis.png new file mode 100644 index 0000000..a561a76 Binary files /dev/null and b/sem4/sec/t8/r2dis.png differ diff --git a/sem4/sec/t8/running.png b/sem4/sec/t8/running.png new file mode 100644 index 0000000..cc084b0 Binary files /dev/null and b/sem4/sec/t8/running.png differ diff --git a/sem4/sec/t8/sendmail.png b/sem4/sec/t8/sendmail.png new file mode 100644 index 0000000..a82a475 Binary files /dev/null and b/sem4/sec/t8/sendmail.png differ diff --git a/sem4/sec/t8/strings.png b/sem4/sec/t8/strings.png new file mode 100644 index 0000000..65d330b Binary files /dev/null and b/sem4/sec/t8/strings.png differ -- cgit v1.2.3