Cатсн²² (in)sесuяitу / ChrisJohnRiley

Because we're damned if we do, and we're damned if we don't!

Taking out the Eurotrash

eurotrash_sqRegular listeners are probably already aware by now, that the Eurotrash is no more! As with all good things, there had to be an end, and with the last Christmas episode, we got the old crew back together for one last go around! We’d like to say that we’re throwing in the towel because our efforts to solve world hunger and push the middle east peace process through is taking up most of our time, but if I did I’d only be telling half the truth.

A While ago the crew decided that we weren’t having enough time to record and edit the way we wanted to… as you can see, the number of episodes in 2014 was down on the previous years, because of lack of time and so many other projects. So, something had to give. We hope you’ve had a fun journey with us over the years, and it’s been a pleasure to do.

So, thank you Ben, Craig, Dale, Wim… thank you to the guests over the years for putting up with our silly questions… and most of all, thank YOU the listeners for making us want to do this thing again and again until our hands bled from the editing, and our families were starving on the streets*

So, this Christmas time, don’t cry for us! Light a candle (or a cigarette), and raise a glass (or a bottle of vodka) to the Eurotrash Security Podcast… gone but not forgotten! Episode 50: The Final One… evar

“Doesn’t Ben look hawt in his new work outfit!”

Note: Past episodes will remain available on http://eurotrashsecurity.eu until such time as  Craig gets so drunk that he forgets to renew the domain… or he pawns it to buy cheap aftershave! So probably a few months at least ;)

* Not actually starving

All good things must come to an end

By the time you read this, I will be gone… no, not like that! Let me start at the beginning.

Back in 2008 (when I was still young and almost had hair) I joined a small team (actually it was just 1 person if I remember rightly) at an Austrian company called Raiffeisen Informatik (I think that’s the first time I’ve written that on the blog… for obvious reasons). It was my first job since moving to Austria, and despite my lack of German skills (I could just about say “hello” and “goodbye” at the time) they took the chance on me. I’d like to think it paid off… but who am I to say.

It’s been more than 6 years since that day, and the team at what became R-IT CERT has expanded from it’s early days considerably. As the title suggests, today was my last day at R-IT CERT… and it’s a bitter sweat ending. I’ve enjoyed my time working with the great members of the team, and had a lot of great challenges. Working at R-IT CERT has given me a lot of freedom to do interesting and unique projects… but I’m really looking forward to the new challenges that are ahead of me. More details on that as and when!

[DeepSec 2014] Advanced Powershell Threat: Lethal Client Side Attacks using Powershell

DeepSecLogo

Advanced Powershell Threat: Lethal Client Side Attacks using Powershell – Nikhil Mittal

APT – A buzzword which refuses to die. Lets have some fun with it, lets move it to powershell. This talk would focus on using powershell for Client Side Attacks.

Powershell is an ideal platform for client side attacks as it is available on all the Windows machines. We would see how easy and effective it is to use powershell for various client side attacks like drive-by-downloads, malicious attachments, Java applets, Human Interface Devices etc.

The payloads which would be used with these attacks include in-memory code execeution, dump passwords and system secretsin plain text, backdoors, keyloggers, moving to other systems, reverse shells etc.

The code used in the above talk will be released as open source. The talk would be full of live demonsrations.

Client-side Attacks

Why Client-side attacks

  • Server-side is being locked down, so attacks are moving more to the client-side
  • Often client-side is less secured and not prioritized for patching compared to the server-side systems
  • The perimeter-ized network is still the norm
  • Less chance of being discovered when the attack begins from the inside of the network
  • Users are too familiar with their systems, and tend to feel over-confident about their security

To avoid detection it’s best to not use exploitation or memory corruption attacks to avoid being detected by possible host-based IDS/IPS or Anti-virus.

What is Powershell / Why Powershell

Tasked-based command line shell and scripting language designed for system administrators

Powershell is already present on the majority of your target systems and is a powerful method to reside in the system. It also provides easy access to things such as the .Net classes, WMI, Windows API, WinRM, Registry, etc…

Anything we can do to reduce our dependance on Metasploit and possibly detectable tools is a good thing.

Tools to create malicious client-side files

Out-Word.ps1

Used to create “armed” or “infected” MS Word documents

Out-Excel.ps1

Same as Out-Word, but for Excel files.

Out-HTA.ps1

Creates an executable HTML application to send to the user that triggers Powershell

Out-Java.ps1

Creates an executable JAR file to launch Powershell

Out-Shortcut.ps1

Creates a malicious .lnk file that points to the Powershell on the users machine to trigger specific actions. Can also set a hotkey on the shortcut so the link is triggered whenever the user clicks a specific key combination.

Out-CHM.ps1

Creates compiled HTML Help Files to execute Powershell commands. Can be customized to include real help information to fool a user.

Defense

  • Don’t click stuff! Teach your users to not trust content from external sources
  • Removal of VBA from MS Office would help specific attacks
  • Active monitoring of users machines may help detect such attacks
  • Remove powershell access to users who don’t need it (block/limit the user)

Links:

[DeepSec 2014] Trusting Your Cloud Provider. Protecting Private Virtual Machines – Armin Simma

DeepSecLogoTrusting Your Cloud Provider. Protecting Private Virtual Machines – Armin Simma

SECRETS: My talk is first and foremost about secrets.
Most people refer to data at rest or data in motion by the term “secrets”. When we talk about secrets usually we mean data at rest or data in motion. There are effective measures to protect these data, one of which is encryption. As you write in CfP 2013: “..uses encryption, access control…”. Concerning (IaaS-)clouds we have data IN EXECUTION. That is, the virtual image / virtual machine (VM) sent to the cloud provider is the secret to be protected. The problem is: this secret must execute on someone else’s system. Of course, we cannot simply encrypt the VM and send it to the provider. Homomorphic encryption would be a solution to this problem but at the time of writing it is academic i.e. it is not ready (and secure enough) to be used in real systems. In my talk (and our project) I want to show that it is possible to protect secrets (VM of the cloud customer) running on the providers host system using Trusted Computing technology.
FAILURES: Root users (superusers) usually have full control over and full access to a system. In our case the root user at the cloud providers site has full access to the provider’s host system. Thus he has full access to the guest image (i.e. the VM of the customer). What if root is doing wrong or malicious action? He could gain insight or manipulate the guest image. Here is potential failure. In my talk I want to show how to keep root users from failures.
VISIONS: In our project we were building a prototype to show that it is possible to build the proposed system. But the technical system is not enough. We need an “ecosystem” to bring our idea to real life. This is my vision: We have a trusted third party (I call it TTT trusted third tester) that vouches for a trustworthy (in that case thoroughly tested) system and publishes reference hash values to compare with the running system. The cloud customer can use these reference values plus attestation technology to check that a trustworthy system is running on the provider’s host. Using so-called sealing technology the VM will be decrypted on the provider’s site only if the provider’s system matches the reference hashes.

Cloud | Trust | Security

Security is the top inhibitor for companies not moving to the cloud

Problem Statement: Insider attacks within the cloud

There are a number of real-world examples of insider attacks on cloud based systems (including Salesforce.com leak of confidential information). These date back to 2007…

DBIR provides a classification of “insider attacks” as 18% – Quoted from Alex Hutton’s DeepSec keynote

How can we ensure that a [malicious] insider doesn’t have access to the customers VM.

Assumptions

  • no physical access
  • cloud provider is “partially” trusted at least

Solutions

Encrypt the VM

Simple idea, but not possible as the provider will need to decrypt it in some way to run it. Decryption key must be known in some way to the provider.

Security based on trust

Assurance needs a kind of “proof”

Typically such “proofs” are given by service level agreements, but do not often cover security of the service. If any “proof” exists at all, it is done by an external audit or 3rd party certification of the cloud provider.

Suggested solution in a nutshell

Based on MAC (Mandatory Access Control) to allow more fine-grained policies and system-wide policies.

SELinux is an implementation of MAC for Linux

Dan Walsh gives many examples where SELinux would have prevented known vulnerabilities (e.g. shellshock, CVE-2011-1751)

By using SELinux it is possible to create a configuration to:

  • Restrict root from copying snapshots and VM images
  • Restrict root from doing other malicious things
  • Prevent logs from being removed or manipulated

SELinux policy files can however become VERY complex over time…

The conceptual problem is that an administrator must be able to perform maintenance and install new patches. This could allow an administrator to bypass protections. This can be prevented allowing only patches to be applied by a secondary root user who must validate and logon physically with hardware token. Reducing the possible exposure.

Privileged Identity Management –  a number of standards exist and should be taken into consideration (especially when it comes to logging actions)

TPM (Trusted Platform Module)

The second piece of the puzzle… used to store and protect keys against external attack and theft.

Tamper resistant, and relatively cheap hardware (1-2$). Currently over 600 million+ TPM chips exist

Version 2 is on the horizon

Root of Trust (RoT) gives an initial anchor for a security system

TPM was used in this solution for:

  • authentication / identification of the machine
  • storage of hash values
  • integrity measurement
  • attestation

TPM measured boot:

Before any component is executed, it is measured (i.e. hash is logged into the PCR) – Measure > Extend > Execute

After hashes are stored into the PCR a remote entity can implement reporting (attestation). This attestation can be compared against reference values (golden values) to ensure the process has not be altered.

POC for this was developed over the past few years, but now seems invalid due to the release of OpenAttestation

Overall ecosystem

A Trusted Third Tester (TTT) would need to publish signed integrity values for the “golden values” checks

A Cloud Attestor and Advisor (CAA) would need to have software on the customer site to perform the attestation

Related work

  • Intel
    • Mt. Wilson
    • Mystery Hill
  • Haven and SGX

Homomorphic Encryption

Main idea: Perform operations on the cipher-text, only person with the key can view the results decrypted

Would resolve all these issues if it’s fast/reliable enough

Problems with TPM-based solutions

  • Inefficiency problem
    • small micro-processor
  • Whitelist “golden values” –
    • Systems are NOT always the same, and therefore need/have different “golden values”.
    • Reference systems need to be 100% the same
  • Attacks on TPMs
    • Some are known (presented later at DeepSec)
    • Hardware and Software-based issues
  • TOCTOU
    • Time Of Check, Time Of Use
    • Encryption of VMI using sealing
  • Cloud provider must disclose details of their platform
    • Necessary for attestation

Links:

Follow

Get every new post delivered to your Inbox.

Join 2,196 other followers