Into the Viper’s Nest: Observations from Hunt’s Scanning

Published on

Published on

Published on

May 8, 2024

May 8, 2024

May 8, 2024

Into the Viper’s Nest: Observations from Hunt’s Scanning
Into the Viper’s Nest: Observations from Hunt’s Scanning
Into the Viper’s Nest: Observations from Hunt’s Scanning
Into the Viper’s Nest: Observations from Hunt’s Scanning

Into the Viper’s Nest: Observations from Hunt’s Scanning

Introduction

From initial access and privilege escalation to lateral movement and data collection, the open-source platform Viper boasts over 80 modules designed to streamline the stages of an attack, making it a preferred tool for red teams and threat actors alike.

Additional features like anti-virus bypass, intranet tunneling, command-line operations, and custom payload generation lower the technical barriers, allowing many bad actors to conduct network exploitation operations efficiently.

In this post, we'll look at Viper's widespread use across countries and ASNs, detail some approaches to detecting its login pages, and discuss other tools used alongside Viper, such as Cobalt Strike, Sliver, and Yakit.

Viper

httpshuntioimagesblogsviper-nestf1webpFigure 1: Viper README

The introduction covered many of Viper's features; what's unique about this tool is that the operator is provided with a GUI similar to Cobalt Strike. The platform's administrative section is protected by a login page, which many have left open to the internet.

Hunt is tracking over 400 unique IP addresses hosting Viper login pages. Figure 2 below shows an example.

httpshuntioimagesblogsviper-nestf2webpFigure 2: Example Viper login page

Hosting details for Viper are readily accessible through Hunt, revealing significant insights into its servers' geographical and infrastructural distribution. Most Viper servers are located in China, which aligns with the tool's origins. They were initially developed and released by a Chinese-speaking individual.

Furthermore, our scanning efforts indicate that over half of the Viper infrastructure observed by Hunt is hosted on Tencent's servers, predominantly utilizing the default port of 60000. This detail not only underscores the regional preferences for this tool but also highlights the specific network environments favored by its users.

httpshuntioimagesblogsviper-nestf3webpFigure 3: Viper hosting statistics in Hunt

Viper allows operators to construct payloads compatible with multiple operating systems, including Windows, Linux, and MacOS. The platform also extends its support to various scripting languages, facilitating the generation of Python, PowerShell, Ruby, and VBS payloads, as seen in Figure 4 below. This versatility enhances Viper's utility across different technological environments, enabling diverse and adaptable attack vectors.

httpshuntioimagesblogsviper-nestf4webpFigure 4: Viper payload options

Detecting Viper

Viper login pages, readily accessible online, offer a straightforward interaction and detection development opportunity. With a few lines of Python, researchers can capture headers from these pages and generate hashes of the login content, effectively detecting Viper deployments.

Using the login page in Figure 2 as an example, we are left with the below headers:

  • HTTP/1.1 200 OK

  • Server: nginx/1.24.0 (Ubuntu)

  • Date: varies

  • Content-Type: text/html

  • Content-Length: 692

  • Last-Modified: varies

  • Connection: keep-alive

  • ETag: varies

  • Accept-Ranges: bytes

Luckily for us, Viper ships with a default TLS certificate, as seen in Figure 5 below.

httpshuntioimagesblogsviper-nestf5webpFigure 5: Viper default certificate

With the above, we can start building queries to look for Viper login pages. As the headers "Server," "Date," and "Last-Modified" values can change and would break our rule, we'll just leave them as "varies" to cast a wide net and not limit ourselves to a specific date or server infrastructure.

  • HTTP/1.1 200 OK + Server: varies + Date: varies + Content-Length: 692 + title: "VIPER" + certificate subject common name: d1d38ec9

  • Favicon SHA1: f3d6b54a151c34b4931dc5a5a997afe96225569d *This can easily be removed from the code.

The default port could also be added to our rules above. I'll leave it up to the reader to experiment with changing the port numbers.

Interesting Observations

Before we get into some of the additional tools hosted alongside Viper and interesting servers our scanners have come across; we'll cover some suspicious domains we've encountered.

To view the domains for a set of active C2 servers, we can simply filter for them in Hunt.

httpshuntioimagesblogsviper-nestf6webpFigure 6: Snippet of Viper domains in Hunt

In addition to the Viper platform, IP address 43.139.67[.]72, hosted by Tencent, also recently hosted two instances of Cobalt Strike on ports 80 & 443 (watermark: 391144938).

This server also resolves to two domains, one of which is likely attempting to spoof Microsoft update services, www.microsoftupdate[.]fun.

httpshuntioimagesblogsviper-nestf7webpFigure 7: Suspicious domains on Viper server

Possibly related to our previous example (& also hosted on Tencent), IP 162.14.69.252, as of mid-April 2024, had a Cobalt Strike Team Server with the same watermark.

Unlike the previous IP, the domains at .252 spoof a flash drive app.

httpshuntioimagesblogsviper-nestf8webpFigure 8: Screenshot of suspicious domains

If you haven't noticed a recurring theme, many Viper servers are paired with Cobalt Strike. Our next IP is no different. The team servers still host a leaked version 9 of Cobalt Strike and use the well-known 987654321 watermark.

The IP in question, 111.231.146[.]154, resolves to several domains for the Chinese-developed game engine LayaBox.

httpshuntioimagesblogsviper-nestf9webpFigure 9: *.layabox[.]com domains at Viper & Cobalt Strike IPhttpshuntioimagesblogsviper-nestf10webpFigure 10: Leaked certificate for Cobalt Strike

Moving on, we'll look at Huawei IP address 124.71.84[.]65, which once again hosts a leaked version of Cobalt Strike (indicated by the "Pwn3rs Striked) certificate subject common name. Port 8899 hosts an instance of the open-source C2 framework, Sliver.

httpshuntioimagesblogsviper-nestf11webpFigure 11: Sliver (indicated by the red bug symbol) and Viper

The final domain we'll examine is model.tsmcai[.]com, hosted by Alibaba Cloud and resolving to 8.210.32[.]15. This domain is likely attempting to imitate an AI model website for the Taiwanese semiconductor manufacturing company TSMC.

Also found on port 28888 of the same IP is the open-source interactive HTTPS proxy, mitmproxy.

httpshuntioimagesblogsviper-nestf12webpFigure 12: Domain imitating TSMC on 8.210.32[.]15

Touted as a replacement for BurpSuite, the team at Yaklang.io has developed Yak Lang, a language tailored for the cybersecurity community. Users can integrate various security tools and products using the programming language into Yaklang's other project, Yakit.

Some features of Yakit include MITM, web fuzzing, vulnerability scanning, subdomain crawling, and integration with Project Discovery's Nuclei tool.

httpshuntioimagesblogsviper-nestf13webpFigure 13: Yakit GitHub README

Sifting through the many Viper instances found in Hunt, we stumbled upon Datacamp Limited IP address 185.230.228[.]136.

The server hosts a Yakit MITM certificate on port 61963 and a Yakit TeamServer certificate on port 9100. *Viper is hosted on port 60000.

httpshuntioimagesblogsviper-nestf14webpFigure 14: Yakit default certificates

The certificates in Figure 14 above are the default ones that ship with the tool when installed. Readers can use the subject common names in the above image to search for Yakit instances.

It should be noted that Yakit is a legitimate security tool developed for defenders; however, threat actors can also use these tools, as we see when paired with Viper or other exploitation platforms.

We can pivot on the Yakit MITM certificate to find additional infrastructure by clicking "Certificate IPs."

httpshuntioimagesblogsviper-nestf15webpFigure 15: Screenshot of additional IPs using the MITM certificate

In addition to .136, we find two more IPs:

  • 185.230.228[.]140

  • 185.230.228[.]141

Neither of the two newly found IPs hosts a Yakit team server. The IP ending in .140 has Viper running on the default port, while .141 only runs the Yakit MITM tool.

The close proximity of the IP addresses could suggest automation was used to obtain the infrastructure.

Conclusion

Throughout our analysis of the Viper platform, we have observed its extensive adoption and pairing with other prominent security tools such as Cobalt Strike, Sliver, and Yakit. These findings underline the platform's versatility and effectiveness in aiding threat actors in their campaigns.

The integration of Viper with these tools underscores a trend that is not slowing down anytime soon: adversaries utilize open-source solutions to establish or maintain access within target environments.

We encourage you to apply for an account with us to stay ahead of these threats and deepen your understanding of adversarial tactics. Join us in proactively identifying and mitigating emerging security challenges.

Introduction

From initial access and privilege escalation to lateral movement and data collection, the open-source platform Viper boasts over 80 modules designed to streamline the stages of an attack, making it a preferred tool for red teams and threat actors alike.

Additional features like anti-virus bypass, intranet tunneling, command-line operations, and custom payload generation lower the technical barriers, allowing many bad actors to conduct network exploitation operations efficiently.

In this post, we'll look at Viper's widespread use across countries and ASNs, detail some approaches to detecting its login pages, and discuss other tools used alongside Viper, such as Cobalt Strike, Sliver, and Yakit.

Viper

httpshuntioimagesblogsviper-nestf1webpFigure 1: Viper README

The introduction covered many of Viper's features; what's unique about this tool is that the operator is provided with a GUI similar to Cobalt Strike. The platform's administrative section is protected by a login page, which many have left open to the internet.

Hunt is tracking over 400 unique IP addresses hosting Viper login pages. Figure 2 below shows an example.

httpshuntioimagesblogsviper-nestf2webpFigure 2: Example Viper login page

Hosting details for Viper are readily accessible through Hunt, revealing significant insights into its servers' geographical and infrastructural distribution. Most Viper servers are located in China, which aligns with the tool's origins. They were initially developed and released by a Chinese-speaking individual.

Furthermore, our scanning efforts indicate that over half of the Viper infrastructure observed by Hunt is hosted on Tencent's servers, predominantly utilizing the default port of 60000. This detail not only underscores the regional preferences for this tool but also highlights the specific network environments favored by its users.

httpshuntioimagesblogsviper-nestf3webpFigure 3: Viper hosting statistics in Hunt

Viper allows operators to construct payloads compatible with multiple operating systems, including Windows, Linux, and MacOS. The platform also extends its support to various scripting languages, facilitating the generation of Python, PowerShell, Ruby, and VBS payloads, as seen in Figure 4 below. This versatility enhances Viper's utility across different technological environments, enabling diverse and adaptable attack vectors.

httpshuntioimagesblogsviper-nestf4webpFigure 4: Viper payload options

Detecting Viper

Viper login pages, readily accessible online, offer a straightforward interaction and detection development opportunity. With a few lines of Python, researchers can capture headers from these pages and generate hashes of the login content, effectively detecting Viper deployments.

Using the login page in Figure 2 as an example, we are left with the below headers:

  • HTTP/1.1 200 OK

  • Server: nginx/1.24.0 (Ubuntu)

  • Date: varies

  • Content-Type: text/html

  • Content-Length: 692

  • Last-Modified: varies

  • Connection: keep-alive

  • ETag: varies

  • Accept-Ranges: bytes

Luckily for us, Viper ships with a default TLS certificate, as seen in Figure 5 below.

httpshuntioimagesblogsviper-nestf5webpFigure 5: Viper default certificate

With the above, we can start building queries to look for Viper login pages. As the headers "Server," "Date," and "Last-Modified" values can change and would break our rule, we'll just leave them as "varies" to cast a wide net and not limit ourselves to a specific date or server infrastructure.

  • HTTP/1.1 200 OK + Server: varies + Date: varies + Content-Length: 692 + title: "VIPER" + certificate subject common name: d1d38ec9

  • Favicon SHA1: f3d6b54a151c34b4931dc5a5a997afe96225569d *This can easily be removed from the code.

The default port could also be added to our rules above. I'll leave it up to the reader to experiment with changing the port numbers.

Interesting Observations

Before we get into some of the additional tools hosted alongside Viper and interesting servers our scanners have come across; we'll cover some suspicious domains we've encountered.

To view the domains for a set of active C2 servers, we can simply filter for them in Hunt.

httpshuntioimagesblogsviper-nestf6webpFigure 6: Snippet of Viper domains in Hunt

In addition to the Viper platform, IP address 43.139.67[.]72, hosted by Tencent, also recently hosted two instances of Cobalt Strike on ports 80 & 443 (watermark: 391144938).

This server also resolves to two domains, one of which is likely attempting to spoof Microsoft update services, www.microsoftupdate[.]fun.

httpshuntioimagesblogsviper-nestf7webpFigure 7: Suspicious domains on Viper server

Possibly related to our previous example (& also hosted on Tencent), IP 162.14.69.252, as of mid-April 2024, had a Cobalt Strike Team Server with the same watermark.

Unlike the previous IP, the domains at .252 spoof a flash drive app.

httpshuntioimagesblogsviper-nestf8webpFigure 8: Screenshot of suspicious domains

If you haven't noticed a recurring theme, many Viper servers are paired with Cobalt Strike. Our next IP is no different. The team servers still host a leaked version 9 of Cobalt Strike and use the well-known 987654321 watermark.

The IP in question, 111.231.146[.]154, resolves to several domains for the Chinese-developed game engine LayaBox.

httpshuntioimagesblogsviper-nestf9webpFigure 9: *.layabox[.]com domains at Viper & Cobalt Strike IPhttpshuntioimagesblogsviper-nestf10webpFigure 10: Leaked certificate for Cobalt Strike

Moving on, we'll look at Huawei IP address 124.71.84[.]65, which once again hosts a leaked version of Cobalt Strike (indicated by the "Pwn3rs Striked) certificate subject common name. Port 8899 hosts an instance of the open-source C2 framework, Sliver.

httpshuntioimagesblogsviper-nestf11webpFigure 11: Sliver (indicated by the red bug symbol) and Viper

The final domain we'll examine is model.tsmcai[.]com, hosted by Alibaba Cloud and resolving to 8.210.32[.]15. This domain is likely attempting to imitate an AI model website for the Taiwanese semiconductor manufacturing company TSMC.

Also found on port 28888 of the same IP is the open-source interactive HTTPS proxy, mitmproxy.

httpshuntioimagesblogsviper-nestf12webpFigure 12: Domain imitating TSMC on 8.210.32[.]15

Touted as a replacement for BurpSuite, the team at Yaklang.io has developed Yak Lang, a language tailored for the cybersecurity community. Users can integrate various security tools and products using the programming language into Yaklang's other project, Yakit.

Some features of Yakit include MITM, web fuzzing, vulnerability scanning, subdomain crawling, and integration with Project Discovery's Nuclei tool.

httpshuntioimagesblogsviper-nestf13webpFigure 13: Yakit GitHub README

Sifting through the many Viper instances found in Hunt, we stumbled upon Datacamp Limited IP address 185.230.228[.]136.

The server hosts a Yakit MITM certificate on port 61963 and a Yakit TeamServer certificate on port 9100. *Viper is hosted on port 60000.

httpshuntioimagesblogsviper-nestf14webpFigure 14: Yakit default certificates

The certificates in Figure 14 above are the default ones that ship with the tool when installed. Readers can use the subject common names in the above image to search for Yakit instances.

It should be noted that Yakit is a legitimate security tool developed for defenders; however, threat actors can also use these tools, as we see when paired with Viper or other exploitation platforms.

We can pivot on the Yakit MITM certificate to find additional infrastructure by clicking "Certificate IPs."

httpshuntioimagesblogsviper-nestf15webpFigure 15: Screenshot of additional IPs using the MITM certificate

In addition to .136, we find two more IPs:

  • 185.230.228[.]140

  • 185.230.228[.]141

Neither of the two newly found IPs hosts a Yakit team server. The IP ending in .140 has Viper running on the default port, while .141 only runs the Yakit MITM tool.

The close proximity of the IP addresses could suggest automation was used to obtain the infrastructure.

Conclusion

Throughout our analysis of the Viper platform, we have observed its extensive adoption and pairing with other prominent security tools such as Cobalt Strike, Sliver, and Yakit. These findings underline the platform's versatility and effectiveness in aiding threat actors in their campaigns.

The integration of Viper with these tools underscores a trend that is not slowing down anytime soon: adversaries utilize open-source solutions to establish or maintain access within target environments.

We encourage you to apply for an account with us to stay ahead of these threats and deepen your understanding of adversarial tactics. Join us in proactively identifying and mitigating emerging security challenges.

Related Posts:

Threat Hunting at Scale: Explore 10.6B URLs to Find Payloads, C2s, and Exposed Assets with URLx
Jun 26, 2025

Explore 10.6B structured URLs with URLx. Find malware payloads, C2 paths, phishing campaigns, and exposed assets, fast.

Threat Hunting at Scale: Explore 10.6B URLs to Find Payloads, C2s, and Exposed Assets with URLx
Jun 26, 2025

Explore 10.6B structured URLs with URLx. Find malware payloads, C2 paths, phishing campaigns, and exposed assets, fast.

Announcing Hunt 2.3: Improved Threat Hunting Experience & SSO Availability
Jun 25, 2025

Hunt 2.3 is here: analyst-driven insights, easier pivots, better phishing workflows, and full SSO support for enterprise teams.

Announcing Hunt 2.3: Improved Threat Hunting Experience & SSO Availability
Jun 25, 2025

Hunt 2.3 is here: analyst-driven insights, easier pivots, better phishing workflows, and full SSO support for enterprise teams.

Cobalt Strike PowerShell Loader Found on Chinese and Russian Infrastructure
Jun 19, 2025

Our threat hunters uncovered a PowerShell loader hosted by Chinese and Russian providers, linked to active Cobalt Strike infrastructure.

Cobalt Strike PowerShell Loader Found on Chinese and Russian Infrastructure
Jun 19, 2025

Our threat hunters uncovered a PowerShell loader hosted by Chinese and Russian providers, linked to active Cobalt Strike infrastructure.

Fast and Curious: Red Teaming, Race Cars, and Hunt.io with Justin Elze
Jun 17, 2025

TrustedSec CTO Justin Elze shares red teaming insights, offensive tooling tips, and how he uses Hunt.io and AttackCapture™, plus his passion for race car data.

Fast and Curious: Red Teaming, Race Cars, and Hunt.io with Justin Elze
Jun 17, 2025

TrustedSec CTO Justin Elze shares red teaming insights, offensive tooling tips, and how he uses Hunt.io and AttackCapture™, plus his passion for race car data.

Threat Hunting at Scale: Explore 10.6B URLs to Find Payloads, C2s, and Exposed Assets with URLx
Jun 26, 2025

Explore 10.6B structured URLs with URLx. Find malware payloads, C2 paths, phishing campaigns, and exposed assets, fast.

Announcing Hunt 2.3: Improved Threat Hunting Experience & SSO Availability
Jun 25, 2025

Hunt 2.3 is here: analyst-driven insights, easier pivots, better phishing workflows, and full SSO support for enterprise teams.