Coder Social home page Coder Social logo

r0bbit / shellcode-loader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from reversingid/shellcode-loader

0.0 0.0 0.0 279 KB

Open repository for learning dynamic shellcode loading (sample in many programming languages)

C++ 91.04% Python 2.16% C 0.05% Go 0.91% C# 1.59% Rust 1.10% Nim 0.55% Dart 1.26% Zig 0.91% V 0.43%

shellcode-loader's Introduction

Shellcode Loader

Open repository for learning dynamic shellcode loading.

Disclaimer

For english version, see README.EN.md

Repository ini digunakan untuk menghimpun informasi tentang teknik memuat shellcode ke memory yang digunakan oleh implant. Repository ini terbuka untuk publik, dapat diakses oleh siapa saja baik oleh internal maupun di luar komunitas Reversing.ID.

Content

Untuk memudahkan klasifikasi, repository ini dibagi menjadi beberapa kategori berdasarkan platform (OS) dan teknik memuat kode. Setiap direktori mengacu kepada sebuah teknik dan berisi informasi singkat serta implementasi dalam bahasa pemrograman tertentu (umumnya C/C++).

Catatan: teknik-teknik akan difokuskan kepada arsitektur x86.

Shellcode Overview

Shellcode adalah potongan kode/instruksi dengan tujuan spesifik untuk melakukan aksi tertentu. Dalam eksploitasi shellcode digunakan sebagai payload (muatan) untuk disuntikkan ke suatu sistem dengan batasan tertentu.

Secara teori shellcode dapat melakukan aksi apapun. Awalnya shellcode hanyalah instruksi untuk memanggil shell. Shellcode kemudian berkembang dan memiliki tujuan bervariasi seperti menciptakan user, menghapus data, dll.

Untuk melihat kumpulan shellcode, kunjungi shellcodes repository.

Untuk melakukan penyuntikan shellcode ke process, kunjungi injection repository.

Untuk penyederhanaan, shellcode yang digunakan akan dibatasi hanya kepada kode berikut:

# 9090CCC3

0000:  90      nop
0001:  90      nop
0002:  CC      in3
0003:  c3      ret

Techniques

Repository ini akan membahas proses dasar dalam sebuah pemuatan shellcode, yakni:

  • allocation: strategi alokasi memory untuk menampung shellcode (sebagai kode).
  • storage: strategi penyimpanan shellcode.
  • execution: strategi eksekusi shellcode.
  • writing: strategi menulis kode ke memory (sendiri), baik secara langsung maupun melalui proses transformasi tertentu.

Sebagian teknik memanfaatkan API yang disediakan oleh OS, baik secara langsung maupun tak langsung.

shellcode-loader's People

Contributors

xathrya 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.