MAR-10338401-1.v1: Pulse Connect Secure
NotificationThis 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 http://www.cisa.gov/tlp. SummaryDescriptionFour files were submitted to CISA for analysis. Some of the files consist of shell scripts designed to modify a Pulse Secure Perl Common Gateway Interface (CGI) script file in place to become a webshell. The other files are designed to check, parse and decrypt incoming web request data. This analysis is derived from malicious files found on Pulse Connect Secure devices. For a downloadable copy of IOCs, see: MAR-10338401-1.v1.WHITE.stix. Submitted Files (4)49a243e7a7cccf0f4242a00827ff2da27ca0e268f2673b3f3569ec92745ca0c5 (loop8_VVIES_DSUpgrade.pm) 4e231b1525c4af04e8bf5dfc7de34a28f3441bc339130bf2a683e42b39953be2 (loop8_VVIES_compcheckjs.cgi) 6d96963c87a6682b7b3a050d7a4a4a827e1a0e115f83b550b7b424a0f6a7f392 (loop8_KX2GS_compcheckjs.cgi) 85dd35caf68e281b078530493559c6daf1b4ed84b55fad983a8319a397c9a1c9 (loop8_KX2GS_DSUpgrade.pm) Findings85dd35caf68e281b078530493559c6daf1b4ed84b55fad983a8319a397c9a1c9Tagswebshell Details
AntivirusNo matches found. YARA RulesNo matches found. ssdeep Matches
DescriptionThis file is a Pulse Secure Perl application that has been modified to add webshell script code into the content of the Pulse Secure Perl CGI script file "/root/home/webserver/htdocs/dana-na/licenseserver/licenseserverproto.cgi." The script contains the following patched in commented out code: --Begin Patched In Commented CGI Code-- The Pulse Secure Perl script also contains the following suspicious live / uncommented code. This code is designed to modify several Pulse Secure system files using the SED command as well as attempt to install code from within an archive named new-pack.tgz expected to be currently stored on the target system. --Begin Patched In Commented Code-- $ENV{"DSINSTALL_CLEAN"} = $clean; ##start_total This commented code is designed to present a web form to a remote operator, wherein the remote operator can enter commands that will be run locally on the target system. The commented code also has the capability to modify several Pulse Secure system files utilizing the SED command. 49a243e7a7cccf0f4242a00827ff2da27ca0e268f2673b3f3569ec92745ca0c5Tagswebshell Details
AntivirusNo matches found. YARA RulesNo matches found. ssdeep Matches
DescriptionThis file is a Pulse Secure PERL application with malicious CGI code patched in. Analysis indicates this commented code is designed to present a web form to a remote operator, wherein the remote operator can enter commands that will be run locally on the target system. The commented code also has the capability to modify several Pulse Secure system files utilizing the SED command. --Begin Patched In Commented Code-- ###cgistart1 ###cgistart2 --End Patched In Commented CGI Code-- The Pulse Secure Perl script also contains the following suspicious live / uncommented code. This code is designed to modify several Pulse Secure system files using the SED command as well as attempt to install code from within an archive named new-pack.tgz expected to be currently stored on the target system. --Begin Patched In Commented Code-- $ENV{"DSINSTALL_CLEAN"} = $clean; ##start_total 4e231b1525c4af04e8bf5dfc7de34a28f3441bc339130bf2a683e42b39953be2Tagswebshell Details
AntivirusNo matches found. YARA RulesNo matches found. ssdeep Matches
DescriptionThis file is a Pulse Secure CGI script that has been modified by a malicious actor. The modified CGI script file contains a webshell script designed to check for incoming web requests using the Hypertext Transfer Protocol (HTTP) POST method. If the requested data is found, the data will be verified against a hard-coded string value. If the values match, it will Base64 decode the data (the input command [CMD]) and then decrypt it using Rivest Cipher 4 (RC4). The RC4 key to decrypt is sent in the environment variable "HTTP_X_CNT". The decrypted data will then be executed on the target system and the commands return value sent to the actor will be RC4 encrypted and base64 encoded. The POST data and the key were not available for analysis. Displayed below is the code snippets used to check for incoming web requests and decrypt the requested data: --Begin Code Snippets-- $Main::win32_platform = $ENV{'HTTP_USER_AGENT'} =~ /Windows/ && 6d96963c87a6682b7b3a050d7a4a4a827e1a0e115f83b550b7b424a0f6a7f392Details
AntivirusNo matches found. YARA RulesNo matches found. ssdeep Matches
DescriptionThis file is a Pulse Secure CGI script that has been modified by a malicious actor. The modified CGI script file contains a webshell script designed to check for incoming web requests using the HTTP POST method. The same malicious script found in "loop8_KX2GS_compcheckjs.cgi" (4e231b1525c4af04e8bf5dfc7de34a28f3441bc339130bf2a683e42b39953be2), however, this file uses a different key. RecommendationsCISA 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.
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: https://us-cert.cisa.gov/forms/feedback/ Document FAQWhat 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 Service Desk. 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 www.cisa.gov. |
Summary
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;
}
Revisions
July 21, 2021: Initial Version