BETA

Αντέγραψες εντολές από ιστοσελίδα; Ας πρόσεχες

Εικόνα Maria

Τερματικό, κονσόλα, bash, γραμμή εντολών, όπως και να συνηθίζει να το αποκαλεί ο καθένας, είναι ένα παντοδύναμο εργαλείο που μέσω αυτού μπορείς να κάνεις τα πάντα στο σύστημά σου κυριολεκτικά. Έχουμε αναφερθεί σε αυτό εκτενώς (φυσικά) και όσο πιο αναλυτικά και επεξηγηματικά γίνεται, βλέποντας αυτό το παντοδύναμο εργαλείο απ' όλες τις πτυχές του: την λειτουργική και χρηστική, την αστεία του, μα και την άκρως επικίνδυνη.

- Δείτε τα εξής, ώστε να σχηματίσετε μια σωστή άποψη:

10 Χρήσιμες Ερωτήσεις και Απαντήσεις σχετικά με τις Εντολές στο Linux [μέρος 1ο και μέρος 2ο]
Τερματικό: Δες τι μπορείς να κάνεις που ίσως δεν γνώριζες!
Οι εντολές που ΠΟΤΕ δεν πρέπει να δώσεις στο σύστημά σου!
Καθημερινοί και ανύποπτοι κίνδυνοι στο desktop σου -Τι και πώς

περισσότερα: #bash και #terminal

Ίσως τα παραπάνω άρθρα αλλά και το παρόν, να βοηθήσουν όσους το φοβούνται και να το δουν με άλλο μάτι.

Όσοι έχετε Linux ή OSX, κάποια στιγμή σίγουρα θα θελήσατε να παίξετε με το τερματικό σας· είτε για να δοκιμάσετε κάτι είτε για να διορθώσετε ένα πρόβλημα είτε ακόμα και για να ενεργοποιήσετε μια λειτουργία. Είναι γεγονός βέβαια πως, πλέον, ό,τι μπορείς να κάνεις με το τερματικό σου, μπορείς να το κάνεις και με τον κλασικό τρόπο (κλικ, κλικ, και πάει λέγοντας). Μπορείς δηλαδή κάλλιστα να αγνοήσεις (επιδεικτικά :D) την γραμμή εντολών αφού, για τους περισσότερους χρήστες, το GUI είναι αρκετό.

Στα θρανία ξανά

Πόσες φορές δεν το έχουμε πει;

- Μάθημα 1ο: Τζιζ, καίει

ΔΕΝ εμπιστευόμαστε την οποιαδήποτε σελίδα. Μπορεί να γράφουν τα χίλια μύρια για οδηγούς που όμως αν επιχειρήσετε να τους εφαρμόσετε, ανάθεμα και αν θα δείτε κάποιο από τα σκρινσότς που δίνουν στα άρθρα τους.

- Μάθημα 2ο: Φοβού τους Δαναούς και δώρα φέροντας

ΔΕΝ αντιγράφουμε εντολές που βρίσκουμε από δω κι από κει. Μόνον αν εμπιστευόμαστε απόλυτα την ιστοσελίδα, τότε, και μόνον τότε επικολλάμε τις εντολές στο τερματικό μας.

- Μάθημα 3ο: Σε ήξερα κι από χθες;

ΔΕΝ δίνουμε την εντολή που μας λέει κάποιος αν πρώτα δεν μας εξηγήσει τι στο καλό κάνει αυτή η εντολή.

Πέραν του ότι αν αντιγράψουμε απλά την εντολή, χωρίς να μας εξηγήσουν τι κάνει η εν λόγω εντολή και για ποιον λόγο χρειάζεται να την δώσουμε, δεν θα μάθουμε ποτέ να την χρησιμοποιούμε στην πράξη, το σημαντικότερο:

- Τον ξέρουμε αυτόν που μας δίνει την εντολή;
- Πόσο καλά γνωρίζει τι μας λέει;
- Εμείς, πόσο καλά τον γνωρίζουμε;
- Τον εμπιστευόμαστε απόλυτα και τυφλά;

- Αν όχι, και είναι απλά ένας άγνωστος που έχουμε συνομιλήσει στο ιντερνέτ, πώς στο καλό κάνουμε ό,τι μας λέει στο κομπιούτερ μας, αφού δεν καταλαβαίνουμε τι είναι αυτό που μας λέει;
- Θα κάναμε το ίδιο αν ερχόταν κάποιος σπίτι μας και μας έλεγε να κάνουμε έστω και κάτι (φαινομενικά) «απλό» και «ακίνδυνο», όπως για παράδειγμα να μετακινήσουμε τους καναπέδες και τις πολυθρόνες (χωρίς να μας εξηγήσει τον λόγο -προς τι αυτή η αλλαγή);

Μην φοβάστε το τερματικό· να φοβάστε τις εντολές που αντιγράφετε από ιστοσελίδες

Και αφού τελειώσαμε την επανάληψη των SOS, ας μπούμε στο κυρίως μάθημα που είναι:

Τι μπορεί να κρύβεται κάποιες φορές πίσω από μία (φαινομενικά) εντολή.

Με μια λέξη;

Πολλές άλλες εντολές, που δεν φαίνονται, οι οποίες θα καταστρέψουν το μηχάνημά μας.

Αυτό το καταφέρνουν με το CSS.

Info: Η CSS (Cascading Style Sheets, ελληνιστί, Διαφορετικά Φύλλα Στυλ) είναι μια γλώσσα υπολογιστή που ανήκει στην κατηγορία των γλωσσών φύλλων στυλ που χρησιμοποιείται για τον έλεγχο της εμφάνισης ενός εγγράφου που έχει γραφτεί με μια γλώσσα σήμανσης. Χρησιμοποιείται για τον έλεγχο της εμφάνισης ενός εγγράφου που γράφτηκε στις γλώσσες HTML και XHTML, δηλαδή για τον έλεγχο της εμφάνισης μιας ιστοσελίδας και γενικότερα ενός ιστοτόπου.

Ένα παράδειγμα CSS κώδικα είναι το ακόλουθο:

<em>body</em>

<em>{</em>

<em>font-family: Arial,helvetica,sans-serif;</em>

<em>color: black;</em>

<em>background-color: white;</em>

<em>}</em>

Ο παραπάνω κώδικας ενημερώνει των περιηγητή διαδικτύου, πως όποιο στοιχείο γράφετε μεταξύ της ετικέτας <body> και </body> θα πρέπει να έχει ως γραμματοσειρά την Arial, χρώμα γραμματοσειράς το μαύρο και χρώμα φόντου το λευκό.

Το Css δηλαδή είναι απλά ένα σύνολο εντολών που γράφουμε για να μορφοποιήσουμε διάφορα «αντικείμενα» μέσα σε μία ιστοσελίδα. Τον κώδικα αυτόν τον βάζουμε είτε μέσα σε αρχεία HTML στο head τους και εκτελείται, μορφοποιώντας έτσι το περιεχόμενο, είτε μέσα σε αρχεία με επέκταση .css και το συμπεριλαμβάνουμε στο html αρχείο ιστοσελίδας.

Με απλά λόγια, κάποιες ιστοσελίδες, μπορούν να χρησιμοποιήσουν την CSS για να κρύψουν εντολές έτσι ώστε η εντολή που θα κάνετε επικόλληση στο τερματικό σας να εμπεριέχει και άλλες (κρυφές) εντολές. Ως εκ τούτου, αυτό που θα κάνετε επικόλληση είναι εντελώς διαφορετικό από αυτό που εσείς βλέπετε.

Γι' αυτό δεν πρέπει ποτέ τυφλά να αντιγράφετε και να επικολλάτε στο τερματικό σας ό,τι εντολή σας δίνουν στο διαδίκτυο.

Όπως γράφει και ο Suresh Alse στο lifepluslinux, δοκιμάστε να επικολλήσετε την ακόλουθη εντολή στο τερματικό σας (μην την πάρετε από εδώ, επειδή εμείς δεν θέλουμε να την πειράξουμε και αυτός είναι και ένας από τους λόγους που δεν έχουμε και ολόλευκο φόντο στην σελίδα. Μας είχε τύχει παλιότερα και είχαμε πάρει κάποιες εντολές από αλλού και είχαμε δει κάτι σαν αυτά που αναφέρονται πιο πάνω):

ls -lat  

και θα δείτε - αντί της, μίας, εντολής - τι πραγματικά επικολλήθηκε στο τερματικό σας. (είναι ασφαλές να την εκτελέσετε / να την δώσετε στο τερματικό σας – η συγκεκριμένη, δεν θα κάνει κάτι που θα βλάψει το σύστημα ή το μηχάνημά σας παρά μόνον θα συνειδητοποιήσετε πόσο κινδυνεύετε κάθε φορά που επικολλάτε στα τυφλά μια εντολή):

Καλά καταλάβατε. Η εντολή εμπεριέχει (όχι ακριβώς κακόβουλο, στο παράδειγμά μας, μα) ψευδή κώδικα μεταξύ ls και -lat που κρύβεται από τον χρήστη.

Αν την επικολλήσετε σε έναν κειμενογράφο, θα δείτε πως θα εμφανιστούν αυτά:

ls ; clear;
echo 'Haha! You gave me access to your computer with sudo!';

echo -ne 'h4cking ## (10%)\r'; sleep 0.3;
echo -ne 'h4cking ### (20%)\r'; sleep 0.3;
echo -ne 'h4cking ##### (33%)\r'; sleep 0.3;
echo -ne 'h4cking ####### (40%)\r'; sleep 0.3;
echo -ne 'h4cking ########## (50%)\r'; sleep 0.3;
echo -ne 'h4cking ############# (66%)\r'; sleep 0.3;
echo -ne 'h4cking ##################### (99%)\r'; sleep 0.3;
echo -ne 'h4cking ####################### (100%)\r';
echo -ne '\n';
echo 'Hacking complete.';
echo

'Use GUI interface using visual basic to track my IP'
ls -lat

 

 

 

Πώς έγινε αυτό;

Το χρώμα του κακόβουλου κώδικα έχει οριστεί να είναι ίδιο με εκείνο του φόντου, και το μέγεθος της γραμματοσειράς έχει οριστεί σε 0, έχει αλλάξει από τον υπόλοιπο κώδικα και γίνεται μη επιλέξιμο (αυτό το μπλε χρώμα δεν τον αποκαλύπτει) για να είναι απολύτως βέβαιον ότι λειτουργεί σε όλα τα πιθανά λειτουργικά συστήματα, σε όλους του browsers (προγράμματα περιήγησης) και σε όλα τα μεγέθη οθόνης.

CSS 0.43 KB

.<span style="color:#0000FF;">malicious</span> <span style="color:#696969;">{</span>
&nbsp; color: #f3f5f6; // set it to that of the page
&nbsp; font-size: 0px; // make it small
&nbsp; // move it out of the way
&nbsp; position: absolute;
&nbsp; left: -100px;
&nbsp; top: -100px;
&nbsp; height: 0px;
&nbsp; z-index: -100;
&nbsp; display: inline-block;
&nbsp; // make it un-selectable
&nbsp; -webkit-touch-callout: none;
&nbsp; -webkit-user-select: none;
&nbsp; -khtml-user-select: none;
&nbsp; -moz-user-select: none;
&nbsp; -ms-user-select: none;
&nbsp; user-select: none; &nbsp;
}

.<span style="color:#B22222;">malicious</span> <span style="color:#696969;">{<br />&nbsp; color: #f3f5f6; // set it to that of the page<br />&nbsp; font-size: 0px; // make it small<br />&nbsp; // move it out of the way<br />&nbsp; position: absolute;<br />&nbsp; left: -100px;<br />&nbsp; top: -100px;<br />&nbsp; height: 0px;<br />&nbsp; z-index: -100;<br />&nbsp; display: inline-block;<br />&nbsp; // make it un-selectable<br />&nbsp; -webkit-touch-callout: none;<br />&nbsp; -webkit-user-select: none;<br />&nbsp; -khtml-user-select: none;<br />&nbsp; -moz-user-select: none;<br />&nbsp; -ms-user-select: none;<br />&nbsp; user-select: none; &nbsp;<br />}</span>
 

Και τα πράγματα μπορεί να είναι ακόμα χειρότερα. Αν το απόσπασμα του κώδικα έχει μια εντολή με sudo, για παράδειγμα, ο κακόβουλος κώδικας θα έχει και sudo πρόσβαση.

Ή, μπορεί εν αγνοία σας να εγκαταστήσετε και ένα κακόβουλο πρόγραμμα keylogger που καταγράφει και στέλνει ό,τι πληκτρολογείτε και ό,τι κλικ κάνετε (στον υπολογιστή σας) στους σέρβερ της αστυνομίας.

Όπως καταλαβαίνετε, οι εν δυνάμει βλάβες που μπορεί να προκαλέσει η αντιγραφή μιας εντολής είναι ατελείωτες.

Πώς μπορώ να προφυλαχθώ από κακόβουλο κώδικα εντολών

Δεν έχετε παρά να επικολλάτε πρώτα σε κειμενογράφο, πριν την δώσετε στο τερματικό σας, την εντολή· έτσι, θα δείτε αν, εκτός από την εντολή, επικολλάτε και άλλες εντολές (οι οποίες, όπως είπαμε, δεν φαίνονται χάρη στην χρήση του CSS).

Καθώς αυτές είναι οι διεργασίες, που θα έδειχνε η πραγματική εντολή

ls -lat

Τέλος μαθήματος για σήμερα, ελπίζοντας πως το εμπεδώσατε καλά και θα προσέχετε πολύ πλέον τις πηγές σας και δη όταν πάτε να επικολλήσετε κώδικα από την κάθε ιστοσελίδα.

Κρατάμε λοιπόν πως δεν υπάρχει καμία «συνταγή» εδώ, μα μπορεί να ακολουθηθεί κάποια στοιχειώδης λογική:

1. Υπάρχει χρόνια η συγκεκριμένη σελίδα που ενημερωνόσαστε και αντιγράφετε εντολές;
2. Ασχολείται μόνο με το Linux ή έχει τουρλού-τουρλού θεματολογία;

  • Σχόλια

22 Comments:

  1. Εικόνα ok
    ok (χωρίς επαλήθευση)Φεβ 04, 2017 16:11 ΜΜ

    πολυ χρησιμη ενημερωση, thank you

  2. Εικόνα Maria
    MariaΦεβ 04, 2017 19:40 ΜΜ

    ok,
    Η ευχαρίστηση όλη δική μας. :D

  3. Εικόνα μιχάλης
    μιχάλης (χωρίς επαλήθευση)Φεβ 04, 2017 19:51 ΜΜ

    Συγχαρητήρια για το άρθρο Μαρία!!! ήταν κάτι που έπρεπε να ειπωθεί κάποια στιγμή προς όλους αυτούς που μαθαίνουν να χρησιμοποιούν τις εντολές στο τερματικό και κυρίως όταν αντιγράφουν έτοιμες από διάφορους ιστότοπους

  4. Εικόνα Maria
    MariaΦεβ 05, 2017 19:02 ΜΜ

    Να 'σαι καλά Μιχάλη, σ' ευχαριστώ.

  5. Εικόνα Mpamphs
    Mpamphs (χωρίς επαλήθευση)Φεβ 05, 2017 18:29 ΜΜ

    παντως σε εμενα με copy paste βγαζει μονο οτι βλεπω δηλαδη ls -lat

  6. Εικόνα Maria
    MariaΦεβ 05, 2017 18:59 ΜΜ

    Μπάμπη (Mpamphs), πάρτο copy paste από το λινκ που δίνουμε: https://lifepluslinux.blogspot.gr/2017/01/look-before-you-paste-from-web....
    Το λέμε κιόλας στο άρθρο:

    (μην την πάρετε από εδώ, επειδή εμείς δεν θέλουμε να την πειράξουμε και αυτός είναι και ένας από τους λόγους που δεν έχουμε και ολόλευκο φόντο στην σελίδα. Μας είχε τύχει παλιότερα και είχαμε πάρει κάποιες εντολές από αλλού και είχαμε δει κάτι σαν αυτά που αναφέρονται πιο πάνω):

    Και πες μας μετά τι σου βγάζει. Δεν σου βγάζει αυτό που λέμε στο άρθρο και φαίνονται στην 1η εικόνα του άρθρου (screenshot);

  7. Εικόνα Mpamphs
    Mpamphs (χωρίς επαλήθευση)Φεβ 06, 2017 19:39 ΜΜ

    και απο το λινκ μου βγαζει κανονικα ολη την εντολη...δεν μου δειχνει μονο ls -lat στο τερματικο...
    χρησιμοποιω zsh σε gentoo

  8. Εικόνα Maria
    MariaΦεβ 06, 2017 20:30 ΜΜ

    Μπάμπη, επειδή έχω μπερδευτεί - αυτό το «και» που λες στην αρχή με μπέρδεψε γιατί (σε συνδυασμό με το προηγούμενο σχόλιό σου) είναι σαν να λες πως και τώρα που την πήρες την εντολή (ls -lat) από το λινκ που δίνουμε, σου εμφανίζει στο τερματικό μόνον την εντολή ls -lat.
    Από την άλλη λες πως «μου βγαζει κανονικα ολη την εντολη». Τι εννοείς με το «όλη την εντολή»;
    Η εντολή είναι μόνον αυτή (και ΜΟΝΟΝ αυτό θα έπρεπε να εμφανίζεται στο τερματικό σου):

    ls -lat

    Τελικά, επικολλώντας την εντολή ls -lat, σου εμφανίζονται στο τερματικό μόνον η εντολή, ή και όλα τα υπόλοιπα που λέμε;
    Τα υπόλοιπα που εμφανίζονται στο τερματικό σου (όταν επικολλάς την εντολή) είναι αυτά που ξεκινούν με:

    ls ; clear;
    echo 'Haha! You gave me access to your computer with sudo!';

  9. Εικόνα Soulrain
    SoulrainΦεβ 06, 2017 21:20 ΜΜ

    Εγώ θα σας τα πω όλα παιδιά. Αν έχεις bash, με αντιγραφή-επικόλληση η εντολή πρώτα τρέχει κανονικά, χωρίς καν να πατήσεις Enter κι έπειτα εμφανίζεται (σε δεύτερο prompt) το ls -lat. Με zsh όμως, όχι απλά δεν τρέχει μόνη της αλλά επικολλάται ολόκληρη, με ορατό το ύπουλο περιεχόμενο. Που σημαίνει ότι θα πρέπει να προσέχετε δύο φορές περισσότερο εσείς που έχετε το bash ως shell.

  10. Εικόνα Mpamphs
    Mpamphs (χωρίς επαλήθευση)Φεβ 06, 2017 23:30 ΜΜ

    δεν το εξέφρασα σωστά εξ αρχής...εννοώ αυτό που λέει ο soulrain...με άλλα λόγια δεν υπάρχει κίνδυνος για μένα...κατα το copy paste κάνω ανάγνωση ΟΛΟ το περιεχόμενο της εντολής και όχι μόνο το ls -lat και βέβαια πρέπει να πατήσω enter για να την εκτελέσω..δεν εκτελείτε αυτόματα

  11. Εικόνα Ανώνυμος
    Ανώνυμος (χωρίς επαλήθευση)Φεβ 09, 2017 01:07 ΠΜ

    Το zsh δεν είναι επίσης απόλυτα ασφαλές. Τσέκαρε το δεύτερο λινκ από τη σελίδα thejh.net/misc/website-terminal-copy-paste.

  12. Εικόνα Mpamphs
    Mpamphs (χωρίς επαλήθευση)Φεβ 11, 2017 01:00 ΠΜ

    το τσεκαρα...κανένα πρόβλημα!!!

  13. Εικόνα matthew
    matthewΦεβ 11, 2017 16:34 ΜΜ

    Χμμ, μάλιστα. Ευχαριστούμε για την ενημέρωση, να ξέρουμε να προσέχουμε! Δεν ήξερα ότι γίνεται να κρύψουν κι άλλα πράγματα μέσα σε μια εντολή. Ευτυχώς δεν έτυχε να την πατήσω μέχρι τώρα για να το μάθω με τον άσχημο τρόπο.

  14. Εικόνα Archangel
    Archangel (χωρίς επαλήθευση)Mar 04, 2017 19:44 ΜΜ

    Kala milame gia megalo komplex oi linuxades etsi.?

  15. Εικόνα Maria
    MariaMar 04, 2017 20:45 ΜΜ

    @Archangel,

    Τελικά, παρατηρημένο, αυτοί που δεν έχουν καν την λογική να κάνουν ένα κλικ για να αλλάξουν το πληκτρολόγιο σε γλώσσα υπαρκτή, δεν έχουν ούτε την λογική να σκέφτονται και να εκφέρουν επιχειρήματα. (Επιχειρήματα, άγνωστη λεξούλα για σένα, ε;)

  16. Εικόνα DarkGoth
    DarkGothMar 04, 2017 22:46 ΜΜ

    διαβασες ενα αρθρο που δεν σε αρεσε;... ας προσεχες!... εφαγες 10 λεπτα απο τη ζωη σου, που ποτε δεν θα τα παρεις πισω
    απαντησες με σχολιο σε γκρικλις, giati skylovariosane na allakseis glossa?... as prosexes!... molis efages alla 2-3 lepta
    θα φας αλλα 2-3 λεπτα, (που επισης δεν προκειται να τα παρεις ποτε πισω), για να διαβασεις αυτο το σχολιο;... ουπς!...

    εμεις τι φταιμε σε αυτη την περιπτωση, αν εσυ σκυλοβαριεσαι τη ζωη σου μεχρι θανατου;... φακ λοτζικ!... (αγγλινικα)

  17. Εικόνα μιχάλης
    μιχάλης (χωρίς επαλήθευση)Mar 05, 2017 00:39 ΠΜ

    Εσύ έχεις το κόμπλεξ απ'ότι βλέπω μπουμπουνοκέφαλε.Τι να κάνουμε, δεν είμαστε όλοι ασήμαντοι σαν εσένα.Πήγαινε στα Windows σου,μπες στο xvideos με τα αντιβάηρους και τους ιούς σου,κάνε και κανένα φορμάτ και άσε μας ήσυχους.

  18. Εικόνα Archangel
    Archangel (χωρίς επαλήθευση)Mar 05, 2017 00:37 ΠΜ

    @maria

    oxi bre den skilobariome apla den exo egkatastisi ellinika akoma. Oson afora ta epixirimata to exo paratisi auto to athlima, ti epixirima na fereis se kapion pou goustari na grafi 100 fores tin imera to password tou, gia na einai safe to computeraki tou na min tou to klepsi i CIA, ase akoma gelao.

  19. Εικόνα Maria
    MariaMar 05, 2017 00:59 ΠΜ

    oxi bre den skilobariome apla den exo egkatastisi ellinika akoma.

    @Archangel,

    Πάλι μια Λινουξού θα σε βοηθήσει, τσάκω (και όχι μόνον) έναν εφαρμογέα για μετατροπή: http://osarena.net/peri-ton-greeklish-kai-enas-metatropeas-toys-se-ellinika
    Είναι που με συγκίνησες γιατί βλέπω ότι έκανες το πρώτο μάθημα που είναι η αντιγραφή (εν προκειμένω της λεξούλας «επιχειρήματα»).
    Μόλις προχωρήσεις και στο δεύτερο μάθημα, την ανάπτυξη (επιχειρημάτων), θα σου 'χω κι άλλο δωράκι.

  20. Εικόνα DarkGoth
    DarkGothMar 05, 2017 01:53 ΠΜ

    πες τον να γραψει μια εκθεση ιδεων, για την αναπτυξη επιχειρηματων, την δομη της λογικης σκεψης, και την κατανοηση το ποτε ενα επιχειρημα αποτελει λογικοφανες αλμα (του τυπου, "ο μπατσος ειναι οργανο, το μπουζουκι ειναι οργανο, αρα το μπουζουκι ειναι μπατσος") :D :P... δεν νομιζω βεβαια οτι θα τα παει και πολυ καλα, αλλα καθε αρχη ειναι δυσκολη (στην περιπτωση του, μαλλον θα πρεπει να γινουν πολλες αρχες) :D :P

  21. Εικόνα μιχάλης
    μιχάλης (χωρίς επαλήθευση)Mar 05, 2017 01:03 ΠΜ

    Συνεχίζεις να πετάς κοτσάνες και να δείχνεις πόσο ανίδεος και καθυστερημένος είσαι.

  22. Εικόνα DarkGoth
    DarkGothMar 05, 2017 01:46 ΠΜ

    για ιδιωτικοτητα κανεις?... μπα!... εσυ με την ιδιωτικοτητα ειστε τσακωμενοι

    ενδεχομενα exploits απο κακοβουλες ενεργειες?... τι ειναι αυτο?... τρωγεται?

    Υ.Γ:... γιου αρ νοτ φαϊτινγκ χερ!... φακ λοτζικ!... (και αλλα αγγλινικα)

Scroll to Top