Quantcast
Channel: Cisco Talos Blog
Viewing all 2047 articles
Browse latest View live

New Ransomware Variant Compromises Systems Worldwide

$
0
0
Note: This blog post discusses active research by Talos into a new threat. This information should be considered preliminary and will be updated throughout the day.

Since the SamSam attacks that targeted US healthcare entities in March 2016, Talos has been concerned about the proliferation of ransomware via unpatched network vulnerabilities. In May 2017, WannaCry ransomware took advantage of a vulnerability in SMBv1 and spread like wildfire across the Internet.

Today a new malware variant has surfaced. Our current research leads us to believe that the sample leverages EternalBlue and WMI for lateral movement inside an affected network. This behavior is unlike WannaCry, as there does not appear to be an external scanning component. Additionally, there may also be a psexec vector that is also used to spread internally.

The identification of the initial vector has proven more challenging. Early reports of an email vector can not be confirmed. Based on observed in-the-wild behaviors, the lack of a known, viable external spreading mechanism and other research we believe it is possible that some infections may be associated with software update systems for a Ukrainian tax accounting package called MeDoc. This appears to have been confirmed by MeDoc. Talos continues to research the initial vector of this malware.

Snort rules that detect attempts to exploit MS17-010 have been available since April of 2017. Additionally, Talos has blacklisted known samples of this new ransomware variant in AMP.

Coverage


Open Source Snort Subscriber Rule Set customers can stay up to date by downloading the latest rule pack available for purchase on Snort.org.

NGIPS / Snort Rules

The following NGIPS / Snort rules detect this threat:
  • 42944 - OS-WINDOWS Microsoft Windows SMB remote code execution attempt
  • 42340 - OS-WINDOWS Microsoft Windows SMB anonymous session IPC share access attempt

The following NGIPS / Snort rules are also indicators of infection traffic:
  • 5718 - OS-WINDOWS Microsoft Windows SMB-DS Trans unicode Max Param/Count OS-WINDOWS attempt
  • 1917 - INDICATOR-SCAN UPnP service discover attempt
  • 42231 - FILE-OFFICE RTF url moniker COM file download attempt
  • 5730 - OS-WINDOWS Microsoft Windows SMB-DS Trans Max Param OS-WINDOWS attempt

AMP Coverage

  • W32.Ransomware.Petya.Talos

Vulnerability Spotlight: Dell Precision Optimizer and Invincea Vulnerabilities

$
0
0
Vulnerabilities discovered by Marcin ‘Icewall’ Noga of Cisco Talos.

Overview


Talos are releasing advisories for vulnerabilities in the Dell Precision Optimizer application service software, Invincea-X and Invincea Dell Protected Workspace. These packages are pre-installed on certain Dell systems. Vulnerabilities present in these applications could allow attackers to disable security mechanisms, escalate privileges and execute arbitrary code within the context of the application user.


Vulnerability Details

Privilege Escalation Vulnerability TALOS-2016-0256 (CVE-2016-9038)


This vulnerability is a double fetch in the SboxDrv.sys driver. The vulnerability is triggered by sending crafted data to the \Device\SandboxDriverApi device driver which is read/write accessible to everyone. A successful exploitation results in an arbitrary value written to kernel memory space, which can lead to local privilege escalation.

Known vulnerable: Invincea-X, Dell Protected Workspace 6.1.3-24058

More details can be found in the vulnerability report: TALOS-2016-0256.

Protection Bypass Vulnerability TALOS-2016-0246 (CVE-2016-8732)


Invincea Dell Protected Workspace is a security solution offered by Dell that seeks to provide enhanced protection for endpoints. Multiple security flaws exist within one of the driver components, ‘InvProtectDrv.sys’ that is included in version 5.1.1-22303 of this software. Due to weak restrictions on the driver communications channel, as well as insufficient validation, an attacker controlled application that is executed on an affected system could leverage this driver to effectively disable some of the protection mechanisms provided by the software.

Known vulnerable: Invincea, Dell Protected Workspace 5.1.1-22303
This vulnerability is fixed in the 6.3.0 release of the software.
More details can be found in the vulnerability report: TALOS-2016-2046.

Protection Bypass Vulnerability TALOS-2016-0247 (CVE-2017-2802)


During the start of ‘Dell PPO Service’, supplied by Dell Precision Optimizer application, the program “c:\Program Files\Dell\PPO\poaService.exe” loads the dll, “c:\Program Files\Dell\PPO\ati.dll”. This in turn attempts to load “atiadlxx.dll”, which is not present by default in the application directory. The program searches for an appropriately named dll in the directories specified by the PATH environment variable. If it finds a dll with the same name, it will load the dll into poaService.exe without checking the signature of the dll. This can lead to execution of arbitrary code if an attacker supplies a malicious dll of the correct name.

Dell has released an update to resolve this issue. All versions from v4.0 onwards are not vulnerable, for more information see: www.dell.com/optimizer.

Known vulnerable: Dell Precision Tower 5810 with nvidia graphic cards, PPO Policy Processing Engine (3.5.5.0), ati.dll (PPR Monitoring Plugin) (3.5.5.0).

More details can be found in the vulnerability report: TALOS-2016-2047.

Security Implications


Given that the Invincea Dell Protected Workspace is an application that is commonly deployed to secure workstations within high security environments, it is recommended that organizations using affected versions of this solution update to the latest version as quickly as possible to ensure that the protections provided by this software cannot be bypassed by an attacker. Organisations need to carefully consider the risks and benefits of software bundled with devices. Potentially, any software may contain exploitable vulnerabilities. Bundled software can provide usefully functionality, but if it is unused, allowing it to persist on devices exposes organisations to vulnerabilities without providing any benefits in return. As with any unused software, removing the software removes associated vulnerabilities and removes an additional package from patching schedules.

Coverage


The following Snort Rules detect attempts to exploit these vulnerabilities. Please note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For all current rule information, please refer to your FireSIGHT Management Center or Snort.org.

Snort Rules: 41306 - 41309, 41312 - 41313

The MeDoc Connection

$
0
0
This Post Authored by David Maynor, Aleksandar Nikolic, Matt Olney, and Yves Younan

Summary

The Nyetya attack was a destructive ransomware variant that affected many organizations inside of Ukraine and multinational corporations with operations in Ukraine. In cooperation with Cisco Advanced Services Incident Response, Talos identified several key aspects of the attack. The investigation found a supply chain-focused attack at M.E.Doc software that delivered a destructive payload disguised as ransomware. By utilizing stolen credentials, the actor was able to manipulate the update server for M.E.Doc to proxy connections to an actor-controlled server. Based on the findings, Talos remains confident that the attack was destructive in nature. The effects were broad reaching, with Ukraine Cyber police confirming over 2000 affected companies in Ukraine alone.


Details

For Talos, June 27th, 2017, started with a message from our intelligence partners in Ukraine.  A massive ransomware attack was underway, and they were asking for help.  An organized attacker had the means to deliver arbitrary code to users of the most popular accounting software in Ukraine, and that includes multinational corporations that do business there.  The actor in question chose to use this capability to encrypt critical files and hard drives, with no way to decrypt the software.

Since the BlackEnergy attacks of late 2015, Talos has worked with public and private organizations in Ukraine to respond to attacks in the region.  Once already this year, Talos has assisted organizations targeted by actors with destructive intent.  Interestingly, in those cases a wiper very similar to prior BlackEnergy malware was deployed and, when that was blocked by our Advanced Malware Protection (AMP) product, the actor fell back to using a ransomware variant in an attempt to disrupt the organization’s activities.  With this recent history in mind, we were immediately concerned that there was more to this story than just another ransomware attack.

Early on it became clear that, while a majority of the early events were in Ukraine, the malware was infecting organizations that didn’t immediately have any known connection to the country.  Because of the scale of the event, Talos initiated an internal response management system call TaCERS (Talos Critical Event Response System) and began the research and response process.  TaCERS divides up activities into intelligence, telemetry analysis, reverse engineering, communications and detection research.  Talos researchers and engineers from around the world came together to address this threat.

Based on endpoint telemetry, it was clear that a Ukranian accounting software package called “M.E.Doc” was at the center of activity. Like WannaCry, there were reports of an email vector.  This is most likely because some of the earliest infected machines had concurrent Lokibot infections with indications of an email vector for that malware. After careful research Talos concluded that for the delivery of the Nyetya malware, all installations came through the M.E.Doc update system.

M.E.Doc is a widely deployed accounting package created by a Ukrainian company named Intellect Service and that it was used to interact with Ukrainian tax systems.  At this point we were in a position to reach out to M.E.Doc directly and offer assistance.

M.E.Doc was quick to accept an offer of assistance.  As part of Cisco’s global response to this event, two incident response specialists from the Advanced Services group arrived in Ukraine on the evening of June 29th and an additional incident response specialist supported the investigation from the UK.  M.E.Doc was exceptionally open in arranging access to engineers and administrators who walked the team through the system and provided access to log files and code.  They also agreed to share the results of our investigation for the purposes of this report. 

In every Cisco incident response investigation, anywhere in the world, a dedicated Talos resource is made available to the incident response team to coordinate intelligence analysis, reverse engineering escalations and telemetry analysis activities.  The two teams work together constantly, and that experience was put to full use in this investigation.

Early in the investigation, a web shell was discovered at http://www.me-doc[.]com[.]ua/TESTUpdate/medoc_online.php.  The timestamp in the file was May 31 14:45 2017. Our analysis shows the webshell to be a slightly modified version of the open source PHP webshell PAS. The webshell is stored in an encrypted form and requires a passphrase set in a HTTP POST variable to decrypt. The decryption of the shell shows a fully featured PAS webshell. 


As the incident response team extracted logs and additional forensic data, it was uploaded to Talos.  This started a 24-hour cycle where at around 10am EDT, when it was evening in Ukraine, the Cisco incident response team would brief Talos on their findings and new data.  Then at 3am EDT, as Ukraine was getting to work, Talos would brief the Cisco incident response team on their overnight findings.
Almost immediately, indications of problems were found.  In the July 1st briefing, Talos identified key evidence in the logs:

8:57:46 AMusc-cert sshd[23183]: subsystem request for sftp
8:59:09 AMusc-cert su: BAD SU to root on /dev/pts/0
8:59:14 AMusc-cert su: to root on /dev/pts/0
9:09:20 AM[emerg] 23319#0: unknown directive "" in /usr/local/etc/nginx/nginx.conf:3
9:11:59 AM[emerg] 23376#0: location "/" is outside location "\.(ver|txt|exe|upd|rtf|cmnt)$" in /usr/local/etc/nginx/nginx.conf:136

An unknown actor had stolen the credentials of an administrator at M.E.Doc.  They logged into the server, acquired root privileges and then began modifying the configuration file for the NGINX web server.  We were unable to recover the nginx.conf file, as it was subsequently overwritten, but additional log files were important in understanding what was changed.  What we found were thousands of errors that looked like this:
[error] 23401#0: *374685644 upstream timed out (60: Operation timed out) while connecting to upstream, client: <REDACTED>, server: upd.me-doc.com.ua, request: "GET /last.ver?rnd=1b2eb092215b49f5b1d691b5c38e3a74 HTTP/1.1", upstream: "http://176.31.182[.]167:80/last.ver?rnd=1b2eb092215b49f5b1d691b5c38e3a74", host: "upd.me-doc.com.ua"
The NGINX server had been reconfigured so that any traffic to upd.me-doc.com.ua would be proxied through the update server and to a host in the OVH IP space with an IP of 176.31.182.167.  Subsequent investigation found that this server was operated by a reseller, thcservers.com, and that the server had been wiped the same day at 7:46 PM UTC.

When we compare the time of the first and last upstream error messages on the server to our in-field endpoint telemetry, we find that they bracket the beginning and the end of the active infection phase of the event.  The initial log message was at 9:11:59 UTC and the last message was seen at 12:31:12 UTC.  In our telemetry we see no new organizations infected outside of this timeframe.

We found one other piece of forensic evidence showing that the event concluded on or around 12:30 PM UTC.  The file timestamp for nginx.conf at the time we analyzed the servers was Jun 27th, 12:33 PM UTC.  The actor had returned the NGINX configuration to its original state at this time.  There is only one other indicator to share, which was a Latvian IP address that disconnected from the system at 2:11:07 PM UTC:
Received disconnect from 159.148.186.214: 11: FlowSshClientSession: disconnected on user's request
M.E.Doc confirms that neither the OVH server nor the Latvian IP address have any association with M.E.Doc.

At this point we understood that the actor in question had access to much of the network and many of the systems of M.E.Doc through compromised credentials.  The questions remaining were:  What were they doing with control of the upgrade server?  How were they delivering the malicious software?

While we didn’t know it at the time, we can now confirm ESET’s research into the backdoor that had been inserted into the M.E.Doc software.  The .net code in ZvitPublishedObjects.dll had been modified on multiple occasions to allow for a malicious actor to gather data and download and execute arbitrary code:

DateM.E.Doc Update Version
4/14/201710.01.175-10.01.176
5/15/201710.01.180-10.01.181
6/22/201710.01.188-10.01.189

Looking further back in the logs provided by M.E.Doc, we could see the same “upstream” activity on June 22nd.  Unfortunately, we do not have logs available for May or April, but it is reasonable to assume similar behavior occurs back through those dates as well.
Timeline


ZvitPublishedObjects.dll Backdoor Analysis

The backdoor was added to the ZvitPublishedObjects.Server.UpdaterUtils.IsNewUpdate function in ZvitPublishedObjects.dll:
Between lines 278 and 279 on the left, we can see on the right that code was added to retrieve every organization’s EDRPOU and name. Then it creates a new MeCom object and a thread for it which will contact http://upd.me-doc[.]com.ua/last.ver?rnd=<GUID> every 2 minutes. It will also send any replies to this URL.

If a proxy has been configured, when the MeCom object is created at line 288 on the right, it proceeds to retrieve the proxy’s host, port, username and password:
It then retrieves the SMTP host, username, password and email address for every organization in the application’s database:
It also writes the previously collected proxy info to a registry key: HKCU\SOFTWARE\WC. It stores the proxy username and password in the “Cred” subkey and the full proxy information in “Prx”.

At line 294 in IsNewUpdate is a call to meCom.CreateMeainThread.  The code creates a thread that performs the “MainAction”. This thread will continuously query the request URL (http://upd.me-doc[.]com.ua/last.ver?rnd=<GUID>) looking for commands and will then start a new thread per command to execute, waiting a maximum of 10 minutes for the thread to complete. It will then send back the result of the thread to the response url, which in this case is the same as the request URL: http://upd.me-doc[.]com.ua/last.ver?rnd=<GUID>.

The GetCommandsAndPeriod function will retrieve the commands from the web request:
When sending the request, it will pass along in cookies the EDRPOU and the username that the program is running as. From the response, it will read the first 8 bytes as the initialization vector for the encryption. The rest of the data is encrypted with the TripleDes using a 24-character key: \x00 to \x17 (i.e. characters 0 to 23). It will decrypt, decompress and deserialize the commands it has to execute. It will also retrieve information on how long it should wait until the next time it goes to ask for commands (this was originally set to 2 minutes when the object was created). 
SendAnswer will send multiple web requests with a maximum of 2048 bytes each, with the result of the executed command stored in cookies. It will encrypt this data the same way as the received commands, using a random 8-byte IV and the 24-character key 0-23.

These are the encryption and decryption functions:
Finally, the Worker object (see Line 372 of MainFunction) handles executing the commands. There are a total of 6 commands that Worker can execute.

This appears to be the mechanism used for delivering the Nyetya malware.  The command line arguments perfectly match what was observed in endpoint telemetry when M.E.Doc machines executed the initial sample.
Detail of Commands

What Now?

First we need to put together everything we know.  In the past Talos has observed an actor specifically targeting Ukrainian institutions attempt to use the BlackEnergy wiper malware and, when that attempt was blocked, fall back to using a ransomware variant as an acceptable replacement for a wiper.  We’ve also already documented in our previous blog that “Given the circumstances of this attack, Talos assesses with high confidence that the intent of the actor behind Nyetya was destructive in nature and not economically motivated.”  Finally, now that we can confirm that M.E.Doc was the installation vector, we can assess that the targets for this attack were Ukraine and those organizations that chose to conduct business with Ukraine.

Our Threat Intelligence and Interdiction team is concerned that the actor in question burned a significant capability in this attack.  They have now compromised both their backdoor in the M.E.Doc software and their ability to manipulate the server configuration in the update server.

In short, the actor has given up the ability to deliver arbitrary code to the 80% of UA businesses that use M.E.Doc as their accounting software, along with any multinational corporations that leveraged the software.  This is a significant loss in operational capability, and the Threat Intelligence and Interdiction team assesses with moderate confidence that it is unlikely that they would have expended this capability without confidence that they now have or can easily obtain similar capability in target networks of highest priority to the threat actor.

Based on this, Talos is advising that any organization with ties to Ukraine treat software like M.E.Doc and systems in Ukraine with extra caution since they have been shown to be targeted by advanced threat actors.  This includes providing them a separate network architecture, increased monitoring and hunting activities in those at-risk systems and networks and allowing only the level of access absolutely necessary to conduct business.  Patching and upgrades should be prioritized on these systems and customers should move to transition these systems to Windows 10, following the guidance from Microsoft on securing those systems.  Additional guidance for network security baselining is available from Cisco as well.  Network IPS should be deployed on connections between international organizations and their Ukrainian branches and endpoint protection should be installed immediately on all Ukrainian systems.

Talos places this attack in the supply-chain category.  Rather than targeting organizations directly, an actor compromises trusted hardware and software vendors to deliver compromised assets to a high-priority environment.  We believe that these types of malicious capabilities are highly desired by sophisticated actors.  All vendors, regardless of size or geographic region, must be increasingly vigilant.  Find out more about how Cisco assures the integrity of their products here

For further coverage of the Nyetya incident, please refer to our previous blog post.

Indicators of Compromise

SHA256

M.E.Doc ZvitPublishedObjects.dll files with backdoor:

  • f9d6fe8bd8aca6528dec7eaa9f1aafbecde15fd61668182f2ba8a7fc2b9a6740
  • d462966166450416d6addd3bfdf48590f8440dd80fc571a389023b7c860ca3ac
  • 2fd2863d711a1f18eeee5c7c82f2349c5d4e00465de9789da837fcdca4d00277

Nyetya Malware:

  • 027cc450ef5f8c5f653329641ec1fed91f694e0d229928963b30f6b0d7d3a745
  • 02ef73bd2458627ed7b397ec26ee2de2e92c71a0e7588f78734761d8edbdcd9f
  • eae9771e2eeb7ea3c6059485da39e77b8c0c369232f01334954fbac1c186c998

Malicious IP Addresses:

  • 176.31.182[.]167
  • 159.148.186[.]214

AMP Coverage

  • W32.Ransomware.Nyetya.Talos
  • W32.F9D6FE8BD8.Backdoor.Ransomware.Nyetya.Talos
  • W32.D462966166.Backdoor.Ransomware.Nyetya.Talos
  • W32.2FD2863D71.Backdoor.Ransomware.Nyetya.Talos
  • W32.02EF73BD24-95.SBX.TG
  • W32.GenericKD:Petya.20h1.1201

New KONNI Campaign References North Korean Missile Capabilities

$
0
0
This blog was authored by Paul Rascagneres

Executive Summary


We recently wrote about the KONNI Remote Access Trojan (RAT) which has been distributed by a small number of campaigns over the past 3 years. We have identified a new distribution campaign which took place on 4th July. The malware used in this campaign has similar features to that distributed earlier in 2017 with the following changes:
  • A new decoy document copy/pasted from an article published on the 3rd of July by Yonhap News Agency in Korea;
  • The dropper includes a 64 bit version of KONNI;
  • A new CC infrastructure consisting of a climbing club website.
North Korea conducted a test missile launch on 3rd July. This campaign appears to be directly related to the launch and the ensuing discussion of North Korean missile technology. This is consistent with previous KONNI distribution campaigns which have also frequently mentioned North Korea.


"N.K. marks anniversary of strategic force, touting missile capabilities" campaign


We identified an executable file, SHA-256 hash sum: 33f828ad462c414b149f14f16615ce25bd078630eee36ad953950e0da2e2cc90, which when opened displays the following Office document:

The content of the document is a copy/pasted from an article published on July 3rd by Yonhap News Agency in Korea. In addition to displaying this document, the malicious executable also drops 2 different versions of KONNI:
C:\Users\Users\AppData\Local\MFAData\event\eventlog.dll (64 bit)
C:\Users\Users\AppData\Local\MFAData\event\errorevent.dll (32 bit)
On 64 bit versions of Windows, both files are dropped; on 32 bit versions of Windows, only errorevent.dll, the 32 bit version is dropped. Unlike previous campaigns, both binaries are packed with ASPack. In both cases, the dropped malware is immediately executed via rundll32.exe with one of the following registry keys created to ensure that the malware persists and is executed on rebooting the compromised system:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\RTHDVCPE
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\RTHDVCP
This attack uses a new Command & Control infrastructure hosted on the following domain:

  • member-daumchk[.]netai[.]net

The CnC traffic of KONNI takes place as HTTP post requests to web pages hosted as /weget/download.php, /weget/uploadtm.php or /weget/upload.php on the domain itself.

The attackers have gone to some effort to disguise the website as a legitimate climbing club.

Here is a screenshot of the website:

However, the website does not contain real text, only the default text of the Content Management System (CMS).

Additionally, the website contains a contacts section with an address in USA, but the map below the address is in Korean and points to a location in Seoul, South Korea:

Conclusion


The KONNI malware distributed as part of this campaign is similar to previous versions that we have identified this year. The attackers have added a 64 bit version and used a packer to complicate analysis. This campaign is directly related to current events and is clearly 'fresh'. The binary was compiled on July 4th, the decoy document was published on July 3rd.

The threat actors associated with KONNI typically use decoy documents relating to North Korea, and this campaign is no exception. However, in contrast to the convincing decoy document lifted from a third party, the content of the decoy website hosted on the CnC server does not look legitimate. The text content is not consistent with the website navigation, and the contacts page contains a mis-match of a US address with a Korean map.

Nevertheless, this threat actor continues to remain active, and continues to develop updated versions of their malware. Organisations which may have an interest in the contents of this decoy document, and that used in previous campaigns should ensure that they are adequately protected against this and subsequent campaigns.

Coverage


Additional ways our customers can detect and block this threat are listed below.

Advanced Malware Protection (AMP) is ideally suited to prevent the execution of the malware used by these threat actors.

CWS or WSA web scanning prevents access to malicious websites and detects malware used in these attacks.

Email Security can block malicious emails sent by threat actors as part of their campaign.

The Network Security protection of IPS and NGFW have up-to-date signatures to detect malicious network activity by threat actors.

AMP Threat Grid helps identify malicious binaries and build protection into all Cisco Security products.

Umbrella, our secure internet gateway (SIG), blocks users from connecting to malicious domains, IPs, and URLs, whether users are on or off the corporate network

IOC

File hashes

  • Dropper: 33f828ad462c414b149f14f16615ce25bd078630eee36ad953950e0da2e2cc90
  • 32 Bits binary: 290b1e2415f88fc3dd1d53db3ba90c4a760cf645526c8240af650751b1652b8a
  • 64 bits binary: 8aef427aba54581f9c3dc923d8464a92b2d4e83cdf0fd6ace00e8035ee2936ad

Network

  • Member-daumchk[.]netai[.]net

Vulnerability Spotlight: TALOS-2017-0311,0319,0321 - Multiple Remote Code Execution Vulnerability in Poppler PDF library

$
0
0
Vulnerability discovered by Marcin Noga, Lilith Wyatt and Aleksandar Nikolic of Cisco Talos.

Overview

Talos has discovered multiple vulnerabilities in the freedesktop.org Poppler PDF library. Exploiting these vulnerabilities can allow an attacker to gain full control over the victim's machine. If an attacker builds a specially crafted PDF document and the victim opens it, the attackers code will be executed with the privileges of the local user.


Details

Poppler is a shared library for displaying PDF files, used as middleware within different enterprise and open source solutions (e.g. Gimp). It is forked off from XPDF and is a complete implementation of the PDF ISO standard. Talos identified three remote code execution vulnerabilities in the Poppler library.

TALOS-2017-0311 / CVE-2017-2814 - Poppler PDF Image Display DCTStream::readScan() Code Execution Vulnerability

An exploitable heap overflow vulnerability exists in the image rendering functionality of Poppler-0.53.0. A specifically crafted PDF can cause an image resizing after allocation has already occurred, resulting in a heap corruption triggered in the DCTStream::readScan() function. This can lead to code execution with the local user rights.

TALOS-2017-0319 / CVE-2017-2818 - Poppler PDF Image Display DCTStream::readProgressiveSOF() Code Execution Vulnerability

Talos found an exploitable heap overflow vulnerability in the image rendering functionality of Poppler-0.53.0. A specifically crafted PDF can cause an overly large number of color components during image rendering, resulting in a heap corruption. This can be used by an attacker to craft a PDF file that executes malicious code on the victim's computer with the rights of the local user.

This vulnerability was formerly found (CVE-2005-3627), with a fix applied to DCTStream::readBaselineSOF, however the bug was missed in the readProgressiveSOF function.

TALOS-2017-0321 / CVE-2017-2820 - Poppler PDF library JPEG2000 levels Code Execution Vulnerability

Talos discovered an exploitable integer overflow vulnerability in the JPEG 2000 image parsing functionality of the Poppler 0.53.0 library. An attacker can build a specially crafted PDF file that uses this bug to trigger an integer overflow. Later in the code execution flow, this can lead to memory getting overwritten on the heap resulting in a potential arbitrary code execution with the rights of the local user. Like with the other two vulnerabilities before, a victim must open the malicious PDF in an application using this library to exploit this vulnerability. One example of a vulnerable application is the default PDF reader Evince, shipped with the latest version of Ubuntu Linux.

Additional Notes

We would like to highlight that TALOS-2017-0311 and TALOS-2017-0321 are in Poppler's internal, unmaintained JPEG and JPEG2000 decoders which shouldn't ever be used. Even Poppler’s documentation strongly suggests not using them. It is highly recommended to build the Poppler library with more robust and up to date external implementations such as libjpeg and openjpeg. However, Ubuntu does not do this by default for JPEG2000 and will use the unmaintained code, thus making Ubuntu-compiled versions vulnerable to these issues.

Talos is seeing client side attacks based on malicious PDF files on a daily base. If your company is using a Popper based application, it is possible that an attacker could use one of these vulnerabilities against it in a targeted attack. This shows how important it is to keep all applications up to date and not only the operation system.

More technical details can be found in the Talos Vulnerability Reports: 

Coverage

The following Snort Rules will detect exploitation attempts of this vulnerability. Note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For the most current rule information, please refer to your FireSIGHT Management Center or Snort.org

Snort rules:  42273-42274, 42319 - 42320 , 42352-42353

Threat Round-up for June 30 - July 07

$
0
0
Today, Talos is publishing a glimpse into the most prevalent threats we've observed between June 30 and July 07. As with previous round-ups, this post isn't meant to be an in-depth analysis. Instead, this post will summarize the threats we've observed by highlighting key behavior characteristics, indicators of compromise, and how our customers are automatically protected from these threats.

As a reminder, the information provided for the following threats in this post is non-exhaustive and current as of date of publication. Detection and coverage for the following threats is subject to updates pending additional threat or vulnerability analysis. For the most current information, please refer to your FireSIGHT Management Center, Snort.org, or ClamAV.net.

This week's most prevalent threats are:

  • Doc.Downloader.Generic-6332126-0
    Downloader
    This breed of document downloaders was discovered after following a lead on a Zbot downloader. They rely on slight obfuscations to the OOXML format that still allows for successful loading in Microsoft Word, yet prevents successful runs in select sandbox environments. They also depend on highly obfuscated JS code within a CDF binary contained within the sample itself. Most of the samples rely on repeated use of hex string concatenation, further preventing static analysis of the code.
     
  • Doc.Dropper.Agent-6332127-0
    Office Macro Downloader
    This is an obfuscated Office Macro downloader that leverages Powershell to download a malicious executable payload. The host that these samples attempt to download the next stage from currently does not resolve.
     
  • Doc.Macro.Obfuscation-6331107-0
    Office Macro
    Malware authors will attempt to obfuscate the macro code saved inside Office documents to prevent detection or to hide the intent of the code at first glance. This signature detects a recent widely used technique to hide code by using many arithmetic operations.
     
  • Win.Phishing.NikoLata-6332081-0
    Web scam phishing
    The NikoLata application repeatedly opens browser windows to the maliciously controlled redirect http://bigpicturepop[.]com/redirect/57a764d042bf8 on the benign site bigpicturepop[.]com. These redirects have been seen resolving to pornographic sites, multiple tech scammer sites, and others.
     
  • Win.Ransomware.Nyetya-6331387-0
    Ransomware
    Nyetya is wormable destructive malware that spreads via Psexec, WMI, and the SMB exploits EternalBlue and EternalRomance. Read more about it on our blog http://blog.talosintelligence.com/2017/06/worldwide-ransomware-variant.html and http://blog.talosintelligence.com/2017/07/the-medoc-connection.html.
     
  • Win.Trojan.Fileinfector-67
    Worm
    Win.Trojan.Fileinfector-67 is a file infector that will spread itself by injecting its code into any kind of file in the filesystem.
     
  • Win.Trojan.Fynloski-6332091-0
    Trojan
    Fynloski is a trojan which can be used to deliver other malware to infected computers. These samples are self-extracting cab archives, and the dropped binaries are further obfuscated. The actual code is unpacked on the stack with mov instructions.
     
  • Win.Trojan.Siggen-6261194-0
    Trojan
    This is a .Net malware and it has anti-vm tricks. It injects itself in another process and tries to contact CnC servers if the victim computer has network connectivity and it is not an instrumented environment.
     

Threats

Doc.Downloader.Generic-6332126-0


Indicators of Compromise


Registry Keys
  • N/A
Mutexes
  • Local\10MU_ACBPIDS_S-1-5-5-0-61147
  • Local\10MU_ACBPIDS_S-1-5-5-0-58021
  • \Sessions\1\BaseNamedObjects\Local\10MU_ACBPIDS_S-1-5-5-0-59580
IP Addresses
  • 119[.]28[.]71[.]78
  • 109[.]86[.]76[.]58
  • 37[.]115[.]165[.]159
Domain Names
  • hoefnen[.]xyz
  • berasadot[.]top
  • bagrati[.]top
  • page[.]numberx[.]org
  • au[.]forestllc[.]org
Files and or directories created
  • %TEMP%\iio322171.uu
  • %AppData%\Microsoft\Windows\Temporary Internet Files\Content.IE5\7N5LGTOO\lsmkk2[1].exe
  • %AppData%\Microsoft\Office\Recent\account_3166.LNK
  • %AppData%\Microsoft\Office\Recent\statement_d0bwfa.LNK
  • %AppData%\Microsoft\Templates\~$Normal.dotm
File Hashes
  • a825d66cf2dbc9d745ef75837b68adee35aac2620e6933876d7662bf1f815a90
  • ed62f5e6c396940a455a82a7a1864ac696fb00e576631b3293ec53bb4292700d
  • 5788dbf3fef2fbf8f4dbe3edfe8ddc955c9741f6d7287f5d7427d0df53275108
  • e2c4800a2a925ef71fe173269fe237bd2a43706e897c2de59f96ad5064a2389e
  • bf544987ac6ee03cb089d54fac8c885bb4c02ef709576f46890d51335a15bef1
  • 542abc75b0bba97deafa82b3424afb98beee71d71599345e659038a7dc969219

Coverage


Screenshots of Detection

 

AMP


ThreatGrid


Umbrella


Screenshot






Doc.Dropper.Agent-6332127-0


Indicators of Compromise


Registry Keys
  • N/A
Mutexes
  • N/A
IP Addresses
  • 77[.]123[.]218[.]185
Domain Names
  • aninasmeesmase[.]com
  • iitttyense[.]com
  • monenanshca[.]com
  • onasnenekaskeeee[.]com
  • iianem[.]com
  • mmmzmzlll[.]com
  • oppasnndnew[.]com
  • tranasportnmme[.]com
  • uuunasn[.]com
Files and or directories created
  • \TEMP\request.doc
  • \TEMP\~$equest.doc
  • \Documents and Settings\Administrator\Recent\request.lnk
  • %AppData%\alnyliz.exe
File Hashes
  • 17d6dc47409d9a49ff9e0af92088213e1fe7d8cac1f69d73892d229b76395c43
  • 4daaadac1d8dfa337f8e13cff2e3af24cbe6aa97877f3cec1e140507e9f20f19
  • 53e6613c677e5498367a85b43569c81fd4d6d8c211ace257749a7c4f49bdf632
  • 8f6515daea52d6b0e02b113f0357801d55f7d74dc113ab76055ad835ede11002
  • 943ea63228ffb638ad4179ea79531d282ecf01e4d58764eb7bb0c3329a82b1ea
  • 97597a498ab5b13b1fe3cb52e41eee108d91364b31895f896c884c36e28e0d59
  • a0ccac6ea86fcdbae485abbf7f4374591ae4617cc78b09cb2e13657ad45a9b7e
  • dad0a717b8fe07b9fc60d7a31deff159814c1c33702256a23e882bac0b50e94a
  • df159704ed213a2f6ebf4087006acd2502aecc586b6828ae5222688cf9c20745

Coverage


Screenshots of Detection

 

AMP


ThreatGrid


Umbrella


Doc.Macro.Obfuscation-6331107-0


Indicators of Compromise


Registry Keys
  • N/A
Mutexes
  • N/A
IP Addresses
  • 185[.]165[.]29[.]36
Domain Names
  • N/A
Files and or directories created
  • \Users\Administrator\Documents\20170705\PowerShell_transcript.PC.0WdK03OL.20170705095145.txt
File Hashes
  • 7ffb78b5dee7b2d48155236daaea99b9887ff61ec107d48a2522c951795f3353
  • af89ebcecc2478cb5f90696aa75aaa3dca27c4928265b4b6833e95b5672d7a0a
  • 1a3bd5acc39ff619417fc217786f8b6338348a1f5eda994cbd03a5d014d351b8
  • 8db59629e0b972ca9aa4da3dd56278340dc1f4ad7849e536bd2a1dc2c8ec59ff
  • 1e56463b3aebc9fdf435ca3910a7db4e5a1c9f7b6568da5ced62b2451345eb68
  • 0696df98c9074fc4c05454149e9a9ce7f3bfec9d19852691a49919027aa2be05
  • 01d024ae353d2c4349fb13bfff1417e77ee2f85c75834f91762f80ca1d25a0c9
  • f38d35b8be18d3efe2394929184ad41e9e7c1f699bbc5cdebc4783b159075c66
  • c5ceecdc491077b8db797d1c65eed03efed8ea28cd0ee5d0926e3fa591920426
  • 441e093374df7b806bf883d564810c8733b5f664add7baa4a8b7df6c49b04dcf
  • 403589bd4b2c275564aac4382800eaf5836ff61817ddb76afb9b7c7f24b0c0e9
  • ef4685089d285ce677bc2aa2f2490dd25120d2af19fb6d2570adb03f0a5a3e7a
  • 1d7bd5817b240a053cac0c6b3af1d848ed4b03e6bd334bd2e040800215d8d601
  • dc4c028949fdd43c7d67fe085e4c85a62633a38e49a510e71d41270008fd29fa
  • c07cdfd59b7ea1bdd2a6e267df60300bf23b1888f0582ef050946d0cba571f08
  • 6cea69fa05cbf2a0db2ca40684ccbf3e4ea4744f5f6ae27655871d35cc6c85bd
  • ec988f1b09c617c1b609e25aea76e7afa871bb2188accd75f3dd24d0834c5c47
  • 29013332f09195261f8be7fd43674e4e5132a28744ed52a45d787646a6e8659f
  • c30d4d4b41d7f690762ef26ffdbf14c7eff7ce92e7b8cfa87f5182bb057f05a2
  • ee97cf5279ca40e5e3d879f4a8e0fdec6b3a5fb7547ece74252c72419df0a6fd
  • 877107ecf0a698fad3a210289777dc647650c493f11cb384044a879efb3f16fb
  • 123abdbf3c470dde32d7cbfa97e0393eaf602a3befa8050dfe8738a1c4b14768
  • 124e908d1670ede9541b4f0ed6376dd03c62d1cf7b0ff22943a7fa3be90ce238
  • ff7706bdd749accba1ea5c49903fb200af7fb3edf3e95d5f9686e78ec699847e
  • 470918fd1ed47e4454af807c3b14b55314cb07a86d053ff83f3233628f08bd8e

Coverage


Screenshots of Detection

 

AMP


ThreatGrid


Umbrella

Screenshot



Win.Phishing.NikoLata-6332081-0


Indicators of Compromise


Registry Keys
  • N/A
Mutexes
  • N/A
IP Addresses
  • 176[.]31[.]115[.]114
Domain Names
  • bigpicturepop[.]com
Files and or directories created
  • N/A
File Hashes
  • 0033e8aa040b150f10aae632940f5e975fdd8c9f3c50e3390655c4098a41a4a0
  • 0899df6fe90b23914cf7bfaabf5b52eb61565f529006e1f8ae5c1c3603eb9120
  • 0a222dac8daabd8f2ba8825519ad65916f88ad194caf3a0bde754cf49bc41699
  • 102113176eeb0d8b170adda4fe1fc531d54bc8b8faa8aa0cbc8968acc478d2ee
  • 237fdfef4a1dc47ebf3119ba0f16ea6f780acab50d964816f1d00c7340246366
  • 338dcfc2a8933338210abb98144ec4d50907130b24c59b00307d1e37e89eeaab
  • 34d135535a27eb46f4eefb5c62cf98f86a246cb1b8328206e300667e149d5e20
  • 3727278e0326aa8726e8320d75b2224b601d575e49147befec4089fde72c8b6c
  • 378be621adbd9655c1e8f439134b99da4eecddf41b09f3484496663cc2ea393f
  • 3cb106ce8f4015abe7b2789f2675b5b4dc266b8c976bb79b4a9e50599ab822ba
  • 466f3aaa5c69515cfeb0900d4c0487aa2c1e12fcc8d8bf2ed730ca56a22943ca
  • 49e513841ef91b0b3cb3d58fe1d7e2c75373800c7c5062653905126bd1c586e3
  • 61d79e963c2f1762920d1c8729d0e604cae6050cfc36bddc309fb9ffbecc0182
  • 713353bc597075e577b738f843e9372444f8ed0010efc11ff80303dc9656f96b
  • 7bb0b281ee6cd0d0859c51c4866528c1de8d36a337ef8449bde7422da6e7b908
  • 857699fe734788e94f2fa7bf025211426c44aa065143ab98b55ab2864424fb8d
  • 8fa890ae7063262b8092da0fff281cb11b633dd83e1f228351d187a07e51c248
  • 90d993829351a41644966a191100eb7971c7fc886dfdcb2c023e6c7fb43900f9
  • 9a60e3fc1c6e903f089b56c852b050f04dcbab6adf0bd44215e310b0b2663de6
  • a41812691e197802b49cf1c6b1fcbf7d4f933a87032f3edd22e9e003749c5f21
  • a7c803f8e2d17980b71ee3e895953e699da2cf316a70b1f76d5279f0af433235
  • b1a0201a3d9529d966509111e6704f4bda521e26fc8142345e3f61712a64df55
  • baf999647eb654bda2447ab3f017e634813fa3b01a656bda998178d17cfd0c1c
  • bdb1b6aef20ec375f6f85c4f19a0d04228287e59dccbc72aaa79df1b9cbf9fc8
  • c16b026d16e9ef8574dbb1e0f92b802ffb19ccb41cfe957246ffeba98b82f3df
  • cb3f34148beb2763a71b1727916490ac9e8825a68f60c296ebd98c4ec7bbfb6c
  • cb891c0462de4eb8aa98c0af2ca4c70ea3e8ceb5f804af9c4b3a01abcfef82c9
  • cdb21c6a6a47a508b5bf05f1f4e49b1a550cacec2452657fb9f094b2f0de9890
  • ce397649edb82756667a63c26de24373992b84bbc4cf80353f5117876acebb2d
  • eb024d54b61073e674d06c53fdc1523156d75268eaf9aff20070364df4ab0760
  • ef509c6ac1fae60d57f773e4087b0412d3f08edbb19dc93218b183724bd64d83
  • f1adbdee86076c202ab5d5783c9e8d5873b76a88a86a81ad10c275884303eaff

Coverage


Screenshots of Detection

 

AMP

ThreatGrid


Umbrella


Screenshot



Win.Ransomware.Nyetya-6331387-0


Indicators of Compromise


Registry Keys
  • N/A
Mutexes
  • N/A
IP Addresses
  • N/A
Domain Names
  • N/A
Files and or directories created
  • %SystemDrive%\WINDOWS\perfc.dat
File Hashes
  • 027cc450ef5f8c5f653329641ec1fed91f694e0d229928963b30f6b0d7d3a745
  • eae9771e2eeb7ea3c6059485da39e77b8c0c369232f01334954fbac1c186c998
  • 02ef73bd2458627ed7b397ec26ee2de2e92c71a0e7588f78734761d8edbdcd9f

Coverage


Screenshots of Detection

 

AMP


ThreatGrid


Screenshot


Win.Trojan.Fileinfector-67


Indicators of Compromise


Registry Keys
  • N/A
Mutexes
  • N/A
IP Addresses
  • N/A
Domain Names
  • N/A
Files and or directories created
  • %SystemDrive%\c2d124b8466cec6b3e47c4\i386\mxdwdrv.dll
  • %AppData%\Adobe\Acrobat\11.0\Security\directories.acrodata
  • %AppData%\Adobe\Acrobat\8.0\AdobeSysFnt08.lst
  • %CommonProgramFiles%\Microsoft Shared\Filters\VISFILT.DLL
  • %SystemDrive%\AUTOEXEC.BAT
  • %System32%\wdi\LogFiles\WdiContextLog.etl.001
  • %SystemDrive%\CONFIG.SYS
  • %AppData%\Adobe\Acrobat\10.0\Security\CRLCache\48B76449F3D5FEFA1133AA805E420F0FCA643651.crl
  • %AppData%\Adobe\Acrobat\11.0\JSCache\GlobData
  • %SystemDrive%\c2d124b8466cec6b3e47c4\amd64\msxpsinc.gpd
  • %AppData%\Adobe\Acrobat\11.0\Security\CRLCache\A9B8213768ADC68AF64FCC6409E8BE414726687F.crl
  • %SystemDrive%\c2d124b8466cec6b3e47c4\i386\filterpipelineprintproc.dll
  • %AppData%\Adobe\Acrobat\11.0\JSCache\GlobSettings
  • %AppData%\Adobe\Acrobat\10.0\Security\addressbook.acrodata
  • %SystemDrive%\c2d124b8466cec6b3e47c4\i386\xpssvcs.dll
  • %AppData%\Adobe\Acrobat\7.0\Updater\udstore.js
  • %AppData%\Adobe\Acrobat\7.0\UserCache.bin
  • %AppData%\Adobe\Acrobat\10.0\ReaderMessages
  • %AppData%\Adobe\Acrobat\11.0\TMDocs.sav
  • %AppData%\Adobe\Acrobat\11.0\assets\assets-140109170701Z-78340
  • %AppData%\Adobe\Acrobat\7.0\Collab\RSS
  • %SystemDrive%\c2d124b8466cec6b3e47c4\i386\msxpsdrv.inf
  • %AppData%\Adobe\Acrobat\11.0\TMGrpPrm.sav
  • %AppData%\Adobe\Acrobat\10.0\JavaScripts\glob.settings.js
  • %AppData%\Adobe\Acrobat\8.0\Preferences\AutoFillDefaults.dat
  • %AppData%\Adobe\Acrobat\8.0\Synchronizer\adobesynchronizersu80
  • %AppData%\Adobe\Acrobat\8.0\AdobeCMapFnt08.lst
  • %CommonProgramFiles%\Microsoft Shared\Filters\msgfilt.dll
File Hashes
  • 414d5a6eb59a5597774e3e69ead25ac64e5c5805d899886fc4c53ed0e4b1960d
  • f9f0449bd2187f8a69a2e8a2eebae77c45d422900a762664847f4b097796bec5
  • aab0014dbda65fb1ae5340a8b6da731aaa3215bb340c7df80b5b033ad2533001
  • 29ba1dae0c75b5d67de2fb832a65a0a8d226f9585f1a3e334926259065355618

Coverage


Screenshots of Detection

 

AMP


ThreatGrid


Win.Trojan.Fynloski-6332091-0


Indicators of Compromise


Registry Keys
  • <HKCU>\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
    • Value: c4f40c367320fcdc570a23c70d18a343
  • <HKLM>\SOFTWARE\WOW6432NODE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
    • Value: c4f40c367320fcdc570a23c70d18a343
  • <HKLM>\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
Mutexes
  • N/A
IP Addresses
  • N/A
Domain Names
  • N/A
Files and or directories created
  • %AppData%\Microsoft\Windows\Start Menu\Programs\Startup\c4f40c367320fcdc570a23c70d18a343.exe
  • %SystemDrive%\Documents and Settings\Administrator\Start Menu\Programs\Startup\x.vbs
  • %AppData%\Microsoft\Windows\Start Menu\Programs\Startup\x.vbs
  • %TEMP%\IXP000.TMP\1.xyz
File Hashes
  • 7f7811f54a31936ac15ee95d8839d763ada89ff3a80aa7479c7ea670b1a382c5
  • 1b2149951adf10d725ad54bd262b4bcc7ca44be5986ce1414fa95082606811c8
  • 7e9a837489b93a6f16385bd4e604923a1e4fa9c72a7d0ee1017037f26b02ed90
  • 7077931eaa70834cb3a9862b6e405ea945459fda20d60ceb83b54a0e4a9f209f
  • 77654b410cf65ec4e4e7b46cdef9c0df8397349cb351fa070bc9b64bdd6e83e1
  • 83768ae6bc29747d33f106d36d12f59771a0333a997bd4b6eeaadd6b0a586f63
  • e9642b9759686add2d022f0f3ac0ae5c2f5efe6a2cc5bef57f9480acb4792e6b
  • ca006c5f27586648e44c1204f49ac555f9f4ddfd5a74af19104b031fd241adf8
  • ad8472fbcf4ba8f6e9c7c275a64cdf364dabebdb7b9fc950cecce980a551ba48
  • b3ea382eb9047ad9ba10956dbd580e70d08d027ca49504a78a24d98aed623de5
  • e8415def78f91ca7b6e6dab7e6efc24eedeaf8f363af66b59b4fe1bc5ed24384

Coverage


Screenshots of Detection

 

AMP


ThreatGrid


Win.Trojan.Siggen-6261194-0


Indicators of Compromise


Registry Keys
  • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\MPSSVC\PARAMETERS\PORTKEYWORDS\DHCP
    • Value: Collection
Mutexes
  • Local\MSCTF.Asm.MutexDefault1
IP Addresses
  • 13[.]65[.]245[.]138
Domain Names
  • time[.]windows[.]com
Files and or directories created
  • \TEMP\filename.exe
  • %System32%\wdi\{ffc42108-4920-4acf-a4fc-8abdcc68ada4}\{debd4f12-5573-4e21-a11a-2adccd61a055}\snapshot.etl
  • %System32%\wdi\LogFiles\WdiContextLog.etl.001
  • %System32%\wdi\{533a67eb-9fb5-473d-b884-958cf4b9c4a3}\{bc3d8877-b46d-4746-b041-b538af5e2cf0}\snapshot.etl
File Hashes
  • b4a615cd2cc1299da98059f2164e69d4b20fcd4179acd672153e6533b9c95709
  • f59c0ffee54d23875a039b546a1827c3bc40c45aee5a4887e6c8515e96d4169f
  • e38d7a959a6957ae51733a4f8b28e7514c4f1cbb5faf2f6314d7b17c69eef155
  • b3cd047683dc8944c9d9765d2e73c25c5ac1b7bba39f6b4ff748849b9a3d091b
  • 4bcadb728a4948f945738f4d704c3f63525952ce8e6894aa6634de6e33a0d961

Coverage


Screenshots of Detection

 

AMP

ThreatGrid

Attack on Critical Infrastructure Leverages Template Injection

$
0
0

Contributors:  Sean Baird, Earl Carter, Erick Galinkin, Christopher Marczewski & Joe Marshall 


Executive Summary


Attackers are continually trying to find new ways to target users with malware sent via email. Talos has identified an email-based attack targeting the energy sector, including nuclear power, that puts a new spin on the classic word document attachment phish. Typically, malicious Word documents that are sent as attachments to phishing emails will themselves contain a script or macro that executes malicious code. In this case, there is no malicious code in the attachment itself. The attachment instead tries to download a template file over an SMB connection so that the user's credentials can be silently harvested. In addition, this template file could also potentially be used to download other malicious payloads to the victim's computer.



Background


Since at least May 2017, Talos has observed attackers targeting critical infrastructure and energy companies around the world, primarily in Europe and the United States. These attacks target both the critical infrastructure providers, and the vendors those providers use to deliver critical services. Attacks on critical infrastructure are not a new concern for security researchers, as adversaries are keen to understand critical infrastructure ICS networks for reasons unknown, but surely nefarious.

One objective of this most recent attack appears to be to harvest credentials of users who work within critical infrastructure and manufacturing industries. Using a new twist on an old attack method, a clever adversary stole credentials from their victims by sending malicious word documents via email. These documents when opened, attempt to retrieve a template file from an attacker controlled external SMB server.

Technical Investigation


In the midst of recent attack trends and global campaigns, it has become easier to pass over simple techniques that serve attackers' best interests for years. As Talos has recently observed, sometimes new takes on reliable techniques can make them even more effective.

While investigating a recently reported attack and pivoting on the data provided, we landed on several interesting DOCX samples which were delivered as attachments in malicious spam emails. As shown below, these documents often claimed to be environmental reports or resumés/CVs.

Sample email containing a malicious document

One DOCX sample used during this attack

Another DOCX sample used during this attack
Our first expectation was that we would find some malicious VBA macros or embedded scripting within the sample itself. Examination of the VBA code provided no such leads:

Analysis of the document using oletools
We confirmed this by running the sample against another similar tool:
Further analysis of the DOCX
Again, none of the usual indicators of an embedded binary that would contain such code appeared in our analysis. The sample had been acquired from our sandbox by researching an IP address related to the attack, but the server was no longer accepting such requests at the time of the sandbox run. While we investigated other leads, we set up an isolated environment with a server listening on TCP 80 to determine what the document was trying to obtain, if anything.

At the loading screen for Word, we noticed something interesting:

Word attempting to load a template
The document was trying to pull down a template file from a particular IP, but no connection over TCP 80 had yet reached our decoy server. Sure enough, our live capture showed a failed handshake over TCP 445 instead. It was now time to manually parse the contents of the document for the IP address in question. Instead of code, we found an instance of template injection:

Instance of template injection found in the document
Our initial intelligence concerning the attack suggested that a malicious SMB server was being used to silently harvest user credentials. As conveyed in the sample, we can now see that an injected template was used to establish such a connection to an external server over SMB. Still, this did not explain why the same sample had attempted a session over TCP 80. After further research, we determined that the sandbox VM had an established preference over SMB when it came to this connection type. In short, due to the network preference of the host, a WebDAV connection was attempted over an SMB session when requesting the template. This was confirmed with another related sample when another external server was still listening on TCP 80 but no longer serving the template.

Sandbox PCAP of the sample
The only entity left to move on from the template settings was the specific Relationship ID that was present in word/_rels/settings.xml.rels within the sample: rId1337. Researching this Relationship ID led us to the GitHub page of a phishing tool named Phishery which happened to use the exact same ID in its template injection:

GitHub page of the Phishery tool


Suprisingly, the same ID is found at the bottom of the aforementioned Go source:

"rId1337" found in the Phishery tool, line 105.
Phishery, however, does NOT rely on a malicious SMB server. Rather, the connection is handled over HTTPS, and the user credentials are harvested via Basic Authentication with a prompt for the credentials. Such a prompt was not needed nor seen for samples requesting the template over SMB. The fact that both this tool and the reported attack rely on template injection with the exact same Relationship ID suggests one of the following:

1. Mere coincidence (always a possibility);
2. The attackers took notice of this tool and either modified it or developed their attack from scratch while sticking to the same concept used by the tool; or
3. The attackers used the same Relationship ID to thwart analysis of the attack itself (remember: our first inclination was to follow-up on the failed connection attempts over TCP 80).

At this time, there is no evidence to confirm any of the three possibilities. However, the attackers' reliance on a successful SMB session stemming from outbound traffic over TCP 445 further confirms that organizations are still failing to properly block such egress traffic to public hosts. With no credential prompt needed for the SMB variation, we can come to understand the simplicity and effectiveness of such a technique. If an attacker is able to compromise a host and run such a server internally, the situation becomes significantly more grave.

Furthermore, since the attacker controlled SMB server was down when we analyzed these samples, it is not possible to determine the ultimate payloads (if any) that could have been dropped by the template being downloaded. As we have seen with recent attacks, the intent of an attack is not always obvious. Forcing SMB requests to an external server has been a known security vulnerability for many years. Without further information it is impossible to conclude what the true scope of this attack was or what malicious payloads could have been involved.

Conclusion


Talos responded to these attacks by reaching out to known affected customers and ensuring that they were aware of and capable of responding to the threat. It also illustrates the importance of controlling your network traffic and not allowing outbound protocols such as SMB except where specifically required for your environment. Additionally, a number of ClamAV signatures and email rules were written in order to ensure that threats leveraging this Office template injection technique are blocked in the future.

Coverage


ClamAV signatures created to identify this attack:

Doc.Tool.Phishery-6331699-0
Doc.Downloader.TemplateInjection-6332119-0
Doc.Downloader.TemplateInjection-6332123-0

Additional ways our customers can detect and block this threat are listed below.



Advanced Malware Protection (AMP) blocks the malicious word documents used by these threat actors.

CWS,WSA, andUmbrella can help identify outbound connections used by these threat actors.

Email Security can block malicious emails sent by threat actors as part of their campaign.

AMP Threat Grid helps identify malicious binaries and builds protection into all Cisco Security products.



IOCs


Due to the nature in which we obtained intelligence related to these attacks, we are unable to share all of the IOCs related to this event; however, we wanted to share as much as possible in the spirit of transparency and collaboration.

Malicious Documents
Filename: Report03-23-2017.docx
SHA256: 93cd6696e150caf6106e6066b58107372dcf43377bf4420c848007c10ff80bc9

Filename: Controls Engineer.docx
SHA256: (1) b02508baf8567e62f3c0fd14833c82fb24e8ba4f0dc84aeb7690d9ea83385baa
                (2) 3d6eadf0f0b3fb7f996e6eb3d540945c2d736822df1a37dcd0e25371fa2d75a0
                (3) ac6c1df3895af63b864bb33bf30cb31059e247443ddb8f23517849362ec94f08

Related IP Addresses
184[.]154[.]150[.]66
5[.]153[.]58[.]45
62[.]8[.]193[.]206

Vulnerability Spotlight: Iceni Infix PDF Editor Memory Corruption

$
0
0
Today, Talos is disclosing a vulnerability that has been identified in Iceni Infix PDF Editor that could lead to arbitrary code execution on affected hosts. This vulnerability manifests in a way that could be exploited if a user opens a specifically crafted PDF file that triggers this flaw. Talos has coordinated with Iceni to ensure relevant details regarding the vulnerability have been shared. Iceni has developed a software update that addresses this vulnerability. In addition, Talos has developed Snort Rules that can detect attempts to exploit this flaw.



Vulnerability Details

TALOS-2017-0367 was identified by Piotr Bania of Talos.

TALOS-2017-0367 (CVE-2017-2863) is memory corruption vulnerability in Iceni Infix that could be leveraged to achieve arbitrary code execution on the affected device. TALOS-2017-0367 manifests as a out of bound write flaw in the PDF parsing functionality. Exploitation is possible if a user were to open a specifically crafted PDF file that targets this vulnerability. The most likely form of attack this could be exploited would be in a social engineering scenario where a user receives an email containing a malicious PDF that exploits this vulnerability.

For more technical details, please read our advisory here.

Coverage

Talos has developed the following Snort rules to detect attempts to exploit this vulnerability. Note that these rules are subject to change pending additional vulnerability information. For the most current information, please visit your Firepower Management Center or Snort.org.

Snort Rules: 43212-43213

For other vulnerabilities Talos has disclosed, please refer to our Vulnerability Report Portal: http://www.talosintelligence.com/vulnerability-reports/

To review our Vulnerability Disclosure Policy, please visit this site:
http://www.cisco.com/c/en/us/about/security-center/vendor-vulnerability-policy.html


Microsoft Patch Tuesday - July 2017

$
0
0
Today, Microsoft has release their monthly set of security updates designed to address vulnerabilities. This month's release addresses 54 vulnerabilities with 19 of them rated critical, 32 rated important, and 3 rated moderate. Impacted products include Edge, .NET Framework,  Internet Explorer, Office,  and Windows.


Vulnerabilities Rated Critical


CVE-2017-8463

This is a remote code execution vulnerability related to the way that Windows Explorer handles executable files and shares during rename operations. If exploited this vulnerability could run arbitrary code, users not running as administrators would be less affected. This vulnerability can be triggered via a malicious share folder and malware named with an executable extension.

CVE-2017-8584

A remote code execution vulnerability exists when HoloLens improperly handles objects in memory. An attacker who successfully exploited this vulnerability could take control of an affected system and could then install programs; view, change, or delete data; or create new accounts with full user rights. To exploit this vulnerability, an attacker would need to send a specially crafted WiFi packet.

CVE-2017-8589

This is a remote code execution vulnerability in Windows Search related to the improper handling of objects in memory. This can be exploited by an attacker sending a specially crafted SMB message to the Windows Search service.

CVE-2017-8594

A remote code execution vulnerability exists when Internet Explorer, this vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code with current user privilege. If the current user is logged on with administrative user rights, the attacker could take control of an affected system and could then install programs; view, change, or delete data; or create new accounts with full user rights. This can be exploited by a user visiting a specially crafted webpage.

CVE-2017-8595 / CVE-2017-8596 / CVE-2017-8617

A remote code execution vulnerability exists in Microsoft Edge, this vulnerability could corrupt memory in such a way that an attacker could execute arbitrary code with current user privilege. If the current user is logged on with administrative user rights, the attacker could take control of an affected system and could then install programs; view, change, or delete data; or create new accounts with full user rights. This can be exploited by a user visiting a specially crafted webpage. In addition, an attacker could embed an ActiveX control marked "safe for initialization" in an application or Microsoft Office document that hosts the browser rendering engine.

CVE-2017-8598

This is a remote code execution vulnerability in Microsoft Edge related to the improper handling of objects in memory. The resulting memory corruption could result in arbitrary code execution. This can be exploited by having a user view a specially crafted website or via an ActiveX control marked "safe for initialization" in an application or Microsoft Office document.

CVE-2017-8601

This is a remote code execution vulnerability in the Chakra JavaScript engine in Microsoft browsers related to improper handling of objects in memory. Exploitation can occur through a specially crafted website or an ActiveX control marked "safe for initialization" resulting in the attacker gaining taking full control of the affected system.

CVE-2017-8603

This is a remote code execution vulnerability in Microsoft Edge related to the way the engine handles objects in memory. The resulting corruption of memory can result in arbitrary code execution. This can be exploited by a user visiting a specially crafted webpage.

CVE-2017-8604

This is a remote code execution vulnerability in Microsoft Edge related to the improper handling of objects in memory. The resulting memory corruption could result in arbitrary code execution. This can be exploited by having a user view a specially crafted website or via an ActiveX control marked "safe for initialization" in an application or Microsoft Office document.

CVE-2017-8605

This is a remote code execution vulnerability in Microsoft Edge related to the improper handling of objects in memory. The resulting memory corruption could result in arbitrary code execution. This can be exploited by having a user view a specially crafted website or via an ActiveX control marked "safe for initialization" in an application or Microsoft Office document.

CVE-2017-8606 / CVE-2017-8607 / CVE-2017-8608 / CVE-2017-8609

This is a remote code execution in the JavaScript engines in Microsoft Browsers related to improper handling of objects in memory. Exploitation can occur through the viewing of a specially crafted website and can result in the attacker gaining the same user rights as the current user.

CVE-2017-8610

This is a remote code execution vulnerability in Microsoft Edge related to the improper handling of objects in memory. The resulting memory corruption could result in arbitrary code execution. This can be exploited by having a user view a specially crafted website or via an ActiveX control marked "safe for initialization" in an application or Microsoft Office.

CVE-2017-8618

This is a remote code execution in the VBScript engine, when rendered in Internet Explorer handles objects in memory. Exploitation can occur through the viewing of a specially crafted website and can result in the attacker gaining the same user rights as the current user.

CVE-2017-8619

These are remote code execution vulnerabilities in Microsoft's Edge browser related to improper access of objects in memory. This resulting memory corruption can result in arbitrary code execution. These can be exploited by a user visiting a specially crafted website.


Vulnerabilities Rated Moderate



CVE-2017-0170

An information disclosure vulnerability exists in the Windows Performance Monitor Console when it improperly parses XML input. An attacker who successfully exploited this vulnerability could read arbitrary files via an XML external entity(XXE). To exploit the vulnerability, an attacker could create specially crafted XML data and convince an authenticated user to create a Data Collector Set and import the file. To create a Data Collector Set, the user must be a member of the Performance Log Users or Local Administrators group.

CVE-2017-8611

This is a spoofing vulnerability in Microsoft Edge when it does not properly parse HTTP content. An attacker could use a crafted website to either spoof content or serve as a pivot to chain an attack with other vulnerabilities.

CVE-2017-8621

An open redirect vulnerability exists in Microsoft Exchange that could lead to spoofing. To exploit the vulnerability, an attacker could send a crafted URL, when an authenticated Exchange user clicks the link, the authenticated user's browser session could be redirected to a malicious site that is designed to impersonate a legitimate website. By doing so, the attacker could trick the user and potentially acquire sensitive information, such as the user's credentials.


Vulnerabilities Rated Important



CVE-2017-0243

A remote code execution vulnerability exists in Microsoft Office software when it fails to properly handle objects in memory. An attacker who successfully exploited this vulnerability could perform actions with privileges of the current user. This can be exploited by having a user open a specially crafted file.

CVE-2017-8467

An elevation of privilege vulnerability exists in Windows when the Microsoft Graphics Component fails to properly handle objects in memory. This is exploitable by local attacker executing a specially crafted application to elevate privilege.

CVE-2017-8486

This is an information disclosure vulnerability in Microsoft Windows when Win32k fails to properly handle objects in memory. This can be triggered by an authenticated attacker executing a specially crafted application.

CVE-2017-8495

A security feature bypass vulnerability exists in Microsoft Windows when Kerberos fails to prevent tampering with the SNAME field during ticket exchange. Successful exploitation of this vulnerability could be used to bypass Extended Protection for Authentication.

CVE-2017-8501 / CVE-2017-8502

These are remote code execution in Microsoft Office related to improper handling of objects in memory. Exploitation occurs when a user opens a specially crafted file. This file could be delivered via an email message or be hosted on a website.

CVE-2017-8556

An elevation of privilege vulnerability exists in Windows when the Microsoft Graphics Component fails to properly handle objects in memory. This is exploitable by local attacker executing a specially crafted application to elevate privilege.

CVE-2017-8557

An information disclosure vulnerability exists in the Windows System Information Console when it improperly parses XML input. An attacker who successfully exploited this vulnerability could read arbitrary files via an XML external entity(XXE). To exploit the vulnerability, an attacker could create specially crafted XML data.

CVE-2017-8559 / CVE-2017-8560

An elevation of privilege vulnerability exists when Microsoft Exchange Outlook Web Access (OWA) fails to properly handle web requests. Exploitation occurs by an authenticated attacker sending a specially crafted request.

CVE-2017-8561

This is a privilege escalation vulnerability in the Windows Kernel related to the improper handling of objects in memory. This is exploitable by local attacker executing a specially crafted application to elevate privilege.

CVE-2017-8562

There is a privilege escalation vulnerability in Windows when it improperly handles calls to Advanced Local Procedure Call (ALPC). This is exploitable by local attacker executing a specially crafted application to elevate privilege.

CVE-2017-8563

An elevation of privilege vulnerability exists in Microsoft Windows when Kerberos falls back to NT LAN Manager (NTLM) Authentication Protocol as the default authentication protocol. This is exploitable by local attacker executing a specially crafted application to send malicious traffic to a domain controller.

CVE-2017-8564

This is an information disclosure vulnerability in the Windows Kernel related to the improper handling of objects in memory. This is exploitable by local attacker executing a crafted application, allowing the attacker to retrieve information that could lead to a Kernel Address Space Layout Randomization (KASLR) bypass.

CVE-2017-8565

This is a remote code execution vulnerability within PowerShell when PSObject wraps a CIM Instance. An attacker who successfully exploited this vulnerability could execute malicious code on a vulnerable system.

CVE-2017-8566

This is an elevation of privilege vulnerability in Windows Input Method Editor (IME) when IME improperly handles parameters in a method of a DCOM class. The DCOM server is a Windows component installed regardless of which languages/IMEs are enabled and an attacker can instantiate the DCOM class and exploit the system even if IME is not enabled. This is exploitable by local attacker executing a specially crafted application to elevate privilege.

CVE-2017-8569

An elevation of privilege vulnerability exists in Microsoft SharePoint Server, when it does not properly sanitize a specially crafted web request. An authenticated attacker could exploit the vulnerability, via a specially crafted request, to an affected SharePoint server. If successfully the attacker could then perform cross-site scripting attacks on affected systems and run scripts in the privilege of the current user. This can allow the attacker to read content they are not authorized to read, use the victim's identity to take actions on the SharePoint site on behalf of the user, such as change permissions and delete content, and inject malicious content in the browser of the user.

CVE-2017-8570

A remote code execution vulnerability exists in Microsoft Office software when it fails to properly handle objects in memory. An attacker who successfully exploited this vulnerability could perform actions with privileges of the current user. This can be exploited by having a user open a specially crafted file.

CVE-2017-8573 / CVE-2017-8574 / CVE-2017-8577 / CVE-2017-8578 / CVE-2017-8580

An elevation of privilege vulnerability exists in Microsoft Graphics Component. An attacker who successfully exploited this vulnerability could run arbitrary code in kernel mode. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

CVE-2017-8581

An elevation of privilege vulnerability exists when Windows improperly handles objects in memory. An authenticated attacker who successfully exploited this vulnerability could run processes in an elevated context.

CVE-2017-8582

An Information Disclosure vulnerability exists when the HTTP.sys server application component improperly handles objects in memory. A remote unauthenticated attacker could exploit this vulnerability by issuing a request to the server application.

CVE-2017-8585

This is a denial of service vulnerability when Microsoft Common Object Runtime Library improperly handles web requests. A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the .NET application. This attack could cause a denial of service on the target system, requiring a reboot to resolve.

CVE-2017-8587

A Denial Of Service vulnerability exists when Windows Explorer attempts to open a non-existent file. An attacker could exploit this vulnerability by hosting a specially crafted web site and convince a user to browse to the page, containing the reference to the non-existing file, and cause the victim's system to stop responding.

CVE-2017-8588

A remote code execution vulnerability exists in the way that Microsoft WordPad parses specially crafted files. Exploitation of this vulnerability requires that a user open a specially crafted file with an affected version of Microsoft WordPad. An attacker could exploit the vulnerability by sending a specially crafted file to the user via email.

CVE-2017-8590

An elevation of privilege vulnerability exists in Windows Common Log File System (CLFS). A locally authenticated attacker could exploit this vulnerability by running a specially crafted application to take control of the affected system. An attacker who successfully exploited this vulnerability could run processes in an elevated context.

CVE-2017-8592

A security feature bypass vulnerability exists when Microsoft Browsers improperly handle redirect requests. This vulnerability allows Microsoft Browsers to bypass CORS redirect restrictions and follow redirect requests that should otherwise be ignored. An attacker who successfully exploited this vulnerability could force the browser to send data that would otherwise be restricted to a destination web site of their choice.

CVE-2017-8599

A security feature bypass vulnerability exists when Microsoft Edge fails to correctly apply Same Origin Policy for HTML elements present in other browser windows. This can be exploited by a user visiting a specially crafted webpage.

CVE-2017-8602

This is a spoofing vulnerability in Microsoft Browser when it does not properly parse HTTP content. An attacker could use a crafted website to either spoof content or serve as a pivot to chain an attack with other vulnerabilities.

Coverage


In response to these bulletin disclosures, Talos is releasing the following rules to address these vulnerabilities. Please note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For the most current rule information, please refer to your Management Center or Snort.org.

Snort Rules:
42753
42755-42756
43460-43463
43465-43466
43469-43474
43490-43493
43521-43522

Memcached - A Story of Failed Patching & Vulnerable Servers

$
0
0
This blog authored by Aleksandar Nikolich and David Maynor with contributions from Nick Biasini

Memcached - Not secure, Not Patched Fast Enough

 

Recently high profile vulnerabilities in systems were used to unleash several global ransomware attacks that greatly impacted organizations. These types of vulnerabilities were previously patched and could have been addressed by organizations before the attacks commenced. This is just the latest example in a long line of threats that are successful in large part because of the inability for patches to be applied in a timely and effective manner. In late 2016 Talos disclosed a series of vulnerabilities in a software platform called Memcached. After releasing the vulnerabilities Talos has been monitoring the amount of systems that were vulnerable as well as the rate at which they have been patched. This blog will give a quick overview of the vulnerabilities and discuss the unfortunate findings of the Internet wide scans that we have been conducting over the last six months.

What is Memcached?


Memcached is a high performance object caching server intended for speeding up dynamic web applications and is used by some of the most popular Internet websites. It has two versions of the protocol for storing and retrieving arbitrary data, an ASCII based one and a binary one. The binary protocol is optimized for size.

It's intended use is to be accessed by the web application servers and should never under any circumstances be exposed to an untrusted environment. Newer versions of the server include basic authentication support based on SASL which, based on our findings, is seldom used.

Audit and Vulnerabilities


In October last year, we performed a source code audit of Memcached server and identified three distinct but similar vulnerabilities. All three are in the implementation of the binary protocol. Two vulnerabilities lie in the part of the code dealing with adding and updating cached objects, while the third is in the aforementioned SASL authentication mechanism. All three vulnerabilities are due to integer overflows leading to controlled heap buffer overflows and due to the nature of the protocol can be abused for sensitive memory disclosure which can lead to straightforward and reliable exploitation.

The vendor was notified and promptly issued a patch that we have verified as sufficient. Public release of the new patched version was on October 31st. The CVE ID assigned to this vulnerability is CVE-2016-8704 and was tracked by us as TALOS-2016-0219. Quickly after the public release, major linux distributions issued updates and advisories of their own. One key thing to note is that major distributions (Ubuntu, Fedora...) backported patches without bumping up the version number of the server. References:

MongoDB attacks of January 2017


A slight detour. Sometime in late December/early January news of a widespread attack on MongoDB servers surfaced.

MongoDB is a memory resident, NoSQL database. Similarly to memcached, it is never supposed to be exposed to untrusted environment, which is often overlooked by developers, and sometimes production servers end up being freely accessible over Internet.

It is a well known fact that many thousands of MongoDB servers are exposed over the Internet, but some criminal groups decided to weaponize this fact, aided by the lack of any form of authentication or access control, for profit. In a matter of days, thousands of these accessible MongoDB hosts were hit with a ransomware attack.

Essentially, the bad guys connected to the server, siphoned all the data off of it and left a note requesting certain amount of bitcoins as ransom for the data. Soon, it became apparent that multiple competing groups were attacking the same servers which leads to the conclusion that there is no hope of actually recovering data, if there ever was in the first place.

These attacks had a widespread media coverage which certainly led to higher awareness of this issue, and hopefully to less servers being exposed.

Could Memcached face a similar fate?


This whole MongoDB kerfuffle made us think about what the impact would be on a similar attack on memcached. Granted, memcached, unlike MongoDB, isn't a database, but can still contain sensitive information and disruption in the service availability would certainly lead to further disruptions on dependent services. Additionally, we could assess the potential attack surface for vulnerabilities that we found as well as see how widely the patch is applied.

So we decided to scan the Internet and see...

Scans


In order to properly get the data we needed, a special scan had to be performed. We wanted a couple of data points:

  • how many servers are directly accessible over internet
  • how many of those are still vulnerable
  • how many use authentication
  • how many of servers with authentication enabled are still vulnerable

We couldn't rely on the version reported by the server because, as mentioned before, many distributions backport security patches so the version string doesn't always reflect the patch level. Because of that, we devised a special test which would send a single packet to the server and could tell from the reply if the server was vulnerable or not.

First series of scans was conducted in late February. This first dataset lead to another scan for authentication-enabled servers specifically which was done in early March.

Results Of The Scans


Gathering all the data revealed mostly expected results. More than a 100,000 accessible servers, with almost 80% still vulnerable and only about 22% having authentication enabled. Interestingly, almost all servers with authentication enabled were still found to be vulnerable to CVE-2016-8706 which we specifically tested for. The exact numbers are as follows:

  • Total servers with valid responses: 107786
  • Total servers still vulnerable: 85121 (~79%)
  • Total servers not vulnerable: 22665 (~21%)
  • Total servers requiring authentication: 23907 (~22%)
  • Total vulnerable servers requiring authentication: 23707 (~99%)

Breakdown of numbers by country is, again, as expected:
    All servers
      1. 36937 - United States
      2. 18878 - China
      3. 5452 - United Kingdom
      4. 5314 - France
      5. 3901 - Russia
      6. 3698 - Germany
      7. 3607 - Japan
      8. 3464 - India
      9. 3287 - Netherlands
      10. 2443 - Canada
        Vulnerable servers
          1. 29660 - United States
          2. 16917 - China
          3. 4713 - United Kingdom
          4. 3209 - France
          5. 3047 - Germany
          6. 3003 - Japan
          7. 2556 - Netherlands
          8. 2460 - India
          9. 2266 - Russia
          10. 1820 - Hong Kong

          There are a couple of conclusions that can be drawn from this. First, there is a large number of easily accessible memcached servers on the Internet. Second, less than a quarter have authentication enabled, making the rest fully open to abuse even in the absence of exploitable remote code execution vulnerabilities. Third, people are slow to patch their existing servers, which leads to a large number of servers in risk of potential full compromise through vulnerabilities we reported. And fourth, a negligible number of servers with authentication enabled are also patched, leading to the conclusion that system administrators think authentication is enough and patches don't warrant updating. All four of these points are bad.

          Notifications

           

          After the scans were completed and conclusions were drawn, we made queries for all IP addresses to get contact emails for responsible organizations in order to send a notification with a simple explanation and suggestions to remedy this issue. This resulted in about 31 thousand unique emails which are pending notifications.

          Redoing scans


          After notifications were sent, we repeated the scans six months later to see if the notifications had any significant impact. Overall the results were disappointing, it appears the notifications largely fell on deaf ears. As you can see below only a small percentage, ~10%, of systems were patched. Additionally, there is still a significant amount of servers that are vulnerable and still do not require authentication. Whats even more disturbing is that it appears that 26% of the servers that were originally found are no longer online, but the amount of systems that we found remained largely the same. This implies that either the systems just changed IP addresses or there are still a large amount of new systems being deployed with the vulnerable version of Memcached.

          Results: 6 Months Later


          Total servers with valid responses: 106001

          Total servers still vulnerable: 73403 (~69%)

          Total servers not vulnerable: 32598 (~30%)

          Total servers requiring authentication: 18173 (~17%)

          Total vulnerable servers requiring authentication: 18012 (~99%)

          Results: Original Servers (107,786) Updated Results


          Total: 85,121

          Still vulnerable: 53,621

          No longer vulnerable: 2,958

          Not online: 28,542 (~26%)

          Conclusion


          The severity of these types of vulnerabilities cannot be understated. These vulnerabilities potentially affect a platform that is deployed across the internet by small and large enterprises alike. With the recent spate of worm attacks leveraging vulnerabilities this should be a red flag for administrators around the world. If left unaddressed the vulnerabilities could be leveraged to impact organizations globally and impact business severely. It is highly recommended that these systems be patched immediately to help mitigate the risk to organizations.

          PyREBox, a Python Scriptable Reverse Engineering Sandbox

          $
          0
          0
          This post was authored by Xabier Ugarte Pedrero


          In Talos, we are continuously trying to improve our research and threat intelligence capabilities. As a consequence, we not only leverage standard tools for analysis, but we also focus our efforts on innovation, developing our own technology to overcome new challenges. Also, Talos has traditionally supported open-source projects, and has open-sourced many different projects and tools that are currently used as part of our workflow like FIRST and BASS

          In this blogpost we present PyREBox, our Python scriptable Reverse Engineering sandbox. PyREBox is based on QEMU, and its goal is to aid reverse engineering by providing dynamic analysis and debugging capabilities from a different perspective. PyREBox allows to inspect a running QEMU VM, modify its memory or registers, and to instrument its execution with simple Python scripts. QEMU (when working as a whole-system-emulator) emulates a complete system (CPU, memory, devices...). By using Virtual Machine Introspection (VMI) techniques, it does not require to perform any modification into the guest operating system, as it transparently retrieves information from its memory at run-time.

          Several academic projects such as DECAF, PANDA, S2E, or AVATAR, have previously leveraged QEMU based instrumentation for reverse engineering tasks. These projects allow to write plugins in C/C++, and implement several advanced features such as dynamic taint analysis, symbolic execution, or even record and replay of execution traces. With PyREBox, we aim to apply this technology focusing on keeping the design simple, and on the usability of the system for threat analysts.


          Goals


          • Provide a whole system emulation platform with a simple interface for inspecting the emulated guest system: Fine grained instrumentation of system events.
            • Virtual Machine Introspection (VMI), based on volatility. No agent or driver needs to be installed into the guest.
            • An IPython based shell interface.
            • A Python based scripting engine, that allows to leverage any of the security tools based on this language (one of the biggest ecosystems).
          • Have a clean design, de-coupled from QEMU. Many projects that are built over QEMU do not evolve when QEMU gets upgraded, missing new features and optimizations, as well as security updates. In order to achieve this, PyREBox is implemented as an independent module that can be compiled together with QEMU requiring a minimal set of modifications.
          • Support for different architectures. Currently, PyREBox only supports Windows for x86 and x86-64 bit architectures, but its design allows to support other architectures such as ARM, MIPS, or PowerPC, and other operating systems. Support for these systems is becoming more relevant as more and more devices (with miscellaneous architectures and operating systems) are susceptible to attacks. We plan to support other architectures and operating systems in the future.

            How does PyREBox work?



            PyREBox is built together with QEMU, introducing a minimal set of modifications that allow to monitor certain events on the system. QEMU is based on Tiny Code Generator (TCG), an engine that allows the translation of code from different architectures to an intermediate language that operates over a virtual CPU. This intermediate language is then compiled to the target architecture where QEMU is running. PyREBox allows to instrument this translated code. A user can therefore register callbacks dynamically at runtime, and PyREBox will just translate all the necessary parameters to python readable objects. All the user needs to know is that a python function will be executed whenever certain event is triggered in the system.

            Also, PyREBox leverages Volatility in order to perform Virtual Machine Introspection, which helps to bridge the semantic gap between the physical view of the system (emulated machine), and the logical view of the operating system (processes, modules, symbols…). We also implemented a few routines in C/C++ that need to be called frequently, in order to improve the efficiency of the system by avoiding stepping into the Python runtime environment all the time. This approach allows to inspect the running processes, the modules loaded by them, as well as their exported symbols without inserting any agent or driver into the emulated system.

            Thanks to this approach, a user can inspect what is happening in the guest at a physical level, and more importantly, she can also understand which process is running at every moment, focus the analysis on one or several specific processes, or even insert stealthy breakpoints for any process and at any level (user or kernel space).

            What can PyREBox do for me?



            PyREBox offers two main interfaces to the user. On the one hand, the user can start a shell while running a guest system in QEMU, and inspect the running VM using many different commands. The shell is based on IPython, so it allows to write snippets of python code on top of its API and to express PyREBox command parameters using Python expressions. On the other hand, it is possible to write python scripts that can register callbacks for certain events on the system.

            IPython shell



            Starting a PyREBox shell is as easy as typing the sh command on QEMU’s monitor. It will immediately start an IPython shell. This shell records the command history as well as the defined variables. For instance, you can save a value and recover it later at a different point of the execution, when you start the shell again. PyREBox takes advantage of all the available features in IPython such as auto-completion, command history, multi-line editing, and automated command help generation.

            PyREBox will allow you to debug the system (or an specific process) in a fairly stealthy way. Unlike traditional debuggers which stay in the system being debugged (even modifying the memory of the debugged process to insert breakpoints), PyREBox stays completely outside the inspected system, and it does not require the installation of any driver or component into the guest.


            PyREBox offers a complete set of commands to inspect and modify the state of the running VM. Just type list_commands to obtain a complete list. 



            You will be able to run any volatility plugin at any moment during the execution of the VM, if you type vol and the corresponding volatility command. For a complete list of available volatility plugins, you can type list_vol_commands. This list is generated automatically, so it will also show any volatility plugin you install on PyREBox's volatiliy/ path.




            Finally, you can also define your own commands in scripts! You just need to create a function with a name starting by "do_" and PyREBox will do the rest for you.


            If you need something more expressive than a command, you can write a Python snippet leveraging the API.



            For a detailed description of the API, you can type help(api) in the shell.

            Scripting


            PyREBox allows to dynamically load scripts that can register callback functions. These functions are called when certain events occur:

            • Instruction and/or basic block execution
            • Memory read/write
            • Process creation/termination
            • Context switch
            • TLB miss
            • Network interface and keyboard events

            This framework is inspired by projects such as DECAF, and as a consequence, we support many of the callbacks types that are supported in DECAF.

            Given that PyREBox is integrated with Volatility, it will let you take advantage of all the volatility plugins for memory forensics in your python scripts. Many of the most famous reverse engineering tools are implemented in Python or at least have Python bindings. Our approach allows to integrate all these tools into any script.

            The scripting interface also allows to define custom commands. A script only needs to declare a function following a specific prototype. This is enough to create a new command that will be available from the shell once the script is loaded. This feature allows to integrate any Python tool not only in the scripting engine, but on the IPython shell too, just by writing a simple wrapper in Python.

            A script can also start a shell for you whenever certain event occurs, or certain conditions are met. A user can monitor events, record them, and whenever a condition is met, a simple call to start_shell() is enough to pause the VM and start a shell at that specific point.

            The following snippet represents a simple script that registers a callback on process creation on the moment the script is loaded into PyREBox. Each time a new process is created, a PyREBox shell will be started. It also implements a custom command named my_command, that can be called from the PyREBox shell by typing custom my_command. 

            #!/usr/bin/python
            import sys
            import api
            from ipython_shell import start_shell
            from api import CallbackManager

            #Callback manager
            cm = None
            #Printer
            pyrebox_print = None

            if __name__ == "__main__":
                #This message will be displayed when the script is loaded in memory
                print "[*] Loading python module %s" % (__file__)

            def new_proc(pid,pgd,name):
                '''
                Process creation callback. Receives 3 parameters:
                    :param pid: The pid of the process
                    :type pid: int
                    :param pgd: The PGD of the process
                    :type pgd: int
                    :param name: The name of the process
                    :type name: str
                '''
                global pyrebox_print
                global cm

                #Print a message.
                pyrebox_print("New process created! pid: %x, pgd: %x, name: %s" % (pid,pgd,name))
                #Start a PyREBox shell exactly when a new process is created
                start_shell()


            def initialize_callbacks(module_hdl,printer):
                '''
                Initilize callbacks for this module.
                '''
                global cm
                global pyrebox_print
                #Initialize printer function
                pyrebox_print = printer
                pyrebox_print("[*]    Initializing callbacks")
                #Initialize the callback manager
                cm = CallbackManager(module_hdl)

                #Register a process creation callback
                new_proc_cb = cm.add_callback(CallbackManager.CREATEPROC_CB,new_proc)

                pyrebox_print("[*]    Initialized callbacks")

            def clean():
                '''
                Clean up everything.
                '''
                global cm
                print "[*]    Cleaning module"
                #This call will unregister all existing callbacks
                cm.clean()
                print "[*]    Cleaned module"

            def do_my_command(line):
                ''' Short description of the custom command.

                    Long description of the custom command
                '''
                global pyrebox_print
                global cm

                #Implementation of the command functionality
                pyrebox_print("This is a custom command")

            Finally, given that python callbacks can introduce a performance penalty (especially on frequent events such as instructions executed), it is also possible to create triggers. Triggers are native-code plug-ins (developed in C/C++) that can be inserted dynamically at run-time on any event just before the Python callback is executed. This allows to limit the number of events that hit the python code, as well as to precompute values in native code.

            For a complete reference on the available features, one can read the project’s documentation.

            Conclusion



            We believe that PyREBox can be a useful tool for reverse engineering. Its integration with Python and Volatility allows countless applications, from malware or exploit/vulnerability analysis, to firmware analysis (in the future, we plan to support other architectures and operating systems). It can be easily integrated with many security tools that are already implemented in Python. The design of this framework makes trivial to create a new set of shell commands to interface with any python library: it would be a matter of writing a simple wrapper script.

            We are open-sourcing this internally developed tool because we believe it can be valuable for the community, and invite researchers to contribute with new scripts that can unleash the full potential of PyREBox.

            Unravelling .NET with the Help of WinDBG

            $
            0
            0
            This blog was authored by Paul Rascagneres and Warren Mercer.

            Introduction


            .NET is an increasingly important component of the Microsoft ecosystem providing a shared framework for interoperability between different languages and hardware platforms. Many Microsoft tools, such as PowerShell, and other administrative functions rely on the .NET platform for their functionality. Obviously, this makes .NET an enticing language for malware developers too. Hence, malware researchers must also be familiar with the language and have the necessary skills to analyse malicious software that runs on the platform.

            Analysis tools such as ILSpy help researchers decompile code from applications, but cannot be used to automate the analysis of many samples. In this article we will examine how to use WinDBG to analyse .NET applications using the SOS extension provided by Microsoft.

            This article describes:
            • How to analyse PowerShell scripts by inserting a breakpoint in the .NET API.
            • How to easily create a script to automatically unpack .NET samples following analysis of the packer logic.

            Additionally, you can download a Python script (based on the WinDBG pykd extension) on our github to automate analysis of .NET. This script will be described in the article too.



            SOS Extension


            The SOS Extension provides .NET support for WinDBG. The extension provides a rich set of commands; in this article we will cover only a few that are useful for analysis..

            Firstly, the SOS extension is not located in the same library, depending the version of .NET used. Before we are able to use the SOS extension we must load the library into WinDBG.

            For .NET 4, the extension is located in CLR.dll and can be loaded with the following command:
            .loadby sos clr
            In .NET 2 and 3, the SOS extension is located is the mscorwks library:
            .loadby sos mscorwks
            Here are the commands used in this article:
            • !bpmd: this command is used to put breakpoints in managed code (.NET). The command takes two arguments. The first argument is the .NET dll where the function is located and the second is the function name.
            • !CLRStack: this command displays the CLR stack content. It is useful to identify the arguments of a .NET function.
            • !DumpObj: this command displays information on a specific object specified in an argument.

            In this article these 3 commands will be used to create a breakpoint within a specific .NET API, to get the arguments passed to the API, and display the contents.

            Use Case #1: PowerShell Analysis


            Few people realise that PowerShell can use the .NET framework. By examining .NET API usage, we can easily automate PowerShell analysis.

            Example 1: Start-Process API


            In this example, we will analyse the following PowerShell code:
            PS> start-process notepad.exe
            When you perform this task, PowerShell uses the Process.Start() API. So, we can breakpoint, this is where we stop the code execution on purpose, on this API (after loading the SOS extension):
            0:011> .loadby sos clr

            0:011> !bpmd system.dll System.Diagnostics.Process.Start
            Found 6 methods in module 00007fff97581000...
            breakpoint: bp 00007FFF977C96D9 [System.Diagnostics.Process.Start(System.Diagnostics.ProcessStartInfo)]
            breakpoint: bp 00007FFF97E8057D [System.Diagnostics.Process.Start(System.String, System.String)]
            breakpoint: bp 00007FFF97E80539 [System.Diagnostics.Process.Start(System.String)]
            breakpoint: bp 00007FFF97E804B6 [System.Diagnostics.Process.Start(System.String, System.String, breakpoint: bp 00007FFF977C72DA [System.Diagnostics.Process.Start()]
            Adding pending breakpoints...
            Once the breakpoint is set, we can enter the command 'g' to execute the PowerShell script. WinDBG will stop when the Start-Process is executed:
            Breakpoint 0 hit
            System_ni+0x2496d9:
            00007fff`977c96d9 488d0d08711e00 lea rcx,[System_ni+0x4307e8 (00007fff`979b07e8)]
            The CLRStack command displays the argument provided to the Process.Start API. In our case, the argument is a System.Diagnostics.ProcessStartInfo object.
            0:008> !CLRStack -p
            OS Thread Id: 0x2d34 (8)
            Child SP IP Call Site
            000000a7f9ace700 00007fff977c96d9 System.Diagnostics.Process.Start(System.Diagnostics.ProcessStartInfo)
            PARAMETERS:
            startInfo (<CLR reg>) = 0x0000028cbd5faa18
            Finally the DumpObj command shows the contents of this object:
            0:008> !DumpObj /d 0000028cbd5faa18
            Name: System.Diagnostics.ProcessStartInfo
            MethodTable: 00007fff979ae380
            EEClass: 00007fff975e29f0
            Size: 144(0x90) bytes
            File: C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll
            Fields:
            MT Field Offset Type VT Attr Value Name
            00007fff9897de98 40027f3 8 System.String 0 instance 28cbd5fde18 fileName
            00007fff9897de98 40027f4 10 System.String 0 instance 000 arguments
            [...redacted...]
            00007fff9897ad70 4002806 58 System.WeakReference 0 instance 000 weakParentProces
            00007fff979af0a0 4002807 60 ....StringDictionary 0 instance 000 environmentVaria
            00007fff982e5ec0 4002808 68 ...tring, mscorlib]] 0 instance 000 environment
            The first field of the ProcessStartInfo object is a System.String object called filename. We can retrieve the contents of the object using DumpObj:
            0:008> !DumpObj /d 0000028cbd5fde18
            Name: System.String
            MethodTable: 00007fff9897de98
            EEClass: 00007fff982d35f0
            Size: 88(0x58) bytes
            File: C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
            String: C:\WINDOWS\system32\notepad.exe
            We can see that the filename string is the path to the notepad binary.

            Example 2: DownloadFile API


            In this second example, we will analyse the following code:
            PS> $a = New-Object System.Net.WebClient
            PS> $a.DownloadFile("http://blog.talosintelligence.com/","c:\users\lucifer\demo.txt")
            The purpose of this code is to download a file and store it on the hard drive. This is a technique frequently used by malware to download a payload.

            If this case, we must put on breakpoint on the DownloadFile AP and press 'g' to execute the PowerShelI:
            0:008> .loadby sos clr
            0:008> !bpmd system.dll System.Net.WebClient.DownloadFile
            Found 2 methods in module 00007fff97581000...
            MethodDesc = 00007fff976c1fe8
            MethodDesc = 00007fff976c1ff8
            Setting breakpoint: bp 00007FFF97DCAE0C [System.Net.WebClient.DownloadFile(System.Uri, System.String)]
            Setting breakpoint: bp 00007FFF97DCADBC [System.Net.WebClient.DownloadFile(System.String, System.String)]
            Adding pending breakpoints…
            0:008> g
            When the API is executed, WinDBG will automatically stop the execution of the PowerShell script:
            Breakpoint 7 hit
            System_ni+0x84adbc:
            00007fff`97dcadbc 4885d2 test rdx,rdx
            In this case, we could use the CLRStack and DumpObj commands exactly as previously. Instead, we will get the value directly from the register (the first string is located in RDX+0xC and the second one in R8+0xC, as according to the Microsoft standard for memory location) :
            0:008> du rdx+c
            0000028c`bd53f13c "http://blog.talosintelligence.co"
            0000028c`bd53f17c "m/"
            0:008> du r8+c
            0000028c`bd53f3b4 "c:\users\lucifer\desktop\demo.tx"
            0000028c`bd53f3f4 "t"
            Here is a snippet of the execution:

            Use Case #2: .NET Unpack


            Talos deals with packed malware samples on a daily basis. We recently identified a packed .NET executable that was being hosted on a Syrian government website: http://www[.]syriantax[.]gov[.]sy/css/igfxCUIService.exe. Initially we wondered if this was part of a targeted attack. After further research, we now believe that the website was compromised and used to deliver this malware. The malware turned out to be njRAT, a well-known public Remote Administration Tool that has been widely distributed for years. While finding njRAT is not particularly interesting, we thought that writing a blog post walking through the process of unpacking njRAT would be beneficial.

            As such, this use case will explain how to deal with unknown .NET packers, using static analysis. We will also cover dynamic analysis using WinDBG as well as how to create a WinDBG script to automate the unpacking process for this type of packer.

            Static Analysis


            We started our analysis of this malware sample by using de4dot as it can quickly identify known packers. It is an open source analysis platform available here
            C:> de4dot-x64.exe -d -r c:\to_test

            de4dot v3.1.41592.3405 Copyright (C) 2011-2015 de4dot@gmail.com

            Latest version and source code: https://github.com/0xd4d/de4dot
            Detected Unknown Obfuscator (c:\to_test\21acd3457c1a58[...]1bfeeaf3c0cd79bfe)
            Detected Unknown Obfuscator (c:\to_test\344ce133363f09[...]bbd2257a298484051)
            Detected Unknown Obfuscator (c:\to_test\45c695e610d786[...]af65408fb6080300f)
            Detected Unknown Obfuscator (c:\to_test\61653b2811fb7c[...]04f9807a775f25773)
            Detected Unknown Obfuscator (c:\to_test\ac7bd77245bdf2[...]aee4d06563f057ca6)
            Detected Unknown Obfuscator (c:\to_test\b607e87acdcb2e[...]d30eddddffbeec320)
            Detected Unknown Obfuscator (c:\to_test\e93c0aed6bbb4a[...]6c2efe65942f83504)
            In this section, we will also be using ILSpy an open source .NET decompiler available here.

            XORed variant


            Sample: 45c695e610d78178ec5ca6f4e1993afacf4e435b566cd2caf65408fb6080300f

            The entry point of the packer is ob6eaGgG7Bht6B35c0.G9puOotvCiNCkEEPD9.XHh0nc9pu, we can identify this information from unpacking with ILSpy:

            First, the packer decodes a Base64 encoded string (variable G9puOotvCiNCkEEPD9.EHQI8XHAH ). This decoded string is passed to the function G9puOotvCiNCkEEPD9.vovYCiNCk() along with a second argument that will function as the XOR key:

            Scrolling through the output, we are able to identify the XOR operation with ILSpy by looking through the decompiled .NET executable by seeing the '^' function used we can determine this is XOR operation.

            Finally the output of the function is passed as an argument to the function Assembly.Load(). This function is used to load .NET binaries.

            The argument passed to Assembly.Load() is a byte array and contains a Windows binary (PE32). In this case, the unpacked malware is in the byte array.

            AES variant


            Sample: 21acd3457c1a589e117988fe0456e50ed627f051a97ccd11bfeeaf3c0cd79bfe

            The logic contained within this variant of the packer is the same however instead of using XOR obfuscation, it uses AES encryption (also known as Rijndael):

            Finally the decrypted data is then loaded into memory using the Assembly.Load() function.

            Common points


            While the algorithm used by each of the analysed samples is different, encoding versus encryption, the logic is exactly the same. If we can dump the byte array variable found in the argument of the Assembly.Load() function, we have the unpacked malware.

            Dynamic Analysis with WinDBG


            .NET Version 4


            In order to perform dynamic analysis of .NET 4 samples, we need to obtain the WinDBG SOS extension available here. This extension allows for .NET 4 debugging using the Microsoft Debugger.

            Let's execute the packed malware…

            The first step is to stop the debugger execution when the CLRJIT library is loaded:
            0:000> sxe ld clrjit
            0:000> g
            (dc0.1594): Unknown exception - code 04242420 (first chance)
            ModLoad: 70fc0000 71040000 C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll
            eax=00000000 ebx=00800000 ecx=00000000 edx=00000000 esi=00000000 edi=0044e000
            eip=7736e85c esp=006fe4fc ebp=006fe558 iopl=0 nv up ei pl nz na pe nc
            cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206

            ntdll!NtMapViewOfSection+0xc:
            7736e85c c22800 ret 28h
            We then load the WinDBG SOS extension to perform analysis on the .NET application (managed application):
            0:000> .load "C:\\Psscor4\\x86\\x86\\psscor4.dll"
            We now have new WinDBG commands related to .NET debugging available. We can set a breakpoint based on .NET API usage. In this case, we are interested in the Assembly.Load() API:
            0:000> !bpmd mscorlib.dll System.Reflection.Assembly.Load
            Found 8 methods in module 71041000...
            MethodDesc = 71100b50
            MethodDesc = 71100b7c
            MethodDesc = 71100b88
            MethodDesc = 71100b94
            MethodDesc = 71100bb8
            MethodDesc = 71100bd0
            MethodDesc = 71100bdc
            MethodDesc = 71100be8
            Setting breakpoint: bp 71B29095 [System.Reflection.Assembly.Load(Byte[], Byte[], System.Security.Policy.Evidence)]
            Setting breakpoint: bp 71B29037 [System.Reflection.Assembly.Load(Byte[], Byte[], System.Security.SecurityContextSource)]
            Setting breakpoint: bp 71B28FFF [System.Reflection.Assembly.Load(Byte[], Byte[])]
            Setting breakpoint: bp 71B28F9C [System.Reflection.Assembly.Load(Byte[])]
            Setting breakpoint: bp 71395949 [System.Reflection.Assembly.Load(System.Reflection.AssemblyName, System.Security.Policy.Evidence)]
            Setting breakpoint: bp 713F3479 [System.Reflection.Assembly.Load(System.Reflection.AssemblyName)]
            Setting breakpoint: bp 71B28F3D [System.Reflection.Assembly.Load(System.String, System.Security.Policy.Evidence)]
            Setting breakpoint: bp 713C880D [System.Reflection.Assembly.Load(System.String)]
            Adding pending breakpoints...
            (There is currently a bug in the extension, requiring the command to be executed twice)

            The debugger will now stop the execution of the malware when the Assembly.Load() function is executed:
            0:000> g

            Breakpoint 3 hit
            eax=00000000 ebx=006ff2dc ecx=026b30b8 edx=0000000a esi=026b30b8 edi=006ff250
            eip=71b28f9c esp=006ff210 ebp=006ff218 iopl=0 nv up ei pl zr na pe nc
            cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246

            mscorlib_ni+0xae8f9c:
            71b28f9c e80368fdff call mscorlib_ni+0xabf7a4 (71aff7a4)
            Obviously, we can use the CLRStack and DumpObj commands to get the arguments exactly as mentioned in the previous use case. In this example, we will only use the register content. The argument passed to Assembly.Load() is available on the Stack (ESP):
            0:000> dp esp

            006ff210 00000000 026b30b8 006ff238 009504ae
            006ff220 00000000 00000000 00000000 00000000
            006ff230 00000000 00000000 006ff244 7240ea56
            006ff240 00a149a8 006ff298 724293ef 006ff2dc
            006ff250 006ff288 725b24b0 006ff3b0 724293a8
            006ff260 ecebc740 006ff404 006ff370 006ff324
            006ff270 7246e611 006ff2dc 00000000 ecebc740
            006ff280 006ff250 006ff370 006ff424 725b0890
            The second value in the stack is a pointer to the byte array: 0x026b30b8.
            0:000> dp 026b30b8
            026b30b8 71504448 00005e0000905a4d 00000003
            026b30c8 00000004 0000ffff 000000b8 00000000

            0:000> db 026b30b8+8 L16
            026b30c0 4d 5a 90 00 03 00 00 00-04 00 00 00 ff ff 00 00 MZ..............
            026b30d0 b8 00 00 00 00 00 ......
            The second argument 0x5e00 is the size of the byte array (in red), after which we can see the file header of the PE file starting with MZ: 0x4d 0x5a (in blue, but reversed due to the data being stored in little endian format). We can now dump the unpacked sample directly from within WinDBG:
            .writemem C:\\unpacked_sample.exe 026b30b8+8 L00005e00

            .NET Version 2 & 3


            The dynamic analysis process for malware compiled with .NET Version 2 and 3 is the same. The difference is how the argument is passed to the Assembly.Load() API. In this case, the argument does not use the stack, it is stored in the ECX register instead:
            0:000> dp ecx
            024ba0b8 71504448 00005e00 00905a4d 00000003
            024ba0c8 00000004 0000ffff 000000b8 00000000

            0:000> db ecx+8 L16
            024ba0c0 4d 5a 90 00 03 00 00 00-04 00 00 00 ff ff 00 00 MZ..............
            024ba0d0 b8 00 00 00 00 00
            The format is exactly the same as in the previous example the size of the array is in red and the binary to be loaded is in blue.

            Automated Unpacking


            Thanks to the analysis described previously, we can create a generic unpacker. You can find this WinDBG script in Appendix 2 for .NET versions 2, 3 and 4.

            This script can be invoked using the following syntax:
            "c:\Program Files (x86)\Windows Kits\10\Debuggers\x86\cdb.exe" -c "$$>a< C:\unpack.script C:\unpacked_sample.exe" "c:\sample.exe"
            Here is a screenshot of the script execution:

            Python script


            You can download a python script to automate .NET analysis on our github repository. The script needs the pykd extension in order to allow python execution in WinDBG. The script uses SOS commands previously mentioned in the article, the purpose is to have a better output. The configuration is at the beginning of the script:
            dump_byte_array=1
            dump_byte_array_path="c:\\path\\to\\directory\\"

            bp_list = [ ["system.dll", "System.Diagnostics.Process.Start"],
            ["system.dll", "System.Net.WebClient.DownloadFile"],
            ["mscorlib.dll", "System.Reflection.Assembly.Load"]
            ]
            The bp_list variable contains the list of breakpoint. In the example, the script will breakpoint on 3 .NET API (System.Diagnotics.Process.Start, System.Net.WebClient.Download.File and Sysyem.Reflection.Assembly.Load). The arguments of the 3 functions will be display in WinDBG.

            If the dump_byte_array variable is set to 1, the script will automatically dump the byte array in provided in the argument on the analysed functions (where the breakpoints are in place). The dump will be located in the dump_byte_array_path directory.

            The script allows text or json output. The output of the examples in this article is in text but we can switch in json by setting the JsonDebug variable to "True".

            Example 1:


            Here is the output of the script when the Assembly.Load function is called:
            0:000> .loadby sos clr
            0:000> .load pykd.dll
            0:000> !py C:\Users\lucifer\NET_plugin.py
            [.NET plugin] Beginning, setting breakpoints...
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0xb4fa65
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0xb4fa07
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0xb4f9cf
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0xb4f96c
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0x38a5a1
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0x3bda7d
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0xb4f90d
            [.NET plugin] breakpoint: mscorlib.dll System.Reflection.Assembly.Load mscorlib_ni+0x3968dd
            [.NET plugin] Let's go...

            [.NET plugin] Breakpoint: System.Reflection.Assembly.Load(Byte[])
            [.NET plugin] Argument 0: rawAssembly
            [.NET plugin] !DumpObj /d 0x02f67e04
            Name: System.Byte[]
            MethodTable: 6b5f60f8
            EEClass: 6b190878
            Size: 5644(0x160c) bytes
            Array: Rank 1, Number of elements 5632, Type Byte (Print Array)
            Content: MZ......................@...............................................!..L.!This program cannot
            Fields:
            None

            [.NET plugin] let's dump 0x02f67e04+8 Size:5644
            .writemem c:\users\lucifer\Desktop\dump_1496942775_0x02f67e04_5644.dmp 0x02f67e04+8 L5644
            The content of the byte array in argument of Assembly.Load is automatically stored in c:\users\lucifer\Desktop\dump_1496942775_0x02f67e04_5644.dmp

            Example 2:


            Here is the output of the script on a PowerShell script that execute start-process:
            [.NET plugin] Breakpoint: System.Diagnostics.Process.Start(System.Diagnostics.ProcessStartInfo)
            [.NET plugin] Argument 0: startInfo
            [.NET plugin] !DumpObj /d 0x000001ad173cdb68
            Name: System.Diagnostics.ProcessStartInfo
            MethodTable: 00007ffd7e3ee798
            EEClass: 00007ffd7e0229f0
            Size: 144(0x90) bytes
            File: C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll
            Fields:
            MT Field Offset Type VT Attr Value Name
            07ffd69e969d0 40027fa 8 System.String 0 instance 01ad173d0f20 fileName
            07ffd69e969d0 40027fb 10 System.String 0 instance 00000000000 arguments
            07ffd69e969d0 40027fc 18 System.String 0 instance 1ad173d4bf8 directory
            07ffd69e969d0 40027fd 20 System.String 0 instance 000000000000 verb
            07ffd7e3c2a50 40027fe 78 System.Int32 1 instance 0 windowStyle
            07ffd69ea1fb0 40027ff 7c System.Boolean 1 instance 0 errorDialog
            07ffd69eafc48 4002800 70 System.IntPtr 1 instance 0 errorDialogPare
            07ffd69ea1fb0 4002801 7d System.Boolean 1 instance 1 useShellExecut
            07ffd69e969d0 4002802 28 System.String 0 instance 000000000000 userName
            07ffd69e969d0 4002803 30 System.String 0 instance 000000000000 domain
            07ffd69ea4068 4002804 38 ...rity.SecureString 0 instance 00000000 password
            07ffd69e969d0 4002805 40 System.String 0 instance 0 passwordInClearText
            07ffd69ea1fb0 4002806 7e System.Boolean 1 instance, 1 loadUserProfile
            07ffd69ea1fb0 4002807 7f System.Boolean 1 instance 0 redirectStandar
            07ffd69ea1fb0 4002808 80 System.Boolean 1 instance 0 redirectStandard
            07ffd69ea1fb0 4002809 81 System.Boolean 1 instance 0 redirectStandard
            07ffd69e9b048 400280a 48 System.Text.Encoding 0 instance 0 standardOutp
            07ffd69e9b048 400280b 50 System.Text.Encoding 0 instance 0 standardErro
            07ffd69ea1fb0 400280c 82 System.Boolean 1 instance 0 createNoWindow
            07ffd69eadec8 400280d 58 System.WeakReference 0 instance 0000 weakParentPr
            07ffd7e3ef4b8 400280e 60 ....StringDictionary 0 instance 0000 envVariables
            07ffd697a69f0 400280f 68 ...tring, mscorlib]] 0 instance 0000 environment

            [.NET plugin] !DumpObj /d 000001ad173d0f20
            Name: System.String
            MethodTable: 00007ffd69e969d0
            EEClass: 00007ffd697950e0
            Size: 82(0x52) bytes
            File: C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
            String: C:\WINDOWS\system32\calc.exe
            The script displays the argument and the content of the interesting field (in the example the fileName string).

            Example 3:


            Here is the output on the script when the DownloadFile API is used in Powershell:
            [.NET plugin] Breakpoint: System.Net.WebClient.DownloadFile(System.Uri, System.String)
            [.NET plugin] Argument 1: address
            [.NET plugin] !DumpObj /d 0x000001ad17315e78
            Name: System.Uri
            MethodTable: 00007ffd7e3f4cf0
            EEClass: 00007ffd7dfc5fd0
            Size: 72(0x48) bytes
            File: C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll
            Fields:
            MT Field Offset Type VT Attr Value Name
            07ffd69e969d0 400040b 8 System.String 0 instance 000001ad172c5ea8 m_String
            07ffd69e969d0 400040c 10 System.String 0 instance 000000000 m_originalUnico
            07ffd7e3f51d8 400040d 18 System.UriParser 0 instance 001ad17032b40 m_Syntax
            07ffd69e969d0 400040e 20 System.String 0 instance 00000000000 m_DnsSafeHost
            07ffd7e3c2788 400040f 30 System.UInt64 1 instance 37615763456 m_Flags
            07ffd7e3f5590 4000410 28 System.Uri+UriInfo 0 instance 01ad17315f00 m_Info
            07ffd69ea1fb0 4000411 38 System.Boolean 1 instance 0 m_iriParsing
            07ffd69e969d0 40003fb 220 System.String 0 shared static UriSchemeFile
            07ffd69e969d0 40003fc 228 System.String 0 shared static UriSchemeFtp
            07ffd69e969d0 40003fd 230 System.String 0 shared static UriSchemeGoph
            07ffd69e969d0 40003fe 238 System.String 0 shared static UriSchemeHttp
            07ffd69e969d0 40003ff 240 System.String 0 shared static UriSchemeHttps
            07ffd69e969d0 4000400 248 System.String 0 shared static UriSchemeWs
            07ffd69e969d0 4000401 250 System.String 0 shared static UriSchemeWss
            07ffd69e969d0 4000402 258 System.String 0 shared static UriSchemeMail
            07ffd69e969d0 4000403 260 System.String 0 shared static UriSchemeNews
            07ffd69e969d0 4000404 268 System.String 0 shared static UriSchemeNntp
            07ffd69e969d0 4000405 270 System.String 0 shared static UriSchemeNet
            07ffd69e969d0 4000406 278 System.String 0 shared static UriSchemeNetP
            07ffd69e969d0 4000407 280 System.String 0 shared static SchemeDelimit
            07ffd7e3b4bd0 4000412 288 ...etSecurityManager 0 static s_ManagerRef
            07ffd69e96fb0 4000413 290 System.Object 0 shared static s_IntranetLock
            07ffd69ea1fb0 4000414 9c4 System.Boolean 1 shared static s_ConfigInitia
            07ffd69ea1fb0 4000415 9c5 System.Boolean 1 shared static s_ConfigInitia
            07ffd7e3afef8 4000416 9c0 System.Int32 1 shared static s_IdnScope
            07ffd69ea1fb0 4000417 9c6 System.Boolean 1 shared static s_IriParsing
            07ffd69e96fb0 4000418 298 System.Object 0 shared static s_initLock
            07ffd69e97b20 400041c 2a0 System.Char[] 0 shared static HexLowerChars
            07ffd69e97b20 400041d 2a8 System.Char[] 0 shared static _WSchars

            [.NET plugin] !DumpObj /d 000001ad172c5ea8
            Name: System.String
            MethodTable: 00007ffd69e969d0
            EEClass: 00007ffd697950e0
            Size: 94(0x5e) bytes
            File: C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
            String: http://blog.talosintelligence.com/
            Fields:
            MT Field Offset Type VT Attr Value Name
            07ffd69e99310 400026f 8 System.Int32 1 instance 34 m_stringLength
            07ffd69e97b88 400027 c System.Char 1 instance 68 m_firstChar
            07ffd69e969d0 4000274 90 System.String 0 shared static Empty

            [.NET plugin] Argument 2: fileName
            [.NET plugin] !DumpObj /d 0x000001ad172c61c8
            Name: System.String
            MethodTable: 00007ffd69e969d0
            EEClass: 00007ffd697950e0
            Size: 92(0x5c) bytes
            File: C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
            String: c:\users\lucifer\desktop\demo.txt
            Fields:
            MT Field Offset Type VT Attr Value Name
            07ffd69e99310 400026f 8 System.Int32 1 instance 33 m_stringLength
            07ffd69e97b88 4000270 c System.Char 1 instance 63 m_firstChar
            07ffd69e969d0 4000274 90 System.String 0 shared static Empty

            The first argument is a System.URI object. The object is automatically parsed and the relevant contents are displayed in WinDBG. In this case, the first field is displayed (the string m_string). This string contains the contacted URL. The second argument is a string which is displayed too.

            Example 4:


            Here is the output on the script in JSON (start-process execution):
            0:020> .loadby sos clr
            0:020> .load pykd
            0:020> !py c:\Users\lucifer\DotNETPlugin.py
            {
            "date": 1500306926,
            "bp": "System.Diagnostics.Process.Start(System.Diagnostics.ProcessStartInfo)",
            "arguments": {
            "0": {
            "fields": {
            "0": {
            "Type": "System.String",
            "Name": "fileName",
            "string": "C:\\WINDOWS\\system32\\calc.exe"
            },
            "1": {
            "Type": "System.String",
            "Name": "arguments",
            "string": ""
            },
            "2": {
            "Type": "System.String",
            "Name": "directory",
            "string": "C:\\Users\\lucifer"
            },
            "3": {
            "Type": "System.String",
            "Name": "verb",
            "string": ""
            },
            [...redacted...]
            "20": {
            "Type": "....StringDictionary",
            "Name": "environmentVariables",
            "value": "0000000000000000"
            },
            "21": {
            "Type": "...tring,",
            "Name": "environment",
            "value": "instance"
            }
            },
            "name": "startInfo",
            "offset": "0x0000025c1c572170"
            }
            }
            }

            Conclusion


            WinDBG is a really powerful tool provided by Microsoft. A lack of familiarity with the syntax and interface means that it can be overlooked as a malware analysis tool. With the right extension, it can easily be used for the analysis of managed code (.NET).

            We hope that this article piques your curiosity and that you will think about WinDBG next time you will have to analyse managed code such .NET.

            Appendix


            IOCs


            Packed samples SHA256


            • 21acd3457c1a589e117988fe0456e50ed627f051a97ccd11bfeeaf3c0cd79bfe
            • 344ce133363f005346210611d5abd2513934a32739bc6e1bbd2257a298484051
            • 45c695e610d78178ec5ca6f4e1993afacf4e435b566cd2caf65408fb6080300f
            • 61653b2811fb7c672584d00417cbc1a56c8372331f1913104f9807a775f25773
            • ac7bd77245bdf284d36ce1f9e2cb6a21d2dbd38aa1964dbaee4d06563f057ca6
            • b607e87acdcb2ef0f102298decc57ca3ea20fabbf02375fd30eddddffbeec320
            • e93c0aed6bbb4af734403e02d399c124f2d07f8e701fb716c2efe65942f83504

            Unpacked samples SHA256


            • 35dee9106e4521e5adf295cc945355d72eb359d610230142e5dd4adda9678dee
            • b5ce02ee3dfccf28e86f737a6dde85e9d30ff0549ec611d115a1d575b5291c2e
            • d9a732dcf87764a87f17c95466f557fac33f041ac6f244dba006ba155d8e9aea
            • fe068ce56b258762c10cc66525c309e79026c0e44103ca9b223c51382722cb09

            WinDBG scripts


            Before .NET 4

            sxe ld mscorjit
            g
            .loadby sos mscorwks
            !bpmd mscorlib.dll System.Reflection.Assembly.Load
            .echo "Weird bug... bp twice..."
            !bpmd mscorlib.dll System.Reflection.Assembly.Load
            g
            r $t1 = ecx
            .printf "Byte array: ";r $t1
            r $t2 = poi($t1+4)
            .printf "Size: ";r $t2
            db $t1+8 L$t2
            .echo "dump in the file: ${$arg1}"
            .writemem ${$arg1} $t1+8 L$t2
            .kill
            q

            .NET 4

            sxe ld clrjit
            g
            .load "C:\\Psscor4\\x86\\x86\\psscor4.dll"
            !bpmd mscorlib.dll System.Reflection.Assembly.Load
            .echo "Weird bug... bp twice..."
            !bpmd mscorlib.dll System.Reflection.Assembly.Load
            g
            r $t1 = poi(esp+4)
            .printf "Byte array: ";r $t1
            r $t2 = poi($t1+4)
            .printf "Size: ";r $t2
            db $t1+8 L$t2
            .echo "dump in the file: ${$arg1}"
            .writemem ${$arg1} $t1+8 L$t2
            .kill
            q

            Vulnerabilities in ProcessMaker, WebFOCUS, and OpenFire Identified and Patched

            $
            0
            0
            Today, Talos is disclosing several vulnerabilities that have been identified by Portcullis in various software products. All four vulnerabilities have been responsibly disclosed to each respective developer in order ensure they are addressed. In order better protect our customers, Talos has also developed Snort rules that detect attempts to exploit these vulnerabilities.

            Vulnerability Details

            TALOS-2017-0313 (CVE-2016-9048) ProcessMaker Enterprise Core Multiple SQL Injection Vulnerabilities

            TALOS-2017-0313 was identified by Jerzy Kramarz of Portcullis.

            TALOS-2017-0313 encompasses multiple SQL injection vulnerabilities in ProcessMarker Enterprise Core 3.0.1.7-community. These vulnerabilities manifest as a result of improperly sanitizing input received in web requests. An attacker who transmits a specifically crafted web request to an affected server with parameters containing SQL injection attacks could trigger this vulnerability. This could allow exfiltration of the database information, user credentials, and in certain configuration access the underlying operating system.


            TALOS-2017-0314 (CVE-2016-9045) - ProcessMaker Enterprise Core Code Execution Vulnerability

            TALOS-2017-0314 was identified by Jerzy Kramarz of Portcullis.

            TALOS-2017-0314 is a remote code execution vulnerability in ProcessMarker Enterprise Core 3.0.1.7-community. A specially crafted web request can cause unsafe deserialization, potentially resulting in arbitrary PHP code execution. Exploitation of this vulnerability could be achieved if an attacker transmits a specifically crafted web parameter to an affected server, triggering this vulnerability.

            TALOS-2017-0315 (CVE-2016-9044) - Information Builders WebFOCUS Business Intelligence Portal Command Execution Vulnerability

            TALOS-2017-0315 was identified by Alfonso Alguacil and Georgios Papakyriakopoulos of Portcullis.

            TALOS-2017-0315 is an arbitrary command execution vulnerability in Information Builders WebFOCUS Business Intelligence Portal 8.1. This vulnerability manifests due to improperly sanitizing and handling input received via a web request. TALOS-2017-0315 is exploitable if an attacker transmits a specifically crafted web request to an affected server while logged into the application, triggering this vulnerability. Unauthenticated users are not able to exploit this vulnerability.

            TALOS-2017-0316 (CVE-2017-2815) - XML External Entity Injection In Open Fire User Import Export Plugin

            TALOS-2017-0316 was identified by Jerzy Kramarz, Michail Sarantidis, Rafael Gil Larios, Giovani Cattani, and Anton Garcia of Portcullis.

            TALOS-2017-0316 is a XML External Entity injection attack in the OpenFire User Import Export Plugin. TALOS-2017-0316 manifests due to improperly handling unsanitized user input. Exploitation of this vulnerability could allow an attacker to retrieve arbitrary files or create a denial of service condition (by making the server read from a file such as '/dev/random'). Attackers could also reference URLs, potentially allowing port scanning from the XML parser's host, or the retrieve sensitive web content that would otherwise be inaccessible.

            Coverage

            Talos has developed the following Snort rules detect attempts to exploit these vulnerabilities. Note that these rules are subject to change pending additional vulnerability information. For the most current information, please visit your Firepower Management Center or Snort.org.

            Snort Rules:
            • 42244-42252
            • 42290

            For other vulnerabilities Talos has disclosed, please refer to our Vulnerability Report Portal: http://www.talosintelligence.com/vulnerability-reports/

            To review our Vulnerability Disclosure Policy, please visit this site:

            http://www.cisco.com/c/en/us/about/security-center/vendor-vulnerability-policy.html

            Vulnerability Spotlight: Multiple Vulnerabilities in CorelDRAW X8

            $
            0
            0

            Today, Talos is disclosing several vulnerabilities that have been identified in CorelDRAW X8. CorelDRAW X8 is graphics suite used for manipulating raster and vector images and is a common alternative to Adobe Creative Cloud. Several of the vulnerabilities being disclosed today specifically affect PHOTO-PAINT X8, a raster graphics editor. Talos has responsibly disclosed this vulnerability to Corel. Corel has made a software update that addresses this vulnerability available for download.

            Vulnerability Details

            TALOS-2016-0244 (CVE-2016-8730) - Corel PHOTO-PAINT X8 GIF Filter Code Execution Vulnerability

            This vulnerability was identified by Piotr Bania of Cisco Talos.

            TALOS-2016-0244 manifests as a out-of-bounds write memory corruption vulnerability in the GIF parsing functionality of Corel PHOTO-PAINT X8. A user who opens specifically crafted GIF file can trigger this vulnerability, resulting in arbitrary code execution of the attacker's choice. Scenarios where this might occur would be email-based attack scenarios, where the victim opens up a malicious GIF file in Corel PHOTO-PAINT, or scenarios where a user downloads a malicious GIF file from a site using user-generated content.

            TALOS-2016-0261 CVE-2016-9043 CorelDRAW X8 EMF Parser Code Execution Vulnerability

            This vulnerability was identified by Piotr Bania of Cisco Talos.

            TALOS-2016-0261 manifests as a out-of-bounds write memory corruption vulnerability in the EMF parsing functionality of Corel X8. A user who opens specifically crafted EMF file can trigger this vulnerability, resulting in arbitrary code execution of the attacker's choice. Scenarios where this might occur would be email-based attack scenarios, where the victim opens up a malicious EMF file in in a CorelDRAW X8 application, or scenarios where a user downloads a malicious EMF file from a site using user-generated content.

            TALOS-2017-0297 (CVE-2017-2803) - Corel PHOTO-PAINT X8 64-bit TIFF Filter Code Execution Vulnerability

            This vulnerability was identified by members of the Cisco Talos Vulnerability Research Team.

            TALOS-2017-0297 affects a part of the application contained in the DLL ietif.flt, responsible for parsing files in the TIFF file format. While parsing the TIFF IFD entries, a specially crafted TIFF file can cause an underflow resulting in a large value being passed as the `size` to a `memset` function and corruption of the process memory. The vulnerability is confirmed to affect Corel TIFF Import/Export Filter (64-Bit) - 18.1.0.661 library included with the 64 bit version of Corel PHOTO-PAINT X8.

            TALOS-2017-0298 (CVE-2017-2804) - Corel PHOTO-PAINT X8 TIFF Filter Code Execution Vulnerability

            This vulnerability was identified by members of the Cisco Talos Vulnerability Research Team.

            TALOS-2017-0298 is a remote, out of bound write vulnerability that exists in the TIFF parsing functionality of Corel PHOTO-PAINT X8 18.1.0.661. A specially crafted TIFF file may exploit the vulnerability resulting in potential memory corruption. An attacker may send the victim a specific TIFF file to trigger this vulnerability. The vulnerability is confirmed to affect Corel TIFF Import/Export Filter - 18.1.0.661 library included with the both 32 bit and 64 bit versions of Corel PHOTO-PAINT X8.

            For the full technical details of these vulnerabilities, please refer to the vulnerability advisories that are posted on our website:

            http://www.talosintelligence.com/vulnerability-reports/

            Discussion

            Familiar file formats that are routinely shared in work environments make tempting targets for attackers as the targets may not think of familiar image attachment type as being potentially malicious. The TIFF file format is regularly used in the graphic design industry and for the distribution of certain documents such as fax messages. Other formats, such as GIFs and EMFs, are common image formats that most do not expect to be inherently malicious as they are images or contain metadata.

            The complexity of file formats such as TIFF means that there is a lot of scope for vulnerabilities to be inadvertently included in programs that parse the format. In recent months, Talos discovered other vulnerabilities related to the TIFF format such as vulnerabilities in the LibTIFF library, ImageMagick, and in Apple iOS. Organisations need to remain aware of vulnerabilities in the software packages that they use and update to the latest version.

            Coverage

            The following Snort Rules detect attempts to exploit these vulnerabilities. Please note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For all current rule information, please refer to your Firepower Management Center or Snort.org.

            Snort Rules:
            • 41344-41345
            • 42140-42141
            • 42084-42091

            For other vulnerabilities Talos has disclosed, please refer to our Vulnerability Report Portal: http://www.talosintelligence.com/vulnerability-reports/

            To review our Vulnerability Disclosure Policy, please visit this site:
            http://www.cisco.com/c/en/us/about/security-center/vendor-vulnerability-policy.html

            Threat Round-up for July 14 - July 21

            $
            0
            0
            Today, Talos is publishing a glimpse into the most prevalent threats we've observed between July 14 and July 21. As with previous round-ups, this post isn't meant to be an in-depth analysis. Instead, this post will summarize the threats we've observed by highlighting key behavior characteristics, indicators of compromise, and how our customers are automatically protected from these threats.

            As a reminder, the information provided for the following threats in this post is non-exhaustive and current as of date of publication. Detection and coverage for the following threats is subject to updates pending additional threat or vulnerability analysis. For the most current information, please refer to your Firepower Management Center, Snort.org, or ClamAV.net.

            This week's most prevalent threats are:
            • Doc.Downloader.Agent-6333860-0
              Document Macro obfuscation
              These document downloaders are Excel worksheets which use obfuscated macros to trigge Shell functions and leverage cmd calling powershell. The execution chain typically is Excel -> CMD -> PowerShell download and execute.
               
            • Doc.Dropper.Agent-6333859-0
              Office Macro Downloader
              This is an obfuscated Office Macro downloader that attempts to download a malicious payload executable.
               
            • Doc.Macro.Obfuscation-6332451-0
              Office Macro
              Malware authors leverage Office documents to compromise a target system. To bypass anti-virus products they will employ obfuscation techniques. This cluster uses Arrays to indirectly access data and reform it into the required data to evaluate.
               
            • Js.Dropper.sPowerShell-6333821-0
              Dropper
              sPowerShell is a JavaScript dropper for both ransomware & information stealers that are written as PowerShell scripts. The script itself is encoded with Base64; the original JS script is responsible for decoding it. Once decoded, the PowerShell ransomware gets to work on encrypting files based on an inclusion list for file extensions. It will not change the file extension for affected files, & it's up to the user to discover these modified files or the ransom note that is left for them. There is no automatic prompt for the dropped ransom note.
               
            • Win.Trojan.Agent-1388716
              Trojan
              This polymorphic sample is a dropper that will create copies of itself on the hard drive under different random names to ensure persistence. It can carry different malicious payloads, so it can be used as a delivery mechanism for different types of threats.
               
            • Win.Trojan.AutoIT-6333854-0
              Trojan
              This is an AutoIT malware which is packed in a self-executing RAR archive. The malware is using process hollowing to hide itself from a debugger, is communicating with a remote web server, steals passwords from Firefox' password store and adds an autorun registry key to achieve persistence.
               
            • Win.Trojan.DelphiSpamDown-6333856-0
              Downloader
              This sample is a Delphi downloader. It is spread in the wild and it is related to a massive spam campaign. The binary is written in Delphi and contains anti-debug and anti-vm tricks and tries to contact a remote server to download additional resources.
               
            • Win.Virus.Virlock-6332874-0
              Virus
              VirLock and its variants are polymorphic ransomware that not only encrypts the files on the system, but also infects them by inserting a modified version of its own code at the beginning of each file. It will replace each file by an executable disguised as the original file, with the same icon and its "exe" extension hidden. Once executed, it will infect the system and show the contents of the original file. Additionally, it locks the screen and asks the user to pay a ransom. It will try to connect to google.com to check if it gets redirected to some localized google page such as google.co.uk or google.au. It will also try to spread to network shares or cloud storage platforms, in an attempt to increase the damage and potentially infect other users that may inadvertently open shared infected files.
               

            Threats

            Doc.Downloader.Agent-6333860-0

            Indicators of Compromise

            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • 52[.]14[.]80[.]76
            • 52[.]173[.]193[.]166
            Domain Names
            • farmona[.]co
            Files and or directories created
            • %TEMP%\CVR668.tmp.cvr
            • %AppData%.exe
            File Hashes
            • 01c4f96c8117df219cf9f50723454ace242edcf2d22b09e8e72c5d0c92aad540
            • 01ed6302a7ea8d4c54d439b7016b99b6dca275f85d22611811bac8c135309d41
            • 0634216b34baf0fdc293002632932312293fc4854701b143c6f4735e8cd98b45
            • 070e56e7170fc63c1c42c3b0b37df5a25f5c7e2e0a5fd454e8e8e63de2b71bdf
            • 07aa3365d733098e11e91ece1628130217414488d3fce0e2e261bfb29ab6fed9
            • 0be6e5bb277cbe815beced059aa5fb5160954dc8fd3fef918746caf276cc82a3
            • 0fc8af1a3deb4d2895b9bb202278299369a16950239288577472bc06fbf07e4b
            • 13fd575d1474ae579f55615733f75fa50231447b8653e6eb58678103ee82e99e
            • 1b01632e1a44445124165ed61592527fe649a32ed889ee75fdb73d07bf396812
            • 2248f89b848781c0405cc0cead60172ec75e035aca12e8c147818192fde2266d
            • 204ecc72a94c1d1ef60a08ccb132a5123d2e8dcfc16ef1cacebb20887049ec2d

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella


            Screenshot




            Doc.Dropper.Agent-6333859-0

            Indicators of Compromise

            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • N/A
            Domain Names
            • atlon-mebel[.]ru
            • ayurvoyage[.]com
            • enzyma[.]es
            • inormann[.]it
            • kms2017[.]com
            • pta-babel[.]net
            • studio80[.]biz
            • sxmht[.]com
            • test[.]atlon-mebel[.]ru
            • tidytrend[.]com
            • westsussexcentre[.]org[.]uk
            • wizbam[.]com
            Files and or directories created
            • %TEMP%\proshuto8.exe
            • %TEMP%\~DFFD1107AB284DD884.TMP
            • %TEMP%\serenade8.TEMP
            File Hashes
            • 026b944764ec5f0f342b2f532e18093627930a1c9810d235a4893ecbbbe4eaee
            • 04f5160bf3126ad52a819a86cf4807dc83c89a4e5a2643b49b3fe60bf01c8419
            • 09a43a41f182b0677d28b7e9cc685d1217f5c1fca63af4418f0a9ef776f6dd0a
            • 0a0bf44d664575b194063536138d0b5ea9d3583e956e675462b55decf4ad73a9
            • 0ea9107334209b304b650ff86854862d4eed68e616aec015618853b1d6a3c001
            • 1c32493b72d3c3da9b7d4b9022edfdec445a7feaa261e621799c1e45241b5b2f
            • 1dd941235ba3aae55c0f876131d6381ef47c4c37f6be0116b61a5ff0ddf4da6a
            • 201a567836576380edc8d7a1b7f2e70c4127faa7ea541da4d7e0457401b2b492
            • 2debe28ebdeea8789a136170782018789d7ba6e8d07b8289231c8b6aa509a839
            • 351376c7a04ab7bf3f4a22b124165c4817d7fefe35dd2d0834cd3fcf3c580043
            • 36ac209d2115d4b64b3b2b41b8731235168ac71d744740dbbc73f6c13cc85bab
            • 3ceb74963648d8adf4b47303d74d344628257dc36cf87a4330099fc264fe6ae5
            • 46bdd38ab49faaed1aa40c17d17e2a45ba87236dee0802c6e9e1385bfc1fe261
            • 4aca7a72441a2100f4d40348e813ce0bcdb87e7d311e4e2e3b1dc53eecd9f149
            • 4b62feae568e3aaf8510897ab6c674283a7d133d4e72b4aaa4864a465bd88807
            • 4d4906439c50c3c8e80b40e0f1135f3c6df31b1fa596f668d4f8c48ead902dc3
            • 5e7442c9c6b95f9a7af5ce9a08b1d61852e1da901ddf96e1604374be36d823c1
            • 6274606653a2bb4470d3acdd72f11af37827253f5a728d539da9be0a6fb12db3
            • 631e4b651c157a1179bd28fc71cc072a933ec7a9be962fa4e758963c4f450673
            • 6994c078ad88915221a6679dcab25f942a6799c998bfffd36004f500faf1d2aa
            • 69fee7f159df45b2f3fe177b0e4f8377b2f281d907c15ce69b3f5fd43592d297
            • 6a7fcf70672bec03c73443dc26ad8cd5dbed6227de7073d7d37d2c920d3ca5b7
            • 77deb4917f19577c06643e0268b96b12050d6814c07e961f84bd143189ba23b8
            • 7b28472b8552e2f9f63126a66ef1bec226acf49919e821c8204e0142864af7c2
            • 7c31ebd234e9ea4e8e5176cca74f95cf6d0f8ebdad6f5bae0aa07229cff3557a
            • 8046e1b4a24d714812f4fcfa7f7debfa2057a83c8631b7e2112d37653c83aa04
            • 8902a87a99470edc2210af7f660ae3f1d032a4e764ae5415f00b3de4e873715b
            • 9217691c969ca90bba7e68648c5d52c1fec4183f2837adb407b55e6957cc62c8
            • 95dfa7cb08275d55c2daa3dab39cd3502ed8e9221501ccd43096c4dcb69574df
            • 9a7972ec543717861bf0030e35069c5d672ed0447a1f7690f8e3992329b4e08f
            • a5067cd834500ad631443d66f52a8454adedcc316bdd9a9f340587efe3d71862
            • a912eebe77cd06413744e8bca95c7bc4d7200a82097178cbfd478778d89afc16
            • af598ffbba3c59ce109d2ddd9ef58425bd3a8a70bbbea48b14460dcef21704d7
            • b1828e83a4d01b45adb238165e17520f5853a2a8d1ac083d2f6130be8813e5fb
            • ba9ae0515d7d720634114de6f669bcb9c9bc8bebb9b30df98585b8c2751cb419
            • d34e29aeae628324e27067f1b0ed9895b335a99eed2bad836b2cb08cc311276e
            • d3a1dc1018514102ce83b054374a0422328ba812f78a9fee7d17b224a7b7fb9b
            • e3a122deee0913710df8e2d8137f089123e455195a6d71dac072343fc8e48c2e
            • ec67964a20940b42a58a3149327e519c97505ae0227566d31a72e94a31add0b4
            • ed8779e9e0231c4882152bae2be367a9cac0d2b270a5fba8d9dd56ccd6ddcb34
            • ee5b16b15dd712ff7e0ada9e6b93da04fcfe9043e53a605d0ace1fe365f0bd54
            • f0892554e22c923645f20e9de0920199a791f744dee18f9c8df7f0b0ffa954e0
            • f921d1fd16fe5735f1abab55e836fd6817e9d6e340d0d056af25b7214559cf7b
            • ff29411724d4cac3a6553ab621180f8a2c05cf01573c97873061b9df9ba57246

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella


            Screenshot




            Doc.Macro.Obfuscation-6332451-0

            Indicators of Compromise

            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • 185[.]165[.]29[.]36
            • 52[.]173[.]193[.]166
            Domain Names
            • N/A
            Files and or directories created
            • %TEMP%\CVR65CC.tmp.cvr
            File Hashes
            • 41b9c93fed52bffe68d03abbcbe42086a9baf743d56f9262abd5b4c7fcbff951
            • 4c5f92378c3fe002163abb763ab30de3b167512255af8f90c0ab7ca85e15fe7f
            • 8c0559c86e7879ecf25442bc0a8105193d44e9641ac939077d43f6c4dcfc4e9c
            • 727d8957c910dd733b4960f22535e61375e417cc521b820ae8a917597af86295
            • a84e3659977948b8f14cb2bfacef19d997463e779fed8750fa2d44b4342584b4
            • a4e076bdea2bdc1028d232079b0bcf42a9b4997fb43e78fbda745f6bb047612c
            • 404de9c0ea3f8061c69e0dac80c6706e9ad263059ed845f1d69fc77b367a51aa
            • 7ac2d7693119e8e07ee9ab0979a219f99763deb2b4134e8a6c18cec7aba1a76a
            • 29015d08a221749ca7cd1b9526ae4c434457199ac3226236f9e57fdb01b21213
            • 1259e834561574787f5e8c6f0fd7e3af62ce566317275ad6e0484b2d2d02904e
            • 341b86bd427dfca140ef6b3f47c7f269fe3ada974692237cc038f5910326d806
            • 5d91e7426fb87e5f2c9a5aa575d8bc0e98b7e1a09947dcb4e4943c5c047933d9
            • f11534d903c19da7f9b951419fb31fc8027c27f7ed7e3fdb89a923004a838ca1
            • 513a70f9692100bab9aee761125a446c7a7fb2ddd8395810f64c73cedd664f8e
            • f2fee82c08af4579275a7bfd7859bd9031c43a4c871ab6bb1d3fe1d699c020ca
            • a0b29989213e1c2e08bcb136d77164251fcff105c640a9ba75f9ed87c6a0407b
            • f04ce92cb9f190f8c06d444ac5431f637b6ea8ba864201a549903e3115968403
            • 3743bc035609dc41608e2580bd9ee1555bbd8e9311dcf879e12821ce40727db5
            • ab004137cd4eeff2528c749bc80fa8c05be279fbadf54fd48eb433a63ba9ebaf
            • 2611831b22f6b0df892e363d429a666b5a4bb9303a97b30c527fb4f43379a462
            • 0dd337e3bef51dd39867317b47870076c8bda3efede772fc571b48d59ff79bcf
            • ec0aba7dec0510afc007260370f08f166f6aeadbf0e38206aef3b2df96c6fddb
            • 58bcd393831d35adf5343ddeaedc3de4f9b4c11565cbcb21e220ef20d34061d6
            • 7531238a3e7a788700bef153d999c6527975c108176e435a0ca200e15fa08d5a
            • 5702fa93b08399d8f8d7d1ef1eb2902e7f37a9bbaaf5d9aa6b85a2844224662e

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella


            Screenshot




            Js.Dropper.sPowerShell-6333821-0

            Indicators of Compromise

            Registry Keys
            • HKLM\SYSTEM\CONTROLSET001\SERVICES\MPSSVC\PARAMETERS\PORTKEYWORDS\DHCP
              • Value: Collection
            Mutexes
            • Sessions\1\BaseNamedObjects\_SHuassist.mtx
            • Sessions\1\BaseNamedObjects\DBWinMutex
            IP Addresses
            • N/A
            Domain Names
            • joelosteel[.]gdn
            • ipcaservices[.]xyz
            Files and or directories created
            • %USERPROFILE%\Desktop\_README-Encrypted-Files.html
            • %USERPROFILE%\Documents\_README-Encrypted-Files.html
            File Hashes
            • 7a6d5ae7d7bc2849ea40907912a27e8aa6c83fafd952168f9e2d43f76881300c
            • cce0da7814b5966ffacfecacec0e87aec83989889b56e4dc37eed7873b51617f

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella


            Screenshot




            Win.Trojan.Agent-1388716

            Indicators of Compromise

            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • N/A
            Domain Names
            • N/A
            Files and or directories created
            • %SystemDrive%\e86nw5.exe
            • %SystemDrive%\4kh4ht.exe
            • %SystemDrive%\ucrr38u.exe
            • %SystemDrive%\fllx91x.exe
            • %SystemDrive%\9f2c5u7.exe
            • %SystemDrive%\022240c.exe
            File Hashes
            • 6ffc7684a7ce4e263d0018310e03f4c81df776cd2ad1fdb26e0cb46ee5a9d899
            • 588d681952c3d07a6f2dd740e6253a6160a37ec3d80d376f742b2f1c9e9fa3a5
            • 0c27abc4b32cd84d8ed11907d8b47e0caa41af884efbe599e287978ad56cc6d4
            • 56fc60eff1ce21bc0662abce0ce74834e530b4baf297f055bdfdc5bb77c22ec6

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid




            Win.Trojan.AutoIT-6333854-0

            Indicators of Compromise

            Registry Keys
            • <HKLM>\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
            • <HKLM>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
            Mutexes
            • N/A
            IP Addresses
            • N/A
            Domain Names
            • cn67975[.]tmweb[.]ru
            Files and or directories created
            • %TEMP%\fjs\[a-z]{3}.(ppt|xl|icm|pdf|txt|bat|docx|mp4|bmp|ico|jog|dat)
            • %TEMP%\667796.bat
            • %TEMP%\fjs\svu-mkc
            File Hashes
            • 927bd28d825adc6569d1e307bd3709f73350b3ca2b0f98bbbdd2370526ae19b6
            • bb51a0200e84137fb1c07e39fbd7f0ded1eda78d3c95cfa1e16887f0762ab665
            • 2cd44a3204106c4fa3e11c310f21a3d0a89795ae90cad00117c779386ea619fd
            • 83a482b1771474915838db7251d00cf12ae5171c04966621bba82c5829e57b4a
            • a831d5503c549917d333d45c72532f0407ed306ca5c95478dad11cb34342ca60
            • f8305d63f8d4ebc4b4c4bea7c3dd75b3d3c3f53aa2f28cc789a2573d55b83613
            • ea047fca20938acaeaf82d7753a86bdf9c6ed1bcb6573634d8f515d15b6ddd13
            • 62f72450c470bd01096766ac25e8b6ca4edb79683c2ee5b2cc89ec2234983c44
            • 38dfdc80844d6f6b0d1a73843f1a4704d7bb12cf2ca61d98a54d1cdb5722ac66
            • f81a37d816c639fd977d7781f7fe54cc51e2e34aa3bb8bc877c74ae140025003

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella




            Win.Trojan.DelphiSpamDown-6333856-0

            Indicators of Compromise

            Registry Keys
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\MPSSVC\PARAMETERS\PORTKEYWORDS\DHCP
              • Value: Collection
            • HKU\Software\Microsoft\Windows\ShellNoRoam\MUICache
            • HKU\Software\WinRAR
            Mutexes
            • DBWinMutex
            IP Addresses
            • 92[.]53[.]96[.]122
            Domain Names
            • cg51478[.]tmweb[.]ru
            Files and or directories created
            • \samr
            • %System32%\wdi\{ffc42108-4920-4acf-a4fc-8abdcc68ada4}\{debd4f12-5573-4e21-a11a-2adccd61a055}\snapshot.etl
            • %System32%\wdi\{533a67eb-9fb5-473d-b884-958cf4b9c4a3}\{bc3d8877-b46d-4746-b041-b538af5e2cf0}\snapshot.etl
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\713906.bat
            • \TEMP\scan sample.exe
            File Hashes
            • d603a19fb425aa77308ee7d3527f03e0a455667aed2030b4fc2c46388a230dad
            • f23220f487d021aed897deee04e7aaada2521d096406517cd3adcacf4754beac
            • 72464898f83126f1a89d76cf76b2867b58655b3b316c2000dd185f2c31a4d786

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella




            Win.Virus.Virlock-6332874-0

            Indicators of Compromise

            Registry Keys
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\VOSIYOAG
              • Value: ObjectName
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\VOSIYOAG
              • Value: DisplayName
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\VOSIYOAG
              • Value: Type
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\VOSIYOAG
              • Value: Start
            • <HKCU>\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
              • Value: rgwIEcIs.exe
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\VOSIYOAG
              • Value: ImagePath
            • <HKLM>\SOFTWARE\WOW6432NODE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
              • Value: IMMwgswc.exe
            • <HKCU>\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\ADVANCED
              • Value: HideFileExt
            • <HKCU>\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\ADVANCED
              • Value: Hidden
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\VOSIYOAG
              • Value: WOW64
            • HKU\Software\Microsoft\Windows\CurrentVersion\Run
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\VosIYoaG
            • <HKLM>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
            Mutexes
            • \BaseNamedObjects\OeoQEIQU
            • \BaseNamedObjects\JMcsAgIg
            • \BaseNamedObjects\eKQoMYQM
            • \BaseNamedObjects\rgQAYgUk
            • \BaseNamedObjects\juAkwAUg
            • \BaseNamedObjects\WUUMAwEY
            • \BaseNamedObjects\LIAAoosI
            IP Addresses
            • N/A
            Domain Names
            • N/A
            Files and or directories created
            • %SystemDrive%\Documents and Settings\Administrator\mYAMwMEo\aYEsEocI.exe
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\eAsoAsoc.bat
            • %SystemDrive%\Documents and Settings\All Users\xEQswAgE\hEEskAMI.exe
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\file.vbs
            • %SystemDrive%\Documents and Settings\All Users\keAQYows\Ngwockko.exe
            • %SystemDrive%\Documents and Settings\All Users\eCQoYwsY\cOIkcIIs.exe
            • \MSOCache\All Users\{90140000-0115-0409-0000-0000000FF1CE}-C\DW20.EXE
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\f1d2_appcompat.txt
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\HAIgcwYY.bat
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\JikQIUos.bat
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\1aba_appcompat.txt
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\BywQYkYY.bat
            • %System32%\wdi\{533a67eb-9fb5-473d-b884-958cf4b9c4a3}\{a69f0170-8245-4aed-a99e-3b0aad202ce2}\snapshot.etl
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vgMUkcEw.bat
            • %SystemDrive%\Documents and Settings\Administrator\HQcwsEQk\iUEAMAQY.exe
            • %SystemDrive%\Documents and Settings\All Users\wkkIwsUo\FcIoIUwU.exe
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\oiwwooMU.bat
            • %SystemDrive%\Documents and Settings\All Users\UUkwYskE\tIAMksoQ.exe
            • %SystemDrive%\Documents and Settings\All Users\TiggsEgM\iigYwggc.exe
            • %SystemDrive%\Documents and Settings\Administrator\josYsEwI\IEkIQAgg.exe
            • \TEMP\f903440f2b8e05fde78b17ad34bdae047604a33af999aaee8954dc1f689d3298.exe
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\B291D.dmp
            • %SystemDrive%\Documents and Settings\All Users\OUkAAEIY\qaMAkEQc.exe
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\NuYsMUAc.bat
            • %SystemDrive%\Documents and Settings\All Users\ymYgUYAo\PqUEkQUs.exe
            • %SystemDrive%\Documents and Settings\Administrator\SKsYAMwU\OugokkEo.exe
            File Hashes
            • 81bec8df30db0bd694ecf01d3950fbe91823854ab017c0cb176d32c9ada3f202
            • d49a98d35bcb6ff16206c6d1e1495d4ddf9f1911f785bccda24c2b1e0bfe3d03
            • 6cff1fdde90a5708301b2d3c48729ebf3be7bb4a8f0e6992406affe034ad0a0f
            • 94549c01f4ca88d7169141b7a8aaa0a79a28e2770811ef84febd639af70c7a74
            • 824eed3471a9f86836ac4bced8a5ce7f57df95048a995dc0219feab771404f28
            • db2415f2259b7ec9aaa6ab004a659753ad51dafccbc8696f0a5e906750304efc
            • faaa74146e151d525e94e536ee2605a76c8a0d1699024979181712a03b249f25
            • 7cd99c34887ea6213f18347720d7b1d257969f821bc78f6ad128f55ff137096c
            • 61012a5ae49bcfc6c31110b0117c9ed3d3f810cb8053857ef3017b403aeb4ad0
            • 6161ca5b2cd218ae1c277e6fcc509f571cc409ae4b2aba007d0e1ef28057fd7d
            • cacc1b16c233ad74c95b051edb5542a2824441314aba3f12e0397b857222c0a9

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Screenshot


            Vulnerability Spotlight: FreeRDP Multiple Vulnerabilities

            $
            0
            0
            Vulnerabilities discovered by Tyler Bohan of Talos

            Overview


            Talos has discovered multiple vulnerabilities in the FreeRDP product. FreeRDP is a free implementation of the Remote Desktop Protocol (RDP) originally developed by Microsoft. RDP allows users to connect remotely to systems so they can be operated from afar. The open source nature of the FreeRDP library means that it is integrated into many commercial remote desktop protocol applications.

            We identified a number of vulnerabilities falling into 2 classes:
            • 2 Code Executions;
            • 4 Denials Of Service.
            The first category allows code execution on the client side through a specially crafted response from a RDP server. The second category can cause the termination of the FreeRDP client. The vulnerabilities result from weaknesses in the handling of network packets sent from the RDP server. Indeed, the size of the data needed to be parsed is sent from the server without checks on the client side. An attacker can compromise the server or use a man in the middle attack to trigger these vulnerabilities.

            Details

            Code Execution

            TALOS-2017-0336 (CVE-2017-2834) - FreeRDP Rdp Client License Recv Code Execution Vulnerability


            The vulnerability is located in the license server handling. The license message sent by the server contains a length field, which is not correctly verified by FreeRDP. For internal purposes, the library decreases this value by 4, if the server is sent a value inferior to 3, this will result in a negative value and the writing of packet contents outside of the allocated buffer in memory. This vulnerability can allow the execution of arbitrary code on the FreeRDP client side.

            More details can be found in the vulnerability report: TALOS-2017-0336

            TALOS-2017-0337 (CVE-2017-2835) - FreeRDP RDP Client Recv RDP Code Execution Vulnerability


            The vulnerability is located in the RDP received function of FreeRDP. Similar to the previous vulnerability, the RDP message sent from the server contains a length field, but this field is not verified by the FreeRDP client code. This length can become negative and allows the attacker to execute code on the client side.

            More details can be found in the vulnerability report: TALOS-2017-0337

            Denial Of Service

            TALOS-2017-0338 (CVE-2017-2836) - FreeRDP RDP Client Read Server Proprietary Certificate Denial of Service Vulnerability


            The vulnerability is located in the parsing of proprietary certificates. In this function, the public key is parsed by the FreeRDP library. However the size of the key specified in the server message packet is inferior to 8, the FreeRDP library crashes.

            More details can be found in the vulnerability report: TALOS-2017-0338

            TALOS-2017-0339 (CVE-2017-2837) - FreeRDP RDP Client GCC Read Server Security Data Denial of Service Vulnerability


            This vulnerability is located in the handling of security data function. The function reads a length value from the server packet. A malicious actor can send a specially crafted packet with a modified length value causing the client to crash and causing a denial of service condition.

            More details can be found in the vulnerability report: TALOS-2017-0339

            TALOS-2017-0340 (CVE-2017-2838) - FreeRDP RDP Client License Read Product Info Denial of Service Vulnerability


            The vulnerability is located in the license read product info handling. A malicious crafted packet may cause the application to crash. The vulnerable code reads in an unsigned integer from the server message which then incremented by four as part of a length check. However, the size of the unsigned integer is never validated and thus the addition of four could cause an overflow and result in the client crashing.

            More details can be found in the vulnerability report: TALOS-2017-0340

            TALOS-2017-0341 (CVE-2017-2839) - FreeRDP RDP Client License Read Challenge Packet Denial of Service Vulnerability


            The vulnerability is located in the license read challenge packet handling. A malicious crafted packet may cause the application to crash. The vulnerability is the same than on TALOS-2017-0340 previously mentioned.

            More details can be found in the vulnerability report: TALOS-2017-0341

            Tested Versions:
            FreeRDP 2.0.0-beta1+android11 - Windows, OSX, Linux

            Coverage


            The following Snort Rules will detect exploitation attempts. Note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For the most current rule information, please refer to your FireSIGHT Management Center or Snort.org.

            Snort Rules: 42941,42973,42998,42974-42975

            Vulnerability Spotlight: EZB Systems UltraISO ISO Parsing Code Execution Vulnerability

            $
            0
            0
            Discovered by Piotr Bania of Cisco Talos.

            Today, Talos is releasing details of a new vulnerability discovered within the EZB Systems UltraISO ISO disk image creator software. TALOS-2017-0342 (CVE-2017-2840) may allow an attacker to execute arbitrary code remotely on the vulnerable system when a specially crafted ISO image is opened and parsed by the UltraISO software.

            Overview


            The vulnerability is present in the EZB Systems UltraISO software, an ISO CD/DVD image file creating/editing/converting tool and a bootable CD/DVD maker. UltraISO can directly edit the CD/DVD image file and extract files and folders from it, as well as directly make ISO files from a CD/DVD-ROM or hard drive.

            ISO (9660) disk image format is a file system within a single file. Essentially, it is a binary copy of the file system used by the standard software CD-ROM installation disks. Today, most of the installation disks for popular software and operating systems are distributed using the ISO file format.

            Technical details


            A buffer overflow vulnerability exists within EZB Systems UltraISO. After "NM" entry is located in the .ISO file UltraISO executes _strncpy function with maxlen argument calculated directly from the ISO header byte field NM_hdr.len - length of alternate name.

            UltraISO assumes this field is always larger than 5 bytes. However, if an attacker forces it to be
            less than that value the maxlen parameter for the _strncpy function will be extremely big (NM_hdr.len - 5, result is unsigned).

            Later, the memset function (inside the _strncpy function) is executed where the extremely big size parameter is used which leads to memory corruption and potential remote code execution.

            More details of the vulnerability can be found in the report TALOS-2017-0342.

            Discussion


            ISO 9660 file format is one of the older formats and its original specification contains several limitations on the file name length, directory depth as well as the maximum file size. These limitations are inherited from older operating systems. Specifically, filename lengths in ISO 9660 file system are limited to maximum 8 characters with maximum 3 characters reserved for the file extension.

            Over time, various extensions have been developed to overcome the limitation of the original file format specification. One of the extensions, so called Rock Ridge extension, allows for alternative names to the original file. The alternative name can be longer than the default 8 characters.

            A vulnerability in UltraISO software exists when parsing the alternative name (NM) System Use Entry. The structure of the alternative name contains a single byte length field which can be manipulated by the attacker to cause a buffer overflow that may allow remote code execution of code in the context of the UltraISO user.

            Although third party disk image utilities can be useful in many cases, it is worth checking if the default operating system functionality satisfies user's needs. Specifically, Windows 8 and later has the built-in capability to mount ISO images, which may remove the need for third party disk imaging utilities.

            Users that still have a requirement for a third party disk imaging software should ensure that security updates are applied for the product as soon as they are released to remediate potential attack vectors.

            Affected versions


            UltraISO version prior to 9.7.0.3476, which includes a fix for the vulnerability.

            Coverage


            The following Snort Rules will detect exploitation attempts. Note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For the most current rule information, please refer to your FireSIGHT Management Center or Snort.org.

            Snort Rules: 43000 - 43001

            Taking the FIRST look at Crypt0l0cker

            $
            0
            0
            This post is authored by Matthew Molyett.

            Executive Summary

            In March, Talos reported on the details of Crypt0l0cker based on an extensive analysis I carried out on the sample binaries. Binaries -- plural -- because, as noted in the original blog, the Crypt0l0cker payload leveraged numerous executable files which shared the same codebase. Those executables had nearly identical functions in each, but identifying all of those functions repeatedly is tedious and draws time away from improving the analysis. Enter FIRST, the Function Identification and Recovery Signature Tool released by Talos in December 2016.

            FIRST allowed me to port my analysis from the unpacking dll to the payload file instantly. Once I was satisfied my analysis across both files, I was then handed a suspected previous version of the sample. FIRST was able to identify similar code across the versions and partially port the analysis back to the older file. When the next version of Crypt0l0cker comes out, I will be able to get a jump on my analysis by using FIRST to port that work forward to the similar code. You can use it to port my work to your sample as well. I will demonstrate doing just that with a Crypt0l0cker sample which appeared on VirusTotal in April 2017, more than a month after the Talos blog about it. There has been no targeted analysis of this file to provide background for this post.

            Locating the Sample

            Procuring a malware sample of a known family without analyzing it can feel like a heavy challenge to overcome. Thankfully, Talos can leverage Threat Grid sandbox reports of suspected malware samples that we receive. Such reports can be scanned for family IOCs. Per our previous analysis into Crypt0l0cker, the infection status of that version is stored in a file named ewiwobiz. By searching Cisco Threat Grid telemetry for files which created ewiwobiz, I identified a file which was probably a Crypt0l0cker executable.


            With a report to investigate, I needed to procure the actual sample. My sandbox report shows that the suspected Crypt0l0cker file is nearly 400 kb and likely a Nullsoft Installer file, which is a common packager. Static file information gives me the file hash which arms me with the ability to continue my investigation on VirusTotal.

            While the sample is clearly malicious, my VirusTotal inspection does not suggest that the sample belongs to any known family. No detections refer to Crypt0l0cker, TorrentLocker, a listed alias in the original Talos blog, nor Teerac.

            With a file sample in hand, and no static indication that I have located Crypt0l0cker, I move onto FIRST to discover how similar it is to known files.

            Exploring the Sample



            As the FIRST client code is an IDA Pro plugin, my first step was opening the file in my local IDA copy and allow auto-analysis. Upon completion, the start function was displayed in front of me at the graph view. I opened up the graph view context menu and requested FIRST lookups for all of the discovered functions.

            After a minute, the FIRST display shows that 13 of the functions have been previously identified and uploaded.

            Expanding the matched functions displays the metadata associated with that function, including a proposed name and function prototype. Notice that the files detected in this installer have been named to draw attention to the fact that these functions are known to be in NullSoft Installers. I had previously marked up a different NullSoft Installer before and uploaded significant functions from it to assure that I would not do so again. In general, a malware analyst is wasting any time spent inspecting such a file. Identifying when a packer is in use and moving along to the true payload is a much better use of time.

            Check the Select Highest Ranked checkbox and click Apply. The function names get applied across the database and we can see clearly that the sandbox analysis was correct. This file is a packer and we need to extract the original.

            Unpacking the Sample

            I admit that at this point I cheated to perform the unpack. From previous extraction of Crypt0l0cker files protected with NullSoft I already knew that the install script consisted of consuming multiple encrypted blobs, internally decrypt the payload, and run it via Process Hollowing. As such, allowing it to run debugged and breaking on WriteProcessMemory should present the payload buffer to me.

            There was a complication though, because the install script loaded and unloaded System.dll many times. The ModLoad notification caused the debugger to consume the majority of the process cycles, effectively causing a denial of service against the debugger. I allowed this system to run for over an hour without getting beyond this delay.

            By disabling the ModLoad notification via `sxi ld` I could get my debugger to allow the System.dll file to be loaded without triggering the significant extra processing. Crypt0l0cker then was able to spike up to 99% of the CPU use to, rather than the debugger holding on to 80%.

            I dumped out the PE image file and prepared to continue with FIRST.

            Exploring the Real File

            Again, the first step of using FIRST was opening the extracted file in IDA Pro. This file was built as a Windows GUI file on top of the Visual Studio C runtime. Thus, the runtime was identified during auto-analysis and I was left with a graph view displaying the _WinMain@16 function. Using the FIRST command from the context menu, I checked for the existence of metadata for just that one function. It was discovered as Crytp0l0cker_WinMain@16. Looking pretty likely that this is, in fact, Crytp0l0cker.

            With confidence that FIRST will be useful, since it had a result for _WinMain@16, I began the search for the full file. At 436 functions this is not a quick lookup, so go get a fresh cup of coffee and let FIRST work. Since this file uses a known runtime, the runtime files are also known to FIRST. You can filter those functions with the Show only "sub_" functions checkbox.

            After FIRST completes 78 new function markups are applied out of 295 total known functions. With 78 Crytp0l0cker_* functions identified, you can now dig in on the shoulder of days of professional malware analysis.

            Conclusion

            FIRST provides the ability to share your work from one file to a similar file, whether that other file is a previous or future version or even an additional step in the module execution. When opening up a new file, FIRST can provide hints as to whether the file is interesting or just needs to be unpacked. When finally extracting a new, embedded binary, FIRST can migrate your notes from the current file to the shared code in the new file. Use FIRST to save your notes, share your discoveries, and speed up your next analysis.

            IOC

            File Hash

            d845e4f2292ba78a993dbbf6f1317894ce1a795c096d7959f3d718e583f1cea3

            Vulnerability Spotlight: Kakadu SDK Vulnerabilities

            $
            0
            0
            Vulnerabilities discovered by Aleksandar Nikolic and Tyler Bohan of Cisco Talos.

            Today, Talos is disclosing multiple vulnerabilities that have been identified in the Kakadu JPEG 2000 SDK. The vulnerabilities manifest in a way that could be exploited if a user opens a specifically crafted JPEG 2000 file. Talos has coordinated with Kakadu to ensure relevant details regarding the vulnerabilities have been shared. In addition, Talos has developed Snort Rules that can detect attempts to exploit these flaws.



            Vulnerability Details


            Code execution vulnerabilities exist in the Kakadu SDK 7.9 which are detailed in the Talos vulnerability reports TALOS-2017-0308 and TALOS-2017-0309. In both vulnerabilities a specially crafted JPEG 2000 file can be read by the program and can lead to an out of bounds write causing an exploitable condition to arise. The most likely form of attack would be in a social engineering scenario where a user receives an email containing a malicious JPEG 2000 file that exploits this vulnerability.

            Coverage


            Talos has developed the following Snort rules to detect attempts to exploit this vulnerability. Note that these rules are subject to change pending additional vulnerability information. For the most current information, please visit your Firepower Management Center or Snort.org.

            Snort Rules: 42179-42180, 42191-42194

            For other vulnerabilities Talos has disclosed, please refer to our Vulnerability Report Portal: http://www.talosintelligence.com/vulnerability-reports/

            To review our Vulnerability Disclosure Policy, please visit this site:
            http://www.cisco.com/c/en/us/about/security-center/vendor-vulnerability-policy.html

            Threat Round-up for July 28 - August 4

            $
            0
            0
            Today, Talos is publishing a glimpse into the most prevalent threats we've observed between July 28 and August 04. As with previous round-ups, this post isn't meant to be an in-depth analysis. Instead, this post will summarize the threats we've observed by highlighting key behavior characteristics, indicators of compromise, and how our customers are automatically protected from these threats.

            As a reminder, the information provided for the following threats in this post is non-exhaustive and current as of date of publication. Detection and coverage for the following threats is subject to updates pending additional threat or vulnerability analysis. For the most current information, please refer to your FireSIGHT Management Center, Snort.org, or ClamAV.net.

            This week's most prevalent threats are:

            • Doc.Dropper.Agent-6334774-0
              Office Macro Downloader
              This is an obfuscated Office Macro downloader that attempts to download a malicious payload executable.
               
            • Doc.Macro.Obfuscation-6334622-0
              Office Macro
              Short, heavily obfuscated VB Macros make use of calling functions indirectly to prevent automatic detection.
               
            • Vbs.Downloader.Trickbot-6333852-0
              Downloader
              Trickbot is a banking trojan. The prevalence of this malware has recently spiked and is being distributed through several malicious spam campaigns. Many of these campaigns rely on downloaders for distribution, such as the VBS scripts. This particular downloader relies on heavy obfuscation, string splitting, and what appears to be widespread use of a name for a legitimate database tool in an effort to evade detection.
               
            • Win.Downloader.Psys-6334750-0
              Downloader
              This malware presents itself as an Adobe update to the user while downloading files using an embedded Tor client. Infected clients are often compromised with bitcoin miners and other malware.
               
            • Win.Downloader.Upatre-6333840-1
              Downloader
              Upatre is a malicious downloader often used by exploit kits and phishing campaigns. Upatre downloads and executes malicious executables such as banking malware.
               
            • Win.Packer.VbPack-0-6334882-0
              Visual Basic Packed Executable
              VbPack executables obfuscate control flow by using call statements where the stored return address points to strings. Series of these calls collect string artifacts like library names and export functions to leverage the WIN32 API to prepare for the execution of a malicious payload.
               
            • Win.Trojan.DownloadGuide-6335034-0
              Downloader
              This malware is a trojan downloader written in C++ that presents itself as an application installer. This malware family leverages techniques to hinder dynamic analysis as well as sets up a proxy. Additional components are download and executed.
               
            • Win.Trojan.Madangel-1
              Trojan
              Win.Trojan.Madangel-1 is a trojan that will replicate itself through network shares and eventually connect to a C2 server to retrieve other executables to install into the system.
               
            • Win.Trojan.Nitol-6335025-0
              Trojan
              This malware family performs DDoS attacks. It copies itself into the \Windows directory and installs a registry key for persistence. Further, it deletes the original executable to hide itself.
               

            Threats

            Doc.Dropper.Agent-6334774-0


            Indicators of Compromise


            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • 95[.]110[.]231[.]145
            • 186[.]103[.]161[.]204
            Domain Names
            • kalorsystem[.]com
            Files and or directories created
            • %SystemDrive%\~$7661883.doc
            • \TEMP\Attach_ID547.doc
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\743234.cvr
            • %AppData%\Microsoft\Office\Recent\Local Disk (C).LNK
            • %AppData%\Microsoft\Office\Recent\Attach_ID547.LNK
            • \TEMP\~WRL0053.tmp
            • %System32%\config\TxR\{016888cc-6c6f-11de-8d1d-001e0bcde3ec}.TxR.blf
            • %AppData%\jottingstributarysthesauri.exe
            • %System32%\Tasks\services update
            • \Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Word\~WRS{71906E9D-AD49-4D65-BCF8-C606DEC3CF07}.tmp
            • \TEMP\~$tach_ID547.doc
            • %AppData%\Microsoft\Office\Recent\267661883.doc.LNK
            • %AppData%\Microsoft\Office\Recent\sanctumscutlassesinstrumented.LNK
            • %AppData%\winapp\insshmfrsqhatsaqxrsgdratqh.exe
            • %TEMP%\CVRB190.tmp.cvr
            File Hashes
            • 619948e1aa1ce2a8dd9c4e97884ed929f5bb3bdf9626d3cb97b2d99cf56d51da
            • 11b39f6d68386a652afdca623783ec7141961db0a6d321a279b1603fc462cd0d
            • 687bc84ce1f1b6dc0a99fc01b0fec5fa00d58b4ab1083bea7867b1bfc7d84ec3
            • e4c29ce79af3e1d5a6b4d41a6239bbb369cca0ca4742fbb28fdb58cf3a1d6c67
            • 6604d8dcd1ed5a53c5d03c2509f2d5d9a421e3a12b6087dfadb83e69805439ca
            • 4abfd7fd9443a61c98be138d55c84c317c9959893e2c8a297ee9d13ef18d387d
            • 09a9bf51b2f18df57c796993b037b91b7a1f2400716132339d35cd6f8497da1a
            • f3387add07c0c321189823bfe08296fa6eaa983693421dfd40d9208b8e68543b
            • 324b4a83ee73bb3b3d5a9b4099fc7c3ffc6c0497eec01b62513c6f91731763da
            • 551008d7fe2e292728188a14231d37d741becaa4c64290af671c3dc440ab8743
            • bc661ec240c941eb0ae04b11cedcfbfed2b81e5487346823c10cbf0e88df59e1
            • 5cbc42190c97da6f9737bca56c30e24f2679467a04030c732b320ce278114ea4
            • 08887558f6388dcac9afb8b0c311558d4e8a34974dc01168f74e5f711ac59535
            • 17504f7f93bb6be7230ff1588623556ee62299082aa3f2dc539d5a48f714593a
            • e191cbadbe4a2c24427bba011a3abf56ccaea8ba8e991b4b60c07d406412c11d
            • aa100e2c541e4a1c4fa3a75c077a9b5b94fc99b0d19bd2e194d9baba5bd9f346
            • 75c74b872ecb14b99579321930b72f3749b416a1e1242f906c6d9e8515b7e4d3
            • af29409564b009d3d71621483b7d62adafe77eb1ada41abd0239ae07c30c2abc
            • a385c7d8d006d80f6bfdb583aba085c0c4a18afddd05ab07ade49522dc584dbd
            • 83ff2ddc3b76f9c1cba2e7a806f84a50dca2913d55a33e619f650a6b6a6b272c
            • 7dee06e698a8baa78df73f058f9be2b269a5344d2dc449bcdbe87e44000b8310
            • 4255b90bb30c02b4fe1a42ccc55742f641d75810038aa8fdae6057a9a41afb1e
            • 519363cc5308578e3565d9d73e1ace3145156d3e14c17ec1ef7a189bf6bf9381
            • 89983f03a9a2b9b5e9aeb7c8f637fec5ecbeec1378b676de5c326f74e31918a4
            • 06b0105e71ca2e1f9bd63cd417dcf6437a325eea393b57f4c622eb413f922265
            • 47833122bc78d99040f29bb2f5c01b5c0b9f4b5b81b09b6a6951e7fa67509f8a
            • 427d8860cbb12f680692c1a54da26e189b4498b2314984932112400d138eaae3
            • ff6ff8c4af0499c0ff4379378cbb9d3eddbd48b197fe07277371c20e2dae70d8
            • 1bf710707642000bcf37c0774c12b004127235b710dd7116f08d86bfb04a28c8
            • c3e10665750030082cf2e37c8e882b8572a8be65d6ee51bfc253853a70d1db90

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella






            Doc.Macro.Obfuscation-6334622-0


            Indicators of Compromise


            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • 178[.]175[.]138[.]162
            • 176[.]123[.]0[.]55
            Domain Names
            • halohh[.]tk
            Files and or directories created
            • %SystemDrive%\Documents and Settings\Administrator\Local Settings\Temp\driv.exe
            File Hashes
            • 4cd9c04390f2b7171e50e1c0b1afde499160aac0da9aed28ee5677863a389c5e
            • 0bb9ba9d3ba8fe8f8fd4c464f27674e07a3d231642a21571e03e0f08bac6909e
            • 617ac6d026a110629694b28c977bf5e8d445eb25ccd83f14b925ca032f779cec
            • 98233482a8e37abaaf5cf6a36fdee60c3a9a0a4d075a6e8807798fe5e443106a
            • 268571fc240204b17d9989379d184efb984458ce5b6a593ed3178e8a4b62cc17
            • 8814e9aad599c98bb01ea9690c1afbb8d891bf1e6f50f0bc1d23fd8887e7411b
            • 4cd9c04390f2b7171e50e1c0b1afde499160aac0da9aed28ee5677863a389c5e
            • 753113c77192320f1844f132143f106e5dc73b271e44c2a3b214205eea8e42df
            • 17224da53b266c1a7e487d95b57ad47c21dec82ca42056a785dd816555d46967
            • db4703a6cea9b700cc17b527e7d0a4e228bdd41659bece18c65f0877724c87a4

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella






            Vbs.Downloader.Trickbot-6333852-0


            Indicators of Compromise


            Registry Keys
            • N/A
            Mutexes
            • Local\c:!users!administrator!appdata!local!microsoft!windows!history!history.ie5!
            • Local\WininetConnectionMutex
            • Local\_!MSFTHISTORY!_
            IP Addresses
            • 37[.]220[.]90[.]208
            Domain Names
            • annmcclean[.]co[.]uk
            Files and or directories created
            • %TEMP%\cNyXqxuTxfU.exeA
            • %TEMP%\cNyXqxuTxfU.exe
            File Hashes
            • 42747cdefebee5af8ae2899825fa6d0bbd1d52a853ec1262f1395310a42d4726
            • 43be972338fd27a180a5b6540b212513377491f3a16cc750b67c8150e8e0d3f1
            • 9033a377113f80beedde5575de1fe832bb0e49b9bc6e33851b26e8c8a47fd6d8
            • cd0e8181c7276b138793366c3fbb3a58275225fed8c434185db56dfcda421f7b
            • e10be1a5388458c128fc832afca671d3fdaa30195737b0935fd8ef80314afc68

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella






            Win.Downloader.Psys-6334750-0


            Indicators of Compromise


            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • N/A
            Domain Names
            • thephotoblog[.]xyz
            Files and or directories created
            • %SystemDrive%\Documents and Settings\Administrator\Start Menu\Programs\Startup\[0-9]{9}.exe
            • %SystemDrive%\psys2\psys.rar
            • %SystemDrive%\psys2\<extracted rar achive files>
            File Hashes
            • 1beb16a8467a8957d1a752c396e1a50fceab554498ce9ea65396c37d07e8a28d
            • 498a9cf24d40c098ec793e13e96f7a5001984b3f6436271fdde5ff88c23b88f5
            • 6d7ed964e02fc1a370777d3f2baf1a279ff6bd85f5240d49735f62f909978542
            • 9e21521a7264a76e4ba6b6f3f2f518fb8f95b4b3cfa2a45028fa43be46916095
            • e1d407c2b954c9c705431fe9c7d7a9f8995441015414a20381bdc502534c50eb
            • f4313a33210b75ba928e5bf91df91f2d1fe7b75d2971b2c9e11c0f4d76dedb35
            • fb536d40d118322f31746a577c400488e1020ea8073cf36cfe37712f91e27cb3

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella


            Screenshot






            Win.Downloader.Upatre-6333840-1


            Indicators of Compromise


            Registry Keys
            • N/A
            Mutexes
            • N/A
            IP Addresses
            • N/A
            Domain Names
            • technopoleci[.]com
            • pearlstours[.]com
            Files and or directories created
            • %Temp%\lisca.exe
            File Hashes
            • 0f6325d3fd6177cee19770b12d97efa8da46cb23a7173e227efc2291e59034d3
            • 19a4c65bc812eb74df5b41c058f345c5a4fbc838de59e4127e4cf784770a63df
            • 23da35463015938e649624b1e606507fc1c36998a3cdb730f02309055609bd2f
            • 249698d153aec8b19f511529aae5efc852cacbbc4f45020e4b9a3bdea933a6fa
            • 570323e1150fe8e0802b03eb7848452c89ea1247512365bdb8621ecac4d15507
            • 5f2c8ac317bf4d58610c803c01c95d358cb25600f632644e01d5c31a74fd2554
            • 5f3a9efa98d7acfb0793292b2475eba2d547632c63f3b4ca5d1958731d264506
            • 6c44efb2baabb7b66849e69567c8b3394919efdb2491a1392ff237090c380f1f
            • 75309ff6942162fa19e4c7d430456a699cbee26106afeffc71f02325c9ab37c4
            • 8978bcef1799a5ea3324ce88b9a848e85987958b8ea7dcc0ba511120e6602aa0
            • 9d4effa16fa83e12179a674966af8a49bb592fa58de53ee2866f5ceda8206733
            • a67638a9940841bc5222a160b0d28930c5244be769e6091122cfc7aaefa71335
            • ad54d0d8d9b80aff216cc9097849efc52b2990a6b8f9d6a24f9a22709be35267
            • c707645487cd7d7c8001fa40cfa2475c23705f65048c3831eefb5580e39b3845
            • c75bc2341ed612c8e5154cb88e7110544e3ff59fed30af28e441c0d31d088da8
            • c9975f106e8e0e7ceee70bd285159226e7687076a0e3b84c525a953657f6b1ff
            • eb0601efd61b34a2fac8468b613913983c2b1968b77aec8848c2dddf4443e952
            • ec439a41172d7683ee803e336e4b175b8baebc8d4ceed40c6b63b5649d7855ff
            • f6ae56489c1063a48079b1cf5c1252a8f1f3af70918c58fed90ce453bd6cec9e
            • fc0f51ffddad995a4588fbc28d10d0037cc36708e4875a057629bd5a2d975a43

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid





            Win.Packer.VbPack-0-6334882-0


            Indicators of Compromise


            Registry Keys
            • N/A
            Mutexes
            • \BaseNamedObjects\4EAB18A7EBDA2A0128649942
            IP Addresses
            • N/A
            Domain Names
            • N/A
            Files and or directories created
            • %AppData%\7EBDA2\2A0128.hdb
            • %AppData%\win32.exe
            • \samr
            • %SystemDrive%\Documents and Settings\Administrator\Start Menu\Programs\Startup\win32.vbe
            File Hashes
            • 2095d70fb739a0fe1af7a0c17d28934fff79fdabe5412c90d01aa103ba409452
            • 29a438f87f3cba8d92f0892d551d9a1392fa4f00790aa006cdf098f377c3e419
            • 2f6ba28b1e011f466c697853af8033986a2d2d629ad4e7c833f8e34762d357a9
            • 342a928efa083ab47f29d83c3886799fc9c344e1d4122f628299c0acf85b12d8
            • 507af0c158e03bd967d856d6310c842acd8aa3118612840fa395c201185ace9d
            • 5a20fefb3bdb7b6357f7e00bf66bb7fca4d3a6be566856370793088e94118a1d
            • 69aca79fc824166616de124a89c7a78cd25c097a6df951ba9943ea6867afbb6d
            • 714264ce71ef28fa86a37abcdb8eaa726ce80e52a87e4b1fb20c1522e72088f9
            • 799b05b59250e3316a1f1b583e1a5e82f66f0f3756dc8616b7f572e723a208cf
            • 7cb3eca68f707bfeb7fda5cf549b9c1cebe9ed4cb06dd3a17cd5c1d07364462e
            • 80d0e916ee763752670f8425bbb3df60db22d96566f3e8bc273fb9cf1ca57dee
            • 8a0de6f0099dd38a0a34d7eb3319d6eb89b4ef3bc9835ea9dcb33dcb1dd0a47e
            • b5b5a289ff062eec0d5db7a081fe69e85c16500194dc45be18e038aa6f7cd109
            • d2cb512fa85e3d77072a10e9a107d44e79e2017b7c182db29008b5edabc53e00
            • dfa7f428e0cee8bf254d8a33b685082e90723cd318bce9df59450dfa7a3fb6d0

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid







            Win.Trojan.DownloadGuide-6335034-0


            Indicators of Compromise


            Registry Keys
            • <HKCU>\Software\Microsoft\Internet Explorer\Main\WindowsSearch
            • HKU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Extensible Cache\MSHist012017080320170804
            • <HKCU>\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network\Location Awareness
            • <HKCU>\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
            • <HKLM>\Software\Wow6432Node\Microsoft\Tracing
            Mutexes
            • DlgCpp
            • MSIMGSIZECacheMutex
            • _!SHMSFTHISTORY!_
            • Local\WininetConnectionMutex
            • Local\_!MSFTHISTORY!_
            • \BaseNamedObjects\DlgCpp
            • RasPbFile
            • Local\ZonesCacheCounterMutex
            • Local\WininetStartupMutex
            • Local\IESQMMUTEX_0_274
            IP Addresses
            • 104[.]40[.]188[.]185
            • 72[.]21[.]81[.]200
            • 104[.]40[.]156[.]71
            Domain Names
            • cs9[.]wpc[.]v0cdn[.]net
            • dlg-messages[.]buzzrin[.]de
            • dlg-configs[.]buzzrin[.]de
            • dlg-configs-weu[.]cloudapp[.]net
            • az687722[.]vo[.]msecnd[.]net
            • dlg-messages-weu[.]cloudapp[.]net
            Files and or directories created
            • %TEMP%\DLG\ui\offers\3cc9566f4a803e726fe2ff36e63a6bc3\uifile.zip
            • \Users\Administrator\AppData\Local\Microsoft\Windows\History\History.IE5\MSHist012017080320170804\index.dat
            • %TEMP%\DLG\ui\offers\2f682d34f7ca97e9988360367f18412e\uifile.zip
            • %TEMP%\DLGCBB2.tmp
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\offers\3cc9566f4a803e726fe2ff36e63a6bc3\uifile.zip (copy)
            • %TEMP%\DLG\ui\offers\4eee8661eff0ab9af2f73a9c050f7d06\uifile.zip
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\offers\2f682d34f7ca97e9988360367f18412e\uifile.zip (copy)
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\offers\2f682d34f7ca97e9988360367f18412e\uifile.zip.part
            • %TEMP%\DLG\ui\common\progress\progress.zip
            • \TEMP\8b55500ba6953f1a232fb2fffa7c55a29a4fbec6a353f3ad6da670fc911aac33.exe
            • %System32%\wdi\{ffc42108-4920-4acf-a4fc-8abdcc68ada4}\{bc3d8877-b46d-4746-b041-b538af5e2cf0}\snapshot.etl
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\common\progress\progress.zip (copy)
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLGD.tmp
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\offers\18b3f294321c1361e5232935c8e4ab35\uifile.zip (copy)
            • %System32%\wdi\LogFiles\WdiContextLog.etl.001
            • %TEMP%\DLG\ui\offers\18b3f294321c1361e5232935c8e4ab35\uifile.zip
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\offers\b027951991b0ce592b2d579b8888057c\uifile.zip (copy)
            • %TEMP%\DLG\ui\common\base\base.zip
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\offers\b027951991b0ce592b2d579b8888057c\uifile.zip.part
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\common\progress\progress.zip.part
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\offers\18b3f294321c1361e5232935c8e4ab35\uifile.zip.part
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\common\base\base.zip.part
            • %SystemDrive%\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DLG\ui\common\base\base.zip (copy)
            • %System32%\wdi\{533a67eb-9fb5-473d-b884-958cf4b9c4a3}\{a69f0170-8245-4aed-a99e-3b0aad202ce2}\snapshot.etl
            File Hashes
            • 8b55500ba6953f1a232fb2fffa7c55a29a4fbec6a353f3ad6da670fc911aac33
            • 756901560838b9d1ec9fe20300c772d336629d1d3e8a798626bc2009d433620d
            • 17d58fb6ca87a08d515681c3f11ebc72667aae66fd59cc5f400cf893189b5ce1
            • 3cc8c8b086f33d5ed62a5d9088d53693f31237473cbcf5268919c7cea016193e
            • b5b6de4fd07c9929f1a066dd3d27fc3f0ccc72a6f0f3f9336b60f9445150e336
            • 37da3a745745ad81a3b20bcbbc43a0bca6e88991a7812f833751b8be642e3bc0

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella






            Win.Trojan.Madangel-1


            Indicators of Compromise


            Registry Keys
            • HKU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\LANMANSERVER\PARAMETERS
              • Value: AutoShareWks
            • <HKCU>\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
              • Value: internat.exe
            • <HKLM>\SYSTEM\CONTROLSET001\SERVICES\LANMANSERVER\PARAMETERS
              • Value: AutoShareServer
            • <HKCU>\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
              • Value: Serverx
            • <HKLM>\SYSTEM\ControlSet001\Services\Eventlog\Application\Microsoft H.323 Telephony Service Provider
            • <HKLM>\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List
            Mutexes
            • Angry Angel v3.0
            • shqq
            • \BaseNamedObjects\Angry Angel v3.0
            IP Addresses
            • N/A
            Domain Names
            • sys[.]zief[.]pl
            Files and or directories created
            • %WinDir%\Prefetch\WMIPRVSE.EXE-28F301A9.pf
            • %WinDir%\SysWOW64\Serverx.exe
            • %System32%\drivers\etc\hosts
            File Hashes
            • 4080076d8016be14b7493a4fd365b03073ae90cba70590b25039ef76b2d36aea
            • 7ad3924efe8802153b9dadc5bc055b329ec8c2850b91dc5f5a1bba42533a8758
            • 3ad3d18277238e0a6e0a84a6e901395ad647466a0e68275a7426203216b05025
            • fbf9d40bc0abe116c19404298d324fcb5a2ddd19d2d97dc31418446be3637a22
            • a010da80c2d35d420958b858fc1e5e700fab866799aa786e1feab4fba5ee6dbb

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Umbrella





            Win.Trojan.Nitol-6335025-0


            Indicators of Compromise


            Registry Keys
            • <HKLM>\System\ControlSet001\Services\Sertiey\ImagePath
            Mutexes
            • N/A
            IP Addresses
            • 103[.]235[.]46[.]39
            • 119[.]29[.]112[.]122
            Domain Names
            • www[.]a[.]shifen[.]com
            • www[.]baidu[.]com
            • ubcRCeHZx[.]nnnn[.]eu[.]org
            Files and or directories created
            • %WinDir%\Debug\eiahost.exe
            File Hashes
            • 917b400da5befe32d00e0503a05cb2f1d635ace6029e30e2ba034da93d4927af
            • 2136e6be115617349992b506aced588dced1f5496e97443dfcc31344873f624d
            • 2b21ea686281211c8ba3a548128c310b7b239697ca8cd590c26353f5fd14cccf
            • 830c3bf61e613137ce7fc5eb3a4205519bb021ef9ea179382559c398caf24dc2
            • a82a94d3d964f48d344459f39be5f7b76c09c91f8374517a0315d3e7d069b73c
            • e018f2cb152ab5c9bedef63a760b223eb91e965703a691877550ca390e46ea84
            • b359d8aa7b59c52aa7e6ce32f1a8bfbf8ff95e2a50c3b44f434fda77cfbcf82d
            • c06616aff5c46d7788c48b873b11a6aa9518ab8f1c075e164ef6c968207f845f
            • 3a60cd3ab3cd6e71d0836f24231da876a6996a9d556d4e290d0af70b53b0b659
            • ed90bd5202eb621c7e44b25e83b1222efbd98094efbfc84d10ed4e12a89cc284

            Coverage


            Screenshots of Detection

            AMP


            ThreatGrid


            Viewing all 2047 articles
            Browse latest View live


            <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>