MS SQL Server Resolution Service enables reflected DDoS with 440x amplification
kurtaubuchon.blogspot.com
kurtaubuchon.blogspot.com
What are the reasons for exposing an SQL server directly to the internet? Obviously there's a bunch of people who have mis-configured and have accidently exposed their systems, but are there real-world reasons to expose a SQL server directly to the net?
I would think most people who are sharing datasets would do so with some sort of API - and there'd need to be room for rate limiting / blacklisting IPs and so on. I would never expose a SQL server directly to the net, and I'm really curious if there are reasons to do so?
But regardless you should be locking down access to the SQL host by network ranges, but I'm not sure if all providers have that ability.
It is just easier to log in and manage an SQL server if it is available on the internet. I know I'm certainly guilty of doing so for short periods when I'm off-site with no VPN and need to manage a server.
Some sysadmins just get lazy and leave it available on the internet with strong passwords 24/7, just so once in a blue moon they can log in and manage it. Or are doing some kind of site to site data migration and are tired of the VPN connection dropping.
I've done a site to site SQL migration across two Azure zones because doing it the "right" way was too complicated/time consuming/expensive. However once the data was copied across I changed the End Point config to protect the SQL server again.
I won't make excuses, it is just laziness/expedient. But that is human nature for you...
client told me they got a big IO bill from AWS & i was deathly afraid it was from bots just probing the SQL server ports. thankfully it wasn't (it was from s3, they are a media heavy site with many users) but it reminded me not to just leave things accessible via internet, cuz even though it seems irrational to think someone would just probe you over & over, the fact is you have to pay an AWS bill, & attackers are just operating from their laptop.... if the amplification is right they can cost you looooots of $$ with no cost to them.
I guess 700k is a bunch...
https://www.shodan.io/search?query=port%3A%221434%22
Since we can't expect those jokers to fix anything, it's probably best to drop traffic on that port.
Still an interesting discovery. DDoS amplification is a security risk few people consider when developing applications.
The first is better for 'anonymous' services; require the client to send a packet of the same size as the buffer they want to receive. It's network in-efficient but for small requests better than the delay in setting up an actual session. It eliminates the chance of amplification attacks.
The second is to establish /some/ kind of session. This might be as 'simple' as logging in, or it could just involve a few round trip communications that indicate the client /is/ listening to server replies. That eliminates every DDoS style except for a man in the middle capable amplification vectors; yet if MitM is possible then why bother with DDoS.
Header size is 8-20 (without options) and if you read the article closelyer you'll see the total packet size was 480ish.
I dont know how you are getting 21/461 = 22 ?
the average packet size was 483 bytes (average data
length = 441 bytes)
So header size is 42 bytes (483 - 441). Assuming the request uses the same headers, we have 483 / (1+42) = 11.23 amplification.My point is: this is important, but not a 440x amplification attack.
This is one of those legacy services that Microsoft keeps around just in case somebody wants it but it's been a long time since it had any changes or updates. What they really need to do is have it not even included with the product. It should be a download-only utility, for those that really, really want this on their systems.