ΠΑΝΟΠΤΗΣ 2018 Λύση επεισοδίου 8 Εξαγωγή δεδομένων Data Exfiltration Α. ΣΕΝΑΡΙΟ Αυτήν την περίοδο η εταιρεία StealthUAVs.com αναπτύσσει ένα νέο μοντέλλο UAV υπό συνθήκες απόλυτης μυστικότητας και γι αυτό, όλες οι επικοινωνίες (και κυρίως τα email) παρακολουθούνται. Ο αναλυτής ασφάλειας της εταιρείας διαπίστωσε πως κάποια στιγμή (προ ολίγων ημερών) τροποποιήθηκε το περιεχόμενο μερικών αρχείων του ιστοχώρου χωρίς φαινομενική αλλαγή των ιστοσελίδων. Υποπτεύεται ότι ο διαχειριστής του web server θέλει να εξάγει πληροφορίες προς εξωτερικούς συνεργάτες του ανταγωνιστικής εταιρείας. Ο διαχειριστής φαίνεται να επικοινωνεί με άτομα εκτός εταιρείας αλλά ο έλεγχος των μηνυμάτων ηλ. αλληλλογραφίας και των συνημμένων δεν απέδωσε στοιχεία. Ως εκ τούτου ο αναλυτής ασφάλειας υποπτεύεται πως ο διαχειριστής τροποποιεί και κρύβει απόρρητες πληροφορίες της εταιρείας σε αρχεία του web server (μαζί με κατάλληλλες οδηγίες), προς πιθανό εξωτερικό συνεργάτη του. Σας δίνονται τα συστατικά του ιστοχώρου για να τα αναλύσετε και να βρήτε τυχόν κρυμμένα στοιχεία ώστε να στοιχειοθετηθεί κατηγορία εναντίον του εάν είναι ένοχος. Απαραίτητες Γνώσεις: Κρυπτογραφία, στεγανογραφία, γνώσεις προγραμματισμού, αρχεία Δεδομένα: Αρχεία ιστοχώρου Ζητούμενα: Εντοπισμός απόρρητων πληροφοριών της εταιρείας σε αρχεία του ιστοχώρου. 1
Β. ΕΥΡΕΣΗ ΣΤΟΙΧΕΙΩΝ [1] Στην μουσική intro.wav βρίσκω το κείμενο hide1.txt (hex editor): hex addr 00000e50 Αντιστρέφουμε το κείμενο και παίρνουμε το μήνυμα: (1) url1(key1), replace 20h w 2Bh, decode base64 (2) decrypt aes-256-cbc piece2.enc.txt (key2), decode base64 (3) model7.jpg ==> steghide (key3), decrypt idea piece3.txt.asc (key4), decode base64 [2] Ανοίγουμε την εικόνα uav92.ppm (in images) με hex editor (στην hex addr 000243c0): Από την εικ. uav9.ppm βρίσκω το κείμενο hide2.txt : sloc,swor neve esrever,elif teg,)6yek( 2lru 13vau daolpu )6( gpj.5eceip )5yek( 2lru 17vau daolpu )5( 46esab edoced > esrever > txt.sepyt_tnetnoc > xslx )4( 2
Αντιστρέφουμε το κείμενο και παίρνουμε το μήνυμα: (4) xlsx > Content_Types.txt > reverse > decode base64 (5) upload uav71 url2 (key5) piece5.jpg (6) upload uav31 url2 (key6), get file, reverse even rows, cols ΣΥΝΟΛΙΚΟ ΜΗΝΥΜΑ: (1) url1(key1), replace 20h w 2Bh, decode base64 (2) decrypt aes-256-cbc piece2.enc.txt (key2), decode base64 (3) model7.jpg ==> steghide (key3), decrypt idea piece3.txt.asc (key4), decode base64 (4) xlsx > Content_Types.txt > reverse > decode base64 (5) upload uav71 url2 (key5) piece5.jpg (6) upload uav31 url2 (key6), get file, reverse even rows, cols Χρειαζόμαστε key1- key6 και url1- url3 Τα url είναι κρυμμένα μέσα στον κώδικα Javascript της page4.html Στην page4.html υπάρχει ο κώδικας (ίδιο χρώμα με το φόντο): 3
<font color="#00ffff"> </script> document.write(string.fromcharcode(117,114,108,49,61,104,116,116,112,58,47,47,119,119, 119,46,104,101,121,112,97,115,116,101,105,116,46,99,111,109,47,99,108,105,112 )) document.write(string.fromcharcode(117,114,108,50,61,109,111,98,105,108,101,102,105,1 15,104,46,99,111,109)) document.write(string.fromcharcode(117,114,108,51,61,115,116,101,103,104,105,100,101, 61,104,116,116,112,115,58,47,47,119,119,119,46,99,121,98,114,97,114,121,46,105,116,47, 48,112,51,110,47,115,116,101,103,97,110,111,103,114,97,112,104,121,45,104,105,100,101, 45,100,97,116,97,45,109,101,100,105,97,45,102,105,108,101,115,45,109,114,45,114,111,98,111,116,45,104,97,99,107 )) </font> </script> Αλλάζω το αρχικό </script> σε <script> και ΤΥΠΩΝΕΙ ΤΟ ΚΕΙΜΕΝΟ: url1=http://www.heypasteit.com/clipurl2=mobilefish.comurl3=steghide=https://www.cybrary.it/0 p3n/steganography-hide-data-media-files-mr-robot-hack ΔΗΛ: url1=http://www.heypasteit.com/clip url2=mobilefish.com url3=steghide=https://www.cybrary.it/0p3n/steganography-hide-data-media-files-mr-robothack Στο mobilefish.com υπάρχει η online υπηρεσία: https://www.mobilefish.com/services/steganography/steganography.php /======================/ Στο Parts_Summary.xlsx, Last sheet, behind image uav92.ppm υπάρχει άλλη μια υπόδειξη: Open gazi.mp3 (hidden pass 8,9 in bugazi-mp3 ) Find passwords: 9)(4qL^17!3, 8kWs!4!h^34 Upload uav81.png to url2 D0ub13 $+39@ \ 09 2@p - y ==> Double steganography (είναι σε γραφή 133+ ) 4
[3] Στην μουσική bugazi-mp3 (in music) βρίσκω το hide3.txt using a hex editor: In hex addr 005ffd8 Upload uav81.png to url2= https://www.mobilefish.com/services/steganography/steganography.php key9: 9)(4qL^17!3 We get: dl wd17884.png Double steganography. So, upload again (key8 = 8kWs!4!h^34) We get the following text : Upload wd17884.png to url2 [ 8kWs!4!h^34 ] ===> get keys.txt = key1:0ijjcg key2:9837487110 key3:3j8^47#vxza key4:wp3jy8asv7 key5:5z!q^42jg% key6:6js45!h^34% key7:7@q^(a43)! 5
Γ. ΑΝΑΚΤΗΣΗ ΤΕΜΑΧΙΩΝ ΚΑΙ ΛΥΣΗ piece1: http://www.heypasteit.com/clip/0ijjcg, replace 20h w 2Bh, decode base64 piece2: in page1.html > decrypt aes-256-cbc piece2.enc.txt (9837487110), decode base64 piece3: model7.jpg > steghide (key3) > decrypt idea piece3.txt.asc (wp3jy8asv7), decode base64 piece4: xlsx > Content_Types.txt > reverse > decode base64 piece5 : upload uav71.png > mobilefish.com (5z!q^42jg%) > piece5.jpg piece6 : upload uav31 (uav31new.png) mobilefish.com http://devfarm.it/steganography (6js45! h^34%) > piece16.jpg > reverse even rows, cols Συνενώνοντας τα ανακτηθέντα τεμάχια παίρνουμε την παρακάτω εικόνα που είναι η λύση: Το επεισόδιο αναπτύχθηκε σε πλατφόρμα Λίνουξ με εργαλεία ανοικτού λογισμικού. Ευχαριστούμε όσους ασχολήθηκαν. Μπορείτε να στείλετε παρατηρήσεις και σχόλια στο aandreatos@gmail.com. Α. Ανδρεάτος Τομέας Πληροφορικής Σχολής Ικάρων 6