All Projects → nshalabi → Attack Tools

nshalabi / Attack Tools

Utilities for MITRE™ ATT&CK

Projects that are alternatives of or similar to Attack Tools

Atomic Red Team Intelligence C2
ARTi-C2 is a post-exploitation framework used to execute Atomic Red Team test cases with rapid payload deployment and execution capabilities via .NET's DLR.
Stars: ✭ 87 (-89.26%)
Mutual labels:  redteam, mitre-attack
Invoke Apex
A PowerShell-based toolkit and framework consisting of a collection of techniques and tradecraft for use in red team, post-exploitation, adversary simulation, or other offensive security tasks.
Stars: ✭ 162 (-80%)
Mutual labels:  redteam, mitre-attack
Malwless
Test Blue Team detections without running any attack.
Stars: ✭ 215 (-73.46%)
Mutual labels:  redteam, mitre-attack
Payloadsallthethings
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
Stars: ✭ 32,909 (+3962.84%)
Mutual labels:  redteam
Theharvester
E-mails, subdomains and names Harvester - OSINT
Stars: ✭ 6,175 (+662.35%)
Mutual labels:  redteam
Certified Kubernetes Security Specialist
Curated resources help you prepare for the CNCF/Linux Foundation CKS 2021 "Kubernetes Certified Security Specialist" Certification exam. Please provide feedback or requests by raising issues, or making a pull request. All feedback for improvements are welcome. thank you.
Stars: ✭ 691 (-14.69%)
Mutual labels:  mitre-attack
Perun
Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架
Stars: ✭ 773 (-4.57%)
Mutual labels:  redteam
Viper
metasploit-framework 图形界面 / 图形化内网渗透工具
Stars: ✭ 487 (-39.88%)
Mutual labels:  redteam
Chashell
Chashell is a Go reverse shell that communicates over DNS. It can be used to bypass firewalls or tightly restricted networks.
Stars: ✭ 742 (-8.4%)
Mutual labels:  redteam
Sentinel Attack
Tools to rapidly deploy a threat hunting capability on Azure Sentinel that leverages Sysmon and MITRE ATT&CK
Stars: ✭ 676 (-16.54%)
Mutual labels:  mitre-attack
Auditd Attack
A Linux Auditd rule set mapped to MITRE's Attack Framework
Stars: ✭ 642 (-20.74%)
Mutual labels:  mitre-attack
Nishang
Nishang - Offensive PowerShell for red team, penetration testing and offensive security.
Stars: ✭ 5,943 (+633.7%)
Mutual labels:  redteam
Diamorphine
LKM rootkit for Linux Kernels 2.6.x/3.x/4.x/5.x (x86/x86_64 and ARM64)
Stars: ✭ 725 (-10.49%)
Mutual labels:  redteam
Sherlock
🔎 Hunt down social media accounts by username across social networks
Stars: ✭ 28,569 (+3427.04%)
Mutual labels:  redteam
Poshc2
A proxy aware C2 framework used to aid red teamers with post-exploitation and lateral movement.
Stars: ✭ 747 (-7.78%)
Mutual labels:  redteam
Luwu
红队基础设施自动化部署工具
Stars: ✭ 539 (-33.46%)
Mutual labels:  redteam
Threathunting
A Splunk app mapped to MITRE ATT&CK to guide your threat hunts
Stars: ✭ 738 (-8.89%)
Mutual labels:  mitre-attack
Atomic Threat Coverage
Actionable analytics designed to combat threats
Stars: ✭ 601 (-25.8%)
Mutual labels:  mitre-attack
Pezor
Open-Source PE Packer
Stars: ✭ 561 (-30.74%)
Mutual labels:  redteam
Lockdoor Framework
🔐 Lockdoor Framework : A Penetration Testing framework with Cyber Security Resources
Stars: ✭ 677 (-16.42%)
Mutual labels:  redteam

ATT&CK™-Tools

Utilities for MITRE™ ATT&CK™

This repository contains the following:

  • ATT&CK™ Data Model: a relational data model for ATT&CK™.
  • ATT&CK™ View: an adversary emulation planning tool.

Content

  • Release Notes
  • Overview
  • The ATT&CK™ Data Model
  • Accessing ATT&CK™ Data with SQL
  • Additional Resources
  • License

Release Notes

  • There are 32 and 64-bit builds (32.zip and 64.zip)
  • attack_view_db.sqlite is a SQLite database for ATT&CK™
  • attack_view_db_structure and attack_view_db_data are SQL scripts used to build the SQLite database
  • enterprise-attack.xml is an XML version of MITRE™ ATT&CK™ JSON

Overview

ATT&CK™ View is a planning tool that help defenders in designing an adversary emulation plans based on MITRE™ ATT&CK™ framework in a structured approach. As a demonstration, ATT&CK™ View comes bundled with a full adversary emulation plan for APT3 developed by MITRE™ (SOURCE : https://attack.mitre.org/wiki/Adversary_Emulation_Plans).

The ATT&CK™ Data Model

There are many use cases for ATT&CK™ framework, many of which depend on existing tools being ATT&CK™-enabled, to make this process easier, the database in this repository can help in getting up to speed with integrating existing tools with ATT&CK™, build your own tooling or fuse ATT&CK™ with other existing frameworks.

The database is based on SQLite for simplicity and portability, however, it is better to think of terms of a data model instead of the underlying technology used in implementation, this is very important, as it enables exploring other useful models and applications and then narrow down to technology.

The following is a conceptual model that can be implemented using any database technology (The attack_view_db_structure.sql is a good starting point).

Accessing ATT&CK™ Data with SQL

To have a better understanding about the database structure, following is a list of sample SQL queries used to read ATT&CK™. To run the following SQL queries, you will need a SQLite management tool, there are many free and paid tools available supporting Windows, macOS and Linux (https://www.sqlite.org/cvstrac/wiki?p=ManagementTools)

Some output truncated for brevity

Get the list of ATT&CK™ techniques

SQL

SELECT name FROM sdos_object WHERE type IS "attack-pattern";

OUTPUT

name
.bash_profile and .bashrc
Access Token Manipulation
Accessibility Features
Account Discovery
Account Manipulation
...

Get the list of ATT&CK™ techniques names with their STIX 2.0 identifier

SQL

SELECT id, name FROM sdos_object WHERE type IS "attack-pattern";

OUTPUT

id name
attack-pattern--01df3350-ce05-4bdf-bdf8-0a919a66d4a8 .bash_profile and .bashrc
attack-pattern--dcaa092b-7de9-4a21-977f-7fcb77e89c48 Access Token Manipulation
attack-pattern--9b99b83a-1aac-4e29-b975-b374950551a3 Accessibility Features
attack-pattern--72b74d71-8169-42aa-92e0-e7b04b9f5a08 Account Discovery
attack-pattern--a10641f4-87b4-45a3-a906-92a149cb2c27 Account Manipulation
...

The id field is a unique key that will be used frequently in many SQL queries

The external references are stored in external_references table, since one ATT&CK™ technique can have one or more references, the link between the two tables is the technique identifier (check previous query), I will list multiple ways to access the external references

Get the list of ATT&CK™ techniques with external names

SQL

SELECT name, external_id
FROM sdos_object INNER JOIN external_references ON 
     sdos_object.id = external_references.fk_object_id
WHERE 
  sdos_object.type IS "attack-pattern"
  AND 
  external_references.source_name IS "mitre-attack";

OUTPUT

name external_id
.bash_profile and .bashrc T1156
Access Token Manipulation T1134
Accessibility Features T1015
Account Discovery T1087
Account Manipulation T1098
...

List all ATT&CK™ techniques associated with "Windows" platform

SQL

SELECT name, external_id
FROM sdos_object INNER JOIN external_references ON
     sdos_object.id = external_references.fk_object_id
WHERE 
  sdos_object.type IS "attack-pattern" AND 
  x_mitre_platforms_windows IS "true" AND 
  external_references.source_name IS "mitre-attack";

OUTPUT

name external_id
Access Token Manipulation T1134
Accessibility Features T1015
Account Discovery T1087
Account Manipulation T1098
AppCert DLLs T1182
...

List all Malware objects along with their description

SQL

SELECT name, description FROM sdos_object 
WHERE type IS "malware";

OUTPUT

name description
3PARA RAT 3PARA RAT is a remote access tool (RAT) programmed in C++ that has been used by Putter Panda. (Citation: CrowdStrike Putter Panda)

Aliases: 3PARA RAT
4H RAT 4H RAT is malware that has been used by Putter Panda since at least 2007. (Citation: CrowdStrike Putter Panda)

Aliases: 4H RAT
ADVSTORESHELL ADVSTORESHELL is a spying backdoor that has been used by APT28 from at least 2012 to 2016. It is generally used for long-term espionage and is deployed on targets deemed interesting after a reconnaissance phase. (Citation: Kaspersky Sofacy) (Citation: ESET Sednit Part 2)

Aliases: ADVSTORESHELL, NETUI, EVILTOSS, AZZY, Sedreco
ASPXSpy ASPXSpy is a Web shell. It has been modified by Threat Group-3390 actors to create the ASPXTool version. (Citation: Dell TG-3390)

Aliases: ASPXSpy, ASPXTool
Agent.btz Agent.btz is a worm that primarily spreads itself via removable devices such as USB drives. It reportedly infected U.S. military networks in 2008. (Citation: Securelist Agent.btz)

Aliases: Agent.btz
...

List all Adversaries (intrusion-sets) along with their description

SQL

SELECT name, description FROM sdos_object 
WHERE type IS "intrusion-set";

OUTPUT

name description
APT1 APT1 is a Chinese threat group that has been attributed to the 2nd Bureau of the People’s Liberation Army (PLA) General Staff Department’s (GSD) 3rd Department, commonly known by its Military Unit Cover Designator (MUCD) as Unit 61398. (Citation: Mandiant APT1)
APT12 APT12 is a threat group that has been attributed to China. (Citation: Meyers Numbered Panda)
APT16 APT16 is a China-based threat group that has launched spearphishing campaigns targeting Japanese and Taiwanese organizations. (Citation: FireEye EPS Awakens Part 2)
APT17 APT17 is a China-based threat group that has conducted network intrusions against U.S. government entities, the defense industry, law firms, information technology companies, mining companies, and non-government organizations. (Citation: FireEye APT17)
APT18 APT18 is a threat group that has operated since at least 2009 and has targeted a range of industries, including technology, manufacturing, human rights groups, government, and medical. (Citation: Dell Lateral Movement)
...

List all Tools and Malware used by a certain Adversary

All STIX 2.0 Domain Objects (SDO) relations are stored in "relationship" table. The following query is a nested query used to get the tools/malware used by APT3:

SQL

SELECT name, description
FROM sdos_object
WHERE (type IS "malware" OR type IS "tool") -- Query for tools or malware
  AND id IN (SELECT target_ref -- filter tools/malware associated with APT3
             FROM relationship
             WHERE relationship_type IS "uses" -- Source "uses" Target
               AND source_ref IS -- Source is APT3 identifier
                   "intrusion-set--0bbdf25b-30ff-4894-a1cd-49260d0dd2d9");

OUTPUT

name description
OSInfo OSInfo is a custom tool used by APT3 to do internal discovery on a victim's computer and network. (Citation: Symantec Buckeye)

Aliases: OSInfo
PlugX PlugX is a remote access tool (RAT) that uses modular plugins. (Citation: Lastline PlugX Analysis) It has been used by multiple threat groups. (Citation: FireEye Clandestine Fox Part 2) (Citation: New DragonOK) (Citation: Dell TG-3390)

Aliases: PlugX, Sogu, Kaba, Korplug
RemoteCMD RemoteCMD is a custom tool used by APT3 to execute commands on a remote system similar to SysInternal's PSEXEC functionality. (Citation: Symantec Buckeye)

Aliases: RemoteCMD
SHOTPUT SHOTPUT is a custom backdoor used by APT3. (Citation: FireEye Clandestine Wolf)

Aliases: SHOTPUT, Backdoor.APT.CookieCutter, Pirpi
schtasks schtasks is used to schedule execution of programs or scripts on a Windows system to run at a specific date and time. (Citation: TechNet Schtasks)

Aliases: schtasks, schtasks.exe
...

Get ATOMIC™ test(s) associated with an ATT&CK™ technique

ATOMIC™ Tests are stored in three tables

  • atomic_test table, this table simply maps ATOMIC™ tests to ATT&CK™ techniques. Each atomic_test record has one or more atomic_attack_test records that contains the actual test details
  • atomic_attack_test, this tables holds the actual ATOMIC™ test details, each test has one or more input arguments represented with an atomic_input_arguments record
  • atomic_input_arguments, holds tests input arguments details

The following SQL statement retrieves the ATOMIC™ test(s) associated with ATT&CK™ technique "T1031"

SQL

SELECT name, description, executor_name, executor_command
FROM atomic_attack_test
  WHERE fk_atomic_attack_id IN 
    (SELECT id FROM atomic_attack 
     WHERE fk_attack_external_id IS "T1031");

OUTPUT

name description executor_name executor_command
Modify Fax service to run PowerShell This test will temporarily modify the service Fax by changing the binPath to PowerShell
and will then revert the binPath change, restoring Fax to its original state.
command_prompt sc config Fax binPath= "C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -c \"write-host 'T1031 Test'\""
sc start Fax
sc config Fax binPath= "C:\WINDOWS\system32\fxssvc.exe"

Additional Resources

License

Copyright 2018 Nader Shallabi. All rights reserved. 

ATT&CK™ TOOLS CAN BE COPIED AND/OR DISTRIBUTED WITHOUT ANY EXPRESS PERMISSION OF NADER SHALLABI.

THIS SOFTWARE IS PROVIDED BY NADER SHALLABI ''AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NADER SHALLABI
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the authors and
should not be interpreted as representing official policies, either expressed or implied, of Nader Shallabi.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].