Skip to content

Instantly share code, notes, and snippets.

Daniel Miller bonsaiviking

Block or report user

Report or block bonsaiviking

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
bonsaiviking / tls-hellofirst.nse
Created Mar 25, 2015
tls-hellofirst - Audit TLS implementations for handshake reversal.
View tls-hellofirst.nse
local nmap = require "nmap"
local shortport = require "shortport"
local stdnse = require "stdnse"
local table = require "table"
local bin = require "bin"
local tls = require "tls"
description = [[
Tries to confuse a TLS server into sending a ClientHello by first sending a HelloRequest.
bonsaiviking /
Last active Aug 29, 2015
Nmap NSE script for detecting POODLE-vulnerable servers (SSLv3 with CBC ciphersuites)
bonsaiviking / service_fp.nse
Created Oct 1, 2014
turn a service_fp blob into binary blob
View service_fp.nse
local lpeg = require "lpeg"
local U = require "lpeg-utility"
local getquote = U.escaped_quote()
local unescape = lpeg.P ( {
lpeg.Cs((lpeg.V "simple_char" + lpeg.V "unesc")^0),
esc = lpeg.P "\\",
simple_char = lpeg.P(1) - lpeg.V "esc",
unesc = (lpeg.V "esc" * lpeg.Cs( lpeg.V "esc" + lpeg.V "specials" + lpeg.V "code" + lpeg.P(1) ))/"%1",
specials = lpeg.S "trn0" / {t="\t", r="\r", n="\n", ["0"]="\0"},
bonsaiviking /
Created Jun 6, 2014
Display progress reading/writing a file according to position information on the file descriptor.
# Usage: $(pgrep myprocess) $FD_NUMBER
# Find $FD_NUMBER by doing: ls -l /proc/$(pgrep myprocess)/fd/
name=$(readlink $fd)
size=$(wc -c $fd | awk '{print $1}')
while [ -e $fd ]; do
bonsaiviking /
Last active Nov 1, 2019
Guide to using Nmap to scan for the Heartbleed bug.


  1. Nmap. The script requires version 6.25 or newer. The latest version, 6.47, already includes the next 3 dependencies, so you can skip directly to the Scanning section below.
    • An easy way to get the latest Nmap release is to use Kali Linux.
    • Binary installers are available for Windows.
    • RPM installer available for Linux, or install from source.
    • .dmg installer available for Mac OS X.
  2. tls.lua. The script requires this Lua library for TLS handshaking.
  3. ssl-heartbleed.nse. This is the script itself.
bonsaiviking /
Created Apr 9, 2014
Check for bugs and code quality issues in Nmap source files.
PEP8=$(which pep8)
if [ -z $PEP8 ]; then
echo "No pep8 in your path. Skipping Python checks"
for file in $(find "$@" -name '*.py'); do
"$PEP8" -r "$file" > "$OUTPUT"
bonsaiviking / tls-extended-random.nse
Last active Aug 29, 2015
Nmap NSE script to check for TLS Extended Random support. Requires Nmap ( and the latest version of the tls.lua library from
View tls-extended-random.nse
local nmap = require "nmap"
local shortport = require "shortport"
local stdnse = require "stdnse"
local bin = require "bin"
local tls = require "tls"
description = [[
Checks for server support of the Extended Random TLS extension, which was
allegedly created to make exploitation of the Dual EC DRBG weakness easier. The
extension was never widely adopted, and IANA did not assign an ExtensionType
bonsaiviking / lua.vim
Last active Dec 10, 2018
A Vim indent file for the Lua scripting language. Install as ~/.vim/indent/lua.vim
View lua.vim
" Vim indent file
" Language: Lua
" Maintainer: Daniel Miller <>
" Original Author: Daniel Miller <>
" Last Change: 2014 Feb 6
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
bonsaiviking / pre-commit
Last active Jan 4, 2016
Pre-commit git hook for Nmap (WIP)
View pre-commit
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
if git rev-parse --verify HEAD >/dev/null 2>&1
bonsaiviking /
Created Dec 20, 2013
YMMV, but this should export a PNG of a zenmap topology from a Nmap XML file
#!/usr/bin/env python
import sys
if len(sys.argv) != 4:
print """{0} - Output a PNG from Nmap XML
Usage: {0} <scan.xml> <out.png> <width_in_pixels>""".format(sys.argv[0])
You can’t perform that action at this time.