#! /usr/bin/python from __future__ import print_function # import print from python3: end="" import time import re import subprocess import pexpect # sudo apt-get install python-pexpect import random import binascii import struct import sys, os, time import bluepy.btle as btle ''' 42 0x2A READ Im advertising the flag MD5OFLOL ''' deviceMAC = open('ctf_mac.txt').read() p = btle.Peripheral(deviceMAC) svc=p.getServiceByUUID(0x00FF) print ("Attached to peripheral") print("Loading level 09") hex1 = binascii.unhexlify(str('%0*x' % (4,9))) p.writeCharacteristic(0x30, hex1, withResponse=False) p.disconnect() print("Starting advertisement listner") ps = subprocess.Popen(["btmon"], shell=False, stdout=subprocess.PIPE) gp = subprocess.Popen(["grep", "Name"], shell=False, stdin=ps.stdout) ps.stdout.close() #output = gp.communicate()[0] #ps.wait() print("Please wait 5s...") time.sleep(5) print("Starting hcitool") ps2 = subprocess.Popen(['hcitool', 'lescan'], shell=False) print("Please wait 5s...") time.sleep(5) ps2.terminate() ps.terminate()