Code Monkey home page Code Monkey logo

demon's Introduction

Quick proof of concept for http://www.cs.columbia.edu/~mikepo/papers/gpukeylogger.eurosec13.pdf

Objective:

  • Undetection. Our jellyfish rootkit utilized a common LD_PRELOAD technique to hide in userland. For Demon we're going with code injection.

Requirements for use:

  • OpenCL drivers/icd's installed
  • AMD or NVIDIA card (although AMDAPPSDK does support intel)
  • linux kernel headers

Details on what this PoC does:

  • CPU kernel module bootstrap to locate keyboard buffer via DMA in usb struct
  • keyboard buffer gets stored in userland file
  • kernel module deletes itself
  • OpenCL stores that keyboard buffer inside gpu and deletes file due to evidence

Our thoughts:

  • We personally feel the use of a kernel module is loud, but in the beginning stages of our research work, we googled around and looked for "theories" on gpu malware documented by *.edu's, and wanted to turn those theories into reality. This was how we interpreted the eurosec 2013 research paper.

Disclaimer:

  • We are not associated with the creators of this paper. We only PoC'd what was described in it, plus a little more.

Heads up:

  • Windows GPU remote access tool (RAT) PoC official release @ /WIN_JELLY
  • Working on PoC for Mac OS X @ /MAC_JELLY

demon's People

Watchers

 avatar

demon's Issues

Memory Capture

@X0r1 ping
Wondering if OpenCL could be used for capturing the full contents of memory for forensic purposes, potentially bypassing the root / ring-0 requirement of a normal application.

Is that something that CL_MEM_USE_HOST_PTR might be able to do? Can the DMA of the GPU move physical memory into a buffer that could be written to disk?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.