Category Archives: PASS

I’m sorry for all the people who were affected by the multiple battery issues with the Note 7 but I simply could not find a Dell, HP, Microsoft, or Lenovo laptop that even came close to the notebook 7 spin.

This computer is now a fantastic addition to my fleet and worked out very well for my 3 VM mobile lab required for my presentation on Hacking SQL Server.

I’ve given this presentation at user groups and SQL Saturdays. Each time I make a solid effort to get the latest versions of Windows Server and SQL Server ready. I also grab the latest hacking tools I can find. There is no room for procrastination when preparing because you don’t know what life will throw at you right before showtime. The organizers did a fantastic job of communicating all the changes to time slots and rooms. The interest survey was an objective way of placing the popular sessions in larger rooms and when it comes time to to have our SQL Saturday, that will definitely be a tool we will take advantage of.

More Preparation

The team building exercise, aka speaker volunteer dinner, usually takes place the night before. This is important to build comradery and increase the comfort level of a bunch of people who may be in the area for the first time. It can also feel like a family reunion, running into that crazy uncle and cool hip west coast cousin that makes for some hilarious conversation. One downside is the combination of loud talking over music and hops until late at night can cause dehydration and raspy voices in the morning. Nothing some phlegm building orange juice and over the counter medications can’t fix.

SQL Saturday is full of awesome presentations. Attending very useful presentations, right before I have to give mine, causes me to go on unnecessary tangents. I really wanted to watch more speakers in action, but decided to chill out for most of the morning. I did follow and thoroughly enjoy Janis’s 12 step program and can attest that the program works. I’ll be modifying my own less effective program. I was missing some steps and definitely will take advantage of the scripts around finding the worker bees behind CXPACKET.

The lunch was great and gave me a little extra time to familiarize myself with the microphone before my session. The wireless mic was on point (thanks AV) and the monitors facing the speaker really helped. The auditorium could seat over 100 people and had 3 projectors.

The demos went smoothly but perhaps a little slowly. I used zoomit in some spots but failed to do it in others. I had plans for two more quick demos but ran short on time. Some previous feedback I had was to engage the audience more. Since then I have added a task for the assigning an attacker, and a victim to remember the IP addresses. Also, I added another person to give me a 30 minute warning which worked out perfectly. Also, I make a point to hack a poorly configured server, but not to show the misconfigurations until later in the presentation. This has, without fail, invoked some comments/questions about the layers of security that would block the hacks I am explaining. This is always a good sign that some people are understanding the content and makes me happy.

I specifically asked the attendees to think of constructive criticism on their evaluations and if they couldn’t think of anything, make something up. This is my favorite:

If you want to attend more SQL Saturday’s, you have to be willing to participate in Volunteering, Speaking, and Sponsoring these events. If those things don’t fit into your life at this time, remember attendees are why we do what we do so make a point to check the schedule and go to a SQL Saturday!

It has been quite a while since I’ve spoke at a SQL Saturday, partly because Michigan has taken a pass on hosting one the last couple years. These things are tough to get going and I have great respect for the few select individuals that grab the bull by the horns and see the event through to the end.

The last time I was caught off guard by a major upgrade to my hacking tools. Brand new stuff is not something a speaker should try to implement 2 days before the presentation for the sake of the demos and for the sake of their attendees. But I couldn’t resist and it actually went quite well.

Hopefully my history with these risks right before the presentation don’t blow up but I have another last minute enhancement. I trashed all my VMs and installed a 500GB V NAND SSD. O boy, is it sweet. Hopefully, it will help my presentation fit into the 60 minute time slot.

I’ll follow up with a recap of the event because I also plan on soaking up some valuable skills from the other attendees and speakers.

Definitely thought I was going to take some time out of each day to recap. Turns out that was a little ambitious.

SQLKaraoke Sunday night was my first experience with Bush Garden. If you are ever in a situation where you are trying to decide to be the 5th dude in a cab to go sing until morning, just say yes. Mrs. Bush says its ok. Thats all I have to say about that.

See, no ‘s’

Monday was a recovery day. I transferred from my AirBnB to the Sheraton. $199/night was a fair rate for a nice hotel right next to the conference center.

Tuesday was my pre-con. I originally had talked with a co-worker about what pre-con we were going to attend and I recommended he check out Kimberly’s session since I have seen a small condensed version already. I attended the enterprise scripting workshop by the Midnight DBAs.

Advanced indexing was a great session, but I think I have to give a slight edge to Jason’s Plan Cache Whisperer if I had to pick a favorite. Jimmy is also a great presenter and he had lots of the information on modern flash I was looking for.

Alaskan Air from DTW to SEA non-stop round trip for $315. Pretty good find. I decided to fly out a couple days early because I know there will be some other SQL people I might be able to meet up with, and the flight times were pretty terrible otherwise. I’m a SQL PASS Summit first timer and this will also be my first time to Seattle. I want to checkout the normal touristy stuff like the fish market, coffee shops and the space needle. The week is pretty busy with other activities so the extra days should be more relaxing and fun.

I’m about a 1 1/2 hour drive from the airport so I opted for the Michigan Flyer bus for $50 round trip instead of gas and parking that would be a little bit more expensive.

MichiganFlyer driving past the Blue Lot

My wife and I tried out AirBnB while in Europe and found it pretty interesting. The first two nights are more of a vacation than a technical training conference, so I offered to pay for the extra costs of food and stay for these nights instead of suggesting work pay for that. I wanted to stay somewhere close to the attractions so I could walk and hotels in that area were about double the price of reasonable looking AirBnB rooms.

Mount Something… Must be getting close

I’m staying in the Queen Anne district right near the space needle. I took my first Uber from SeaTac to where I am staying for $29. I’m not sure if that is good or bad but I didn’t even realize I had actually ordered the cab until he was calling and saying he was there. Worked out quite well, 5 stars.

My AirBnb host isn’t here but she had someone clean up the place for me. It is a pretty fancy 1 bedroom condo with a view of the space needle.

I got in town and started walking from bar to bar watching the twitter for some meetup opportunities. No luck the first night, but I’m hopeful for a full day tomorrow.

Ever since we started the GLASS user group this spring, I’ve had the idea that we would have a lightning talk style meeting. This is where we have several shorter presentations instead of one long one. My goal was to get newer speakers a chance to dip their toes in the water and help build on a full session that they could present later.

Everyone has a different approach to tuning SQL Server. Different is good, at least on this topic. There can be a lot of friction when trying to troubleshoot where the slowness is happening especially when an organization has a lot of silos. If the tier 1 support has to talk to tier 2 support who has to talk to a developer who has to talk to a server admin who has to talk to a dba who has to talk to a storage admin who… you get the point. I want to get as many perspectives of real world solutions to performance problems together in the same room. Some may think of it as a WWE style smackdown but I think the collaboration would be insanely beneficial.

I couldn’t have been more right :]

We had Kyle talk about implicit conversions specific to SSRS, Mike talk about partitioning, Dave talked about the optimizer, Tom talked about the speed of a single DECLARE or multiple DECLARE statements and I wrapped it up with performance triage with metrics, queries and real world fixes.

The performance tuning process is just that, a process, not a single answer to a problem. There are several ways to approach slowness of an application, and it depends on the situation of how you proceed. Dive right into active queries? Look at the VM CPU graph? Fire back with a bunch of questions? I’ve personally taken all of these angles and found some successes, and a bunch of failures along the way.

Some of those session titles are amusing after 3 years, especially anything that has “new” in the title. That first SQL Saturday in 2011 was pretty special. I realized that volunteering helped my more introverted personality get a chance to network with others.

At the Kalamazoo84 SQLSat I was having a conversation about the pains of double hop authentication and another speaker asked me what my session was about, but I was only a volunteer. I didn’t think I was ready to speak(I wasn’t). That person thought for some strange reason I knew my stuff and suggested I whip up a session and try it out. It was some advice that I remember but didn’t act on for quite a while. This was also another interesting question because it is a total bait question. It is something that the speakers are thinking about and is a great icebreaker.

The Detroit SQL Saturday in 2013 was the first time I was a speaker at a SQL Saturday. I had found my niche that I was passionate enough about to actually enjoy getting up in front of people and presenting. The basic SQL topics are great but I didn’t feel I had enough ground breaking experience and depth on any of those topics to present until I found a way to make security interesting. It was my in because nobody else seemed to be talking about it. I saw other presenters doing a bit of cross training into virtualization and storage so I figured a bit of offensive security and networking concepts would be totally acceptable. A couple user groups of practice and I was ready for a larger audience. I packed a smaller room full of very interested and thankful people. I’m glad the first time went well because it was very nerve racking. I may not have continued to challenge myself in this way had it went poorly.

Kalamazoo, Detroit and now Columbus. These SQL Saturday conferences have all been very rewarding. I always learn something, meet at least a few new awesome people and give as much back to the community as I can. Getting a reasonably sized, semi-interested audience is priceless to me when I am trying to practice my presentation and public speaking skills. There is only so much I can teach my wife about computers until she murders me in my sleep!

My session in Columbus went well sans one whoopsie. I have learned I need to get an accurate start and stop time from multiple sources. I started my session at 3:30 thinking the 3:34 was a typo in the handout. Unfortunately it was a typo but in the other direction and was supposed to start at 3:45 according to the website. I started at 3:30 and someone kindly got up and shut the door. A little less than 10 minutes in I noticed a small crowd peeking in the small glass part of the door and someone finally opened it. This nearly doubled the people in attendance so I started over but didn’t show the video ( https://www.youtube.com/watch?v=c36UNSoJenI ) again. Anyways, the slides and demo scripts are posted on the schedule link above.

I decided to attend sessions at this SQL Saturday. Below are the sessions I attended. I particularly liked Kevin Boles SQL Injection session because of the hands on approach. He developed a great demo that showed several different methods of attack and defense. It is also very complimentary to my session because I avoid that particular topic for the most part.

Also, I would like to thank Mark https://twitter.com/m60freeman for organizing a great speaker dinner and event. I’m happy they were able to give me the opportunity to present.

I sometimes imagine where would I be today had I not started attending user groups and events like SQL Saturday. I would most likely be a mess. I have supported an environment that has grown from ~15 SQL servers 5 years ago to almost 200. Without the skills and drive to make SQL Server the best possible platform at my organization I’m not sure I would have as much responsibility. Business users would have run away instead of diving into SQL Server. I imagine myself still being a “DBA” but constantly putting out fires instead of scripting our build and auditing processes. I imagine myself never having the time to research storage and virtualization and becoming confident enough to take on these new administration challenges. I definitely would not have begun the journey of improving my public speaking skills that have improved my overall quality of life. The place without PASS in my life is a scary place.

This presentation is similar to the presentation that I delivered at SQL Saturday Detroit.

Hacking SQL Server – A Peek into the Dark Side
The best defense is a good offense. Learn how to practice hacking without going to jail or getting fired. In this presentation we’ll be demonstrating how to exploit weak SQL servers with actual tools of the penetration testing trade. You will learn why the SQL Service is a popular target on your network and how to defend against basic attacks.

I normally don’t like to whine and complain to anyone other than my wife and mom when I am sick, but man, was I sick leading up to this SQL Saturday. I picked up some kind of stomach flu, probably from Vegas the week prior at EMCWorld. The thought crossed my mind about warning people that I might be unable to make it if I got any worse. Fortunately, the sickness passed by Friday morning and I was able to muscle through.

Volunteer Coordinator

Volunteer coordinator sounds fancy but just getting a list from the coordinator and lots of communication. I decided to use http://www.volunteerspot.com that worked well for the Bsides Detroit conference I helped at the previous summer. You can sign up for free and setup tasks lists on different days. Then you simply paste in your list of volunteer emails and they can choose what items they want to volunteer for. Room proctors, registration desk slots and a few miscellaneous tasks added up to 38 tasks the day of the event which was a bit of a bear to enter. Friday, I had one 3 hour task to make sure I had a list of people to help setup the rooms and stuff the bags.

Allowing the volunteers to pick their own tasks is something that I didn’t think would work out that well but actually did. It is much more efficient just to auto-pick all the slots and then do any trades later, but with the help of volunteer spot it was easy to allow them the chance to pick their own so they could attend sessions they wanted to attend. This is the second year so we had some experience on the team which helped this process go smoothly. Two days before the event, while I lay sick in agony, I filled the last 5 or so tasks.

One thing I could improve on is using the report feature they provided. I didn’t think there was one, but there is a giant button on the left side of the UI. Using my giant phablet proved to be a bit more cumbersome than I had anticipated to pull up a list of tasks to find out who was doing what. Printing off that task list and actually taking attendance first thing the day of the event is something I would recommend.

Presenter

I’m writing to you today nearly a week without coffee or any other substantial form of caffeine. My mental state is surprisingly sound considering I was up to a steady 4 cups a day. I don’t usually start the caffeine intake until around 9 in the morning which was when my presentation started. I was feeling well and no headaches but I did get a couple comments that the presentation was slow at the start which may or may not be related.

I chose to try something I wasn’t sure would work out too well at the start. I showed a 4 minute video from BBC about the honey badger. Not the crazy and dated honey badger doesn’t give a crap video but one I find hilarious and shocking from BBC. It shows how honey badgers escape their confinement no matter how hard the zookeeper tries to keep them cadged. I watch this and can’t help compare hackers to honey badgers. Also, getting that camera in the pen to show how they escape is what I am trying to achieve by showing people how SQL Server is hacked. I intended to use this metaphor throughout my presentation, but I sticking forgot all about it. O well, better luck in Columbus :]

This was the largest room I have spoken to yet with roughly 60 people. The chalkboard was a nice addition which allowed me to illustrate the network which is something I am still working out. I was happy to find out I got the larger room because the previous year the 40 person room was completely packed. I am satisfied with how I did and am really happy to get a large majority of positive feedback and some really good advice from the attendees. My complex demos that require typing all worked and the projector didn’t have any issues so I would say I lucked out.

Attendee

Even though the event was in the same place as last year we got an upgrade in the classrooms that were available to us. Now furnished with chalkboards and I think we had more seating than the previous year. My session was the first of the day and then Grant Fritchy’s followed in one of the larger rooms. I was in a zombie state so I settle in to the nearest seat and vegitated for a bit. The session was Titled Building a Database Deployment Pipeline and covered reasons to improve and team up database deployments with code deployments. It didn’t really get into the how, other than mention a few tools that I have heard of but am unfamiliar with.

Lunch was in another building which gave me a chance to walk by the vendor tables. They were a bit out of the way and seemed cramped. I wonder what we may have done better in this area. Had the vendors been setup at the beginning of the day that would have been the prime time to get most attendees passing through but from what I hear that wasn’t the case.

I got to see David Klee’s hitch impersonation after lunch. Not sure what happened but he had a terrible looking allergy attack. With some help from Tim Ford and Grant Fritchy he continued on with his session, “How to Argue with Your Infrastructure Admins – and Win”. I do like stories of strife, especially when they don’t involve me. I’m not sure I really got what I expected out of the session but it was enjoyable.

Grant’s session on execution plans is something every SQL Saturday needs. T-SQL and how database internals work can be explained much easier with the GUI view of a query plan. He has some really good advice on how to read query plans.

I walked in late to the T-SQL For Beginning Developers session and sat next to my wife who is a T-SQL absolute beginner. We both felt it was a little too advanced for her. She does have a small amount of experience writing code but doesn’t have any database experience. A lot of the nuances that were covered were not that valuable to her or I. Inserts, Updates, Deletes and Selects with some joins should have been covered more. I see so many 3rd party software products that doesn’t take advantage any functions because they want to support all the major database platforms. The session missed my expectations.

Wrap-Up

We were expecting a higher turnout this year because the previous year had a bit of a freak snowstorm. But the initial estimates put us a little under last year in attendance. I feel I could have done a better job promoting the event, especially at my place of employment but it just wasn’t in the cards. Overall, the event went very well and I look forward to Columbus and maybe a West Michigan event later this year.

Free training, free networking and only $12 for lunch. Best you cancel your plans for May 17 and find your way to Lawrence Technological University.

The speakers who submitted by the original deadline have been confirmed for at least one session. That means you will have a chance to listen to me talk about SQL Server Security in my Hacking SQL Server session. I really enjoyed speaking last year at this event and look forward to this years event including all the pre and post activities.

Topic – Hacking SQL Server
The best defense is a good offense. Learn how to practice hacking without going to jail or getting fired. In this presentation we’ll be going over how to exploit weak SQL servers with actual tools of the penetration testing trade. You will learn why the SQL Service is a popular target on your network and how to defend against basic attacks.
We will also attempt to snag some credentials from the SAM cache so we can go galavanting across the rest of the network.