Recently, while working on a project I was asked to gather some information on Blue Cross Blue Shield (BCBS) and something scary began to unfold. I noticed that states have individual BCBS websites, and that there is no real consistency in the URL naming convention. Then I began imagining the methods an attacker could use to exploit this. This is especially disconcerting since tax season is here and, thanks to the Affordable Care Act, we’ll all be needing forms showing proof of medical coverage, but more on that later. Back to the BCBS domains….
The first thing I noticed was the inconsistent use of the dash (-) character. For example if I want to visit Georgia’s BCBS site I can use use http://bcbsGA.com, https://bcbsGA.com, http://bcbs-GA.com or https://bcbs-GA.com. I found that only four other states returned a 200 status for names with the dash ex: bcbs-$state.com.
- http://bcbs-vt.com/ is under construction, and the owner listed is BlueCross BlueShield of Vermont
- http://bcbs-mt.com resolves to https://www.bcbsmt.com/
- http://bcbs-sc.com and http://bcbs-nc.com are currently parked for free at GoDaddy, and the owner information is not available.
I have not inquired with SC/NC BCBS to determine if they own the domains listed above (the ones with the dash). I also cannot elaborate as to why there is no DNS record resolving each of the Carolina domains above to a primary one as MT did. It is possible a malicious actor/s own/s the NC/SC domains, although currently that is purely speculation. The final observation that made me decide to script this out and just see how much room there is for nefarious activity was finding that some states don’t even use BCBS in the URL for example www.southcarolinablues.com.
Deciding where to start wasn’t very difficult. There are many logical names that could be used for a phishing expedition, but I wanted to stay as close as possible to the logical and already known naming conventions. So I opted not to check for domains like “bcbsofGA.com” or iterations with the state spelled out. I settled on eight different possible combinations. As seen with the domains for BCBS of GA, the state abbreviation always appears after BCBS, so I checked for domains with the state at the front as well, and both an HTTP and HTTPS response. I also checked for domains with the dash before and after the state abbreviation. Math says that 8 combinations (seen below) * 50 states = 400 possible domains.
The results were a bit unnerving…
It took ~13.5 minutes using 18 lines of Python (could be fewer but I was being lazy) on a old, slow laptop, to check the 400 possibilities to learn the following:
- 200 status = 69 domains
- 403 status = 02 domains
- 404 status = 02 domains
Leaving 329 domains available for purchase, and the price for many of them was less than $10. Keep in mind, I did not verify ownership of the 69 domains, but if I’m a bad guy, I don’t really care who owns them because I’m only looking for what’s available for me to use.
Now back to the tax forms I mentioned earlier….
We teach users not to click on links or open emails that they aren’t expecting, so can you blame them if they click on a link in an email that says “click here to download your 2017 proof of medical coverage, IRS form 1095”? After all, the IRS website even tells us that we will receive them, and that for the B & C forms the “Health insurance providers (for example, health insurance companies) will send Form 1095-B to individuals they cover, with information about who was covered and when. And, certain employers will send Form 1095-C to certain employees, with information about what coverage the employer offered.”
Remember all that information lost in the Anthem breach a few years ago? Or the Aug 2016 BCBS breach in Kansas? Hrmmm, I wonder how those might play into potential phishing attacks.
How you choose to mitigate this vulnerability is up to you and the solution(s) you come up with will vary depending on your company size, geographic dispersement of employees, and network architecture among other things. Some of you may choose to update your whitelists, blacklists or both. Some of you may use this opportunity as an educational phishing exercise soon, but whatever your solution is, I hope includes pro-active messaging and education for your users.
Finally, if you or someone you know works at a healthcare provider and has the ability to influence them to purchase domains that could be used to phish the employees and/or individuals they cover, I strongly encourage you to share this article with them. You can also try convincing management that not only are you preventing a malicious actor from having them, you could use them for training. While BCBS is the example used here, they are not the only provider out there and this problem is not unique to BCBS or its affiliates. However, if BCBS licenses it’s affiliates, then enforcing 1) standardized naming conventions for URL’s and 2) requiring them to purchase a minimum set of domains to minimize risk of malicious phishing doesn’t seem unreasonable. Considering the prudent man rule, I think a prudent man would agree the financial burden of purchasing a few extra domains, is easily justified by the impact of the risk reduction.
Thanks for taking time to read, and for those of you with mitigation ideas, please share your knowledge in the comments, and if you’re new to infosec and want to ask a question about mitigations please ask it. I only require that comments be constructive and helpful, not negative, insulting, derogatory or anything else along those lines.
Specific details for the 1095 forms can be found here.https://www.irs.gov/affordable-care-act/individuals-and-families/gathering-your-health-coverage-documentation-for-the-tax-filing-season)
Thank you my dear friends for your proofreading, for the laughs, and most of all your time and support.