• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    C
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scout - Instruction based research debugger (a poor man's debugger)
  ______                                   __                                   
 /      \                                 /  |                                  
/$$$$$$  |  _______   ______   __    __  _$$ |_                                 
$$ \__$$/  /       | /      \ /  |  /  |/ $$   |                                
$$      \ /$$$$$$$/ /$$$$$$  |$$ |  $$ |$$$$$$/                                 
 $$$$$$  |$$ |      $$ |  $$ |$$ |  $$ |  $$ | __                               
/  \__$$ |$$ \_____ $$ \__$$ |$$ \__$$ |  $$ |/  |                              
$$    $$/ $$       |$$    $$/ $$    $$/   $$  $$/                               
 $$$$$$/   $$$$$$$/  $$$$$$/   $$$$$$/     $$$$/                                
                                           
 _______             __                                                         
/       \           /  |                                                        
$$$$$$$  |  ______  $$ |____   __    __   ______    ______    ______    ______  
$$ |  $$ | /      \ $$      \ /  |  /  | /      \  /      \  /      \  /      \ 
$$ |  $$ |/$$$$$$  |$$$$$$$  |$$ |  $$ |/$$$$$$  |/$$$$$$  |/$$$$$$  |/$$$$$$  |
$$ |  $$ |$$    $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |$$    $$ |$$ |  $$/ 
$$ |__$$ |$$$$$$$$/ $$ |__$$ |$$ \__$$ |$$ \__$$ |$$ \__$$ |$$$$$$$$/ $$ |      
$$    $$/ $$       |$$    $$/ $$    $$/ $$    $$ |$$    $$ |$$       |$$ |      
$$$$$$$/   $$$$$$$/ $$$$$$$/   $$$$$$/   $$$$$$$ | $$$$$$$ | $$$$$$$/ $$/       
                                        /  \__$$ |/  \__$$ |                    
                                        $$    $$/ $$    $$/                     
                                         $$$$$$/   $$$$$$/

Purpose

"Scout" is an extendable basic debugger that was designed for use in those cases that there is no built-in debugger / gdb-stub in the debugee process / firmware. The debugger is intended to be used by security researchers in various scenarios, such as:

  1. Collecting information on the address space of the debuggee - recon phase and exploit development
  2. Exploring functionality of the original executable by accessing and executing selected code snippets
  3. Adding and testing new functionality using custom debugger instructions

We have successfully used "Scout" as a debugger in a Linux Kernel setup, and in several embedded firmware research projects, and so we believe that it's extendable API could prove handy for other security researchers in their research projects.

Read The Docs

https://scout-debugger.readthedocs.io/

Supported Architectures

  • x86 - Intel 32 bit
  • x64 - Intel 64 bit
  • ARM 32 bit - Little & Big endian (Including Thumb mode)
  • MIPS 32 bit - Little & Big endian (Without Mips16 mode)
Future Architectures
  • ARM 64 bit - Little & Big endian
  • MIPS 16 bit - Little & Big endian
  • MIPS 64 bit - Little & Big endian
  • ...

Supported Operating Systems

  • Linux - User-mode (PC Mode)
  • Linux - Kernel-mode (PC Mode)
  • Any Posix-like operating system (Embedded Mode)

Folder Structure

  • docs: Documentation files that generated the read-the-docs that was linked above
  • examples:
    • embedded_scout - Use case example for an "Embedded Mode" compilation
    • kernel_scout - Use case example for a Linux "Kernel Mode" compilation
  • src
    • scout - Source code for the debugger (core of the server side)
    • utils - Python compilation scripts and network API for the client/server
  • tests: A simple exploit_me.c for checking PIC compiled binaries

Installation

  • Installing the python package: python3 setup.py install
  • Dedicated compilers: A list of compilers per-architecture is found on compilers.txt

Credits

This projects combines together design and compilation tricks that I learned from many fellow researchers during the years.

Links

Scout was developed and used in our following research projects:

Personal Note

Scout was developed during my years at Check Point Research and proved itself useful by significantly helping us during numerous research projects (as listed above).

Being a useful tool, I aim on keeping maintaining and developing it in the future. Being unable to maintain it under this original repository, the repository was forked under my personal Github account, and the new fork will serve as the maintained repository from now on.

The maintained repository can be found here: https://github.com/eyalitki/Scout

@EyalItkin

More Repositories

1

Karta

Karta - source code assisted fast binary matching plugin for IDA
Python
854
star
2

InviZzzible

InviZzzible is a tool for assessment of your virtual environments in an easy and reliable way. It contains the most recent and up to date detection and evasion techniques as well as fixes for them.
C++
530
star
3

Evasions

Evasions encyclopedia gathers methods used by malware to evade detection when run in virtualized environment. Methods are grouped into categories for ease of searching and understanding. Also provided are code samples, signature recommendations and countermeasures within each category for the described techniques.
HTML
374
star
4

android_unpacker

A (hopefully) generic unpacker for packed Android apps.
Shell
355
star
5

showstopper

ShowStopper is a tool for helping malware researchers explore and test anti-debug techniques or verify debugger plugins or other solutions that clash with standard anti-debug methods.
C++
193
star
6

Cuckoo-AWS

Extension to Cuckoo Sandbox open source projects, adds support to AWS cloud functionalities and enables running emulation on auto-scaling infrastructure
JavaScript
134
star
7

CloudGuardIaaS

Check Point CloudGuard Network Security repository containing solution templates, Terraform templates, tools and scripts for deploying and configuring CloudGuard Network Security products.
HCL
94
star
8

cp_mgmt_api_python_sdk

Check Point API Python Development Kit simplifies the use of the Check Point Management APIs.
Python
93
star
9

cpAnsible

Ansible module provides control over a Check Point Management server using Check Point's web-services APIs.
Python
67
star
10

ExportImportPolicyPackage

Check Point ExportImportPolicyPackage tool enables you to export a policy package from a Management database to a .tar.gz file, which can then be imported into any other Management database. The tool is supported for version R80.10 and above.
Python
58
star
11

QueryOrientedProgramming

Query Oriented Programming (QOP) gadgets for SQLite-based exploitation
Python
49
star
12

Anti-Debug-DB

Anti-Debug encyclopedia contains methods used by malware to verify if they are executed under debugging. It includes the description of various anti-debug tricks, their implementation, and recommendations of how to mitigate the each trick.
HTML
45
star
13

SmartMove

Check Point SmartMove tool enables you to convert 3rd party database with firewall security policy and NAT to Check Point database.
C#
42
star
14

CheckPointAnsibleMgmtCollection

This Ansible collection provides control over a Check Point Management server using Check Point's web-services APIs.
Python
39
star
15

Cyber-Research

General purpose repository for miscellaneous scripts, pcaps and malware IOCs that we share with the info-sec research community
Python
37
star
16

MacOS-MalwarePedia

HTML
32
star
17

android_appfuzz

Shell
30
star
18

ShowPolicyPackage

Check Point ShowPolicyPackage tool shows the content of a policy package (layers, rulebase, objects) over HTML pages.
Java
29
star
19

terraform-provider-checkpoint

Terraform provider for Check Point
Go
27
star
20

reputation-service-api

Leverage the Check Pointโ€™s threat intelligence to enrich your SIEM and SOAR solutions and to secure your business applications and websites by using simple RESTful APIs.
Java
27
star
21

PolicyCleanUp

Check Point PolicyCleanUp tool allows automatic cleanup of your policy based on hits count.
Python
25
star
22

smart-console-extensions

An extension can use JavaScript to interact with SmartConsole. The interactions provide access to information, such as the extension location context, and can perform certain basic operations. For example, navigate to a rule. Interactions can return data asynchronously by matching callbacks.
TypeScript
22
star
23

CheckPointAnsibleGAIACollection

An Ansible collection provides control over a Check Point machine using Check Point's web-services APIs.
Python
20
star
24

charts

Deploy Kubernetes Helm Charts for Check Point CloudGuard
Smarty
18
star
25

ExportObjects

Check Point ExportObjects tool enables you to export specific types of objects from a R80.10 and above Management database to a .csv file, which can then be imported into any other R80.10 and above Management database.
Python
15
star
26

UsefulManagementApiTools

Check Point Useful Management API Tools contain scripts and tools that were used as solutions for customers.
Python
12
star
27

dynobj

Python
8
star
28

flash_instrumentation

ActionScript
8
star
29

Infinity-Next

Python
8
star
30

cpmonitor

CPMonitor is a utility targeted to analyze traffic captured by tcpdump (www.tcpdump.org) / snoop (http://snoopwpf.codeplex.com/).
C
8
star
31

cp-mgmt-api-csharp-sdk

Check Point API C# Development Kit
C#
6
star
32

terraform-checkpoint-dynobj-nia

Check Point Software Technologies Dynamic Objects module for Network Infrastructure Automation (NIA)
Shell
6
star
33

sddc

Python
6
star
34

cp-mgmt-api-go-sdk

Check Point API Go Development Kit simplifies the use of the Check Point Management APIs
Go
6
star
35

terraform-provider-infinity-next

Infinity Next's Terraform Provider for managing CloudGuard AppSec and other Infinity Next security application using Terraform.
Go
6
star
36

ChangedPolicies

Check Point ChangedPolicies tool allows the user to know which policies were affected by changes that were made in the last published session.
Python
5
star
37

teapi

An example of the Threat Prevention API implementation for Java & Python
Python
4
star
38

sourceguard-action

SourceGuard is designed to leverage Check Point's varied prevention technologies and services, providing source-code security and visibility. With a simple, cross-platform CLI tool users can customize exclusions and control an ignore list with easy integration into any pipeline.
4
star
39

chkp_nano_agents

C
3
star
40

infinity-next-terraform-cli

Utility CLI for the Infinity Next Terraform Provider
Go
3
star
41

cp-mgmt-api-java-sdk

Check Point API Java Development Kit simplifies the usage of the Check Point R80.10 Management APIs.
Java
3
star
42

LocalToGlobal

Check Point LocalToGlobal tool enables you to copy objects from a local domain to the global domain.
Python
2
star
43

cp-mgmt-api-typescript-sdk

Check Point API Typescript Development Kit simplifies the use of the Check Point Management APIs. The kit contains the API library files, and sample files demonstrating the capabilities of the library.
TypeScript
2
star
44

appliance_tpapi

Client side utilities for using Check Point Threat Prevention API calls to an appliance.
Python
2
star
45

harmony-endpoint-management-js-ts-sdk

Check Point's Harmony Endpoint management SDK for JavaScript ecosystem
TypeScript
2
star
46

spectral-github-action

Automated Secrets, Misconfiguration, IaC Misconfiguration detection, and OSS by Check Point CloudGuard
JavaScript
1
star
47

infinitynext-mgmt-api-resources

Resources and example for using Check Point Infinity Next API. For API reference and GraphiQL tool, login into the product and navigate to Support->API Content
1
star
48

Check_Point_App_for_Splunk

CSS
1
star
49

sdn

Python
1
star
50

harmony-endpoint-management-py-sdk

Check Point's Harmony Endpoint management SDK for Python ecosystem
Python
1
star