usage () { echo -e "BBLoggerDecoder decodifica las teclas pulsadas por el payload bblogger del bash bunny.\nCreado Por Genplat en base a duckylogger, el UNICO keylogger para el bash bunny." echo -e "Uso: Decodificar log capturado:\t[./duckyLoggerDecoder -f -m -o ]"; echo -e "\nOptions:" echo -e "-f\tEspecifica el log." echo -e "-m\tSeleccionar modo (normal|informative)" echo -e "-o\tArchivo de output." echo -e "-h\tPara ver este menú." } while getopts o:m:f:h: flag do case "${flag}" in o) output=$OPTARG ;; m) mode=$OPTARG ;; f) filename=$OPTARG ;; h) help=$OPTARG ;; *) usage exit 1 esac done if [ -z "$output" ] && [ -z "$filename" ]; then usage exit 1 fi if [ -z "$filename" ]; then echo -e "BBLoggerDecoder: Falta una opción \"-f\"(Archivo de log).\nUtiliza \"-h\" para mas información." >&2 exit 1 fi if [ -z "$output" ]; then echo -e "BBLoggerDecoder: Falta una opción \"-f\"(Archivo de log).\nUtiliza \"-h\" para mas información." >&2 exit 1 fi if [ -z "$mode" ]; then echo -e "BBLoggerDecoder: Falta una opción \"-f\"(Modo no especificado).\nUtiliza \"-h\" para mas información." >&2 exit 1 fi if [ "$mode" != "informative" ] && [ "$mode" != "normal" ]; then echo -e "BBLoggerDecoder: Falta una opción \"-f\"(Modo invalido).\nUtiliza \"-h\" para mas información." >&2 exit 1 fi if [ "$mode" == "normal" ] ; then awk 'BEGIN{while (("xmodmap -pke" | getline) > 0) k[$2]=$4} {print $0 "[" k [$NF] "]"}' $filename | grep press | awk '{print $4}' > $output exit 1 fi if [ "$mode" == "informative" ] ; then awk 'BEGIN{while (("xmodmap -pke" | getline) > 0) k[$2]=$4} {print $0 "[" k [$NF] "]"}' $filename > $output exit 1 fi