BSides Tallahassee is the local conference of Security BSides,
a community-driven framework
for and by information
security
community members to present and participate in an intimate & collaborative atmosphere featuring discussions, demos, & interaction from participants.

 FREE for everyone

 

 March 2, 2019

 9:00am - 5:00pm

 FSU Alumni Center

 Venue Map




Registration

Registration is FREE for all attendees.
Registration closes Feburary 15.



Community Track

The Community Track is open to anyone interested in cyber security. Pre-registration guarantees BSides TLH goodies and door prize entries. Additional attendees will be admitted at the door based on availability.


Professional Track

The Professional Track is reserved for those already involved in the cyber security field seeking discussion on advanced topics. Registration is required to participate in Professional Track activities.




	
import os
import random

os.umask(0000)


class FSLocalStorageException(BaseException):
    pass


class FSLocalStorageCriticalException(BaseException):
    pass


class FSLocalStorage(object):
    def __init__(self, _root_path=None, _data_folder='data', _from_folder='1', _to_folder='2', status_file='.last'):
        if not _root_path:
            self.root_path = os.path.dirname(os.path.abspath(__file__))
        else:
            self.root_path = _root_path
        if not os.path.exists(self.root_path):
            raise FSLocalStorageCriticalException("Root path is invalid!")
        #
        self.data_dir = os.path.join(self.root_path, _data_folder)
        if not os.path.exists(self.data_dir):
            os.mkdir(self.data_dir)
        #
        self.from_agent_folder = _from_folder
        self.to_agent_folder = _to_folder
        self.status_file = status_file

    def init_storage_for_agent(self, agent_id):
        agent_folder = os.path.join(self.data_dir, str(agent_id))
        if not os.path.exists(agent_folder):
            print "# FSLocalStorage: NEW ", str(agent_id)
            os.mkdir(agent_folder)
            os.mkdir(os.path.join(agent_folder, self.to_agent_folder))
            os.mkdir(os.path.join(agent_folder, self.from_agent_folder))
        else:
            to_folder = os.path.join(agent_folder, self.to_agent_folder)
            if not os.path.exists(to_folder):
                os.mkdir(to_folder)

            from_folder = os.path.join(agent_folder, self.from_agent_folder)
            if not os.path.exists(from_folder):
                os.mkdir(from_folder)
        return agent_folder

    def get_oldest_filename(self, agent_id, stream):
        agent_folder = os.path.join(self.init_storage_for_agent(agent_id), stream)
        files = filter(lambda x: os.path.isfile(os.path.join(agent_folder, x)), os.listdir(unicode(agent_folder)))
        if files:
            files = sorted(files, key=lambda x: os.stat(os.path.join(agent_folder, x)).st_ctime)
            return os.path.join(agent_folder, files[0])
        else:
            return None

    def get_filename_by_mark(self, agent_id, stream, mark):
        agent_folder = os.path.join(self.init_storage_for_agent(agent_id), stream)
        filename = os.path.join(agent_folder, mark)
        if os.path.exists(filename):
            return filename
        else:
            return None

    def read_last_data(self, agent_id, stream):
        mark = ''
        res_body = ''
        fname = self.get_oldest_filename(agent_id, stream)
        if fname and os.path.isfile(fname):
            # read oldest
            f = open(fname, 'rb')
            res_body = f.read()
            f.close()
            mark = os.path.split(fname)[1]
        return mark, res_body

    def remove_data(self, agent_id, stream, mark):
        mark = mark.replace('/', '').replace('\\', '').replace("..", '')
        fname = self.get_filename_by_mark(agent_id, stream, mark)
        if fname and os.path.isfile(fname):
            os.unlink(fname)

    def write_data(self, agent_id, stream, data):
        agent_folder = os.path.join(self.init_storage_for_agent(agent_id), stream)
        fname = os.path.join(agent_folder, str(random.randint(0, 0xffffffff)))
        f = open(fname, 'wb')
        f.write(data)
        f.close()

    # Agent communication
    def save_data_from_agent(self, agent_id, data):
        self.write_data(agent_id, self.from_agent_folder, data)

    def get_data_for_agent(self, agent_id):
        return self.read_last_data(agent_id, self.to_agent_folder)

    def data_for_agent_accepted(self, agent_id, mark):
        return self.remove_data(agent_id, self.to_agent_folder, mark)

    def save_status_info_for_agent(self, agent_id, info):
        agent_folder = self.init_storage_for_agent(agent_id)
        status_file = os.path.join(agent_folder, self.status_file)
        f = open(status_file, "w")
        f.write(info)
        f.close()

    def get_status_info_for_agent(self, agent_id):
        agent_folder = self.init_storage_for_agent(agent_id)
        status_file = os.path.join(agent_folder, self.status_file)
        info = ''
        try:
            f = open(status_file, "r")
            info = f.read()
            f.close()
        except:
            print "# FSLocalStorage: Cannot to open and read status file for %d !" % agent_id
        return info

    # CC communication
    def get_agents_list(self):
        aids = map(lambda x: int(x), filter(lambda x: x.isdigit(), os.listdir(self.data_dir)))
        return aids

    def save_data_for_agent(self, agent_id, data):
        self.write_data(agent_id, self.to_agent_folder, data)

    def get_data_from_agent(self, agent_id):
        return self.read_last_data(agent_id, self.from_agent_folder)

    def data_from_agent_accepted(self, agent_id, mark):
return self.remove_data(agent_id, self.from_agent_folder, mark)
	
	



Speakers

Thomas Vaughn

Keynote Speaker

Thomas Vaughn

Chief Information Security Officer

Agency for State Technology

Thomas Vaughn has over 25 years of experience in information security, cyber intelligence analysis, systems and network engineering, IT project management, and planning at the local, regional, and enterprise levels. He has broad technical knowledge and proven application of analytical processes, with hands-on experience beyond the technical arena, including emergency operations, physical security, and strategic planning.

Mr. Vaughn most recently served as the Information Security Manager for the Department of Corrections. His previous experience includes both public and private sector IT security roles, including with the U.S. Air Force and the U.S. Coast Guard.

Mr. Vaughn has a Bachelor of Science in Computer Information Systems from Troy University and a Master of Strategic Intelligence from the American Military University.

Christopher Peacock

Christopher Peacock

vSOC Security Analyst

Raytheon Contractor

Defending the Cyber Killchain

Professional Track

Cybersecurity Career

Community Track
vSOC Security Analyst for one of the world's top defense contractors, providing expertise to to organizations across multiple industries. Chris is from the first TCC Cybersecurity graduating class. He has security experience in the finance, healthcare, and defense sectors. He also has experience as a SANS Facilitator. Chris holds current certifications of GCED, CCNA CyberOps, Security+, and Network+.
Nicholas Carroll

Nicholas Carroll

Security Engineer

TEKsystems

Open Source Logging and Analytics

Professional Track

Death by USB

Community Track
CISM and CEH, is a former Cybersecurity Instructor and corporate Cybersecurity Officer who currently works as a SME for election security in the State of Florida. He strives to better educate the community in infosec issues through work as an InfraGard board member and as the current President of the Capital City Cyber Defense Network, 501c3.
robot

Craig Galley

Information Security Officer

City of Jacksonville

Managing Risk in the Cloud

Professional Track
IT Security Professional since 2001 with a B.S. in Information Science from the University of North Florida and certified in CISSP, CSSLP, GSLC, GCED, GSEC, GISP, and Security+. Early in his career, Craig was responsible for deployment and management of network prevention controls in the private sector. His focus shifted to application development with a desire to lead secure coding best practices while chaired on Information Security Steering committees and managing large development projects and teams. Craig currently manages and directs an Information Security Program in the public sector.
Amy Hollen

Amy Hollen

Media Specialist

Florida State University

People Hacking 101

Community Track
Front-end developer and social media strategist having developed public-facing communication and account security policy.
Matthew Batten

Matthew Batten

Security Engineer

Six Gen

Movement After Initial Compromise

Professional Track
Red Team Security Engineer conducting Red Team operations and penetration tests for SixGen. Matt has seven years of experience in the information security field and operated on an NSA Certified DOD Red Team. U.S. Marine Corps Veteran that specialized in Signals Intelligence. Current certifications include, CISSP, OSCP, CEH, and more.
Danny Zastrow

Danny Zastrow

Senior Info Sec Engineer

Mayo Healthcare

Movement After Initial Compromise

Professional Track
Vulnerability Management and Penetration Tester for Mayo Healthcare in Rochester, MN. Danny has worked in Information Security for over 7 years, with experience in DOD, Law, Financial, and Healthcare environments.
Tony Mock

Tony Mock

Chief Executive Officer

DT Cyber Security

Seeing Through the Illusion of Security

Community Track
Serves as CEO for DT Cyber Security, a small cyber security and data management company that he founded with the help of friends. Tony and DT Cyber Security are dedicated to secure communications and data storage leveraging unique intellectual property to provide emergent cutting edge encryption and a full suite of security related solutions for enterprise.
Connor Wilson

Connor Wilson

Information Security Analyst

Florida Department of State

Google Hacking

Community Track
Recent FSU graduate with a degree in Information Technology currently working at the Florida Department of State as an Information Security Analyst specializing in Elections security projects.
Ben Martin

Ben Martin

Chief Operations Officer

VR Systems

Election hackers...What really happened in 2016?

Professional Track
Manufacturer of Election systems and software currently in use around the United States. Ben holds a PMP and has applied his leadership training from his time in the Marine Corps and his 12+ years experience in elections to lead his team to overcome the unique security challenges and incidents facing elections in today's overly connected world.
Rain Baker

Rain Baker

Security Program Analyist

Department of Health

WiFi: The Unfriendly Skies

Community Track
Security+ certified, Certified Ethical Hacker, and graduate of TCC's Cybersecurity Workforce Development program. Rain has a background in HR and training that she has applied to better understanding people and their interactions with technology as she has moved into being a Security Analyst and Threat Hunter working with different agencies for the State of Florida.
Joe MacMichael

Joe MacMichael

Security & Network Team Lead

Alpha II

Open Source Logging and Analytics

Professional Track
Board member of the North Florida InfraGard Alliance and currently works as the Security & Network Team Lead for Alpha II. Joe is a seasoned security professional with experience working as an SME for election security in the 2018 election cycle and as a Security Analyst in Law Enforcement environments.
Kyle Kelly

Kyle Kelly

Senior Systems Administration

Insight Catastrophe Group

Open Source Logging and Analytics

Professional Track
Former Cybersecurity Instructor and currently works with Insight Catastrophe Group as a Senior Systems Administrator. Kyle has spent many years as a network and security architect working in HIPAA regulated environments, building secure data centers from the ground up and managing teams of technicians.

Schedule

Details to Follow

[ Subject to Change ]




Thank you to our Sponsors

Become a Sponsor

Sollievo IT
Black Hills Information Security
Peacock Security
No Starch Press
Bad Apple Press
TEK systems



We ♥ our Volunteers

Become a Volunteer!

Joe MacMichael


Tracy Carroll


Byron Jackson


Rain Baker


Nathan Nye


Gunnar Skotnicki


Christopher Hagerty


Adam Corvin


Russell DeHennis




Board Members

Nicholas Carroll

Chairman
ncarroll@c3d.network


Amy Hollen

Board Member
ahollen@c3d.network


Dan Barfield

Board Member


Michael LaRocco

Board Member


Steven Eddy

Board Member


Kevin Hilt Jr.

Board Member


Contact us

Info

 800.231.6075 x 700

 ncarroll@c3d.network

 FSU Alumni Center
2019 Venue Map

 @BSidesTLH

 @C3DNet

Code of Conduct & Photography Policy

Updated February 26, 2019

BSides Tallahassee is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organizers.

Read more >>

Official BSides Tallahassee Photographers and Videographers will be on site to photograph and record speakers and crowds. By attending the event, you consent to be photographed and recorded. Material will be used to promote future BSides Tallahassee events.

Read more >>

Capital City Cyber Defense Network
©2018-2019
Capital City Cyber Defense Network, 501(c)(3)