What are Domain Generation Algorithms?
Published on
Published on
Published on
Feb 4, 2025
Feb 4, 2025
Feb 4, 2025
![Domain Generation Algorithms (DGA): Definition and Impact](https://framerusercontent.com/images/NOqd2esPbJix6klBIdRPIU2Fs.webp)
![Domain Generation Algorithms (DGA): Definition and Impact](https://framerusercontent.com/images/NOqd2esPbJix6klBIdRPIU2Fs.webp)
![Domain Generation Algorithms (DGA): Definition and Impact](https://framerusercontent.com/images/NOqd2esPbJix6klBIdRPIU2Fs.webp)
Domain Generation Algorithms (DGAs) are a powerful weapon in a cybercriminal's arsenal, enabling them to dodge detection by spawning random domain names endlessly. These domains are the communication hub between malware and command-and-control (C2) servers, making it hard for security to keep up.
Attackers leverage DGAs to generate thousands of domain names daily, making it nearly impossible for security teams to block them all. For example, the Conficker.C variant produces up to 50,000 domain names per day, overwhelming traditional domain-blocking mechanisms. Similarly, GameOver Zeus generates 1,000 new domains daily, ensuring a steady stream of potential communication channels for malware. This rapid domain cycling makes it difficult for defenders to take down malicious infrastructure before new domains replace the old ones.
The challenge with DGAs isn't just the volume of domains generated-it's also their unpredictability. Since each domain is algorithmically derived and often changes daily, security tools relying on static blocklists become ineffective. To keep up, defenders must shift to behavior-based detection models that analyze traffic patterns rather than just domain names.
Understanding how DGAs work is key to defending against them. Let's explore how attackers leverage them and what security teams can do to stop them.
What are Domain Generation Algorithms (DGAs)?
DGAs are programs that generate many domain names dynamically to be communication points for malware. These algorithms allow malware to stay connected to its controllers even if some of the domains are taken down. Notorious malware families like Necurs and Locky have utilized DGAs to maintain resilience, highlighting the widespread adoption of this technique.
Here's why DGAs are a problem:
Dynamic: DGAs can generate hundreds or thousands of domain names in a short period.
Resilience: If a domain is detected and blocked, new ones are generated to keep the operation going.
Legitimacy mimicry: Many DGA-generated domains are designed to look like real websites so they are harder to detect.
DGAs have evolved over the years to outsmart traditional security and are getting more sophisticated.
In earlier forms, DGAs followed simple patterns, making it easier to reverse-engineer their algorithms. However, modern DGAs employ more advanced cryptographic techniques, making them significantly harder to predict. Some even integrate machine learning to simulate human-like domain behavior, reducing the chances of being flagged as suspicious.
How DGAs Work
DGAs work by generating domain names at regular intervals to create domains so malware has a constant flow of communication with its C2 servers. The two methods DGAs use are pseudo-random generation and dictionary-based generation.
Detecting dynamically generated domains poses challenges due to the nature of malware and algorithm complexity, requiring methods like frequency analysis and machine learning techniques to effectively identify and mitigate the risks associated with DGA-generated domains.
Many malware strains employ fallback mechanisms to further evade detection. If one generated domain fails to connect, the malware simply moves on to the next one in its sequence.
Some DGAs even generate domains in multiple top-level domains (TLDs), increasing their chances of staying online.
Pseudo-Random Domain Generation
This method uses algorithms that use seeds (like timestamps) to generate dynamically generated domains. The same seed on both the attacker's and malware's side ensures matching domains, enabling seamless communication.
Consistency: The same seed means predictable domain matching.
Volume: Hundreds or thousands of domains can be generated at once, making it hard to block them all.
The downside of pseudo-random DGAs is that if defenders reverse-engineer the seed logic, they can predict future domains and block them before they become active.
This has led some attackers to integrate adaptive DGAs, which alter their domain-generation behavior dynamically based on environmental factors like network settings or geolocation.
Dictionary-Based Domain Generation
Dictionary-based DGAs generate domain names using predefined word lists. This makes the domains look legitimate and blend in with normal web traffic. For example, a dictionary-based DGA might generate domains like "myshoppingdeals.com" or "specialdiscount.net" which are not suspicious at all.
Because these domains mimic real-world naming conventions, they are far harder to detect using standard pattern-matching techniques. Security teams now rely on natural language processing (NLP) and AI-driven domain clustering to identify dictionary-based DGAs by analyzing unusual domain word pairings or frequency anomalies.
How Malware Uses DGAs to Hide Their Trails
Cybercriminals use DGAs to make their malware more resilient and harder to track. One of the tactics is domain fluxing where malware switches domains frequently to avoid detection. Blacklisting is ineffective with this constant rotation.
Advanced DGAs go a step further with techniques like pre-registering domains or using domain aging (letting domains gain credibility before using them). This gives attackers more chances to evade security systems.
Some malware campaigns use pre-seeded DGAs, where attackers register hundreds of domains in advance but delay activation to avoid early detection. By doing this, they ensure a steady supply of functional domains, making it even harder for security teams to disrupt their operations.
DGAs and Command-and-Control Servers
Command-and-Control Servers
DGAs create communication points between malware and C2 servers. These dynamic domains allow attackers to replace blocked domains quickly so their malware stays alive.
Botnets and Domain Fluxing
Botnets like Sock5Systemz use domain fluxing to communicate with C2 servers. This is an example of how some botnets rotate through a vast pool of domain names and IP addresses, making them nearly impossible for security teams to block.
Some botnets use fast-flux networks, where the IP address and domain name rotate constantly to avoid detection. This rapid switching makes it difficult for security teams to track and block malicious domains in real time.
Others rely on peer-to-peer (P2P) communication, where infected machines share updated C2 domains among themselves, eliminating the need for a central command server. This decentralization makes it nearly impossible to shut down a botnet without dismantling the entire network.
In some cases, malware strains combine fast flux and P2P techniques, making domain fluxing even more effective. Attackers can program DGAs to generate domains across multiple top-level domains (TLDs), further complicating detection and takedown efforts.
Security teams can detect DGA activity by analyzing DNS traffic patterns. However, the volume of domains generated by DGAs is a big problem.
Detection Techniques for DGAs
Let's now review some of the popular techniques used to detect DGA domains.
DNS Traffic Analysis
Monitoring DNS queries allows security teams to spot patterns of DGA activity, such as frequent queries to non-existent or rarely visited domains. Tools like Protective DNS can intercept these queries and block access to suspicious domains in real-time.
However, some DGAs introduce delayed domain resolution, where generated domains remain inactive for days or weeks before being used. This helps attackers avoid immediate detection and makes proactive blocking efforts more challenging.
Entropy and Frequency Analysis
Domains generated by DGAs often lack the structured, meaningful patterns found in legitimate websites, making entropy analysis an effective tool for spotting irregularities. Combining this with frequency analysis helps to detect the repetitive behavior of DGA-generated traffic.
In normal web traffic, domain names often follow predictable structures that align with human language patterns. For example, real domains typically contain readable words, brand names, or common abbreviations.
However, DGA-generated domains tend to have higher entropy, meaning they appear more random and lack linguistic coherence. By analyzing the level of randomness in domain names, security tools can flag those that deviate significantly from normal naming conventions.
Frequency analysis further strengthens detection. Since DGA domains are generated in bulk, they often appear in large clusters within DNS logs. Unusually high volumes of never-before-seen domain queries from a single device or network can be a strong indicator of malware activity.
Machine Learning and AI
Machine learning models can analyze historical DGA activity to detect patterns in domain generation. However, advanced DGAs can mimic legitimate domains, making detection models less effective without continuous retraining and threat intelligence updates.
One approach involves training deep learning models on datasets containing both legitimate and DGA-generated domains. By identifying key linguistic features and analyzing past attack patterns, these models can recognize malicious domains in real-time.
However, attackers are adapting. Adversarial DGAs now generate domains that closely resemble real ones, tricking detection models that rely solely on word structure. Some use context-aware naming patterns, integrating keywords related to financial services, healthcare, or news sites to appear legitimate.
As attackers evolve their tactics, security teams must refine AI models continuously, ensuring they don't just detect known threats but also anticipate future evasion techniques before they become widespread.
Frequent updates to AI models are necessary as attackers test new variations in real-time, seeking to exploit any gaps in detection.
How Can Organizations Defend Against DGAs?
A solid defense against DGAs requires multiple approaches:
DNS Sinkholing
This technique redirects malicious traffic to a controlled server, effectively cutting off malware from its C2 infrastructure. And the intercepted traffic gives us insights into the attackers' tactics.
Predictive Blocklists
Predictive blocklists use historical data to predict domains a DGA might generate. Predictive blocklists shorten the attackers' window of opportunity by staying ahead of potential threats.
Network Segmentation
By segmenting a network into smaller isolated areas, organizations can contain the spread of malware. Even if one segment is compromised, network segmentation ensures the rest of the system is protected.
Protective DNS
Protective DNS solutions analyze DNS queries in real time using machine learning and threat intelligence to block access to malicious domains. This is key to mitigating DGA risks.
Incident Response
Adding Protective DNS to an organization's incident response plan can help to detect and mitigate threats. For example, DNS sinkholing not only disrupts malware communication but also gives security teams intelligence to act on.
A proper incident response workflow for DGA-related threats includes:
Real-time DNS logging: Continuously monitor DNS queries to detect patterns associated with malware-generated domains.
Automated sinkholing: Redirect malicious traffic to controlled environments to cut off malware communication.
Threat intelligence updates: Share detected DGA indicators with security vendors and integrate them into firewalls and IDS/IPS solutions.
Post-incident review: Analyze DNS logs to identify if attackers modified their DGA algorithms, and update detection rules accordingly.
These steps ensure that when a DGA-powered attack is detected, security teams don't just block domains reactively-they analyze trends, predict future domains, and prevent further infections.
Legitimate Uses of DGAs
While DGAs are mostly associated with malicious activities, they have legitimate use cases. Companies use them:
For temporary domains for marketing campaigns.
For load balancing and traffic management.
Some VPN providers use DGAs to generate temporary routing domains, ensuring anonymity and avoiding detection by network filters. Another legitimate use of DGAs is in load testing, where they generate multiple domains to simulate real-world traffic spikes. This helps businesses stress-test their infrastructure and prepare for high-demand scenarios.
In addition, security teams use DGAs in controlled environments to simulate real-world cyber threats and test their defenses.
Some enterprise security tools also use DGAs for malware sandboxing, where they create temporary, isolated environments to analyze malicious code behavior. Since malware often relies on contacting hardcoded or DGA-generated domains, sandboxes can dynamically generate their temporary domains to observe how malware interacts with them.
Some security systems use dynamically generated URLs for one-time-use login portals, but DGAs do not typically power these. Instead, they use tokenized or time-sensitive links to enhance security. This technique reduces phishing risks by ensuring that even if an attacker intercepts a login link, the domain will be inactive before it can be exploited.
These use cases highlight how not all DGAs are inherently malicious-they can be powerful tools for improving cybersecurity when used in controlled environments.
Future of DGA Detection and Prevention
AI and machine learning have made DGA detection much better. Continuous updates to threat intelligence feeds keep defenses up to date with new threats.
Organizations that defend proactively with machine learning-based detection and predictive analytics will be better prepared for DGA threats in the future.
The future of DGA detection will likely involve real-time collaboration between cybersecurity vendors and domain registrars. By automating domain reputation scoring, security teams can preemptively block suspected DGA domains before they are weaponized.
As security tools improve at detecting traditional DGAs, attackers are expected to shift toward blockchain-based DGAs. Instead of generating domains within traditional DNS infrastructure, these DGAs could leverage decentralized blockchain registries, making takedowns much harder.
Some threat actors are already experimenting with domainless malware, where instead of using DGAs, malware retrieves C2 instructions from hidden messages in social media posts, public cloud storage, or even cryptocurrency transactions. These methods allow attackers to bypass traditional DNS-based monitoring entirely.
Staying ahead requires a combination of AI-powered detection, internet-wide intelligence sharing, and proactive collaboration. As cyber threats become increasingly sophisticated, investing in quantum-resistant algorithms and cross-border threat intelligence will be crucial for maintaining an edge over attackers.
Organizations that invest in these strategies now will be best positioned to counter evolving DGA threats before they cause damage.
Conclusion
DGAs are a big challenge to cybersecurity as malware can communicate with C2 servers through dynamic domain generation. Knowing how DGAs work and using advanced detection methods - DNS traffic analysis, entropy analysis, and machine learning - is key to mitigating these threats.
DNS sinkholing, predictive blocklists, and Protective DNS help organizations anticipate attackers' moves and minimize exposure to DGA risks. A layered defense strategy is crucial for safeguarding networks against evolving threats.
Want to see how Hunt.io can help your organization identify malicious infrastructure? Book a demo today.
Domain Generation Algorithms (DGAs) are a powerful weapon in a cybercriminal's arsenal, enabling them to dodge detection by spawning random domain names endlessly. These domains are the communication hub between malware and command-and-control (C2) servers, making it hard for security to keep up.
Attackers leverage DGAs to generate thousands of domain names daily, making it nearly impossible for security teams to block them all. For example, the Conficker.C variant produces up to 50,000 domain names per day, overwhelming traditional domain-blocking mechanisms. Similarly, GameOver Zeus generates 1,000 new domains daily, ensuring a steady stream of potential communication channels for malware. This rapid domain cycling makes it difficult for defenders to take down malicious infrastructure before new domains replace the old ones.
The challenge with DGAs isn't just the volume of domains generated-it's also their unpredictability. Since each domain is algorithmically derived and often changes daily, security tools relying on static blocklists become ineffective. To keep up, defenders must shift to behavior-based detection models that analyze traffic patterns rather than just domain names.
Understanding how DGAs work is key to defending against them. Let's explore how attackers leverage them and what security teams can do to stop them.
What are Domain Generation Algorithms (DGAs)?
DGAs are programs that generate many domain names dynamically to be communication points for malware. These algorithms allow malware to stay connected to its controllers even if some of the domains are taken down. Notorious malware families like Necurs and Locky have utilized DGAs to maintain resilience, highlighting the widespread adoption of this technique.
Here's why DGAs are a problem:
Dynamic: DGAs can generate hundreds or thousands of domain names in a short period.
Resilience: If a domain is detected and blocked, new ones are generated to keep the operation going.
Legitimacy mimicry: Many DGA-generated domains are designed to look like real websites so they are harder to detect.
DGAs have evolved over the years to outsmart traditional security and are getting more sophisticated.
In earlier forms, DGAs followed simple patterns, making it easier to reverse-engineer their algorithms. However, modern DGAs employ more advanced cryptographic techniques, making them significantly harder to predict. Some even integrate machine learning to simulate human-like domain behavior, reducing the chances of being flagged as suspicious.
How DGAs Work
DGAs work by generating domain names at regular intervals to create domains so malware has a constant flow of communication with its C2 servers. The two methods DGAs use are pseudo-random generation and dictionary-based generation.
Detecting dynamically generated domains poses challenges due to the nature of malware and algorithm complexity, requiring methods like frequency analysis and machine learning techniques to effectively identify and mitigate the risks associated with DGA-generated domains.
Many malware strains employ fallback mechanisms to further evade detection. If one generated domain fails to connect, the malware simply moves on to the next one in its sequence.
Some DGAs even generate domains in multiple top-level domains (TLDs), increasing their chances of staying online.
Pseudo-Random Domain Generation
This method uses algorithms that use seeds (like timestamps) to generate dynamically generated domains. The same seed on both the attacker's and malware's side ensures matching domains, enabling seamless communication.
Consistency: The same seed means predictable domain matching.
Volume: Hundreds or thousands of domains can be generated at once, making it hard to block them all.
The downside of pseudo-random DGAs is that if defenders reverse-engineer the seed logic, they can predict future domains and block them before they become active.
This has led some attackers to integrate adaptive DGAs, which alter their domain-generation behavior dynamically based on environmental factors like network settings or geolocation.
Dictionary-Based Domain Generation
Dictionary-based DGAs generate domain names using predefined word lists. This makes the domains look legitimate and blend in with normal web traffic. For example, a dictionary-based DGA might generate domains like "myshoppingdeals.com" or "specialdiscount.net" which are not suspicious at all.
Because these domains mimic real-world naming conventions, they are far harder to detect using standard pattern-matching techniques. Security teams now rely on natural language processing (NLP) and AI-driven domain clustering to identify dictionary-based DGAs by analyzing unusual domain word pairings or frequency anomalies.
How Malware Uses DGAs to Hide Their Trails
Cybercriminals use DGAs to make their malware more resilient and harder to track. One of the tactics is domain fluxing where malware switches domains frequently to avoid detection. Blacklisting is ineffective with this constant rotation.
Advanced DGAs go a step further with techniques like pre-registering domains or using domain aging (letting domains gain credibility before using them). This gives attackers more chances to evade security systems.
Some malware campaigns use pre-seeded DGAs, where attackers register hundreds of domains in advance but delay activation to avoid early detection. By doing this, they ensure a steady supply of functional domains, making it even harder for security teams to disrupt their operations.
DGAs and Command-and-Control Servers
Command-and-Control Servers
DGAs create communication points between malware and C2 servers. These dynamic domains allow attackers to replace blocked domains quickly so their malware stays alive.
Botnets and Domain Fluxing
Botnets like Sock5Systemz use domain fluxing to communicate with C2 servers. This is an example of how some botnets rotate through a vast pool of domain names and IP addresses, making them nearly impossible for security teams to block.
Some botnets use fast-flux networks, where the IP address and domain name rotate constantly to avoid detection. This rapid switching makes it difficult for security teams to track and block malicious domains in real time.
Others rely on peer-to-peer (P2P) communication, where infected machines share updated C2 domains among themselves, eliminating the need for a central command server. This decentralization makes it nearly impossible to shut down a botnet without dismantling the entire network.
In some cases, malware strains combine fast flux and P2P techniques, making domain fluxing even more effective. Attackers can program DGAs to generate domains across multiple top-level domains (TLDs), further complicating detection and takedown efforts.
Security teams can detect DGA activity by analyzing DNS traffic patterns. However, the volume of domains generated by DGAs is a big problem.
Detection Techniques for DGAs
Let's now review some of the popular techniques used to detect DGA domains.
DNS Traffic Analysis
Monitoring DNS queries allows security teams to spot patterns of DGA activity, such as frequent queries to non-existent or rarely visited domains. Tools like Protective DNS can intercept these queries and block access to suspicious domains in real-time.
However, some DGAs introduce delayed domain resolution, where generated domains remain inactive for days or weeks before being used. This helps attackers avoid immediate detection and makes proactive blocking efforts more challenging.
Entropy and Frequency Analysis
Domains generated by DGAs often lack the structured, meaningful patterns found in legitimate websites, making entropy analysis an effective tool for spotting irregularities. Combining this with frequency analysis helps to detect the repetitive behavior of DGA-generated traffic.
In normal web traffic, domain names often follow predictable structures that align with human language patterns. For example, real domains typically contain readable words, brand names, or common abbreviations.
However, DGA-generated domains tend to have higher entropy, meaning they appear more random and lack linguistic coherence. By analyzing the level of randomness in domain names, security tools can flag those that deviate significantly from normal naming conventions.
Frequency analysis further strengthens detection. Since DGA domains are generated in bulk, they often appear in large clusters within DNS logs. Unusually high volumes of never-before-seen domain queries from a single device or network can be a strong indicator of malware activity.
Machine Learning and AI
Machine learning models can analyze historical DGA activity to detect patterns in domain generation. However, advanced DGAs can mimic legitimate domains, making detection models less effective without continuous retraining and threat intelligence updates.
One approach involves training deep learning models on datasets containing both legitimate and DGA-generated domains. By identifying key linguistic features and analyzing past attack patterns, these models can recognize malicious domains in real-time.
However, attackers are adapting. Adversarial DGAs now generate domains that closely resemble real ones, tricking detection models that rely solely on word structure. Some use context-aware naming patterns, integrating keywords related to financial services, healthcare, or news sites to appear legitimate.
As attackers evolve their tactics, security teams must refine AI models continuously, ensuring they don't just detect known threats but also anticipate future evasion techniques before they become widespread.
Frequent updates to AI models are necessary as attackers test new variations in real-time, seeking to exploit any gaps in detection.
How Can Organizations Defend Against DGAs?
A solid defense against DGAs requires multiple approaches:
DNS Sinkholing
This technique redirects malicious traffic to a controlled server, effectively cutting off malware from its C2 infrastructure. And the intercepted traffic gives us insights into the attackers' tactics.
Predictive Blocklists
Predictive blocklists use historical data to predict domains a DGA might generate. Predictive blocklists shorten the attackers' window of opportunity by staying ahead of potential threats.
Network Segmentation
By segmenting a network into smaller isolated areas, organizations can contain the spread of malware. Even if one segment is compromised, network segmentation ensures the rest of the system is protected.
Protective DNS
Protective DNS solutions analyze DNS queries in real time using machine learning and threat intelligence to block access to malicious domains. This is key to mitigating DGA risks.
Incident Response
Adding Protective DNS to an organization's incident response plan can help to detect and mitigate threats. For example, DNS sinkholing not only disrupts malware communication but also gives security teams intelligence to act on.
A proper incident response workflow for DGA-related threats includes:
Real-time DNS logging: Continuously monitor DNS queries to detect patterns associated with malware-generated domains.
Automated sinkholing: Redirect malicious traffic to controlled environments to cut off malware communication.
Threat intelligence updates: Share detected DGA indicators with security vendors and integrate them into firewalls and IDS/IPS solutions.
Post-incident review: Analyze DNS logs to identify if attackers modified their DGA algorithms, and update detection rules accordingly.
These steps ensure that when a DGA-powered attack is detected, security teams don't just block domains reactively-they analyze trends, predict future domains, and prevent further infections.
Legitimate Uses of DGAs
While DGAs are mostly associated with malicious activities, they have legitimate use cases. Companies use them:
For temporary domains for marketing campaigns.
For load balancing and traffic management.
Some VPN providers use DGAs to generate temporary routing domains, ensuring anonymity and avoiding detection by network filters. Another legitimate use of DGAs is in load testing, where they generate multiple domains to simulate real-world traffic spikes. This helps businesses stress-test their infrastructure and prepare for high-demand scenarios.
In addition, security teams use DGAs in controlled environments to simulate real-world cyber threats and test their defenses.
Some enterprise security tools also use DGAs for malware sandboxing, where they create temporary, isolated environments to analyze malicious code behavior. Since malware often relies on contacting hardcoded or DGA-generated domains, sandboxes can dynamically generate their temporary domains to observe how malware interacts with them.
Some security systems use dynamically generated URLs for one-time-use login portals, but DGAs do not typically power these. Instead, they use tokenized or time-sensitive links to enhance security. This technique reduces phishing risks by ensuring that even if an attacker intercepts a login link, the domain will be inactive before it can be exploited.
These use cases highlight how not all DGAs are inherently malicious-they can be powerful tools for improving cybersecurity when used in controlled environments.
Future of DGA Detection and Prevention
AI and machine learning have made DGA detection much better. Continuous updates to threat intelligence feeds keep defenses up to date with new threats.
Organizations that defend proactively with machine learning-based detection and predictive analytics will be better prepared for DGA threats in the future.
The future of DGA detection will likely involve real-time collaboration between cybersecurity vendors and domain registrars. By automating domain reputation scoring, security teams can preemptively block suspected DGA domains before they are weaponized.
As security tools improve at detecting traditional DGAs, attackers are expected to shift toward blockchain-based DGAs. Instead of generating domains within traditional DNS infrastructure, these DGAs could leverage decentralized blockchain registries, making takedowns much harder.
Some threat actors are already experimenting with domainless malware, where instead of using DGAs, malware retrieves C2 instructions from hidden messages in social media posts, public cloud storage, or even cryptocurrency transactions. These methods allow attackers to bypass traditional DNS-based monitoring entirely.
Staying ahead requires a combination of AI-powered detection, internet-wide intelligence sharing, and proactive collaboration. As cyber threats become increasingly sophisticated, investing in quantum-resistant algorithms and cross-border threat intelligence will be crucial for maintaining an edge over attackers.
Organizations that invest in these strategies now will be best positioned to counter evolving DGA threats before they cause damage.
Conclusion
DGAs are a big challenge to cybersecurity as malware can communicate with C2 servers through dynamic domain generation. Knowing how DGAs work and using advanced detection methods - DNS traffic analysis, entropy analysis, and machine learning - is key to mitigating these threats.
DNS sinkholing, predictive blocklists, and Protective DNS help organizations anticipate attackers' moves and minimize exposure to DGA risks. A layered defense strategy is crucial for safeguarding networks against evolving threats.
Want to see how Hunt.io can help your organization identify malicious infrastructure? Book a demo today.
Related Posts:
Threat Hunting Platform - Hunt.io
Products
Hunt Intelligence, Inc.
Threat Hunting Platform - Hunt.io
Products
Hunt Intelligence, Inc.
Threat Hunting Platform - Hunt.io
Products
Hunt Intelligence, Inc.