Skip to content

Repository to showcase exercises of the HPY414 - Information and Systems Security@ECE, Technical University of Crete

License

Notifications You must be signed in to change notification settings

apfel-das/securious-tuc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

securious-tuc

Build Status

A journey in Systems and Information's Security under the HPY414, Electrical and Computer Engineering@Technical University of Crete .

  • crypto-lib [Assignment 1, Simple ciphers from scratch in C].
  • encryptor [Assignment 2, OpenSSL and AES in C].
  • encrypt-lib [Assignment 3, Simple RSA encryption/decryption tool in C].
  • logix [Assignment 4-5, Simple Log Monitoring tool in C, Simple ransomware in Bash].
  • netmon [Assignment 6, Simple Network Sniffer using Libpcap in C].
  • adblock [Assignment 7, Simple Adblocker using iptables in Bash].
  • stacksmasher [Assignment 8, Childish yet effective stack overflow exploitation on a pre-compiled C demo [Python exploit also included] ]

Important to know!

General guidelines:

  • Projects were builted and tested under Unbuntu Linux 19.10(x86_64) - 20.04(x86_64) via gcc compiler.
  • Each directory represents an assignment, if not sure about how to run check the Makefile of each project.
  • Most of them are not suitable to even run under Windows distros [trying that in strictly discouraged].
  • Every source code in this will remain public and under common MIT Licence, but bare in mind that Universities do use plagiarism detectors which check the flow of your code [just change some stuff..].
  • The code published is not secure to use under real-life situations since it has been built for University purposes [my MEng in Computer Engineering at TUC] and therefore is unsuitable to protect or breach a real system [unless you deal with dummies or scripties].
  • For each and every task, extended theory and its comprehension is mandatory if wishing to alter this.
  • If quetions/issues arrise feel free to comment them or mail me..

You must:

  • Have some sort of understanding about:
    • Networking (TCP, UDP, Ethernet headers) and its implementation in C (sockets, structs).
    • Monolithic Operating Systems (for instance Linux).
    • Algorithms and Basic Cryptography.
  • Be capable of implementing "advanced" C concepts [such as system-calls, pointers etc.].
  • Be brave enough.

You can also:

  • Fork and let me help if you wish to.
  • Extend the functionality of those freely under your own branch.
  • Argue about techniques or code provided [in a civilized manner].
  • Attempt to implement tasks in languages other than C [I believe Python is a good rival here].

Hint:

  • Code is extensively (or even excessively) commented therefore attempt to resolve any issues concerning theory by checking comments.