image

Criminelen stelen 1,5 miljoen dollar uit bitcoin-automaten via beveiligingslek

dinsdag 21 maart 2023, 10:06 door Redactie, 13 reacties

Criminelen zijn erin geslaagd om door middel van een kwetsbaarheid 1,5 miljoen dollar aan bitcoin via bitcoin-geldautomaten van fabrikant General Bytes te stelen. Dat heeft het bedrijf zelf bekendgemaakt. General Bytes levert automaten die het mogelijk maken om bitcoins te kopen en verkopen. Een kwetsbaarheid in de automaten maakt het mogelijk voor een aanvaller om via een interface die wordt gebruikt voor het uploaden van video's een malafide Java-applicatie te uploaden.

Via de Java-applicatie kunnen aanvallers toegang krijgen tot de database en API-keys die nodig zijn voor het benaderen van bitcoin in hot wallets en bij cryptobeurzen. Vervolgens hebben aanvallers crypto uit de hot wallets getolen, alsmede gebruikersnamen en wachtwoordhashes en tweefactorauthenticatie uitgeschakeld. De aanvallers zochten op internet naar bitcoin-automaten waarvan de interface toegankelijk was.

Hoeveel automaten zijn getroffen is niet bekend. De aanvallers gingen ervandoor met 56 bitcoin wat omgerekend 1,5 miljoen dollar is. General Bytes heeft een update beschikbaar gemaakt om het probleem te verhelpen. Beheerders worden opgeroepen die te installeren en hun servers achter een vpn te plaatsen.

Reacties (13)
21-03-2023, 10:19 door Anoniem
De aanvallers zochten op internet naar bitcoin-automaten waarvan de interface toegankelijk was.
Deden ze dat zelf of schakelden ze daar voor een van de bekende scanning services in?
En als je op die manier geld kwijt bent geraakt (ik niet hoor!), kun je dan die scanning service daarop gaan aanspreken?
Je ziet steeds vaker dat deze services onderdeel van criminaliteit zijn. Mag dat zomaar?
21-03-2023, 11:55 door Anoniem
Door Anoniem:
De aanvallers zochten op internet naar bitcoin-automaten waarvan de interface toegankelijk was.
Deden ze dat zelf of schakelden ze daar voor een van de bekende scanning services in?
En als je op die manier geld kwijt bent geraakt (ik niet hoor!), kun je dan die scanning service daarop gaan aanspreken?
Je ziet steeds vaker dat deze services onderdeel van criminaliteit zijn. Mag dat zomaar?

Als je aan "security by obscurity" doet mag je van mijn part gehackt worden. Deze term bekent dat je services "verstopt" in plaats van ze beveiligd. Als een scan tool jou service vindt dat mag dat je beveiliging dus niet verstoren.

Een service die andere services "ontdekt" is zo simpel dat het best is dat deze informatie gewoon publiek is.
21-03-2023, 12:27 door Anoniem
Wacht, als je met crypto bezig bent, dan houd je de keys toch zo ver mogelijk bij de fysieke aparaten vandaan?
En je implementeerd triggers die alle apparaten op slot gooien als er foute transacties plaatsvinden.
(Desnoods alles wegsluizen naar een fail-safe vault...)

En je houd dit soort apparaten zo veel mogelijk van het internet weg?
En al helemaal geen webinterfaces of iets dergelijks! :-(

Nou, ze hebben in ieder geval wel snel gereageerd.
(statement binnen 24 uur.)

Ben benieuwd hoe dit gaat lopen...
21-03-2023, 12:59 door Anoniem
Door Anoniem:
Door Anoniem:
De aanvallers zochten op internet naar bitcoin-automaten waarvan de interface toegankelijk was.
Deden ze dat zelf of schakelden ze daar voor een van de bekende scanning services in?
En als je op die manier geld kwijt bent geraakt (ik niet hoor!), kun je dan die scanning service daarop gaan aanspreken?
Je ziet steeds vaker dat deze services onderdeel van criminaliteit zijn. Mag dat zomaar?

Als je aan "security by obscurity" doet mag je van mijn part gehackt worden. Deze term bekent dat je services "verstopt" in plaats van ze beveiligd. Als een scan tool jou service vindt dat mag dat je beveiliging dus niet verstoren.

Als jij jouw spulletjes in een normaal huis met glazen ramen en normale kwalteit deuren hebt staan en niet in een bunker met stalen deuren en tralies dan mogen ze gerust gestolen worden! Immers waar een gewone inbreker naar binnen kan kijken en in kan dat is niet veilig, En die mag gerust zijn kinderen op pad sturen om te checken wie er een mooie TV heeft! Immers geen gordijnen geeft iedereen het recht bij jou naar binnen te kijken! Jij verdient het om je spullen kwijt te raken!

Of toch niet?
21-03-2023, 13:13 door Anoniem
Door Anoniem: Wacht, als je met crypto bezig bent, dan houd je de keys toch zo ver mogelijk bij de fysieke aparaten vandaan?

Dat werkt alleen als je niets met de BTC zou doen. Een Bitcoin automaat moet echter kunnen handelen, dus moeten Bitcoin beschikbaar zijn om over te maken naar degene die ze koopt. Maar hier hingen de beheer servers van die automaten blijkbaar met een webinterface aan het internet, inclusief Java-script lek. Twee fouten bijelkaar die de mogelijkheid voor de dieven boden.
21-03-2023, 14:16 door Anoniem
Door Anoniem: Maar hier hingen de beheer servers van die automaten blijkbaar met een webinterface aan het internet, inclusief Java-script lek. Twee fouten bijelkaar die de mogelijkheid voor de dieven boden.
Ja daarom gebruiken de wat verstandiger mensen tegenwoordig alleen een uitgaande TLS verbinding naar een cloud server voor dit soort dingen. Dan hoef je alleen die cloud server veilig te houden.
Zal hier wel niet gedaan zijn vanwege een te ver doorgeschoten decentralisatie woede... en dat zal vast ook veel irritatie gegeven hebben bij degenen die zo'n ding op hun netwerk hadden. ("je moet poorten openzetten" "vraag maar aan je provider hoe je dat doet" enz)
21-03-2023, 17:01 door Anoniem
:D mooi zo. Ik snap niet dat er nog steeds individuen zijn die even denken in de fintech/btc te kunnen stappen met een standaard ontwikkelaars team. Zeker met die btc moet je echt een beter team hebben, want het is niet zo dat je even de andere bank kunt bellen om het terug te laten storten.
22-03-2023, 07:39 door Anoniem
Ik geloof dat ook maar weinig mensen de root cause lezen in de Atlassian link. Daar staat precies wat er fout ging.

Stap 1. Missende authenticatie en onvolledige input validatie
Een interface tussen ATM en server was (in de cloud) publiek beschikbaar. De java applet op de server verwerkt video (wellicht KYC upload) maar valideerde de input onvolledig. Hierdoor kon men via de java applet code op de server krijgen.

Stap2. Geen hardening / verkeerde permissies
Uploaden is leuk maar de code moet wel uitgevoerd worden... De malafide .war werd weg geschreven naar de deployment folder. Deze folder stond zo ingesteld dat de server alles uitvoert wat er in terecht komt.

Stap 3. Privilege Escalation
Daarna is het een kwestie van rechten verhogen en aanpassingen maken aan Bitcoin addressen / API keys en/of Bitcoin wallet private keys/seeds. Je zit immers al op de centrale server...

Brakke Java komt helaas nog heel vaak voor. De impact is alleen niet altijd zo desastreus. Heeft verder weinig van doen met de veiligheid van crypto of Bitcoin zelf.
22-03-2023, 10:13 door Anoniem
Door Anoniem: Heeft verder weinig van doen met de veiligheid van crypto of Bitcoin zelf.
jawel, daar heeft het ALLES mee te maken. Bitcoin is onveilig omdat alles draait om de geheime sleutel. Als je die weet heb je het geld, en die hoeft dus maar 1 keer te lekken.
Het is net als met een wachtwoord. Alleen bij een wachtwoord zeggen we "je moet ook 2nd factor authenticatie doen!". En dat heeft Bitcoin niet. Slecht.
22-03-2023, 10:18 door Anoniem
Ook uit het artikel:
Despite the fact that we made multiple security audits since 2021, this vulnerability was present and undiscovered in our product since version 20210401.

We would like to conduct in short period of time multiple independent security audits of our product as we see now importance of having multiple audits by multiple companies.
Dit verbaast me NIETS! Met audits kun je niet aantonen dat iets veilig is, alleen dat het onveilig is. Net als dat je met testen niet kunt aantonen dat code goed is, alleen dat er fouten in zitten.
22-03-2023, 15:19 door Anoniem
@10.13 bullshit. De geheime sleutel is niet anders dan een private key welke je bij encryptie geheim moet houden.

Een software wallet vereist een pincode of wachtwoord. De seed moet je uiteraard niet (onversleuteld) op je computer opslaan.

Voor extra veiligheid kun je de seed opdelen in verschillende stukken, offline/offsite opslaan, multisig vereisen bij Bitcoin transactie, een hardware wallet gebruiken (vereist pin), etc.

Blijf weg van API keys en gebruik alleen officiele hard- en software. Het is allemaal niet zo moeilijk. En vergeet niet dat gestolen Bitcoin (deels) te volgen is in tegenstelling tot gestolen cash...
22-03-2023, 15:41 door Anoniem
Door Anoniem: @10.13 bullshit. De geheime sleutel is niet anders dan een private key welke je bij encryptie geheim moet houden.

Een software wallet vereist een pincode of wachtwoord. De seed moet je uiteraard niet (onversleuteld) op je computer opslaan.

Voor extra veiligheid kun je de seed opdelen in verschillende stukken, offline/offsite opslaan, multisig vereisen bij Bitcoin transactie, een hardware wallet gebruiken (vereist pin), etc.

Blijf weg van API keys en gebruik alleen officiele hard- en software. Het is allemaal niet zo moeilijk. En vergeet niet dat gestolen Bitcoin (deels) te volgen is in tegenstelling tot gestolen cash...

Een standaard verhaaltje eruit reutelen lukt nog wel, maar hoe pas je het bovenstaande toe in een Bitcoin pinautomaat?
24-03-2023, 08:33 door Anoniem
@15.41 de connectie tussen automaten en management server had een beveiligde verbinding moeten zijn. Dan was de applet alleen daar exposed en kon een externe aanvaller deze niet benaderen.

Geen idee wat voor andere connecties de automaat nodig heeft maar standaard alles dicht zetten, idem de server. Daarnaast OS hardening want de code was na upload gelijk uitvoerbaar...

Er zal een hotwallet en API nodig zijn dus daar kan men wellicht monitoren op afwijkend gedrag, limiteten of adressen instellen. Maar dat is zonder details moeilijk te zeggen. Winst op tijd afstorten in een cold wallet om schade van een hack te beperken.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.