Skip to content

Proof-of-concept modular implant platform leveraging v8

License

Notifications You must be signed in to change notification settings

captainGeech42/implant.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

implant.js

A proof-of-concept* modular implant platform leveraging the v8 JavaScript engine.

Initially released and presented at DistrictCon 0. Slides are available here, and the recording is available here.

* there is no authentication, encryption, or module verification being performed, and zero regards for on-target OPSEC. if you use this on an op, you will look dumb and if i find out i will shame you on social media :)

Usage

Please review the client and server docs for detailed compilation/usage info, but the tl;dr is:

$ cd server
$ ./server.py
$ cd client
$ mkdir build
$ cmake -S . -B build -DV8_ROOT:STRING=/path/to/v8/root -DBUILD_DEBUG=True
$ cmake --build build
$ ./build/client localhost 1337

Testing

The client and server have their own test suite, and there is an end-to-end integration test script available here to validate the comms between the client and the server.

Detections

For info about detecting various facets of implant.js, please see /detections.

Known Issues

There are a couple pieces with minor bugs that haven't been addressed yet, please see the repo issues for details. PRs are welcome :)

Misc

To cleanup a hanging server port allocation (doesn't always work for some reason):

$ fuser -k 1337/tcp

To watch the C2 traffic live:

$ tshark -i lo -f 'port 1337' -Y "tcp.payload" -T fields -e tcp.dstport -e tcp.payload

About

Proof-of-concept modular implant platform leveraging v8

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published