Earning certifications to prove your knowledge and skills is the norm in the IT landscape, and that doesn’t look to be changing anytime soon. Still, often it requires time and money to earn those certifications. Exactly what difference do they make?
Well the results are in. The CompTIA 2016 IT Career Insights study asked current certification holders about their experiences post-certification, and shows that CompTIA certifications make a world of difference, both for career and self-growth. Check out five ways they do so.
Personal Satisfaction / Confidence
According to the 2016 IT Career Insights Study, the number one area impacted by earning a CompTIA certification is personal satisfaction. It may not be the first thing that comes to mind in helping find a job, but you’d be surprised! Those who have confidence in their skills and abilities are more likely to come across as effusive and competent, whether it’s socializing at job fairs or listing accomplishments during an interview. Having a healthy level of self-confidence is essential to landing, and keeping, the job you want.
Professional Development
Following a career path means you need the room and training opportunities to grow your profession. It’s all about tackling more responsibilities, upward mobility and the potential for a larger salary. CompTIA certification holders picked professional development as the second most important area their certifications helped. With no limit as to how many CompTIA certifications you can earn, the certifications’ different areas of expertise are perfect for long-term professional growth.
Career Satisfaction
We all know the importance of holding down a job, but you should also keep your future career path in mind. CompTIA certifications can help with both short- and long-term career goals! For now, a certification can increase the likelihood of landing a job. In the future, the number of different CompTIA certifications, and their different areas of focus, represent a series of solid career building opportunities that are there whenever you are ready.
Job Attainment
Anyone who has been job hunting knows it’s difficult to stand out from other applicants — especially when you and the other applicants all have similar skill-sets. Adding a CompTIA certification to your LinkedIn profile and resume goes a long way. It’s a great way to prove your skill-set and help your resume avoid the rejected pile! Most importantly, it verifies your knowledge and proves to potential employers that you’re motivated in maintaining and developing your skills.
The Right Job
Feeling motivated and eager to work every morning is a vital part of a satisfying job. But it can be hard to find a balance between easily managed tasks and tackling those that challenge you to grow your skills. Earning different CompTIA certifications can help find that sweet spot, thanks to the designated skills and knowledge they focus on. It can help employers, and you, find the right job level according to what certs, and thus what skills, you already have.
The categories above represent the international findings of the CompTIA 2016 IT Career Insights Study. If looking only at the U.S., the findings differ slightly, with job satisfaction ranking higher than career satisfaction. That job satisfaction ranks higher in the U.S. does not come as a total surprise – it’s tougher to find a job in the first place, as the U.S. has been experiencing high numbers of unemployment, nearly 10 percent in April 2009, since the 2008 economic recession. Overall though, the categories of highest importance remain consistent to both domestic and international CompTIA certificate holders.
Are you curious to experience what kind of a difference a CompTIA certification could make for you? Check out our certifications and find one or more that could be right for you.
Be the first to receive the latest news, cyber threat intelligence and research from Unit 42.Subscribe Now.
Ramdo is a family of malware that performs fraudulent website ‘clicks.’ Ramdo malware activity first surfaced in late 2013 and has since continued to infect machines worldwide, primarily through the use of exploit kits. In this blog post, we’ll take a deep dive into the technical aspects of the Ramdo malware itself, providing insight into how the malware functions, as well as techniques on how analysts can reverse-engineer this particular threat.
This research is a joint effort from Unit 42 and Dell Secureworks Counter Threat Unit. For more information about the Ramdo threat, please also refer to the published blog post from Dell Secureworks CTU.
For the remainder of this blog post, we will be dealing with the following sample, which first surfaced on January 22, 2016.
MD5: F0E64CC571590513D0DC8D37EA23D153
SHA1: 98D44A46E9DAD00748D0278C84B58CE36D5E8861
SHA256: B534D55F384F4A2F9F8762CCD360A7C5D3FBD9BA15B1671E4A3629EF69A4472B
Size: 163328 Bytes
File Type: PE32 executable (GUI) Intel 80386, for MS Windows
Compile: 2016-01-22 23:46:15
Most of the Ramdo samples witnessed in the wild are obfuscated using a simple packer. As such, the sample will first be unpacked in order to analyze the underlying, un-obfuscated malware.
Unpacking
The Ramdo malware is contained within a DLL. Packers will often store this DLL in an obfuscated state within an executable binary. When run, the executable will load this DLL after de-obfuscating it. Unpacking this sample is a simple matter of setting a breakpoint on calls to VirtualAlloc, and then setting a write hardware breakpoint on a byte within this newly allocated memory.
Figure 1 Breaking on calls to VirtualAlloc
After roughly two calls to VirtualAlloc, we witness the unpacked executable being written to this section. At this point it is simply a matter of dumping this memory section to disk.
Figure 2 Dumping un-obfuscated DLL from packed dropper
At this point we have the unpacked version of the Ramdo DLL, which can be used for further analysis.
Analyzing Ramdo DLL
One of the first problems the analyst will encounter when reversing a Ramdo DLL is the author’s use of encrypted strings and hashed functions. Functions are hashed using the following algorithm, represented in Python:
1
2
3
4
5
def hash_function(name):
x=0xFFFFFFFF
forninname:
x=((x>>8)^x *(x^ord(n)))&0xFFFFFFFF
returnx
A script has been provided that will generate a C header file containing an enumeration of these hashed function. Please note that this script must run on a Windows machine.
Additionally, strings are encrypted using a single-byte XOR key. A large array of the following data structures are used:
[WORD] XOR Key [WORD] Length [DWORD] Offset to Data
This can be better visualized in the following screenshot:
Figure 3 Array of data structures containing encrypted strings
An IDAPython script has been provided that will parse and decrypt these encrypted strings. Please note that the start address of the previously mentioned data structures must be set for this script to work.
After both the obfuscated functions and encrypted strings have been reverted to their original form, analysis of the Ramdo DLL becomes much easier.
The malware initially attempts to determine if it is running within a sandbox. This is further described within the blog post written by Dell Secureworks CTU. In the event it believes it is running within a sandbox, it will enter an infinite loop.
The malware proceeds to query the victim machine’s GUID via the following registry key:
HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid
A string of ‘qK’ is appended to this value. This data is eventually used as a RC4 key. The malware will attempt to read the following registry key. Should this key exist, the malware will decrypt this data using the RC4 algorithm and the previously mentioned key.
This registry key is used to instruct Ramdo to install itself. Should this registry key have a value of zero, it will proceed. The malware then attempts to read the following registry key:
Should this key not exist, it is set with a value of zero. Should this key have a value of zero, it proceeds.
Ramdo continues to disable tooltips by setting the following registry key to zero, thus disabling balloon tooltips from appearing on the victim machine:
Disabling this setting prevents the malware from generating pop-up notifications that might otherwise notify the victim that something unusual is happening.
During Ramdo’s operations, the following mutexes are used by the malware:
Global\[machine GUID]qK-fffffffe
Global\[machine GUID]qK-fffffffd
Ramdo then copies itself (executable dropper) to the following location:
%APPDATA%\Microsoft\btstack.dll
This file has its timestamp data modified to help hide it from defenders.
The following registry key is written to ensure that btstack.dll is loaded upon reboot:
At this point, the malware will identify a running Microsoft Windows process and in turn identify the path to the associated executable file. This executable is spawned in a new suspended process, and the following code is injected prior to resuming the process:
This code will load in the previously written btstack.dll, which will load the malware into a legitimate Microsoft Windows process. Should this prove successful, the malware will exit.
In the event the malware is already running within a Microsoft Windows process, the malware proceeds to spawn a new thread that begins by setting the previously mentioned LasLoggedOnProvider registry key with the RC4 encrypted configuration data that is stored within the binary.
Before any network activity is performed, Ramdo will check to see if it is running within a virtualized environment. The CTU blog post further explains how this occurs. Should Ramdo discover it is running in a virtualized environment, the seeds used for subsequent domain name generation are altered, resulting in connections to incorrectly generated domain names.
Ramdo then attempts to determine if it is connected to the Internet by making a simple HTTP request. Note the lack of HTTP headers, such as a user-agent in the following request:
Prior to making this request to google.com, Ramdo first checks the DNS response to ensure at least two IP addresses were returned in the query. In the event only a single IP address is returned, the malware will not continue its execution flow. Instead, it will sleep until the next iteration of its network communication loop.
If Ramdo determines it is connected to the Internet, it proceeds to generate a domain using the following algorithm. The two seeds are hardcoded within the sample. The second seed increments by one up until twenty to generate all permutations of domains used by the malware. The third value is set to zero if no virtualized environments are detected. Should a virtualized environment be detected, the generated domains are incorrect.
The following IDAPython script can be used to identify the DGA algorithm and seeds used. It will then proceed to generate the 20 permutations of domains used by Ramdo. Note that this script is not guaranteed to work on all variants of Ramdo due to minor changes that may have been made in the DGA algorithm. The following example output from the script demonstrates what information is provided to the analyst:
Figure 4 Output from IDAPython script
After the domain has been generated, the malware will make a HTTPS POST request, such as the following:
POST / HTTP/1.1 Content-Length: 128 Host: qgwwyeeouiouwkya[.]org Cache-Control: no-cache
[Encrypted Data]
In the above request, data is encrypted using the RSA algorithm. The following base64-encoded public key is used to encrypt this data. It should be noted that this key has changed since Microsoft initially analyzed Ramdo, indicating that Ramdo continues to evolve over time.
The following variables contain the associated data:
v : Suspected version of Ramdo w : Operating system version, build number, service pack, virtualization information b : Machine GUID string with ‘qK’ appended s : Static value k : Randomized value c : Config Data (ShowTabletKeyboard registry key) x : DGA seed i : Iteration of the second DGA seed
The server response begins with the following format:
OK[k value from request]\r\n[command][data]
Where ‘k value from request’ is the decrypted ‘k’ GET parameter sent in the request by Ramdo. The server response is RC4-encrypted using the decrypted ‘b’ GET parameter sent in the request from Ramdo.
The command value can be any of the following, represented in binary form:
1 : Update the LastLoggedOnUser registry key 2 : Update the btstack.dll executable 3 : Update the ShowTabletKeyboard registry key 5 : Update the HangDetect and LastProgress registry key
The following example C2 response demonstrates a response with a command of five:
Ramdo continues to both download and extract this cabinet file, which contains a copy of theChromium Embedded Framework (CEF). The CEF will be used by the malware to conduct click fraud.
The malware proceeds to make a subsequent request to the C2 server. The server responds in a similar fashion to the previously mentioned one. One example C2 response can be seen below:
This response not only provides the malware with a number of domains to navigate to, but also the user-agent that the CEF will use for these requests.
After the previously downloaded cabinet file is extracted, the malware will load a series of functions from the libcef.dll library in the same manner witnessed earlier. In other words, the malware uses hashed representations of CEF function names to deter static analysis.
Figure 5 Ramdo loading CEF functions by hash
The following CEF functions are loaded by the malware:
cef_string_utf16_clear
cef_string_utf16_set
cef_string_utf16_cmp
cef_string_utf8_to_utf16
cef_string_utf8_clear
cef_string_utf16_to_utf8
cef_string_list_copy
cef_string_userfree_utf16_free
cef_shutdown
cef_run_message_loop
cef_quit_message_loop
cef_currently_on
cef_refresh_web_plugins
cef_add_web_plugin_directory
cef_api_hash
cef_post_task
cef_post_delayed_task
cef_browser_host_create_browser
cef_string_list_free
cef_string_list_alloc
cef_v8value_create_function
cef_process_message_create
cef_string_multimap_free
cef_string_multimap_alloc
cef_request_create
cef_string_list_append
cef_string_map_append
cef_string_multimap_append
cef_string_list_value
cef_string_list_size
cef_string_map_value
cef_string_map_key
cef_string_map_size
cef_string_multimap_value
cef_string_multimap_key
cef_string_multimap_size
cef_string_map_free
cef_string_map_alloc
cef_initialize
These listed functions will then be used by the CEF browser to navigate to the previously instructed web pages. When making requests to the specific sites, CEF will crawl all links discovered on the returned HTML. For example, given the site of ‘search-spinner[.]com’, the web page has a link to ‘2026531.adsdomain[.]org’, which in turn leads to further ad-related webpages.
Figure 6 Result of navigating to search-spinner[.]com
As you can surmise, the distributor of this malware can easily change these links to whatever ad-generating URLs he or she wishes. This coupled with the dynamic requests made to the C2s for the original URLs/domains to view allow the malware distributor to easily modify their actions to maximize profits.
The link provided by search-spinner[.]com and other sites appears to change every time a user navigates to it, providing additional ad revenue for the attacker, and ensuring that a single web site is not browsed too often.
Conclusion
Overall, Ramdo is not an overly complicated or sophisticated family of malware. It was created with a single purpose in mind—to generate revenue by falsely navigating to specific ad-generating web pages.
That being said, it does employ various interesting tricks to avoid being run in sandboxed environments, or virtual environments, such as detection for vmware and virtualbox, as well as checking the DNS response of requests made to google.com. What is quite interesting is the fact that the malware does not completely stop running when running within a virtualized environment, but instead modifies the generated domains that the malware connects to. This provides not only an early warning to the attackers that a sample is being executed in such an environment, but also may lead to researchers tracing incorrect domains during analysis.
Today we identified a new tool actively being used by the Locky ransomware family to evade detection and potentially infect endpoints. Unit 42 identified slight changes in Locky detonations through the AutoFocus threat intelligence service, correlating global data to discover a new tool being used to pack multiple ransomware families. Adversaries are constantly seeking new techniques to bypass security controls, and based on data from AutoFocus, this represents a widespread update to their tradecraft.
In our analysis, multiple malware samples stood out due to what seemed like obfuscated API calls coming from a dictionary of embedded terms to resolve system functions and hide their true capabilities from commonly used static analysis tools.
(Oddly named variables passed to API calls)
Tampering with the API calls takes away the ability to classify based on key names, thus increasing the likelihood that the malware will go undetected. This, however, is where it gets interesting, as it appears this was just the first in a series of misdirections designed to throw off analysts.
When looking at the new samples, the import tables for libraries to load on execution would differ significantly and not actually be used at all during execution. This prevented any sort of meaningful detection by import hashing. Additionally, looking at the executable version information showed varying information per sample but a clear pattern that can be used for future identification.
LegalCopyright
Copyright \xa9 2017
InternalName
Phoneticist
FileVersion
218, 158, 104, 112
CompanyName
Cyber Power Systems Inc.
ProductName
Nesting Punk
ProductVersion
221, 202, 46, 180
FileDescription
Skittles
LegalCopyright
Copyright \xa9 2015
InternalName
Grated
FileVersion
82, 233, 256, 103
CompanyName
SafeNet Inc.
ProductName
Geomagnetic Espadrilles
ProductVersion
176, 194, 91, 229
FileDescription
Connectivity
Within each sample of malware we found different embedded strings, some used and some unused.
(Word list)
Upon closer inspection, it appears that the author uses a lot of the terms to generate noise and pointless instructions in an attempt to make analysis more difficult. In the below picture, highlighted in red, is where this sample begins to get serious about unpacking and walks the PEB structure to identify the base address of kernel32.dll.
(Start of the PEB walk)
On every run, it advances forward one DWORD and eventually compares a value that is XOR’d against 0x958B9963 to see if it’s found kernel32.dll.
(Upon finding the intended target DLL it saves it into a register)
Now that it has the base address for kernel32.dll, it begins to enumerate functions, continually changing the variables on the stack during this process to further misdirect their intentions.
(Function iteration)
(Finding the target)
Once it identifies the location of the VirtualAlloc function within kernel32, it begins to position the necessary variables to call on the stack while continuing to try and hide within the noise. As shown below, once the stack is setup, it does a direct JMP to VirtualAlloc, providing a return address that eventually leads to a couple of decoding routines.
(JMP to VirtualAlloc to allocate space for the encoded data)
(Decoding data into allocated space)
Once finished with this phase, the malware shifts execution into the newly decoded data and continues to modify itself through multiple iterations.
(Self-modifying its code at run-time)
Recall from the beginning of this post that abnormal arguments passed to API calls were the first clue something had changed. In this phase, you can follow the self-modification to the next set of red herrings before it gets down to business again.
(Code continues to JMP to new offsets, modifying all subsequent instructions)
(JMP after JMP, with one actual instruction hidden deep within)
This will eventually lead to a call for LoadLibraryA with bogus names that do not map, which end-up failing and return a NULL result effectively serving no purpose but to confuse.
(More red herrings)
Once this all completes, it will allocate another region of memory and then copy over and decode the actual malware, similar to the above process.
(The final payload of the packer)
When we extract the payload, we can validate that it is indeed Locky and accurately gets detected.
Palo Alto Networks has identified this technique being picked up recently by the Locky ransomware, but we have also identified samples of TeslaCrypt and Andromeda malware families, dating back to March 14, 2016, that exhibit the technique. It is important to note that this obfuscation can be detected by dynamic analysis, which is used in combination with static analysis by WildFire service to protect Palo Alto Networks customers from this threat.
WildFire is able to detect this new packing technique being utilized across the malware families described in this post, as well as detect each family after unpacking. Users of AutoFocus can find more information on impacted malware families with the Locky, TeslaCrypt and Andromedatags.
With the announcement of PAN-OS 7.1 this week, we are providing a variety of new features and improvements to make the Palo Alto Networks Next-Generation Security Platform even more effective at stopping cyberattacks and protecting data in healthcare IT environments. In this blog post, I’ll highlight five updates to PAN-OS that will be particularly useful to the healthcare community.
1. PAN-OS Now Supports More Cloud Providers
PAN-OS was built from the ground up with an architecture that solves cloud security challenges; and now, the PAN-OS 7.1 release adds even greater cloud support with Microsoft Azure, Hyper-V, and a full OpenStack controller ecosystem support. This extends the security platform to all major clouds as a unified platform, providing visibility, contextual policy control and threat protection no matter where the application or data resides. This enables application and data protection in any location the hospital requires.
2.Aperture Now Supports Office 365
Healthcare organizations that use SaaS applications, like Box and Google Drive, to share documents between staff members can use Aperture to protect against data exposure and threat insertion through the cloud. Aperture is able to connect directly to SaaS services to prevent threats at the source before exposure through encrypted connections can happen. This is especially a concern with Office 365, which is ubiquitous, comes with cloud sharing and storage, and is commonly used with local clients that make encrypted connections to the cloud.
The extensive SaaS application support that we offer is now enhanced with the release of PAN-OS 7.1 and the newest update to Aperture, which fully enables secure Office 365 deployments. App-ID adds the ability to identify Office 365 applications and how they are being used, even if they are encrypted, as well as the ability to decrypt Office 365 flows in order to inspect even deeper within the files being exchanged to look for threats. Aperture adds the ability to protect data from exposure and threats in the Office 365 cloud itself, stopping them at the source before they have a chance to move to the network or mobile devices.
3. WildFire Is 70% Faster
WildFire cloud-based malware analysis can now identify and prevent zero-day threats in only five minutes, stopping the spread of advanced attacks before they can cause harm. Healthcare organizations are highly targeted by sophisticated cyberattacks, so the speed at which unknown threats become known threats is a critical factor in the defense against such attacks. New machine-learning algorithms have been added to stop variations of known malware instantly, even if they have never been seen by WildFire, and reduce analysis time for Portable Executable (PE) variants of known malware.
WildFire now offers Mac OS X support as well, which means that Mac binaries can be analyzed and malware targeting Apple products can be prevented.
In addition, URL Filtering with PAN-DB is faster too: Newly discovered phishing websites are categorized within 30 minutes.
4. AutoFocus Now Tightly Integrates with PAN-OS
Healthcare organizations often struggle to delineate between actionable cyberthreat intelligence and all the noise. AutoFocus now tightly integrates with PAN-OS and Panorama management to bring advanced threat context to the entire organization, simplifying response efforts for the most critical attacks in a single, easy-to-use console. This puts the largest collection of unknown malware data at your fingertips, enabling you to automatically turn analysis efforts for unique, targeted attacks into proactive protections by blocking malicious domains, IP addresses, and URLs with AutoFocus and PAN-OS dynamic block lists. AutoFocus also adds the ability to bring threat intelligence into your existing security operations workflows with an improved API and support for the STIX information-sharing standard.
5. GlobalProtect Is Now Easier to Deploy and Offers a Better End-User Experience
There are many features of GlobalProtect that differentiate it from regular VPN clients, but the most powerful one is its ability to integrate with virtual firewalls in Amazon Web Services (AWS). This capability provides the same network-level threat protection wherever the laptop connects to the Internet. In healthcare environments, laptops are very mobile – hospital staff connect from home, coffee shops, and other remote networks where they are prone to infection by malware. GlobalProtect, when deployed with its AWS integration, solves this problem by intelligently routing all traffic (regardless of destination) through a GlobalProtect Gateway and next-generation firewall in AWS to protect your laptops wherever they are.
With the PAN-OS 7.1 launch, GlobalProtect is enhanced with three features that make it easier to deploy and offers a better end-user experience:
Auto Scaling GlobalProtect Gateways: This enables organizations to deploy the platform in AWS and automatically adjust the number of gateways needed around the world. It brings high-performance protection closer to users, no matter where they are located.
Cookie Authentication: An organization can make strong authentication easier to use with transparent single sign-on to every GlobalProtect Gateway.
Certificate Enrollment: Simplify the deployment of certificates with GlobalProtect support for Simplified Certificate Enrollment Protocol (SCEP). The GlobalProtect app can now directly request certificates from the corporate PKI deployment.
These are five features of PAN-OS 7.1 that will immediately benefit healthcare organizations, but there are more features that you can read about in the release notes or at the resources below.
PAN-OS 7.1, which we officially announced this week, offers new ways for Managed Security Service Providers (MSSPs) to differentiate and strengthen their offerings without adding complexity or new resources. Below are a few highlights that Palo Alto Networks MSSP customers will be particularly interested in:
1. Identifying and neutralizing zero-day threats in five minutes or less
For MSSPs, preventing cyberattacks from impacting customers is job No. 1. MSSPs are successfully using Palo Alto Networks Next-Generation Firewall to proactively protect customers against known threats. Now there are more reasons to layer WildFire advanced threat analysis on a next-generation firewall for protection against unknown threats. With PAN-OS 7.1, we’ve cut the global window of zero-day attack opportunity down to just five minutes.New machine-learning algorithms, and the largest community of shared threat intelligence on unknown attacks, allow WildFire to identify and automatically neutralize attacks in minutes for all subscribers globally. Together, MSSPs and Palo Alto Networks can automatically stop advanced attacks from spreading and causing harm.
2. Speeding analysis, forensics, and action against targeted attacks without additional resources
Every organization struggles to separate truly targeted attacks from the more commoditized, everyday threats. AutoFocus cloud-based threat intelligence service was built for fast searching, data analysis, and correlation over large data sets. AutoFocus organizes and presents the largest collection of unknown malware data in the world. Customers use it to identify targeted attacks on their organization and view how their data compares to others in the same industry or the world at large. Now AutoFocus brings advanced threat context to every SOC team member. New integration with PAN-OS and Panorama accelerates analysis and response by letting security administrators easily determine if suspicious domains, IP addresses or ULRs have been identified as key threats. AutoFocus also adds the ability to bring threat intelligence into your existing security operations workflow with an improved API and support for the STIX information-sharing standard.
3. Securing private, public and hybrid clouds as part of on-premise services
With the latest updates to our Next-Generation Security Platform, it’s easier for MSSPs to secure both on-premise and cloud environments. PAN-OS 7.1 extends the security platform to all major virtualization environments, including Microsoft Azure and Hyper-V. This release also contains enhancements that automate scaling and deployment, and it improves availability in virtual environments. With the same PAN-OS in physical and virtual security platforms, MSSPs can offer the same consistent, up-to-date security posture for their customers no matter where their applications and data reside.
4. Providing visibility and enabling safe usage of Office 365
SaaS has often been a security blind spot. With updates to Aperture and PAN-OS 7.1, we’ve added to our extensive SaaS security capabilities. App-ID can now identify Microsoft Office 365 applications and how they are being used, even if they are encrypted. It also can decrypt Office 365 flows and inspect the files being exchanged to look for threats. Aperture protects data from exposure and threats in the Office 365 cloud itself, stopping those threats at the source before they have a chance to move to the network or mobile devices.
With this release, we further enhances SaaS security with the ability to tag SaaS applications as sanctioned, or unsanctioned, and generate a detailed, SaaS-specific report on applications, users and usage. MSSPs and their customers gain greater visibility and control of SaaS applications, with no extra hardware, network changes or client software required.
For more information on PAN-OS 7.1 features, you can read the product announcement, visit our resources page, or review the Technical Documentation below.