Port of devttyS0's IDA plugins to the Ghidra plugin framework, new plugins as well.
Find a file
2021-05-03 12:39:31 -04:00
readmes Added arm 'double' and 'mov r0' gadget finders. Made some big pictures not so big in the readmes. 2020-05-07 13:51:23 -04:00
utils Fixes #19. Added a None check for op_type when building a hash signature. 2021-05-03 12:39:31 -04:00
.gitignore Added Function profiler. Created utils folder and moved graphviz in there. 2019-08-30 14:03:35 -04:00
ArmRopDouble.py Added arm 'double' and 'mov r0' gadget finders. Made some big pictures not so big in the readmes. 2020-05-07 13:51:23 -04:00
ArmRopFind.py Added Arm ROP gadget finder plugins. Stack finders, system gadgets, register control, register movement, and chain summary. 2020-04-20 14:08:31 -04:00
ArmRopMovR0.py Added arm 'double' and 'mov r0' gadget finders. Made some big pictures not so big in the readmes. 2020-05-07 13:51:23 -04:00
ArmRopRegisterControl.py Added Arm ROP gadget finder plugins. Stack finders, system gadgets, register control, register movement, and chain summary. 2020-04-20 14:08:31 -04:00
ArmRopRegisterMove.py Added Arm ROP gadget finder plugins. Stack finders, system gadgets, register control, register movement, and chain summary. 2020-04-20 14:08:31 -04:00
ArmRopStackFinder.py Added Arm ROP gadget finder plugins. Stack finders, system gadgets, register control, register movement, and chain summary. 2020-04-20 14:08:31 -04:00
ArmRopSummary.py Added Arm ROP gadget finder plugins. Stack finders, system gadgets, register control, register movement, and chain summary. 2020-04-20 14:08:31 -04:00
ArmRopSystem.py Added Arm ROP gadget finder plugins. Stack finders, system gadgets, register control, register movement, and chain summary. 2020-04-20 14:08:31 -04:00
ArmToThumb.py Added script to convert executable ARM instructions to Thumb for finding new gadgets. 2020-04-24 12:45:41 -04:00
CallChain.py Readme was a disaster. Made individual readme files in hopes of making it a little less busy. 2020-05-05 17:03:41 -04:00
CodatifyFixupCode.py Added instruction alignment check before disassembling 2019-11-17 15:25:36 -05:00
CodatifyFixupData.py Fixes #9. Added function table identification and renaming to fixup data plugin. 2019-12-09 13:21:51 -05:00
Fluorescence.py Added a git ignore and function call highlighter. 2019-08-29 16:14:07 -04:00
FunctionProfiler.py Added Function profiler. Created utils folder and moved graphviz in there. 2019-08-30 14:03:35 -04:00
LeafBlowerFormatString.py Added processor check to MIPS only scripts before running them. 2019-12-12 15:05:57 -05:00
LeafBlowerLeafFunctions.py Added format string function identification to leaf blower. 2019-12-05 17:20:36 -05:00
LocalXRefs.py Initial commit. 2019-08-29 15:27:26 -04:00
MipsRopDouble.py Added MIPS shellcode chain builder. Bug fixes to base mipsrop finder as well. 2020-05-01 16:40:44 -04:00
MipsRopEpilogue.py Added MIPS shellcode chain builder. Bug fixes to base mipsrop finder as well. 2020-05-01 16:40:44 -04:00
MipsRopFind.py Added MIPS shellcode chain builder. Bug fixes to base mipsrop finder as well. 2020-05-01 16:40:44 -04:00
MipsRopIret.py Added MIPS shellcode chain builder. Bug fixes to base mipsrop finder as well. 2020-05-01 16:40:44 -04:00
MipsRopLia0.py Added MIPS shellcode chain builder. Bug fixes to base mipsrop finder as well. 2020-05-01 16:40:44 -04:00
MipsRopPrologue.py Added MIPS shellcode chain builder. Bug fixes to base mipsrop finder as well. 2020-05-01 16:40:44 -04:00
MipsRopShellcode.py Added chain generate for calling system. Added custom find function to chain builder. 2020-05-05 15:58:15 -04:00
MipsRopStackFinder.py Added MIPS shellcode chain builder. Bug fixes to base mipsrop finder as well. 2020-05-01 16:40:44 -04:00
MipsRopSummary.py Added processor check to MIPS only scripts before running them. 2019-12-12 15:05:57 -05:00
MipsRopSystem.py Removed terminating calls from system rop gadgets because you cant call system from ra. 2020-05-05 15:55:12 -04:00
MipsRopSystemChain.py Added chain generate for calling system. Added custom find function to chain builder. 2020-05-05 15:58:15 -04:00
Operator.py Added Arm ROP gadget finder plugins. Stack finders, system gadgets, register control, register movement, and chain summary. 2020-04-20 14:08:31 -04:00
README.md Added arm 'double' and 'mov r0' gadget finders. Made some big pictures not so big in the readmes. 2020-05-07 13:51:23 -04:00
RenameVariables.py RenameVariables - Fixed bug where was not the last register saved and cause subsequent variable renames to not occur. 2019-12-19 15:00:29 -05:00
RizzoApply.py Added Rizzo signature creation and application 2019-12-12 14:02:30 -05:00
RizzoSave.py Added Rizzo signature creation and application 2019-12-12 14:02:30 -05:00

Ghidra scripts to support IOT exploitation. Some of the scripts are a port of devttyS0 IDA plugins and others are new scripts that I found a need for. To install, clone and add the script directory via Ghidra's Script Manager. If you check the 'In Tool' checkbox they will appear under a 'TNS' tag.

Scripts

Below is a simple overview of the available scripts. If the scripts are broken up into multiple parts then bullets are given with high level overviews. Click on the link for each to see a more in-depth explanation with screenshots.

ARM ROP Finder

Script to find and support finding ARM ROP gadgets.

  • Gadgets

    • Find double jumps.
    • Move small value to r0.
    • Get control of more or different registers.
    • Move values between registers.
    • Find strings or shellcode on the stack.
    • Find custom gadgets based on regular expressions.
    • Gadgets to call system with a string argument in r0.
  • Support

    • Convert entire program to Thumb instructions.
    • List summary of saved gadgets.

Call Chain

Find call chains between two user specified functions. Results are displayed in a png.

Codatify

  • Fixup code - defines all undefined data in the .text section as code and creates a function if it can.
  • Fixup data - define uninitialized strings and pointers. Searches for function tables and renames functions based on their discovery.

Fluorescence

Highlight function calls.

Function Profiler

Display cross refs from the current function.

Leaf Blower

  • Format Strings - Find functions that accept format strings as parameters.
  • Leaf Functions - Identify potential leaf functions such as strcpy, strlen, etc.

Local Cross References

Find references to items in the current function.

MIPS ROP Finder

Scripts to find and support finding MIPS ROP gadgets.

  • Gadgets

    • Double Jumps
    • Epilogue
    • Find custom gadgets
    • Indirect Return
    • li a0
    • Prologue
    • System Gadgets
  • Chain Builder

    • Build ROP chain to call shellcode
    • Build ROP chain to call system with controllable string.
  • Support

    • Summary

Operator

Display all calls to a function and identify the source of the parameters it is called with taking variadic arguments into account if they are present.

Rename Variables

Rename saved stack variables. (MIPS only)

Rizzo

Create fuzzy function signatures that can be applied to other projects.