Από τον Νοέμβριο του 2019 έχουμε λάβει αναφορές για ιστοσελίδες OpenCart με πρόβλημα ασφαλείας και προβλήματα με υποκλοπές δεδομένων, συνήθως ευαίσθητων δεδομένων.
Πρόσφατα μέσα στον Απρίλιο του 2020 και μέσα στο lockdown, μας δόθηκε η ευκαιρία να κάνουμε έναν έλεγχο σε ένα από τα site αυτά και να βοηθήσουμε ως ομάδα του OpenCart να διορθωθεί το πρόβλημα.
Πελάτης μας με extension πληρωμών ελληνικής τράπεζας, μας κάλεσε και μας είπε ότι μέσα στην ιστοσελίδα του, κατά την επιλογή πιστωτικής / χρεωστικής κάρτας, εμφανίζεται πλέον μια φόρμα που δέχεται πληρωμές μέσα από την ιστοσελίδα.
Η απάντηση μας ήταν άμεση. “Το extension πληρωμών που έχετε από εμάς δεν υποστηρίζει κάτι τέτοιο. Μόνο πληρωμή με redirection προς την τράπεζα.”
Αμέσως λάβαμε πρόσβαση στην ιστοσελίδα του πελάτη από τον πάροχο φιλοξενίας και ξεκινήσαμε να βρούμε το πρόβλημα.
Πρώτοι έλεγχοι:
- αντικατάσταση των αρχείων του extension πληρωμών. Δεν άλλαξε κάτι, ακόμα υπήρχε εκεί η φόρμα που φαίνεται παρακάτω στην εικόνα.

- αντικατάσταση των αρχείων του custom checkout που είχε εγκαταστήσει ο πελάτης. Το οποίο ήταν το: https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=20736 – Αυτή η κίνηση εξαφάνισε την φόρμα που φαινόταν στο checkout.
Εκεί αρχίσαμε να ψάχνουμε να βρούμε πως και άλλαξαν τα αρχεία της φόρμας checkout .
Τα αρχεία είχαν αλλαχτεί λίγες ώρες πριν και ευτυχώς η σελίδα δεν είχε αρκετούς επισκέπτες μιας και ήταν καινούρια, οπότε δεν υπήρξε κάποια παραγγελία ούτε κάποιος πελάτης έβαλε τα στοιχεία του.
Όμως έπρεπε το πρόβλημα να βρεθεί. Το OpenCart ήταν έκδοσης 2.3.0.2 που ξέραμε ότι είναι παλιό (2017) οπότε πιστεύαμε ότι ήταν κάτι μέσα σε αυτό.
Ζητήσαμε λοιπόν πλήρη πρόσβαση στην φιλοξενία της ιστοσελίδας για να τρέξουμε malware scan όπου και ανακαλύψαμε τα παρακάτω:

Όπως βλέπετε παραπάνω κάποιος κατάφερε να ανεβάσει ένα script shell στον server μέσα στην ιστοσελίδα και να κάνει infect διάφορα αρχεία της εγκατάστασης έτσι ώστε να μπορέσει να λάβει πρόσβαση στα αρχεία checkout και να τα αλλάξει με τα αρχεία που ήθελε για να εμφανίσει το custom payment για πληρωμές.
Αφού καθαρίσαμε τα παραπάνω malware, έπρεπε να βρούμε ποιο αρχείο έκανε την ζημιά στην αρχή. Και το μόνο που έμενε ήταν τα modifications του OpenCart, τα γνωστά και ως ocmod. Εκεί δυστυχώς βρήκαμε το παρακάτω hack / shell script:
(ο παραπάνω σύνδεσμος έχει δημοσιευτεί για λόγους εκπαίδευσης και ενημέρωσης και δε θα πρέπει να χρησιμοποιηθεί για κακόβουλες χρήσεις)
Εάν δεν γνωρίζετε, τα ocmod μπορούν φορτώσουν με 2 τρόπους:
- είτε ως αρχείο με επέκταση *.ocmod.xml μέσα στον φάκελο system
- είτε έχουν εγκατασταθεί μέσα από το διαχειριστικό και προστεθεί μέσα στην βάση της εγκατάστασης στον πίνακα: oc_modifications
Όσα αρχεία είναι μέσα στο φάκελο system και ειναι modifications, φορτώνουν αυτόματα στην εγκατάσταση και δεν φαίνονται στη λίστα των εγκατεστημένων extension ocmod. Κάπως έτσι λειτουργεί και το Journal2 και Journal3 templates για να κάνει τις αλλαγές που χρειάζονται στα αρχεία του συστήματος.
Μόλις διαγράψαμε λοιπόν και το παραπάνω αρχείο από τη βάση, κάναμε έναν γενικό έλεγχο και ενεργοποιήσαμε τα:
- mod_security στον apache
- ανανεώσαμε την PHP στην έκδοση PHP 7.3.x (έτρεχε σε 7.1.x)
- αναβαθμίσαμε όλα τα υπάρχοντα extensions και themes στις τελευταίες εκδόσεις τους
- και προτείναμε στον πελάτη να αναβαθμίσει το opencart του από 2.3.x σε 3.0.3.x που είναι η τελευταία έκδοση.
Κάπως έτσι διορθώθηκε το πρόβλημα με το χακαρισμένο checkout.
Ψάχνοντας στο ιντερνετ, βρήκαμε διάφορα άρθρα από το 2016 έως και σήμερα που αναλύουν διάφορες (πολύ) παρόμοιες περιπτώσεις σε όλο το κόσμο.
Παραθέτουμε τα links παρακάτω και να θυμάστε, η ασφάλεια της ιστοσελίδας εξαρτάται πάντα από εσάς. Ποτέ μην αφήνετε το λογισμικό σας outdated, πάντα να αναβαθμίζετε στις τελευταίες εκδόσεις, ειδικά εάν υπάρχουν αναβαθμίσεις ασφαλείας.
Links από web:
https://forum.opencart.com/viewtopic.php?t=162677
https://www.antropy.co.uk/blog/opencart-checkout-hack-authorize-net/
https://cyware.com/news/magecart-goes-after-opencart-websites-to-steal-payment-information-1670dc02
https://www.bleepingcomputer.com/news/security/magecart-group-12-targets-opencart-websites/
https://www.getastra.com/blog/911/how-to-remove-fix-magento-opencart-credit-card-malware-hack/
