Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
¯\_(ツ)_/¯

Josh Spicer joshspicer

💭
¯\_(ツ)_/¯
View GitHub Profile
View reverse-shell-azure.sh
# Reverse Shell for Azure VMs
# Author: Josh Spicer <hello@joshspicer.com>
#### GOAL ####
# For any Azure Compute Linux VM where you have permission to execute one-off commands via the Azure CLI,
# issues a reverse shell command to the VM and sends the shell back to you over TCP (via an ngrok tunnel)
#### Prereqs ####
# socat
# ngrok
@joshspicer
joshspicer / govee.py
Created Dec 6, 2020
Govee 5072 Bluetooth LE
View govee.py
#!/usr/bin/env python3
# Taken from: https://github.com/Thrilleratplay/GoveeWatcher/blob/master/python/goveeWatcher.py
# Tested with Govee Temp/Humidity BT LE (model 5072)
from time import sleep
import os
import sys
from bleson import get_provider, Observer, UUID16
@joshspicer
joshspicer / boot_alert.sh
Last active Jan 23, 2021
[OpenWrt] Telegram alert when a new wireless device associates with access point. (http://spcr.me/openwrt-alert)
View boot_alert.sh
#!/bin/sh
# Alerts via telegram when a new device joins OpenWRT wireless interface
# write-up at: spcr.me/openwrt-alert
#
# ~ note ~
# Call from in /etc/rc.local
TELEGRAM="https://api.telegram.org/bot<YOUR_API_KEY>/sendMessage?chat_id=<YOUR_CHAT_ID_HERE>&text="
@joshspicer
joshspicer / running_average.py
Created Mar 25, 2020
Demonstrates calculating running average without maintaining a list of past values.
View running_average.py
#!/usr/bin/env python3
"""
Demonstrates calculating running average without maintaining a list of past values.
"""
nums = [55,2,591,5,31,73,7823,8,11,952,4,75,2,1000,1]
def classic_average():
avg = sum(nums) / len(nums)
View quick-bash-program.sh
#!/bin/bash
##################
NUM_ARGS=1
RED='\033[0;31m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color
##################
View ios5.py
import requests
import threading
import logging
import sys
URL = "https://challenges.ncc.ninja/<ID>/"
headers = {"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHTTPRequest"}
logging.basicConfig(
View deploy-to-lambda.sh
#!/bin/bash
# Builds, zips, and uploads server code to AWS Lambda
# Place in root folder at SAME LEVEL as `/server`
# aws-cli must be configured. Will use default aws account.
ZIPNAME=<ANY NAME>
REGION=<YOUR REGION>
if [ "$#" -ne 1 ]; then
View destroyService.sh
#!/bin/bash
# Use with `launchService.sh`
if [ "$#" -ne 2 ]; then
echo "[-] Usage: ./removeIntance.sh <aws profile name> <identifier.txt>"
echo "Identifier must be in this directory. Include the .txt"
exit 1
fi
View launchService.sh
#!/bin/bash
# Written by Josh Spicer (Oct. 7, 2018)
# Creates a new EC2 instance based on a clean image taken previously.
# Prereqs:
# - aws-cli in user path
# - aws creds (aws configure --profile <profile name>) as first argument
# `jq` installed in user path
@joshspicer
joshspicer / changeMAC.sh
Created Oct 11, 2018
Change the MAC address for a given interface on your Mac computer.
View changeMAC.sh
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "[-] Usage: ./changeMAC.sh <interface>"
echo "[-] Hold down the option key and click the WiFi symbol to see your default interface name"
exit 1
fi
interface=$1