Coder Social home page Coder Social logo

spacecase123 / dedrop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kholia/dedrop

0.0 0.0 0.0 14.96 MB

Looking inside the (Drop) box. Security Analysis of Dropbox. Updated WOOT '13 paper and other goodies.

Shell 0.13% C++ 0.98% Python 32.08% C 42.91% Go 2.69% TeX 20.37% Makefile 0.84%

dedrop's Introduction

Looking inside the (Drop) box

Security Analysis of Dropbox.

Web-based Presentation

"Upstream" Resources

Status

We are able to handle Dropbox version 73.4.118 from 29-May-2019.

Reversing Dropbox

  1. Note: For handling modern (> late 2018) Dropbox versions use "dedrop-ng" which is included in this repository.

    https://github.com/kholia/dedrop/tree/master/src/dedrop-ng

  2. Download Dropbox and extract it.

    $ cd ~
    
    $ export DROPBOX_VERSION="dropbox-lnx.x86_64-23.4.19"
    
    $ wget -c "https://www.dropbox.com/download?plat=lnx.x86_64" -O $DROPBOX_VERSION.tar.gz
    
    $ tar -xzf $DROPBOX_VERSION.tar.gz
  3. Build "dedrop". Switch to this repository and do,

    $ cd src/dedrop
    
    $ make
    
    $ cp libdedrop.so ~
  4. Use LD_PRELOAD and inject libdedrop.so into Dropbox.

    $ cd ~
    
    $ export BLOB_PATH=.dropbox-dist/$DROPBOX_VERSION/dropbox
    
    $ LD_PRELOAD=`pwd`/libdedrop.so .dropbox-dist/dropboxd
  5. De-compile the "fixed" bytecode files.

    $ uncompyle6 pyc_decrypted/client_api/hashing.pyc
    ...
  6. Study the soure-code, find bugs and make Dropbox better!
  7. You might need to do xhost local:root to start Dropbox.

Dependencies (for paper)

  • texlive
  • texlive-minted
  • texlive-texments
  • python-pygments

    yum install texlive texlive-minted python-pygments texlive-texments \
        texlive-ifplatform texlive-endnotes

Credits

Resources

TODO

  • Find alternatives to "tray_login" method since it is going to be patched soon. This is now redundant since Dropbox client now uses 2FA properly.
  • "While your submission was interesting, there has been other research on similar topics. There is nothing wrong with talking about the same topic more than once, especially one that has a large impact but if you are expanding on a topic, make sure to highlight how you are taking the research to a new level. Be clear with the review board about how what you are doing is extending the research." <= (apply this feedback to the paper and presentation).
  • Looking deeper into the (Drop) box.
    • dump bytecode from memory (revive pyREtic).

dedrop's People

Contributors

kholia avatar

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.