News for hackers. Stuff that matters.
Re:How I got a Root Shell on a Credit Card Terminal by csinode on Sunday June 01, 2025 @12:33PM (#44152059)
I'd be more worried about someone compromising a card reader in the field and reading cached/stored real CC details, or installing some kind of intercepting malware. (That does seem to be difficult/impossible in this specific case, but it means research in this area is relevant.)
Re:How I got a Root Shell on a Credit Card Terminal by rockbruno on Sunday June 01, 2025 @12:45PM (#44152165)
Aren't credit cards nowadays basically physical private keys? IIRC transactions are one-time payloads signed specifically for that operations, so intercepting that won't help you if I'm not mistaken about how cards work nowadays.
Re:How I got a Root Shell on a Credit Card Terminal by weaksauce on Sunday June 01, 2025 @03:50PM (#44153343)
unless it's changed recently that only applies to tap and chip payments (which you should always prefer to avoid card skimmers) and not the old slide the ~~barcode~~ magnetic strip kinda payment.
Re:How I got a Root Shell on a Credit Card Terminal by cesarb on Sunday June 01, 2025 @05:09PM (#44153768)
Does anyone still use the magnetic strip? I think it's been over a decade since I've seen a credit card without the chip, and terminals have been able to read the chip since forever. I think the last few times a store tried to use the magnetic strip on my card (because the chip failed to read due to a bad contact), the transaction was simply rejected due to not using the chip.
Re:How I got a Root Shell on a Credit Card Terminal by SoftTalker on Sunday June 01, 2025 @08:09PM (#44154777)
In the USA, gas station pay-at-the-pump were the last major holdouts, but it’s been a while since I saw a pump that didn’t use chip or tap to pay.

My HSA debit card, issued last year, still doesn’t have a chip.

Re:How I got a Root Shell on a Credit Card Terminal by bdangubic on Sunday June 01, 2025 @05:24PM (#44153839)
2 times just this week I was asked to swipe, “issues with the chip reader” (CVS and Wegmans)
Re:How I got a Root Shell on a Credit Card Terminal by jamwil on Sunday June 01, 2025 @08:12PM (#44154791)
USA was very late to adopt chip/tap terminals, even relative to Canada. I could be wrong but IIRC it was only when Apple Pay came along that tap-enabled terminals began to hit critical mass.
Re:How I got a Root Shell on a Credit Card Terminal by vel0city on Sunday June 01, 2025 @10:33PM (#44155413)
It's always incredible to see few people in the US uses the tech that's available until Apple makes it a thing, and seeing that play out over and over.
Re:How I got a Root Shell on a Credit Card Terminal by account42 on Monday June 02, 2025 @09:27AM (#44158638)
This is the same everywhere though. See, e.g. incredibly late fibre rollout in many well off EU countries because they already had copper in the ground everywhere vs. developing countries that never had that legacy infrastructure inertia.
Re:How I got a Root Shell on a Credit Card Terminal by vel0city on Monday June 02, 2025 @10:03AM (#44158981)
What I'm talking about is a lot of those terminals supported tap to pay well before Apple Pay became a thing. The infrastructure was there, the technology was there, you could use it if you cared to do so. Most people just didn't know it was even an option. Google Wallet supported tap to pay years before Apple Pay was even announced. Tap to pay credit cards existed years before then. Nobody gave a shit about the technology until Apple announced Apple Pay and suddenly it became a big deal for vendors to actually check if their POS systems had it enabled or not.

I remember using Google Wallet years before Apple pay existed. When Apple Pay was announced so many cashiers thought they didn't support tap to pay credit card transactions despite me using it at those locations for years. What was really annoying was a lot of vendors turned off the feature while they "investigated" supporting Apple Pay, and didn't turn it back on for another year or so after they slapped the Apple Pay logo on the exact same terminals.

Nobody cared until Apple did it.

Re:How I got a Root Shell on a Credit Card Terminal by joefife on Sunday June 01, 2025 @07:07PM (#44154435)
Seems surprising to me. I've not swiped a UK card in many years. Honestly can't remember the last time.

It's curious you're seeing so many stripe fallback incidents. Is this a USA issue?

Re:How I got a Root Shell on a Credit Card Terminal by bdangubic on Sunday June 01, 2025 @09:27PM (#44155109)
possibly, can’t recall having any issues in europe where I reside over the summer.
Re:How I got a Root Shell on a Credit Card Terminal by girvo on Sunday June 01, 2025 @06:46PM (#44154310)
That's wild to me, the last time I had to swipe my card here in Australia was sometime in the early 2010s!

Heck a lot of the terminals here can't swipe a card at all

Re:How I got a Root Shell on a Credit Card Terminal by kccqzy on Monday June 02, 2025 @09:09AM (#44158470)
Old automatic vending machines and old municipal parking meters still require swipes.
Re:How I got a Root Shell on a Credit Card Terminal by Symbiote on Monday June 02, 2025 @09:26AM (#44158626)
In some regions, credit/debit cards no longer have magnetic strips.

If I travel to the USA I'll be unable to use these old vending machines and parking meters.

Re:How I got a Root Shell on a Credit Card Terminal by account42 on Monday June 02, 2025 @09:23AM (#44158600)
I used it recently because my bank denied the contactless and chip payments I tried before that. Surprisingly the mag stripe worked - and this is with card issues from a EU bank where mag stripes have been an historical artifact much longer than in the US.
Re:How I got a Root Shell on a Credit Card Terminal by mrngm on Tuesday June 03, 2025 @01:22PM (#44172372)
Yes, occasionally when refueling a shared car owned by a company that distributes those cars all over The Netherlands. It's common here in leased car fleets as well, where the user gets a magstripe card to refuel (and needs to provide details about current mileage and if the car was a replacement car).
Re:How I got a Root Shell on a Credit Card Terminal by pornel on Sunday June 01, 2025 @06:06PM (#44154086)
> unless it's changed recently

In Europe it's changed 15-20 years ago, when EMV-capable terminals became required, and acceptance of magnetic stripe cards got phased out soon after.

Since Apple Pay became a thing a decade ago, we don't even get US tourists confused by inability to swipe their cards anymore.

Re:How I got a Root Shell on a Credit Card Terminal by account42 on Monday June 02, 2025 @09:32AM (#44158680)
Note that is for the merchant side, not for the customer side - my EU-issued card still has a working mag stripe (got a chance to verify that it works this year).

And on a tangent about confused customers - I wish where to tap was as obvious as where to swipe. It varies by reader and sometimes that contactless logo is hard to see.

Re:How I got a Root Shell on a Credit Card Terminal by mrngm on Tuesday June 03, 2025 @01:34PM (#44172499)
Not to mention the (usually mobile) terminal designs where only the merchant sees the amount entered, usually doesn't flip it to show it to the customer, and the customer needs to tap it on their side without first seeing the amount entered.

... such as this one: https://www.paxtechnology.com/a77

Re:How I got a Root Shell on a Credit Card Terminal by cwillu on Sunday June 01, 2025 @06:32PM (#44154244)
“which you should always prefer to avoid card skimmers” could use a disambiguation comma between “prefer” and “to”; I misread it several times before the intended meaning clicked.
Re:How I got a Root Shell on a Credit Card Terminal by literalAardvark on Sunday June 01, 2025 @12:50PM (#44152196)
Kind of, but if you control the card reader you could charge more for the transaction without showing the amount, for instance. And maybe even send the money to a different account.
Re:How I got a Root Shell on a Credit Card Terminal by Aurornis on Sunday June 01, 2025 @01:23PM (#44152408)
Sending money to an arbitrary different account isn’t going to happen from the terminal reader itself.

Banks don’t have wide open protocols where anyone can submit a credit card transaction and have it go to arbitrary accounts.

Remember that credit card companies eat the cost of the fraudulent charges. They’re not going to make it easy for those to occur.

Re:How I got a Root Shell on a Credit Card Terminal by Arrowmaster on Sunday June 01, 2025 @03:42PM (#44153299)
You should read up on the wonderful system they call ACH.
Re:How I got a Root Shell on a Credit Card Terminal by kortilla on Sunday June 01, 2025 @04:24PM (#44153525)
That’s precisely why credit card readers aren’t attached to it
Re:How I got a Root Shell on a Credit Card Terminal by literalAardvark on Sunday June 01, 2025 @02:12PM (#44152737)
Yeah, I did think of that. I've never played with one of those so I don't really have much of an imagination about what they could do with a cracked one.
Re:How I got a Root Shell on a Credit Card Terminal by lelanthran on Sunday June 01, 2025 @03:01PM (#44153028)
> Yeah, I did think of that. I've never played with one of those so I don't really have much of an imagination about what they could do with a cracked one.

I've got a couple on my desk right now; there's nothing I can do with them to steal money, even though they're in dev-mode.

Re:How I got a Root Shell on a Credit Card Terminal by literalAardvark on Monday June 02, 2025 @09:40AM (#44158754)
Someone in a parent post mentioned that you could change the merchant entirely, thus syphoning off the money to a potentially more accessible account.
Re:How I got a Root Shell on a Credit Card Terminal by lelanthran on Wednesday June 04, 2025 @04:15AM (#44178385)
> Someone in a parent post mentioned that you could change the merchant entirely, thus syphoning off the money to a potentially more accessible account.

That would be something I'd like to see. The terminals I have worked on do not store merchant details. A merchant ID is stored on the terminal, with the ID mapping to an actual merchant account on the backend.

In order to have the merchant account on the backend, you need to be a customer of that terminal supplier. If you are a customer, they know:

a) Where your terminals are deployed

b) Your real details

c) The terminal's ID and the terminal's serial that maps to that specific merchant ID.

So, let's say we do change the merchant ID from `12` to `24` on the terminal. The request goes up with `transaction(<amt>, 24, 'sr-12345')`, and then the backend rejects because terminal sr-12345 is not mapped to merchant 24.

Lets say we also manage to fake the serial number. Then the transaction is approved, but can be easily reversed because merchant 24 is a customer and we have:

1. Their bank account number 2. Their physical address 3. The company registration number 4. Verified ID copies of the owner, directors, managers, etc. 5. Their money (from their transactions).

So, yeah, I'd love to know more about how they execute this hack; it would require complicity on the backend to a large degree.

3.

Re:How I got a Root Shell on a Credit Card Terminal by literalAardvark on Saturday June 07, 2025 @05:36AM (#44208525)
Yeah, ideally you'd need a valid merchant id, pos id and a way to siphon from the other merchant.

Probably not worth the small amounts you could make before caught

Re:How I got a Root Shell on a Credit Card Terminal by thwarted on Sunday June 01, 2025 @02:22PM (#44152784)
Credit card companies eat the cost of fraudulent charges that they can not pass on to/blame the merchant for.
Re:How I got a Root Shell on a Credit Card Terminal by Aurornis on Sunday June 01, 2025 @02:30PM (#44152828)
Which is why they won’t have a public API that allows running transactions that send money to arbitrary accounts.

If someone altered the terminal to charge more (a hypothetical suggestion above), they could recoup that money from the merchant’s account because they have an agreement in place.

You can’t run arbitrary transactions to arbitrary accounts (the other proposed attack above) because there isn’t an agreement in place.

Re:How I got a Root Shell on a Credit Card Terminal by nine_k on Sunday June 01, 2025 @05:35PM (#44153900)
Arbitrary account, no. An arbitrary merchant, yes.
Re:How I got a Root Shell on a Credit Card Terminal by account42 on Monday June 02, 2025 @09:38AM (#44158734)
That typically doesn't even need root access though but only a numeric PIN. Of course rout access might let you conceal what you are doing better.
Re:How I got a Root Shell on a Credit Card Terminal by lelanthran on Sunday June 01, 2025 @03:00PM (#44153019)
> Kind of, but if you control the card reader you could charge more for the transaction without showing the amount, for instance.

Not supposed to be possible on a certified terminal. The certification tests this particular case (the transaction is a hash of the keys, amount and a few other things. The display of the swipe/tap/insert screen and the pin-entry are under control of the certified kernel, so the userspacve application has no control of the amount that is displayed).

> And maybe even send the money to a different account.

Not from the card reader.

Re:How I got a Root Shell on a Credit Card Terminal by cesarb on Sunday June 01, 2025 @05:16PM (#44153807)
I've heard of it happening here in Brazil. In the simplest variant, something is glued on top of the screen to hide the higher digits, making the value appear to be lower; supposedly, some more advanced variants of the scam have a damaged or tampered screen.
Re:How I got a Root Shell on a Credit Card Terminal by clait on Monday June 02, 2025 @04:06AM (#44156624)
I was victim on this attack in Argentina. Paid a taxi with my card, and got charged 50x the amount shown on the display.
Re:How I got a Root Shell on a Credit Card Terminal by christina97 on Sunday June 01, 2025 @12:43PM (#44152147)
There are much easier ways to skim cards than hacking the terminal.
Re:How I got a Root Shell on a Credit Card Terminal by account42 on Monday June 02, 2025 @09:42AM (#44158777)
Not without leaving physical evidence.
Re:How I got a Root Shell on a Credit Card Terminal by reaperducer on Sunday June 01, 2025 @12:45PM (#44152168)
I'd be more worried about someone compromising a card reader in the field and reading cached/stored real CC details, or installing some kind of intercepting malware.

That's happened at least several times already.

I believe breached PoS terminals were what happened in the big Target hack.

Re:How I got a Root Shell on a Credit Card Terminal by lelanthran on Sunday June 01, 2025 @03:03PM (#44153045)
> I believe breached PoS terminals were what happened in the big Target hack.

The problem is that PoS terminals are not EMV terminals. EMV terminals have been through a certification process, and the hardware part of that certification ensures that the vendor only runs signed-binaries.

Honestly, even if you could write and sideload (or even replace) the applications on the EMV terminal, I do not see a way to get them to a) run, and then b) send money elsewhere.

Re:How I got a Root Shell on a Credit Card Terminal by adolph on Sunday June 01, 2025 @02:43PM (#44152892)
This story about a physical card reader checker to detect skimmer devices was interesting and posted here a couple years back.

https://tech.target.com/blog/cybersecurity-easysweep

https://news.ycombinator.com/item?id=36788831

Re:How I got a Root Shell on a Credit Card Terminal by nine_k on Sunday June 01, 2025 @05:34PM (#44153893)
Someone with a root access to a card reader could just make it collect CC details with every transaction, no caches needed. It could also make certain transactions "temporarily fail", while siphoning a certain amount of funds to another, legit-looking, merchant under the hood.
Re:How I got a Root Shell on a Credit Card Terminal by jhugo on Monday June 02, 2025 @03:16AM (#44156413)
> could just make it collect CC details with every transaction

Only if the card is swiped (magnetic stripe) rather than tapped or inserted. EMV doesn't expose the full card details to the merchant; the card signs a payload with its internal private key and transmits it.

And the OP's root access wouldn't give card details in any case, because they didn't get root on the part of the reader that processes the transactions.