Tijdens Meet Magento 2016 in Utrecht presenteerde MageReport developer Tim Muller de bevindingen van een zelf opgezette honeypot voor Magento hackers. De resultaten zijn opmerkelijk, zorgwekkend en vermakelijk tegelijk.
1. Hackers traced, a case study
17× gehackt in 8 weken, we pakken ze terug!
ing. Tim Muller, developer @ Byte / MageReport.com
2. Hoe het begon
Onze eigen shop werd - tot onze
schande - gehackt via Shoplift
3. Tijd voor een experiment!
Hoe komen hackers binnen?
Wat doen ze met de shop?
Wat houden we aan het eind over?
4. Methode
Nauw volgen wat de hackers
uitvoeren & wat voor impact dit
heeft op de shop.
Precies het tegenovergestelde doen!
We bouwen een "unmanaged VPS" met
standaard 1.9.0 installatie.
5. Stap 1: Strippen van Hypernode
Filters op de bekende aanvalspatronen
Heuristische lters op nieuwe aanvallen
Rate limits op bots en onbekende logins
Directory listing aan voor bijv. /var/cache en .git bestanden
7. Stap 3: Toevoegen forensische maatregelen
Legitiem verkeer blokkeren (zoekmachines)
Uitschakelen SSL
TCPDUMP
IJk-kopie van database en les
Root-protected Git repository
Redirect uitgaande mail
Logrotatie uit
Periodieke vergelijking van veranderingen ( les & database)
ufw deny from 62.4.6.50/24
tcpdump -pni eth0 -s65535 -G 86400 -w 'trace_%u.pcap' port not 22
8. Stap 4: Analyseren van gedrag
Regelmatig kopiëren van bewijs
De accesslogs strippen van ruis
Scripts voor herproduceerbaar resultaat
14. "It's a old-rod"
README.md op Github:
"*oldrod is the shing rod tool from Pokemon. In
the Gen I Pokemon games, all it could catch was
Lvl.5 Magikarp *Although, at the time of writing,
there are 65,377 vulnerable Magento installs and
counting^, They all seem like Lvl.5 Magikarp to
me. All the Gyrados wisened up."
15. Admin account @telekpitekwashere.cok
Dezelfde SQL injection techniek
/* ++++++++++++++++++++++++++++++++++
ShopLift Exploiter Beta Version
Author : FathurFreakz
Use : php thisfile.php "Dork"
YOGYAKARTA BLACK HAT
Special Thanks to
Nabiila Rizqi Khasanah
+++++++++++++++++++++++++++++++++
*/
17. Ons eigen admin account is overgenomen ☹
Op 5 april is het originele account overgenomen door 'majid'
Via Shoplift admin account 'sadmin'
Via MagPleasure 'File_System' aanpassen van /api.php
20. /api.php, wat doet het?
Geeft 404 Not found als:
de user-agent een zoekmachine is
de credentials niet goed zijn
de GET requesten niet geauthenti ceerd zijn
26. 8 weken later...
26749 brute force requests op /admin
150 Shoplift aanvallen
9 extra admin accounts
365 extra les toegevoegd
10 phishing pagina's
27. 8 weken later...
Achter de schermen heeft shop.byte.nl nu ook
Webshells
Phishing pagina's
Proxies naar andere sites
28. En de schade
(Franse) creditcardgegevens en bankgegevens gelekt
De controle over de shop kwijt
De codebase is vervuild
29. Proberen ze zich te verbergen?
Methode van verbergen
Obscure code (eval, base64 gzin ate) ^ 2
Random hashes in URL
Google Crawlers en GET requesten worden tegengehouden
Toont pas de lemanager wanneer credentials juist zijn
Meta headers redirect naar externe website
Fake user-agents bijv. Google
30. Proberen ze zich te verbergen?
Geen moeite doen
Admin accounts
Brute forces op admin accounts
Overnemen van de admin
Rondslingeren van bestanden
31. Geen nieuwe patches, toch gehackt!
Mogelijk hebben de 'boeven' een nieuwe manier gevonden.
Onderzoek de hack, deel of betrek ons (Byte/MageReport) erbij
32. Wat wij kunnen:
Wat wij kunnen betekenen
Omvang van de hack onderzoeken
Security check op MageReport met een groot bereik van
shophouders
Communicatie met Magento