Skip to content

Instantly share code, notes, and snippets.

View lanbugs's full-sized avatar

Maximilian Thoma lanbugs

View GitHub Profile
@lanbugs
lanbugs / create_computer_object.py
Last active September 11, 2023 15:40
Python LDAP3 and Active Directory - Collection of some snippets, helpers ....
View create_computer_object.py
# Create computer object in OU
# Written by Maximilian Thoma 2023
# More infos at https://lanbugs.de
from ldap3 import Connection
from ldap3.core.exceptions import LDAPException
import random
BACKEND_USER = "CN=Backend User,CN=Users,DC=ad,DC=local"
BACKEND_PASS = "SuperSecret"
@lanbugs
lanbugs / flask_ad_ldap3_auth_and_autorization.py
Created September 9, 2023 22:42
FLASK with LDAP3 authentication against active directory and authorization check for group membership
View flask_ad_ldap3_auth_and_autorization.py
#!/usr/bin/env python3
# FLASK with LDAP3 authentication against active directory and authorization check for group membership
# Written by Maximilian Thoma 2023
# Visit: https://lanbugs.de for more ...
from functools import wraps
from flask import Flask, request, redirect, url_for, render_template, abort
from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user
from ldap3 import Server, Connection, SUBTREE, SIMPLE
@lanbugs
lanbugs / subnet_merge.py
Created May 12, 2023 18:00
Subnet merge show right subnets which are not in left subnets
View subnet_merge.py
import sys
from netaddr import IPNetwork
from pprint import pprint
# right must be in left
def main(left_side, right_side):
with open(right_side, "r") as f:
raw_right = f.readlines()
@lanbugs
lanbugs / merge_subnets.py
Created May 12, 2023 17:58
Compress list of subnets and ips
View merge_subnets.py
import sys
from netaddr import cidr_merge
def main(FILE):
with open(FILE) as f:
raw_lines = f.readlines()
subnets = []
@lanbugs
lanbugs / cpl_merge.py
Created May 12, 2023 17:57
Broadcom ProxySG CPL Multimerge
View cpl_merge.py
import re
import yaml
from loguru import logger
import glob
from pprint import pprint
import json
from netaddr import cidr_merge
import ipaddress
@logger.catch
@lanbugs
lanbugs / cpl_delta.py
Created May 12, 2023 17:56
Broadcom ProxySG CPL Delta
View cpl_delta.py
import re
import sys
from loguru import logger
@logger.catch
def cpl_parser(lines):
root = {}
@lanbugs
lanbugs / netbox_webhook_listener.py
Created December 28, 2022 11:27
Netbox Webhook Listener written with APIFlask
View netbox_webhook_listener.py
import hmac
from apiflask import APIFlask
import logging
from flask import request
from apiflask import Schema, abort
from apiflask.fields import String, Dict, DateTime, UUID
APP_NAME = "netbox-webhook-listener"
WEBHOOK_SECRET = "secret"
@lanbugs
lanbugs / teampass_shell_exporter.php
Last active October 5, 2022 07:00
Teampass shell exporter - Export all secrets from encrypted teampass database in cleartext
View teampass_shell_exporter.php
<?php
// Teampass Shell Exporter
// Written by Maximilian Thoma 2022
// Variables
// **************************************************
// Path to sources directory of teampass
$path = "/var/www/html/sources";
// Salt from teampass-seckey.txt
$salt = "<salt>";
@lanbugs
lanbugs / install_docker.sh
Created June 24, 2022 09:15
Script to install docker-ce and docker-compose on Ubuntu 18.04/20.04/22.04
View install_docker.sh
#!/bin/bash
GREEN="\e[32m"
ENDCOLOR="\e[0m"
echo -e " ${GREEN}Welcome to Docker-CE installer for Ubuntu 18.04/20.04/22.04 ...${ENDCOLOR} "
echo -e " ${GREEN}---------------------------------------------------------------${ENDCOLOR} "
echo -e " ${GREEN}You will be asked for your sudo password if set.${ENDCOLOR} "
echo -e " ${GREEN}>>> Get repo update ...${ENDCOLOR} "
@lanbugs
lanbugs / flask_oidc_check_resource_access.py
Created June 18, 2022 16:08
Flask OIDC / Keycloak Check resource access
View flask_oidc_check_resource_access.py
#!/usr/bin/env python3
#
# flask_oidc_check_resource_access.py
# Written by Maximilian Thoma 2022
# Visit https://www.lanbugs.de
# Free to use for everyone, without any warranty :-)
#
# Manual / Remarks
# I use it together with flask-oidc and Keycloak to give permission to API endpoint only to defined role.
# Its a wrapper function you can use together with @oidc.accept_token