Summary
Netskope Threat Labs is tracking phishing campaigns abusing InterPlanetary File System (IPFS) to deliver their payloads. From March 1 to April 30, Netskope Threat Labs has seen a 7x increase in traffic to IPFS phishing pages. The attacks have been targeting victims mainly in North America and Asia Pacific across different segments, led by the financial services, banking, and technology sectors.
IPFS was first launched in 2014 and has been steadily increasing in popularity since. As with any popular technology, cyber-criminals find ways to abuse it. In this blog, we provide users an overview of how IPFS works and how attackers are abusing IPFS to host traditional credential phishing campaigns.
What is IPFS?
InterPlanetary File System (IPFS) is a protocol that allows decentralized file storage and delivery networks. It is a peer-to-peer (P2P) system that uses content addressing instead of location addressing.
Files uploaded to IPFS are assigned a unique identifier called CID or Content Identifier. It is a string of characters generated through the file content’s cryptographic hash. The CID serves as a permanent address of a file and can be used by anyone to find it on the IPFS network.
Files added to IPFS are stored on several independent nodes. If one or multiple nodes goes offline, other nodes can still serve up the file. Since it is decentralized, the content is censor-resistant, so it’s difficult to remove the content as you will need to remove it from multiple independent nodes.
Those who do not host a node can still download files in IPFS using an IPFS gateway. IPFS gateways bridge HTTP to IPFS, helping users navigate IPFS content using traditional web browsers. A list of current IPFS gateway lists is found here.
Users may use the URL format to identify whether the content they are downloading is hosted on IPFS.
IPFS URL formats:
- hxxps://<gateway URL>/ipfs/CID/optional_path/file.html
- hxxps://<CID>.ipfs.<gateway>/optional_path/file.html
There are multiple ways to upload and share files on IPFS:
- IPFS Desktop Application
You may install an IPFS application to make your local device a node. This allows you to store your file locally. To share the file, you may provide the Content Identifier (CID) to IPFS users, or share the URL link to those who are not.
When you install an IPFS application, you can also store files from other nodes.
- Web Browser
Another option to share your files in IPFS is through web browsers. Currently, only the Brave browser has a native IPFS support. Brave allows you to upload or download files within IPFS using the Content Identifier.
IPFS also has a browser extension called IPFS companion. It helps users to navigate their local IPFS node in a browser. Currently, IPFS companion is available for Brave, Chrome, Edge, Firefox and Opera.
- Pinning service
Nodes can automatically cache the files they download and make them available for other nodes. However, to make room for new resources to be cached, older files get removed. Pinning services ensure that files can be stored and made accessible indefinitely.
Some pinning services allow you to upload files since they are similar to hosting services, in that they also run an IPFS node.
What makes IPFS enticing to cyber criminals?
Phishing HTML pages hosted on IPFS are difficult to take down. Since IPFS is not centralized, the content is hosted on multiple nodes. If you want to remove it totally on IPFS, you need to request each node to remove the file.
Attackers also reduce their cost for hosting the phishing pages as uploading files to IPFS has little to no cost.
Modern technology, same old phishing
The only noteworthy feature of these phishing campaigns that Netskope Threat Labs is tracking is that they are hosted on IPFS. Otherwise, the campaigns are using tried-and-true phishing techniques, targeting login credentials and using file attachments as bait.
Credential phishing
The IPFS phishing campaigns Netskope Threat Labs is tracking target several platforms and use file attachment as bait. The majority of them use generic work-related file names as a social engineering technique to trick their victims into opening them.
All the phishing sites send the harvested credentials to either a newly registered domain or a compromised website.