Uniwa 2020 ask Security
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
8.2 KiB

3 years ago
# 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 για την αντιμετώπιση των επιθέσεων.
3 years ago
2.Υλοποίηση συστήματος για την προσομοίωση “SSH Brute Force Attacks”(Patator, THC Hydra, Medusa, Metasploit)Patator, THC Hydra, Medusa, Metasploit).
-Χρησιμοποιήστε εργαλεία της προτίμησής σας για την εύρεση, ανάλυση και παρουσίαση της συγκεκριμένης επίθεσης.
-Χρησιμοποιήστε το εργαλείο Fail2Ban για την αντιμετώπιση της επίθεσης.
-Τροποποιήστε το ssh-server έτσι ώστε να επιτρέπει μόνο συνδέσεις μέσω key.
3 years ago
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 μας :
3 years ago
```
mkdir vpn
mkdir <mydirname>
cd <mydirname>
swarmlab-sec up size=5
```
Μετά από μια μικρή αναμονή έχουν "ανέβει" οι υπολογιστές μας και αφού εκτελέσουμε :
3 years ago
```
swarmlab-sec login
```
είμαστε πλέον στον master μας και συγκεκριμένα στο φάκελο project, μα έδώ κάνουμε μία παυση
3 years ago
### Pulling
3 years ago
Ηρθε η ώρα να κατεβάσουμε απο το repo τα αρχεία που θα χρειαστούμε:
3 years ago
-Το αρχείο *passwd_list* το αντιγράφουμε χύμα στον φάκελο που ονομάσαμε για το project μας
-Aπο τον φάκελο *backup_files>vpn+backup* αντιγράφουμε όλα τα αρχεία και τα βάζουμε στον τοπικό φακέλο μας με όνομα *vpn* που δημιουργήσαμε πριν λιγο.
-Απο τον φάκελο project αντιγράφουμε όλα τα αρχεία εκτός από τα **'sec-vpn-*.ovpn'** στον τοπικό φάκελο *project*
3 years ago
### Return to terminal
3 years ago
Αφού επιστρέψαμε τρέχουμε στον master την εντολή :
3 years ago
```
ifconfig
3 years ago
```
και βλέπουμε την ip που έχουμε μετα την τοποθετουμε όπως φαινεται στο ακλολουθο παράδειγμα με αστερισκο στο τελευταιο ψηφίο
3 years ago
```
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.
3 years ago
## Ξεκινώντας επί της ουσίας
3 years ago
Είμαστε στον 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*
3 years ago
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