Service accounts in SMEs: how to get a grip on the accounts that don't belong to any employee

· 8 min read · SilverData team

In every company from twenty people up there's a second group of users running in parallel that the board knows nothing about. It doesn't collect a salary, doesn't attend meetings and doesn't retire. It does, however, log in to the most critical systems, often with administrator rights. These are service accounts — and in most SMEs, nobody can tell you how many of them exist.

This isn't theory. On one of our audit projects, the integration between Comarch Optima and the warehouse system was running under an account called "integracja". An external consultant had created it four years earlier, added it to the Domain Admins group "just in case", and nobody had touched it since. The password sat in a plain configuration file on a network drive that the entire accounting department could read. If an attacker landed inside that network — and landing inside is not the hard part these days — they would have had a trusted key to everything.

This piece is about why these accounts are the biggest and simultaneously the most ignored security gap in an SME, and what you can do about it on a normal budget.

What service accounts are

A service account is an account that doesn't belong to a specific person. A process logs in with it: a script, an integration, a network printer, a backup job, an accounting app talking to a bank. Typical examples in a 20–50 person company:

These accounts share one property: nobody deliberately logs in with them. They're meant to be invisible. That's exactly why they make such a good target.

Why they're a problem

Employee accounts have a lifecycle. You hire, you create an account. You offboard, you disable it. You rotate passwords. You roll out MFA. A service account has no lifecycle. It's created once, "to make the thing work", and it stays there forever. The pattern in a typical SME looks like this:

The result is predictable. An attacker who gets onto one machine in the company (via phishing, a browser flaw, whatever) starts looking around. They don't go straight for the Domain Admin — someone might be watching that one. They go for the backup account, the integracja account, the sql-service account. They find the password in a script, saved back when nobody could be bothered to do things properly. From that moment on they move around your network as a trusted process.

At one client — an 18-person electrical wholesaler — we found 4 service accounts, each of them with Domain Admin rights. Two of them had their passwords sitting in .ini files on a network drive readable by every employee. Replacing all four with separate accounts, each with the minimum permissions actually needed, took us 3 weeks of work. The cost of that work was a fraction of what the same company had spent the year before on a commercial antivirus — and the real hole you could drive a tank through was sitting right there.

How to run the inventory

Before you change anything, you need to know what you have. Service accounts are scattered, so there's no single "show me the list" button. But there is a short, practical list of places where they live:

The output is a spreadsheet: account name / where it signs in / what it does / when its password was last touched / who knows where that password lives. In most SMEs this spreadsheet does not exist. Just producing it is half the win.

How to manage them

Service-account hygiene isn't one big project. It's a handful of habits you introduce once and maintain.

What next

In most companies we walk into with a security audit, service accounts are the piece nobody thought about before. Not because people are irresponsible, but because these accounts are, by definition, invisible. You only see them once you deliberately count them.

If you don't know how many of these accounts are running in your company right now, don't guess. Start with a 30-minute conversation. We'll tell you where to look, in what order to reduce the risk, and what you can do yourself before you engage anyone from outside.

An account you can't see isn't an account that doesn't exist. It's an account nobody is protecting.

← Back to blog