Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Cloud

4/15/2020
03:15 PM
Connect Directly
Twitter
LinkedIn
RSS
E-Mail
100%
0%

Slack's Incoming Webhooks Can Be Weaponized in Phishing Attacks

Researchers report how attackers could weaponize a feature in the Slack collaboration platform to access corporate data and messages.

Security researchers exploring attack vectors in collaboration platform Slack have discovered a way its Incoming Webhooks could be leveraged to launch phishing attacks against employees.

Incoming Webhooks is a feature designed to give people an easy way to share messages from external applications in the Slack platform. Users can send a message to any webhook for which they know the URL, in any workspace, regardless of whether they're a member. Webhooks use normal HTTP requests with a JSON payload, which includes the message and optional details.

Slack webhooks are perceived as a low-risk integration because it's assumed the webhook configuration requires selecting a target channel to share a message, which would limit the scope of abuse to a single channel. It's also assumed the unique webhook URL is a secret and that the webhook only accepts data – and therefore couldn't expose sensitive data on its own.

"A deeper dive into webhooks shows that this is not entirely accurate," writes Ashley Graves, senior security researcher with AlienLabs at AT&T Cybersecurity, in a blog post on her research. Back in January, Graves had been working on a Slack application with webhooks when she realized they didn't work as she expected. This inspired her to take a deeper dive into the tool.

It's important to note Graves did not find a vulnerability in Slack itself; however, she did find subtle ways that attackers could abuse features in the platform to target unsuspecting users. 

For starters, she explains, attackers could override the webhook target channel by adding the "channel" key to their JSON payload. If they gain access to a webhook for one channel, Graves says, they can use the same webhook in others. This may prompt them to send a webhook to #general, #engineering, or another Slack channel likely to have a larger group of people in it. In some cases, this move could override a channel's posting permissions like admin-only posting.

Webhook URLs are considered secret; however, researchers found 130,989 public code results on GitHub containing these URLs. Most of them held the full unique webhook value, she notes.

There are a few reasons why an attacker would want to take advantage of Slack, which Graves points out "is used by a lot of enterprises." Discussions could contain a company's intellectual property, while uploaded files may hold confidential data. "A lot of sensitive discussions go on in Slack and there's the assumption only employees have knowledge of that," she explains in her post. With OAuth, someone could retrieve files and conversations, or send Slack messages of their own. 

How It Works
While data cannot be exposed via webhooks, an attacker can chain steps together to gain access to information and messaging capabilities in a workspace.

The process of launching this attack starts with discovering leaked webhooks, which can be found on GitHub. The next step is to create an app that can be publicly installed. Graves notes an attacker will need a Web server to handle OAuth flow. Slack apps don't require OAuth, but in her example she used Slack's API to access data in workspaces where the bad app is installed.

When users try to download the malicious application, they will be required to approve the requested OAuth scopes the attacker sets. These could be configured for any data they wish to access in Slack; as an example, Graves chose files:read to access a victim's files. Approval is sent to the OAuth client, which retrieves an access token from the authorization server. The token may be used to obtain data using the OAuth scope until authorization is revoked, she explains.

With the app ready, the next step is to message the #general channel linked to the webhook URL. An attacker could say something like "the webhook configuration needs to be updated" and include a malicious link, which would redirect the victim to install the app. The attacker will get a response from Slack with the access token and identifiers for the user and the user's team.

The access token will let an attacker access data on the user's behalf; however, this access is limited to the requester's access and the scope requested by the malicious application. There is no indication a user has interacted with a domain outside Slack. As a result, Graves cautions Slack users to be wary of apps requesting excessive access to files or messaging capabilities.

"It is not difficult to craft the attack," says Graves, noting she was able to do it within a couple of hours. Figuring out how to set up the OAuth client was tougher but still doable. "It's fairly trivial code to write, for someone experienced in reading and writing code," she continues. "What's more difficult to pull off … like all other phishing attacks, the user does have to be convinced to take action." An attacker won't succeed here without some user participation.

These findings were shared with Slack, which responded to say the tools were working as expected. While data cannot be exposed via webhooks, Slack advises workspace admins to invalidate publicly exposed webhook URLs and generate new ones. Slack scrapes GitHub for exposed webhooks to invalidate them so they can't be used in attacks like this one. "Webhooks are safe as long as they remain secret since the webhook URL itself is unguessable," it says.

For Slack admins in sensitive environments, Graves recommends application whitelisting so apps have to be reviewed and approved for downloading. If this isn't an option, they could detect suspicious Slack OAuth application that people are adding to the workspace.

Related Content:

A listing of free products and services compiled for Dark Reading by Omdia analysts to help meet the challenges of COVID-19. 

Kelly Sheridan is the Staff Editor at Dark Reading, where she focuses on cybersecurity news and analysis. She is a business technology journalist who previously reported for InformationWeek, where she covered Microsoft, and Insurance & Technology, where she covered financial ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Oldest First  |  Newest First  |  Threaded View
NSMKT
50%
50%
NSMKT,
User Rank: Apprentice
7/2/2020 | 1:36:53 PM
Cybersecurity
https://www.netsurion.com/catches/phishing-installs-locky-ransomware I found this one useful too.
When It Comes To Security Tools, More Isn't More
Lamont Orange, Chief Information Security Officer at Netskope,  1/11/2021
US Capitol Attack a Wake-up Call for the Integration of Physical & IT Security
Seth Rosenblatt, Contributing Writer,  1/11/2021
IoT Vendor Ubiquiti Suffers Data Breach
Dark Reading Staff 1/11/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
2020: The Year in Security
Download this Tech Digest for a look at the biggest security stories that - so far - have shaped a very strange and stressful year.
Flash Poll
Assessing Cybersecurity Risk in Today's Enterprises
Assessing Cybersecurity Risk in Today's Enterprises
COVID-19 has created a new IT paradigm in the enterprise -- and a new level of cybersecurity risk. This report offers a look at how enterprises are assessing and managing cyber-risk under the new normal.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-25533
PUBLISHED: 2021-01-15
An issue was discovered in Malwarebytes before 4.0 on macOS. A malicious application was able to perform a privileged action within the Malwarebytes launch daemon. The privileged service improperly validated XPC connections by relying on the PID instead of the audit token. An attacker can construct ...
CVE-2021-3162
PUBLISHED: 2021-01-15
Docker Desktop Community before 2.5.0.0 on macOS mishandles certificate checking, leading to local privilege escalation.
CVE-2021-21242
PUBLISHED: 2021-01-15
OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, there is a critical vulnerability which can lead to pre-auth remote code execution. AttachmentUploadServlet deserializes untrusted data from the `Attachment-Support` header. This Servlet does not enforce any authentication or a...
CVE-2021-21245
PUBLISHED: 2021-01-15
OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, AttachmentUploadServlet also saves user controlled data (`request.getInputStream()`) to a user specified location (`request.getHeader("File-Name")`). This issue may lead to arbitrary file upload which can be used to u...
CVE-2021-21246
PUBLISHED: 2021-01-15
OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, the REST UserResource endpoint performs a security check to make sure that only administrators can list user details. However for the `/users/` endpoint there are no security checks enforced so it is possible to retrieve ar...