Cybercriminals have been spotted using HTML/CSS and Unicode tricks to bypass tools meant to block malicious emails, marking a new twist in phishing techniques, security researchers report.
Attackers are continuously testing enterprise security systems and exploring new ways to get through. Some rely on hidden text and zero-font attacks, in which they put invisible characters between the letters of an email so it doesn't trigger email defenses with phrases like "password expired" or "Office 365." These malicious emails appear legitimate to any unsuspecting user.
Security firm Inky noticed a new twist on this technique in which attackers use their knowledge of HTML/CSS and Unicode to disguise phishing emails. The company began to investigate when a customer reported a suspicious message disguised as a "password expired" email from Office 365. Researchers loaded the raw text into text editor Emacs and found a few interesting traits.
One of these is the Unicode "soft hyphen," also known as "syllable hyphen." In typesetting, this is used to tell the renderer where to safely break a line and insert a visible hyphen. The soft hyphen normally renders as invisible; however, it will appear as a Unicode character to security software scanning emails for malicious content. To a security tool, it may as well be an "X".
When the Inky team scanned the malicious email for phrases like "change your password," they didn't receive results because the attacker had written such phrases as "c-h-a-n-g-e- -y-o-u-r- -p-a-s-s-w-o-r-d-." To a user they appear as normal; to a scanner they may not raise any flags because its pattern-matching settings aren't configured to look for this type of content.
"The fact that they render invisible is this weird quirk of Unicode," says Dave Baggett, founder and CEO at Inky. "Clearly, the attacker knows a lot about Unicode and is being quite smart in crafting this." He notes there were about 10 Unicode characters included in this email alone.
This wasn't the only new technique seen in this Office 365 phishing email, a type of malicious message Baggett describes as "rampant." When the attacker typed "Office 365," for example, they used the HTML <font> to make it look like logotype. This big red text in the upper left corner is common in Office 365 phishing, he says, and people often register the text as a logo.
Attackers also used the "display:none" setting, an element of CSS that tells a browser to render text as invisible. The phisher made the error of putting text they wanted the user to see within a span element, even though the CSS was written to render spans as hidden. The attacker used the invisible span trick to hide repeating text "40008" between words of the phrase "Password for user[@]example[.]com," a move Baggett says was intended to hide the malicious text from security tools.