# Task of Security of Networks and Comunication Uniwa 2020 Athens Άσκηση Εξαμήνου ## Ζητούμενα 1.Υλοποίηση συστήματος για την προσομοίωσηDos/DDos Attack. -Χρησιμοποιήστε το hping3(https://tools.kali.org/information-gathering/hping3, https://www.howtoinstall.me/ubuntu/18-04/hping3/ ) εργαλείο για την πραγματοποίηση Dos και DDos Attack σε μέλη του σμήνους. -Χρησιμοποιήστε τα tcpdump, netstat εργαλεία για την εύρεση, ανάλυση και παρουσίαση των συγκεκριμένων επιθέσεων. -Δημιουργήστε iptables rules για την αντιμετώπιση των επιθέσεων. 2.Υλοποίηση συστήματος για την προσομοίωση “SSH Brute Force Attacks”(Patator, THC Hydra, Medusa, Metasploit)Patator, THC Hydra, Medusa, Metasploit). -Χρησιμοποιήστε εργαλεία της προτίμησής σας για την εύρεση, ανάλυση και παρουσίαση της συγκεκριμένης επίθεσης. -Χρησιμοποιήστε το εργαλείο Fail2Ban για την αντιμετώπιση της επίθεσης. -Τροποποιήστε το ssh-server έτσι ώστε να επιτρέπει μόνο συνδέσεις μέσω key. 3.Δημιουργήστε Local/Remote SSH Forwarding για την παροχή υπηρεσιών στο σμήνος που έχετε στη διάθεσή σας. 4.Δημιουργήστε VPN (http://docs.swarmlab.io/SwarmLab-HowTos/labs/sec/ex-5_iptables.adoc.html)για την παροχή υπηρεσιών στο σμήνος που έχετε στη διάθεσή σας. ### Ξεκινώντας Για να μπορέσετε να τρέξετε το πρόγραμμα θα πρέπει να έχετε εγκατστημένο και λειτουργικό το docker οδηγίες για την εγκατάσταση του οποίου καθλως και μια συνοπτική περιγραφή δίνει ο καθγήτης μας στον ακόλουθο σύνδεσμο [docker](http://docs.swarmlab.io/SwarmLab-HowTos/labs/Howtos/docker/install.adoc.html). Εν συνεχεία θα χρειαστέι να ακολουθήστε τις οδηγίες που μας δίνει πάλι ο καθηγητής μας στον ακόλουθο σύνδεσμο [swarmlab-sec](http://docs.swarmlab.io/SwarmLab-HowTos/labs/sec/sec.adoc.html) , για την εγκατάσταση και χρήση ενός σμήνους υπολογιστών πάνω στους οποίους θα εκτελεστεί το παρόν project. Στο τέλος θα έχουμε καταλήξει με εναν φάκελο με το όνομα swarmlab-sec εντός του οποίου στο terminal θα πάμε να δημιουργήσουμε το δικό μας project μας : ``` mkdir vpn mkdir cd swarmlab-sec up size=5 ``` Μετά από μια μικρή αναμονή έχουν "ανέβει" οι υπολογιστές μας και αφού εκτελέσουμε : ``` swarmlab-sec login ``` είμαστε πλέον στον master μας και συγκεκριμένα στο φάκελο project, μα έδώ κάνουμε μία παυση ### Pulling Ηρθε η ώρα να κατεβάσουμε απο το repo τα αρχεία που θα χρειαστούμε: -Το αρχείο *passwd_list* το αντιγράφουμε χύμα στον φάκελο που ονομάσαμε για το project μας -Aπο τον φάκελο *backup_files>vpn+backup* αντιγράφουμε όλα τα αρχεία και τα βάζουμε στον τοπικό φακέλο μας με όνομα *vpn* που δημιουργήσαμε πριν λιγο. -Απο τον φάκελο project αντιγράφουμε όλα τα αρχεία εκτός από τα **'sec-vpn-*.ovpn'** στον τοπικό φάκελο *project* ### Return to terminal Αφού επιστρέψαμε τρέχουμε στον master την εντολή : ``` ifconfig ``` και βλέπουμε την ip που έχουμε μετα την τοποθετουμε όπως φαινεται στο ακλολουθο παράδειγμα με αστερισκο στο τελευταιο ψηφίο ``` nmap -sP 172.21.0.* | grep Nmap | cut -d' ' -f5-6 ``` -Το αποτέλεσμα που θα πάρουμε το τοποθετούμε **αφού αφαιρέσουμε την πρώτη σειρα** στο αρχείο *inventory.yml* στη θέση των άλλων ip ενώ **αφού αφιρέσουμε και την δεύερη σειρα** τις τοποθετούμε και στο αρχείο *inventory_w.yml* -Ομοίως αλλαζουμε την ip στο *test3.yml* με αυτή που θα έχει ο αμυνόμενος worker της επίθεσης dos-ddos . -Τέλος στη medusa_script.sh βάζουμε την τελευταία ip που πηραμε καθώς ο τελευταίος worker θα παιξει τον ρόλο του server στο ερώτημα 2. ## Ξεκινώντας επί της ουσίας Είμαστε στον master και τρεχουμε με τη σειρα τις δυο εξης εντολες-scrit: ``` ./first_script.sh ./second_script.sh ``` To πρώτο script κανει στον master **apt update εγκαθστα ansible και sshpass** ενώ προσθετει και μια γραμμη για να μην ζητάει κωδικό το sshpass και τέλος τρέχει με **ansible to test.yml** για ολους του υπολογιστές οπου φτιαχνει εναν *φακελο για αποθήκευση δεδομένων* εγκαθιστά το *openvpn* που θα χρειαστεί στο ερώτημα 4 μεταφέρει τα *iptables_rules.sh* και *fail2ban_script.sh* στον τοπικό χώρο των υπολογιστών και εκτελει και την εντολή *ls -al* για τεσταρισμα. Το δευτερο script τρέχει με **ansible to test2.yml** για ολους τους workers οπου μεταφέρει και εκτελεί τοπικά το script_update.sh μεταφέρει τοπικά το medusa_script.sh και εγκαθιστά το hping3 και το sshpass. ## 1-a medusa_script.sh uptade install medusa passwd_file ip ##### >worker on ip 3 *dos attacker-attacks master* runs: ``` sudo hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source 172.21.0.2 ``` ##### >master *defender* runs: ``` sudo tcpdump -i eth0 ``` ##### >worker on ip 4 *προσπαθει μεσω του μαστερ να ζητησει το google.gr* runs: ``` curl http://www.google.gr ``` μα δεν τα καταφερνει καθως ο master δεν δυναται πλέον να δώσει υπηρεσία ... H επίθεση ήταν επιτυχλης και το εντοπίσαμε οπότε τη σταμταμε από τον worker on ip 3* Explain what these tests test and why ``` Give an example ``` ## Deployment Add additional notes about how to deploy this on a live system ## Built With * [Dropwizard](http://www.dropwizard.io/1.0.2/docs/) - The web framework used * [Maven](https://maven.apache.org/) - Dependency Management * [ROME](https://rometools.github.io/rome/) - Used to generate RSS Feeds ## Contributing Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us. ## Versioning We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags). ## Authors * **Billie Thompson** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) See also the list of [contributors](https://github.com/your/project/contributors) who participated in this project. ## License This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details ## Acknowledgments * Hat tip to anyone whose code was used * Inspiration * etc