Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Linux userland ELF snapshots and fuzzing #192

Merged
merged 42 commits into from
Apr 1, 2024

Commits on Jan 24, 2024

  1. Add support for Linux userland ELF snapshots and fuzzing.

    This is based on Kasamir123's pull request at
    0vercl0k#102 plus some scripts in snapchange for
    automatically setting up a Linux VM target.
    
    The following improvements have been made as compared to Kasamir123's original
    pull request:
    
    * Fixed bug when calling mlockall, allowing us to remove page touching code
    * Code requires no custom #ifdefs in wtf
    * Linux snapshots work w/fuzzing via KVM. Kasamir123's code had some issues with
      gathering segment registers, and our updates fix these issues, allowing for
      KVM support
    * Kasamir123's code injects shellcode into the target process by overwriting
      code, but never restored the original code. We now restore the original code
    * Snapshotting is more streamlined, only taking a few manual steps once
      everything is configured
    * Some improvements from 0vercl0k's suggestions from ELF Snapshotting and
      Fuzzing 0vercl0k#102, like implementing raw2dmp in Python
    * Support for setting breakpoints on symbols in ELF targets plus use of symbols
      in fuzz harnesses
    * IDA script for generating coverage breakpoints list so that targets can be
      fuzzed with KVM
    * Target VM can run with HW acceleration enabled, Kasamir123's scripts for
      running the VM and taking a snapshot only worked with SW emulation
    * Works with recent Linux kernel versions
    jasocrow committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    807f8bc View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2024

  1. clang18

    0vercl0k committed Feb 3, 2024
    Configuration menu
    Copy the full SHA
    21e918e View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2024

  1. nits

    0vercl0k committed Feb 11, 2024
    Configuration menu
    Copy the full SHA
    644eea7 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2024

  1. Configuration menu
    Copy the full SHA
    559cb2a View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2024

  1. nits

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    36d65a3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9a57e0c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9cfc8c0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    caf069c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f7eb658 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0ff1389 View commit details
    Browse the repository at this point in the history
  7. nits

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    5444905 View commit details
    Browse the repository at this point in the history
  8. hexify registers

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    5b31d1f View commit details
    Browse the repository at this point in the history
  9. quiet

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    491d1e7 View commit details
    Browse the repository at this point in the history
  10. ugh

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    efc04a8 View commit details
    Browse the repository at this point in the history
  11. more hex

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    5113150 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6727d41 View commit details
    Browse the repository at this point in the history
  13. backends as well

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    1c4813a View commit details
    Browse the repository at this point in the history
  14. disable pagination

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    ff0e0cc View commit details
    Browse the repository at this point in the history
  15. ugh

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    bf7d7b0 View commit details
    Browse the repository at this point in the history
  16. fix fptw

    0vercl0k committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    294f586 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2024

  1. merge in the two scripts

    0vercl0k committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    aff2aef View commit details
    Browse the repository at this point in the history
  2. clean up pys

    0vercl0k committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    6ab9824 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    29686bf View commit details
    Browse the repository at this point in the history
  4. fix

    0vercl0k committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    7e23f31 View commit details
    Browse the repository at this point in the history
  5. fix fmt

    0vercl0k committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    42b42fe View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. cleanups

    0vercl0k committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    3af96df View commit details
    Browse the repository at this point in the history
  2. fmt

    0vercl0k committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    88ce23a View commit details
    Browse the repository at this point in the history
  3. f

    0vercl0k committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    fb16023 View commit details
    Browse the repository at this point in the history
  4. simplify

    0vercl0k committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    09c0613 View commit details
    Browse the repository at this point in the history
  5. oops

    0vercl0k committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    d9040e5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    dd49d42 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. readme

    0vercl0k committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    ec7a0ba View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    87b5dcd View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. bump

    0vercl0k committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    48790ad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9abc678 View commit details
    Browse the repository at this point in the history
  3. gold?

    0vercl0k committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    ff951c1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a482843 View commit details
    Browse the repository at this point in the history
  5. ugh

    0vercl0k committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    ea69f12 View commit details
    Browse the repository at this point in the history
  6. add comments before i forget

    0vercl0k committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    79bc9ea View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. Configuration menu
    Copy the full SHA
    02ffb8f View commit details
    Browse the repository at this point in the history
  2. more acks

    0vercl0k committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    3f7004c View commit details
    Browse the repository at this point in the history
  3. fix link

    0vercl0k committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    f303cb7 View commit details
    Browse the repository at this point in the history