All Projects → trailofbits → bisc

trailofbits / bisc

Licence: Unknown, GPL-3.0 licenses found Licenses found Unknown LICENSE.txt GPL-3.0 COPYING.txt
Borrowed Instructions Synthetic Computation

Programming Languages

ruby
36898 projects - #4 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to bisc

Vulnerable Kext
A WIP "Vulnerable by Design" kext for iOS/macOS to play & learn *OS kernel exploitation
Stars: ✭ 188 (+164.79%)
Mutual labels:  exploitation
Tigershark
Bilingual PhishingKit. TigerShark intergrates a vast array of various phishing tools and frameworks, from C2 servers, backdoors and delivery methods in multiple scripting languages in order to suit whatever your deployment needs may be.
Stars: ✭ 212 (+198.59%)
Mutual labels:  exploitation
Idacyber
Data Visualization Plugin for IDA Pro
Stars: ✭ 244 (+243.66%)
Mutual labels:  exploitation
Awesome Bbht
A bash script that will automatically install a list of bug hunting tools that I find interesting for recon, exploitation, etc. (minus burp) For Ubuntu/Debain.
Stars: ✭ 190 (+167.61%)
Mutual labels:  exploitation
Fdsploit
File Inclusion & Directory Traversal fuzzing, enumeration & exploitation tool.
Stars: ✭ 199 (+180.28%)
Mutual labels:  exploitation
Insecureprogramming
mirror of gera's insecure programming examples | http://community.coresecurity.com/~gera/InsecureProgramming/
Stars: ✭ 229 (+222.54%)
Mutual labels:  exploitation
Xerror
fully automated pentesting tool
Stars: ✭ 173 (+143.66%)
Mutual labels:  exploitation
reosploit
A Tool that Finds, Enumerates, and Exploits Reolink Cameras.
Stars: ✭ 89 (+25.35%)
Mutual labels:  exploitation
Cve 2019 9810
Exploit for CVE-2019-9810 Firefox on Windows 64-bit.
Stars: ✭ 200 (+181.69%)
Mutual labels:  exploitation
Xxexploiter
Tool to help exploit XXE vulnerabilities
Stars: ✭ 243 (+242.25%)
Mutual labels:  exploitation
Xrop
Tool to generate ROP gadgets for ARM, AARCH64, x86, MIPS, PPC, RISCV, SH4 and SPARC
Stars: ✭ 195 (+174.65%)
Mutual labels:  exploitation
Ciscorv320dump
CVE-2019-1652 /CVE-2019-1653 Exploits For Dumping Cisco RV320 Configurations & Debugging Data AND Remote Root Exploit!
Stars: ✭ 198 (+178.87%)
Mutual labels:  exploitation
Commix
Automated All-in-One OS Command Injection Exploitation Tool.
Stars: ✭ 3,016 (+4147.89%)
Mutual labels:  exploitation
Exploitation Course
Offensive Software Exploitation Course
Stars: ✭ 189 (+166.2%)
Mutual labels:  exploitation
Droid Application Fuzz Framework
Android application fuzzing framework with fuzzers and crash monitor.
Stars: ✭ 248 (+249.3%)
Mutual labels:  exploitation
Blisqy
Version 0.2 - Exploit Time-based blind-SQL injection in HTTP-Headers (MySQL/MariaDB).
Stars: ✭ 179 (+152.11%)
Mutual labels:  exploitation
Shellab
Linux and Windows shellcode enrichment utility
Stars: ✭ 225 (+216.9%)
Mutual labels:  exploitation
tryhackme-ctf
TryHackMe CTFs writeups, notes, drafts, scrabbles, files and solutions.
Stars: ✭ 140 (+97.18%)
Mutual labels:  exploitation
PLtools
整理一些内网常用渗透小工具
Stars: ✭ 227 (+219.72%)
Mutual labels:  exploitation
Injectopi
A set of tutorials about code injection for Windows.
Stars: ✭ 237 (+233.8%)
Mutual labels:  exploitation

BISC: Borrowed Instructions Synthetic Computation

Code Climate

BISC is a Ruby library for demonstrating how to build borrowed-instruction programs. BISC aims to be simple, analogous to a traditional assembler, minimize behind-the-scenes magic, and let users write simple macros. BISC was developed by Dino Dai Zovi for Practical Return-oriented Programming at Blackhat USA 2010 and was used for the Assured Exploitation training course.

Technical Overview

BISC utilizes the Ruby librex peparsey and pescan libraries to scan PE (or elfparsey and elfscan for ELF) modules for instruction sequences and unused data space that may be borrowed to construct return-oriented programs. Traditional ROP-Programming relies on composing reused instructions into gadgets, however, BISC makes use of borrowed instruction mnemonics and, as such, is more opportunistic based off of the instructions available in provided executables. BISC does this by scanning through the provided executable files searching for a single instruction followed by a 'ret' which is added to BISC's available vocabulary. This vocabulary can then be pulled from to write and ultimately assemble a borrowed-instruction program to be used for exploitation.

Installation

Windows

The most tested and support installation of BISC is on Windows utilizing the Cygwin shell. Note that BISC utilizes the librex gem that Windows Defender will flag as malware and remove. You should run BISC inside of a VM with Windows Defender disabled.

BISC on Windows with Cygwin

NOTE: If you have Ruby and RubyGems installed on your local Windows computer this method will not work. See the tutorial 'BISC on Windows with Powershell'.

Install Ruby and git from cygwin installer.

For Ruby, simply select 'Ruby' from the main package selection window. This will automatically install Ruby 1.9.3 as well as all of the dependencies needed. For git, expand out the Devel tab and look for the package simply named 'git', and mark this package for installation.

Install Ruby's 'bundle' gem
User@vm ~/bisc
$ gem install bundle
Successfully installed bundle-0.0.1
1 gem installed
Installing ri documentation for bundle-0.0.1...
Installing RDoc documentation for bundle-0.0.1...
Install BISC
User@vm ~/bisc
$ bundle install
fatal: Not a git repository (or any of the parent directories): .git
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Installing librex (0.0.68)
Installing metasm (1.0.1)
Using bisc (0.1.0) from source at .
Using bundler (1.5.3)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

BISC on Windows with Powershell

Install Ruby 1.9.3+

Ensure that the ruby bin directory is in your path

Install bundle
PS C:\Users\User> gem install bundle
Successfully installed bundle-0.0.1
1 gem installed
Installing ri documentation for bundle-0.0.1...
file 'lib' not found
Installing RDoc documentation for bundle-0.0.1...
file 'lib' not found
Install bisc
PS C:\Users\User\Desktop\bisc> bundle install
fatal: Not a git repository (or any of the parent directories): .git
Resolving dependencies...
Using librex (0.0.68)
Using metasm (1.0.1)
Using bisc (0.1.0) from source at .
Using bundler (1.5.3)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

Examples

For an example of how to use BISC, see examples/CreateThreadStage.rb. This BISC program creates a new thread to run an embedded machine code payload and then runs a "parent" payload in the current thread.

BISC programs are built from a cygwin shell:

./examples/CreateThreadStage.rb ./Shockwave-11.5.6r606/*.dll > CreateThreadStage.rop

Testing must be done from a Windows CMD.exe shell:

./data/test-rop.exe CreateThreadStage.rop ./Shockwave-11.5.6r606/*.dll

Contributors

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].