<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System Overlord</title><link>https://systemoverlord.com/index.html</link><description>Recent content on System Overlord</description><generator>Hugo</generator><language>en-us</language><managingEditor>david@systemoverlord.com (David Tomaschik)</managingEditor><webMaster>david@systemoverlord.com (David Tomaschik)</webMaster><lastBuildDate>Mon, 23 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://systemoverlord.com/index.xml" rel="self" type="application/rss+xml"/><item><title>About David</title><link>https://systemoverlord.com/about.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/about.html</guid><description>&lt;p&gt;David is a security engineer at Google, working on information
security assessments and Red Team exercises. He holds the
&lt;a href="https://www.offensive-security.com/information-security-certifications/oscp-offensive-security-certified-professional/"&gt;OSCP&lt;/a&gt; and
&lt;a href="https://www.offensive-security.com/information-security-certifications/osce-offensive-security-certified-expert/"&gt;OSCE&lt;/a&gt; certifications
and does penetration testing, application assessment, and offensive security
exercises. David also does
information security research (especially into IoT Security) and plays the occasional CTF.&lt;/p&gt;
&lt;p&gt;The opinions stated here are my own, not those of my employers &amp;ndash; present, past,
or future.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I am a participant in the Amazon Services LLC Associates Program, an affiliate
advertising program designed to provide a means to earn fees by linking
to Amazon.com and affiliated sites.&lt;/p&gt;</description></item><item><title>BSidesSF CTF 2026: SELFSigned (Author Writeup)</title><link>https://systemoverlord.com/2026/03/23/bsidessf-ctf-2026-selfsigned-author-writeup.html</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2026/03/23/bsidessf-ctf-2026-selfsigned-author-writeup.html</guid><description>&lt;p&gt;It&amp;rsquo;s been a minute since I&amp;rsquo;ve had a chance to write up a CTF challenge I wrote.
I actually thought my challenges might be a little bit challenge for the AI
agents, but looking at the time to first solve, I rather suspect that this
wasn&amp;rsquo;t the case for this challenge.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As a side note, we&amp;rsquo;re definitely living in a weird time. Trying to build
challenges that are interesting and approachable for humans but are not
essentially trivial for AI agents is really weird (or even impossible for some
disciplines). I&amp;rsquo;m beginning to wonder if we&amp;rsquo;re seeing the death of CTF, as
well as any other structured game task that can be approached online.
Jacob Krell believes we might already be there, based on a
&lt;a href="https://infograph.venngage.com/pl/MifTplDvNc"&gt;whitepaper&lt;/a&gt; published earlier
this month.&lt;/p&gt;</description></item><item><title>Badgelife 101 Workshop</title><link>https://systemoverlord.com/projects/badgelife101.html</link><pubDate>Thu, 05 Oct 2023 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/badgelife101.html</guid><description>&lt;h2 id="slides"&gt;Slides&lt;/h2&gt;
&lt;div class="slides-container-flex"&gt;
 &lt;div class="slides-wrapper"&gt;
 &lt;iframe src="https://systemoverlord.com/static/attachments/badgelife101.pdf"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Matir/Badgelife101"&gt;Main Git Repository&lt;/a&gt; Contains
&lt;ul&gt;
&lt;li&gt;Example Layouts&lt;/li&gt;
&lt;li&gt;Finished Schematic&lt;/li&gt;
&lt;li&gt;Finished PCB Layout for Badgelife Merit Badge&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="electronic-design--analysis"&gt;Electronic Design &amp;amp; Analysis&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://hyperphysics.phy-astr.gsu.edu/hbase/Electronic/etroncon.html"&gt;Hyperphysics Electronics Pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.allaboutcircuits.com/"&gt;All About Circuits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.digikey.com/en/resources/conversion-calculators/conversion-calculator-led-series-resistor"&gt;LED Resistor Calculator&lt;/a&gt; (DigiKey)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.sparkfun.com/tutorials/how-to-use-a-multimeter"&gt;How to Use a Multimeter&lt;/a&gt;
(SparkFun)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="schematics"&gt;Schematics&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Electronic_symbol"&gt;Electronic Symbols&lt;/a&gt;
(Wikipedia)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.sparkfun.com/tutorials/how-to-read-a-schematic/all"&gt;How to Read a Schematic&lt;/a&gt;
(SparkFun)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.adafruit.com"&gt;Adafruit&lt;/a&gt; &amp;amp; &lt;a href="https://www.sparkfun.com"&gt;SparkFun&lt;/a&gt;
publish most of their designs as open source, great as references and
inspiration!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="electronic-design-automation-eda"&gt;Electronic Design Automation (EDA)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.kicad.org/"&gt;KiCad&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.kicad.org/help/learning-resources/"&gt;Learning Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.kicad.org/libraries/third_party/"&gt;Third-Party Libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://silica.io/wp-content/uploads/2018/06/kicad-cheatsheet-landscape.pdf"&gt;KiCad Cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.autodesk.com/products/fusion-360/personal"&gt;Eagle&lt;/a&gt; (part of Fusion360)
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle"&gt;Guide to make PCBs with Eagle&lt;/a&gt;
(Adafruit)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.protoexpress.com/blog/10-best-pcb-layout-design-tools-recommended-by-pcb-designers/"&gt;Comparison of EDA Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gerblook.org/"&gt;Online Gerber Viewer&lt;/a&gt; (GerbLook)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="hardware"&gt;Hardware&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Parts
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.digikey.com/"&gt;Digikey&lt;/a&gt; (Reliable, direct partner with many
manufacturers)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.mouser.com/"&gt;Mouser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lcsc.com/"&gt;LCSC&lt;/a&gt; (Lost of China-based parts)&lt;/li&gt;
&lt;li&gt;Beware eBay/AliExpress &amp;ndash; Many Counterfeit/Recycled/etc. parts&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Datasheets
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.sparkfun.com/tutorials/223"&gt;How to Read a Datasheet&lt;/a&gt; (SparkFun)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/List_of_integrated_circuit_packaging_types"&gt;List of Integrated Circuit Packaging Types&lt;/a&gt;
(Wikipedia)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="prototyping"&gt;Prototyping&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Breakout/Dev Boards
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.adafruit.com/"&gt;Adafruit&lt;/a&gt; (Great learning resources, open source
designs)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sparkfun.com/"&gt;SparkFun&lt;/a&gt; (Great learning resources, open source
designs)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.seeedstudio.com/"&gt;SeeedStudio&lt;/a&gt; (Wide variety of products, much
ships from China)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pcb-art"&gt;PCB Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jaseg/gerbolyze"&gt;Gerbolyze&lt;/a&gt; - Produces halftone art in
Gerber format.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/badgeek/svg2shenzhen"&gt;svg2shenzhen&lt;/a&gt; - Convert SVG to
complex KiCad Shapes&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pcb-fabrication"&gt;PCB Fabrication&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Pre-Fab Checklists/Guidelines
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.sparkfun.com/tutorials/pcb-basics"&gt;PCB Basics&lt;/a&gt; (SparkFun)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.oshpark.com/submitting-orders/preorder-checklist/"&gt;OSH Park - Preorder Checklist&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Fabricators
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://oshpark.com/"&gt;OSH Park&lt;/a&gt; - Very high quality, fast turn around,
local to Portland; &lt;a href="https://docs.oshpark.com/services/two-layer/"&gt;Design Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jlcpcb.com/"&gt;JLCPCB&lt;/a&gt; - Shenzhen-based, lots of options; &lt;a href="https://jlcpcb.com/capabilities/pcb-capabilities"&gt;Design Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.pcbway.com/"&gt;PCBWay&lt;/a&gt; - Shenzhen-based; &lt;a href="https://www.pcbway.com/pcb_prototype/PCB_Manufacturing_tolerances.html"&gt;Design
Rules&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Process
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ljOoGyCso8s"&gt;Strange Parts tours JCLPCB&lt;/a&gt; -
PCB Fabrication (YouTube Video)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=24ehoo6RX8w"&gt;Strange Parts tours JLCPCB&lt;/a&gt; -
PCB Assembly w/ Components (YouTube Video)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="tools"&gt;Tools&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Soldering
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://amzn.to/48GaDj2"&gt;USB-C Soldering Iron&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/45eYxdH"&gt;Good Soldering Station&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/48K0q5l"&gt;High Quality Solder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3LOaS1O"&gt;Hot Air Soldering Station&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3FoHfAF"&gt;Soldering Flux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Meters/Measurement
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3PMdiyY"&gt;Cheap True RMS Multimeter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3rvOH9P"&gt;Fluke Multimeter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3LPKTHn"&gt;Cheap Logic Analyzer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3tshRa7"&gt;Saleae Logic 8 Logic Analyzer&lt;/a&gt; - High End Logic
Analyzer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3ZLvhKL"&gt;USB Oscilloscope/Logic Analyzer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3LO5hZc"&gt;LCR Meter&lt;/a&gt; - Measures Capacitors, Inductors, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Interface Tools
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.crowdsupply.com/securinghw/tigard"&gt;Tigard&lt;/a&gt; - Multi-Protocol
Tool for Hardware Hacking&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/45e5WtW"&gt;USB-UART Adapter&lt;/a&gt; - Connect to embedded serial
ports&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Other Tools
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3ZFLHUV"&gt;USB Power Analyzer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/3PJGqqD"&gt;Analog Discovery 3&lt;/a&gt; - Logic Analyzer,
Oscilloscope, and Waveform Generator&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>BSidesSF CTF 2023: Lastpwned (Author Writeup)</title><link>https://systemoverlord.com/2023/04/23/bsidessf-ctf-2023-lastpwned-author-writeup.html</link><pubDate>Sun, 23 Apr 2023 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2023/04/23/bsidessf-ctf-2023-lastpwned-author-writeup.html</guid><description>&lt;p&gt;I was the challenge author for a handful of challenges for this year&amp;rsquo;s BSidesSF
CTF. One of those challenges was &lt;strong&gt;&lt;code&gt;lastpwned&lt;/code&gt;&lt;/strong&gt;, inspired by a recent
high-profile data breach. This challenge provided a web-based password manager
with client-side encryption.&lt;/p&gt;</description></item><item><title>CTF 101: Just Try It!</title><link>https://systemoverlord.com/2023/04/17/ctf-101-just-try-it.html</link><pubDate>Mon, 17 Apr 2023 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2023/04/17/ctf-101-just-try-it.html</guid><description>&lt;ul&gt;
&lt;li&gt;Table of Contents
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As I&amp;rsquo;m helping to organize the &lt;a href="https://ctf.bsidessf.net"&gt;BSides San Francisco
CTF&lt;/a&gt; this weekend, I thought I&amp;rsquo;d share a little primer
for CTFs for those who have not gotten into them before.&lt;/p&gt;
&lt;h2 id="what-is-a-ctf"&gt;What is a CTF?&lt;/h2&gt;
&lt;p&gt;I suspect that most people in the information security (&amp;ldquo;cybersecurity&amp;rdquo;) space
have already heard of Capture the Flag (or CTF) competitions, but in case you
haven&amp;rsquo;t, I wanted to provide a short overview.&lt;/p&gt;</description></item><item><title>Returning to Hacker Summer Camp</title><link>https://systemoverlord.com/2022/07/20/returning-to-hacker-summer-camp.html</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2022/07/20/returning-to-hacker-summer-camp.html</guid><description>&lt;p&gt;It&amp;rsquo;s that time of year again &amp;ndash; Hacker Summer Camp. (Hacker Summer Camp is the
~weeklong period where several of the largest hacker/information security
conferences take place in Las Vegas, NV, including DEF CON and Black Hat USA.)
This will be the 3rd year in a row where it takes place under the spectre of a
worldwide pandemic, and the first one to be fully in-person again.
&lt;a href="https://bsideslv.org/"&gt;BSidesLV&lt;/a&gt; has returned to in-person, &lt;a href="https://defcon.org/html/defcon-30/dc-30-index.html"&gt;DEF
CON&lt;/a&gt; is in-person only,
&lt;a href="https://www.blackhat.com/"&gt;Black Hat&lt;/a&gt; will be in full swing, and
&lt;a href="https://ringzer0.training/"&gt;Ringzer0&lt;/a&gt; will be offerring in-person trainings.
It&amp;rsquo;s &lt;em&gt;almost&lt;/em&gt; enough to forget there&amp;rsquo;s still an ongoing pandemic.&lt;/p&gt;
&lt;p&gt;I did attend last year&amp;rsquo;s hybrid DEF CON in person, and I&amp;rsquo;ve been around a few
times, so I wanted to share a few tidbits, especially for first timers.
Hopefully it&amp;rsquo;s useful to some of you.&lt;/p&gt;</description></item><item><title>BSidesSF 2022 CTF: Login4Shell</title><link>https://systemoverlord.com/2022/06/20/bsidessf-2022-ctf-login4shell.html</link><pubDate>Mon, 20 Jun 2022 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2022/06/20/bsidessf-2022-ctf-login4shell.html</guid><description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Log4Shell"&gt;Log4Shell&lt;/a&gt; was arguably the biggest
vulnerability disclosure of 2021. Security teams across the entire world spent
the end of the year trying to address this bug (and several variants) in the
popular &lt;a href="https://logging.apache.org/log4j/2.x/"&gt;Log4J&lt;/a&gt; logging library.&lt;/p&gt;
&lt;p&gt;The vulnerability was caused by special formatting strings in the values being
logged that allow you to include a reference. This reference, it turns out, can
be loaded via &lt;code&gt;JNDI&lt;/code&gt;, which allows remotely loading the results as a Java class.&lt;/p&gt;
&lt;p&gt;This was such a big deal that there was no way we could let the next BSidesSF
CTF go by without paying homage to it. Fun fact, this meant I &amp;ldquo;got&amp;rdquo; to build a
Java webapp, which is actually something I&amp;rsquo;d never done from scratch before.
Nothing quite like learning about Jetty, Log4J, and Maven just for a CTF level.&lt;/p&gt;</description></item><item><title>BSidesSF 2022 CTF: TODO List</title><link>https://systemoverlord.com/2022/06/09/bsidessf-2022-ctf-todo-list.html</link><pubDate>Thu, 09 Jun 2022 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2022/06/09/bsidessf-2022-ctf-todo-list.html</guid><description>&lt;p&gt;This year, I was the author of a few of our web challenges. One of those that
gave both us (as administrators) and the players a few difficulties was &amp;ldquo;TODO
List&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Upon visiting the application, we see an app with a few options, including
registering, login, and support. Upon registering, we are presented with an
opportunity to add TODOs and mark them as finished:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/bsidessf/todolist_todos.png" alt="Add TODOs"&gt;&lt;/p&gt;
&lt;p&gt;If we check &lt;code&gt;robots.txt&lt;/code&gt; we discover a couple of interesting entries:&lt;/p&gt;</description></item><item><title>BSidesSF 2022 CTF: Cow Say What?</title><link>https://systemoverlord.com/2022/06/07/bsidessf-ctf-2022-cow-say-what.html</link><pubDate>Tue, 07 Jun 2022 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2022/06/07/bsidessf-ctf-2022-cow-say-what.html</guid><description>&lt;p&gt;As the author of the &lt;code&gt;Cow Say What?&lt;/code&gt; challenge from this year&amp;rsquo;s BSidesSF CTF, I
got a lot of questions about it after the CTF ended. It&amp;rsquo;s both surprisingly
straight-forward but also a very little-known issue.&lt;/p&gt;
&lt;p&gt;The challenge was a web challenge &amp;ndash; if you visited the service, you got a page
providing a textarea for input to the &lt;a href="https://www.mankier.com/1/cowsay"&gt;cowsay&lt;/a&gt;
program, as well as a drop down for the style of the cow saying something
(plain, stoned, dead, etc.). There was a link to the source code, reproduced
here:&lt;/p&gt;</description></item><item><title>Book Review: Designing Secure Software</title><link>https://systemoverlord.com/2021/11/24/book-review-designing-secure-software.html</link><pubDate>Wed, 24 Nov 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/11/24/book-review-designing-secure-software.html</guid><description>&lt;p&gt;&lt;em&gt;Designing Secure Software&lt;/em&gt; (&lt;a href="https://amzn.to/3nRatAc"&gt;Amazon&lt;/a&gt;,
&lt;a href="https://nostarch.com/designing-secure-software"&gt;No Starch Press&lt;/a&gt;) by Loren Kohnfelder is
one of the latest entries in No Starch Press&amp;rsquo;s line of security books. This
book stands out to me for two big reasons. First, this is one of the most
mindset-centric books I&amp;rsquo;ve seen (which means it is likely to age better than a
lot of more technically-specific books). Second, this book caters to developers
more than security professionals (but don&amp;rsquo;t take this to mean it&amp;rsquo;s only for
developers), which is definitely a distinguishing feature from so many other
security books.&lt;/p&gt;</description></item><item><title>Book Review: Bug Bounty Bootcamp</title><link>https://systemoverlord.com/2021/11/05/book-review-bug-bounty-bootcamp.html</link><pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/11/05/book-review-bug-bounty-bootcamp.html</guid><description>&lt;p&gt;&lt;em&gt;Bug Bounty Bootcamp&lt;/em&gt; (&lt;a href="https://amzn.to/3BOzpMq"&gt;Amazon&lt;/a&gt;,
&lt;a href="https://nostarch.com/bug-bounty-bootcamp"&gt;No Starch Press&lt;/a&gt;)
by Vickie Li is one of No Starch Press&amp;rsquo;s newest offerings in the security space.
The alliterative title is also the best three word summary I could possibly
offer of the book &amp;ndash; it is clearly focused on getting the reader into a position
to participate in Bug Bounties from the first page to the last. This
differentiates this book well against other web security books, despite covering
many of the same vulnerabilities.&lt;/p&gt;</description></item><item><title>0x0G CTF: Authme (Author Writeup)</title><link>https://systemoverlord.com/2021/08/12/0x0g-ctf-authme-author-writeup.html</link><pubDate>Thu, 12 Aug 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/08/12/0x0g-ctf-authme-author-writeup.html</guid><description>&lt;p&gt;0x0G is Google&amp;rsquo;s annual &amp;ldquo;Hacker Summer Camp&amp;rdquo; event. &lt;em&gt;Normally&lt;/em&gt; this would be in
Las Vegas during the week of DEF CON and Black Hat, but well, pandemic rules
apply. I&amp;rsquo;m one of the organizers for the CTF we run during the event, and I
thought I&amp;rsquo;d write up solutions to some of my challenges here.&lt;/p&gt;
&lt;p&gt;The first such challenge is &lt;code&gt;authme&lt;/code&gt;, a web/crypto challenge. The description
just wants to know if you can auth as admin and directs you to a website. On
the website, we find a link to the source code, to an RSA public key, and a
login form.&lt;/p&gt;</description></item><item><title>0x0G CTF: gRoulette (Author Writeup)</title><link>https://systemoverlord.com/2021/08/12/0x0g-ctf-groulette-author-writeup.html</link><pubDate>Thu, 12 Aug 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/08/12/0x0g-ctf-groulette-author-writeup.html</guid><description>&lt;p&gt;0x0G is Google&amp;rsquo;s annual &amp;ldquo;Hacker Summer Camp&amp;rdquo; event. &lt;em&gt;Normally&lt;/em&gt; this would be in
Las Vegas during the week of DEF CON and Black Hat, but well, pandemic rules
apply. I&amp;rsquo;m one of the organizers for the CTF we run during the event, and I
thought I&amp;rsquo;d write up solutions to some of my challenges here.&lt;/p&gt;
&lt;p&gt;gRoulette is a simplified Roulette game online. Win enough and you&amp;rsquo;ll get the
flag. The source code is provided, and the entire thing is run over a WebSocket
connection to the server.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/0x0g/groulette.png" alt="gRoulette"&gt;&lt;/p&gt;</description></item><item><title>GPU Accelerated Password Cracking in the Cloud: Speed and Cost-Effectiveness</title><link>https://systemoverlord.com/2021/06/05/gpu-accelerated-password-cracking-in-the-cloud.html</link><pubDate>Sat, 05 Jun 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/06/05/gpu-accelerated-password-cracking-in-the-cloud.html</guid><description>&lt;p&gt;&lt;em&gt;Note: Though this testing was done on Google Cloud and I work at Google, this
work and blog post represent my personal work and do not represent the views of
my employer.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As a red teamer and security researcher, I occasionally find the need to crack
some hashed passwords. It used to be that &lt;a href="https://www.openwall.com/john/"&gt;John the
Ripper&lt;/a&gt; was the go-to tool for the job. With
the advent of GPGPU technologies like CUDA and OpenCL,
&lt;a href="https://hashcat.net/hashcat/"&gt;hashcat&lt;/a&gt; quickly eclipsed John for pure speed.
Unfortunately, &lt;a href="https://www.bbc.com/news/technology-55755820"&gt;graphics cards are a bit hard to come by in
2021&lt;/a&gt;. I decided to take a look
at the options for running &lt;code&gt;hashcat&lt;/code&gt; on Google Cloud.&lt;/p&gt;</description></item><item><title>Making: A Desk Clamp for Light Panels</title><link>https://systemoverlord.com/2021/03/31/making-a-desk-clamp-for-light-panels.html</link><pubDate>Wed, 31 Mar 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/03/31/making-a-desk-clamp-for-light-panels.html</guid><description>&lt;p&gt;On a little bit of a tangent from my typical security posting, I thought I&amp;rsquo;d
include some of my &amp;ldquo;making&amp;rdquo; efforts.&lt;/p&gt;
&lt;p&gt;Due to the working from home for an extended period of time, I wanted to improve
my video-conferencing setup somewhat. I have my back to windows, so the
lighting is pretty bad, so I wanted to get some lights. I didn&amp;rsquo;t want to spend
&lt;a href="https://amzn.to/3sHCABD"&gt;big money&lt;/a&gt;, so I got this set of &lt;a href="https://amzn.to/3rzYDJj"&gt;Neewer USB-powered
lights&lt;/a&gt;. It came with tripod bases, monopod-style
stands, and ball heads to mount the lights.&lt;/p&gt;</description></item><item><title>BSidesSF 2021 CTF: Net Matroyshka (Author Writeup)</title><link>https://systemoverlord.com/2021/03/12/bsidessf-2021-ctf-net-matroyshka-author-writeup.html</link><pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/03/12/bsidessf-2021-ctf-net-matroyshka-author-writeup.html</guid><description>&lt;p&gt;Net Matroyshka was one of our &amp;ldquo;1337&amp;rdquo; tagged challenges for the 2021 BSidesSF
CTF. This indicated it was particularly hard, and our players can probably
confirm that.&lt;/p&gt;
&lt;p&gt;If you haven&amp;rsquo;t played our CTF in the past, you might not be familiar with the
Matryoshka name. (Yep, I misspelled Matryoshka this year and didn&amp;rsquo;t catch it
before we launched.) It refers to the nesting &lt;a href="https://en.wikipedia.org/wiki/Matryoshka_doll"&gt;Matryoshka
dolls&lt;/a&gt;, and we&amp;rsquo;ve been doing a
series of challenges where they contain layers to be solved, often by different
encodings, formats, etc. This year, it was layers of PCAPs for some network
forensics challenges.&lt;/p&gt;</description></item><item><title>BSidesSF 2021 CTF: CuteSrv (Author Writeup)</title><link>https://systemoverlord.com/2021/03/08/bsidessf-2021-ctf-cutesrv-author-writeup.html</link><pubDate>Mon, 08 Mar 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/03/08/bsidessf-2021-ctf-cutesrv-author-writeup.html</guid><description>&lt;p&gt;I authored the BSidesSF 2021 CTF Challenge &amp;ldquo;CuteSrv&amp;rdquo;, which is a service to
display cute pictures. The description from the scoreboard:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Last year was pretty tough for all of us. I built this service of cute photos
to help cheer you up. We do moderate for cuteness, so no inappropriate photos
please!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Like my other write-ups, I&amp;rsquo;ll do this from the perspective of a player playing
through and try not to assume internal knowledge.&lt;/p&gt;</description></item><item><title>BSidesSF 2021 CTF: Encrypted Bin (Author Writeup)</title><link>https://systemoverlord.com/2021/03/08/bsidessf-2021-ctf-encryptbin-author-writeup.html</link><pubDate>Mon, 08 Mar 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/03/08/bsidessf-2021-ctf-encryptbin-author-writeup.html</guid><description>&lt;p&gt;I was the author for the BSidesSF 2021 CTF Challenge &amp;ldquo;Encrypted Bin&amp;rdquo;, which is
an encrypted pastebin service. The description from the scoreboard:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I&amp;rsquo;ve always wanted to build an encrypted pastebin service.
Hope I&amp;rsquo;ve done it correctly. (Look in &lt;code&gt;/home/flag/&lt;/code&gt; for the flag.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I thought I&amp;rsquo;d do a walk through of how I expected players to solve the
challenge, so I&amp;rsquo;ll write this as if I&amp;rsquo;m playing the challenge.&lt;/p&gt;
&lt;p&gt;Visiting the web service, we find an upload page for text and not much else.
When we perform an upload, we see that we&amp;rsquo;re redirected to a page to view the
encrypted upload:&lt;/p&gt;</description></item><item><title>Is Reusing an Old Mac Mini Worth It?</title><link>https://systemoverlord.com/2021/02/23/is-reusing-an-old-mac-mini-worth-it.html</link><pubDate>Tue, 23 Feb 2021 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2021/02/23/is-reusing-an-old-mac-mini-worth-it.html</guid><description>&lt;p&gt;I was cleaning up some old electronics (I&amp;rsquo;m a bit of a pack rat) and came across
a Mac Mini I&amp;rsquo;ve owned since 2009. I was curious whether it still worked and
whether it could get useful work done. This turned out to be more than a 5
minute experiment, so I thought I&amp;rsquo;d write it up here as it was just an
interesting little test.&lt;/p&gt;</description></item><item><title>Merry Christmas: 2020 Holiday Ornament</title><link>https://systemoverlord.com/2020/12/25/merry-christmas-2020-holiday-ornament.html</link><pubDate>Fri, 25 Dec 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/12/25/merry-christmas-2020-holiday-ornament.html</guid><description>&lt;p&gt;First off, I want to wish everyone a Happy Holidays and a Merry Christmas. I
know 2020 has been a hard year for so many, and I hope you and your families are
healthy and making it through the year.&lt;/p&gt;
&lt;p&gt;Over the past few years, I&amp;rsquo;ve gotten into making holiday ornaments for friends
and family. In 2017, I did a &lt;a href="https://systemoverlord.com/2017/12/24/2017-christmas-ornament.html"&gt;snowflake PCB ornament&lt;/a&gt;.
In 2018, I used laser cutting service &lt;a href="https://www.ponoko.com/"&gt;Ponoko&lt;/a&gt; to cut
acrylic fir trees with interlocking pieces. In 2019, I used my new &lt;a href="https://amzn.to/3hlYXb8"&gt;3D
printer&lt;/a&gt; to print 3-dimensional snowflakes. In 2020,
I&amp;rsquo;ve returned to my roots and gone with another PCB design. As a huge fan of
DEFCON #badgelife, it felt appropriate to go back this way. I ended up with a
touch-sensitive snowman with 6 LEDs.&lt;/p&gt;</description></item><item><title>Hacker Holiday Gift Guide - 2020 Edition</title><link>https://systemoverlord.com/2020/11/26/hacker-holiday-gift-guide-2020-edition.html</link><pubDate>Thu, 26 Nov 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/11/26/hacker-holiday-gift-guide-2020-edition.html</guid><description>&lt;p&gt;Welcome to the 2020 edition of my Hacker Holiday Gift Guide! This has been a
trying year for all of us, but I sincerely hope you and your family are happy
and healthy as this year comes to an end.&lt;/p&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;p&gt;{:.no_toc}&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TOC
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="general-security"&gt;General Security&lt;/h2&gt;
&lt;h3 id="protonmail-subscription"&gt;ProtonMail Subscription&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;ProtonMail&lt;/strong&gt; is a great encrypted mail provider for those with an interest in
privacy or cryptography. They offer &lt;a href="https://shop.protonmail.com/collections/proton-gift-cards"&gt;gift
cards&lt;/a&gt; for
subscriptions to both ProtonMail and ProtonVPN, their VPN service.&lt;/p&gt;</description></item><item><title>Course Review: Reverse Engineering with Ghidra</title><link>https://systemoverlord.com/2020/10/17/course-review-reverse-engineering-with-ghidra.html</link><pubDate>Sat, 17 Oct 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/10/17/course-review-reverse-engineering-with-ghidra.html</guid><description>&lt;p&gt;If you&amp;rsquo;re a prior reader of the blog, you probably know that when I have the
opportunity to take a training class, I like to write a review of the course.
It&amp;rsquo;s often hard to find public feedback on trainings, which feels frustrating
when you&amp;rsquo;re spending thousands of dollars on that course.&lt;/p&gt;
&lt;p&gt;Last week, I took the &amp;ldquo;&lt;a href="http://infiltratecon.com/conference/training/reverse-engineering-with-ghidra.html"&gt;Reverse Engineering with
Ghidra&lt;/a&gt;&amp;rdquo;
taught by &lt;a href="https://twitter.com/0xjeremy"&gt;Jeremy Blackthorne (0xJeremy)&lt;/a&gt; of the
&lt;a href="https://www.bostoncybernetics.org/"&gt;Boston Cybernetics Institute&lt;/a&gt;. It was
ostensibly offered as part of the Infiltrate Conference, but 2020 being what it
is, there was no conference and it was just an online training. Unfortunately
for me, it was being run on East Coast time and I&amp;rsquo;m on the West Coast, so I got
to enjoy some &lt;em&gt;early&lt;/em&gt; mornings.&lt;/p&gt;</description></item><item><title>Red Teaming: Why Organizations Hack Themselves</title><link>https://systemoverlord.com/projects/redteaming.html</link><pubDate>Tue, 06 Oct 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/redteaming.html</guid><description>&lt;p&gt;Red Teaming or &amp;ldquo;Offensive Security&amp;rdquo; is a technique in which an organization
undergoes a simulated attack by an adversary to discover weaknesses in their
security posture.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve given a few talks on the matter, my standard slide deck is below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://systemoverlord.com/static/attachments/redteaming.pdf"&gt;Slides&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Lessons Learned from SSH Credential Honeypots</title><link>https://systemoverlord.com/2020/09/04/lessons-learned-from-ssh-credential-honeypots.html</link><pubDate>Fri, 04 Sep 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/09/04/lessons-learned-from-ssh-credential-honeypots.html</guid><description>&lt;p&gt;For the past few months, I&amp;rsquo;ve been running a handful of SSH Honeypots on some
cloud providers, including &lt;a href="https://cloud.google.com"&gt;Google Cloud&lt;/a&gt;,
&lt;a href="https://m.do.co/c/b2cffefc9c81"&gt;DigitalOcean&lt;/a&gt;, and
&lt;a href="https://shareasale.com/r.cfm?b=1380239&amp;amp;u=2497236&amp;amp;m=46483&amp;amp;urllink=&amp;amp;afftrack="&gt;NameCheap&lt;/a&gt;.
As opposed to more complicated honeypots looking at attacker behavior, I decided
to do something simple and was only interested in where they were coming from,
what tools might be in use, and what credentials they are attempting to use to
authenticate. My dataset includes 929,554 attempted logins over a period of a
little more than 3 months.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re looking for a big surprise, I&amp;rsquo;ll go ahead and let you down easy: my
analysis hasn&amp;rsquo;t located any new botnets or clusters of attackers. But it&amp;rsquo;s been
a fascinating project nonetheless.&lt;/p&gt;</description></item><item><title>The Wio Terminal - Integrated Making?</title><link>https://systemoverlord.com/2020/08/02/the-wio-terminal-integrated-making.html</link><pubDate>Sun, 02 Aug 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/08/02/the-wio-terminal-integrated-making.html</guid><description>&lt;p&gt;&lt;em&gt;Please note: Seeed Technology Co Ltd (aka Seeed Studio) provided the Wio
Terminal for use in this post. I have not been compensated in any other way
for this post. If you&amp;rsquo;re not familiar with Seeed, there&amp;rsquo;s an introduction to
their offerings at the bottom.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;While the Arduino and similar development boards have been available for more
than a decade, there has been a trend as of late to abstract away the hardware
aspects and allow users to focus on it at a higher level. First, we had
standard interfaces to which you could attach &amp;ldquo;shields&amp;rdquo;, &amp;ldquo;hats&amp;rdquo;, &amp;ldquo;featherwings&amp;rdquo;,
or other add-on boards. Then came options like Seeed&amp;rsquo;s &lt;a href="https://wiki.seeedstudio.com/Grove_System/"&gt;Grove
System&lt;/a&gt; and SparkFun&amp;rsquo;s
&lt;a href="https://www.sparkfun.com/qwiic"&gt;Qwiic&lt;/a&gt;, which were both I2C busses exposed over
a standardized connector, allowing the connection of many peripherals at once.
There&amp;rsquo;s also been an expansion into development boards with built-in sensors and
outputs, like Adafruit&amp;rsquo;s &lt;a href="https://www.adafruit.com/index.php?main_page=category&amp;amp;cPath=888"&gt;Circuit
Playground&lt;/a&gt;.
The &lt;a href="https://www.seeedstudio.com/Wio-Terminal-p-4509.html"&gt;Wio Terminal&lt;/a&gt;
is the most sophisticated and complete incarnation of this
trend that I&amp;rsquo;ve seen thus far.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/wio/wio_main.png" alt="Wio Terminal"&gt;{:.center}&lt;/p&gt;
&lt;p&gt;The first thing you&amp;rsquo;ll notice about the Wio Terminal is it&amp;rsquo;s 2.4&amp;quot; LCD screen,
but under the hood, it&amp;rsquo;s powered by an Atmel SAMD51 Microcontoller (120 MHz ARM
Cortex M4F) paired with a Realtek RTL8720DN for WiFi and BLE. It has a 5 way
switch, multiple buttons, and a Micro-SD card slot. Embedded peripherals
include an accelerometer, microphone, speaker, and light sensor. I/O is
available via a Raspberry Pi compatible 40 pin header, 2 Grove interfaces, and
USB type C.&lt;/p&gt;</description></item><item><title>Security 101: Backups &amp; Protecting Backups</title><link>https://systemoverlord.com/2020/07/26/security-101-backups-protecting-backups.html</link><pubDate>Sun, 26 Jul 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/07/26/security-101-backups-protecting-backups.html</guid><description>&lt;p&gt;I can already hear some readers saying that backups are an IT problem, and not a
security problem. The reality, of course, is that they&amp;rsquo;re both. Information
security is commonly thought of in terms of the
&lt;a href="https://en.wikipedia.org/wiki/Information_security#Key_concepts"&gt;CIA Triad&lt;/a&gt; &amp;ndash;
that is, Confidentiality, Integrity, and Availability, and it&amp;rsquo;s important to
remember those concepts when dealing with backups.&lt;/p&gt;
&lt;p&gt;We need look no farther than the troubles &lt;a href="https://techcrunch.com/2020/07/25/garmin-outage-ransomware-sources/"&gt;Garmin is
having&lt;/a&gt; in
dealing with a ransomware attack to find evidence that backups are critical.
It&amp;rsquo;s unclear whether Garmin lacked adequate backups, had their backups
ransomware&amp;rsquo;d, or is struggling to restore from backups. (It&amp;rsquo;s possible that
they never considered an issue of this scale and simply aren&amp;rsquo;t resourced to
restore this quickly, but given that the outage remains a complete outage after
4 days, I&amp;rsquo;d bet on one of those 3 conditions.)&lt;/p&gt;</description></item><item><title>Raspberry Pi as a Penetration Testing Implant (Dropbox)</title><link>https://systemoverlord.com/2020/07/14/raspberry-pi-as-a-penetration-testing-implant.html</link><pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/07/14/raspberry-pi-as-a-penetration-testing-implant.html</guid><description>&lt;p&gt;&lt;a href="https://www.amazon.com/Raspberry-Model-2019-Quad-Bluetooth/dp/B07TC2BK1X/ref=as_li_ss_il?cv_ct_cx=raspberry+pi&amp;amp;dchild=1&amp;amp;keywords=raspberry+pi&amp;amp;pd_rd_i=B07TC2BK1X&amp;amp;pd_rd_r=cf3c4a78-81c5-4c9a-921f-9c70bae2796e&amp;amp;pd_rd_w=XB1nE&amp;amp;pd_rd_wg=PG6Eq&amp;amp;pf_rd_p=1da5beeb-8f71-435c-b5c5-3279a6171294&amp;amp;pf_rd_r=6XKT1T3E2254DKNEXTAY&amp;amp;psc=1&amp;amp;qid=1594437202&amp;amp;sr=1-1-70f7c15d-07d8-466a-b325-4be35d7258cc&amp;amp;linkCode=li3&amp;amp;tag=systemovecom-20&amp;amp;linkId=cf0fb5b6f95cfb61bff474270a0b5ea1&amp;amp;language=en_US"&gt;&lt;img src="https://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=B07TC2BK1X&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=systemovecom-20&amp;amp;language=en_US" alt="Raspberry Pi 4"&gt;{:.left .amzimg}&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sometimes, especially in the time of COVID-19, you can&amp;rsquo;t go onsite for a
penetration test. Or maybe you can only get in briefly on a physical test, and
want to leave behind a dropbox (literally, a box that can be &amp;ldquo;dropped&amp;rdquo; in place
and let the tester leave, no relation to the file-sharing company by the same
name) that you can remotely connect to. Of course, it could also be part of the
desired test itself if incident response testing is in-scope &amp;ndash; can they find
your malicious device?&lt;/p&gt;
&lt;p&gt;In all of these cases, one great option is a small single-board computer, the
best known of which is the &lt;a href="https://amzn.to/3fl8jSn"&gt;Raspberry Pi&lt;/a&gt;. It&amp;rsquo;s
inexpensive, compact, easy to come by, and very flexible. It may not be perfect
in every case, but it gets the job done in a lot of cases.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll use this opportunity to discuss the setups I&amp;rsquo;ve done in the past and the
things I would change when doing it again or alternatives I considered. I hope
some will find this useful. Some familiarity with the Linux command line is
assumed.&lt;/p&gt;</description></item><item><title>Comparing 3 Great Web Security Books</title><link>https://systemoverlord.com/2020/07/10/comparing-3-great-web-security-books.html</link><pubDate>Fri, 10 Jul 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/07/10/comparing-3-great-web-security-books.html</guid><description>&lt;p&gt;I thought about using a clickbait title like &amp;ldquo;Is this the best web security
book?&amp;rdquo;, but I just couldn&amp;rsquo;t do that to you all. Instead, I want to compare and
contrast 3 books, all of which I consider great books about web security. I
won&amp;rsquo;t declare any single book &amp;ldquo;the best&amp;rdquo; because that&amp;rsquo;s too subjective. Best
depends on where you&amp;rsquo;re coming from and what you&amp;rsquo;re trying to achieve.&lt;/p&gt;
&lt;p&gt;The 3 books I&amp;rsquo;m taking a look at are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://amzn.to/2ZUg4bK"&gt;Real-World Bug Hunting: A Field Guide to Web
Hacking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/2ZVZojX"&gt;The Web Application Hacker&amp;rsquo;s Handbook: Finding and Exploiting Security
Flaws&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://amzn.to/2W5KQ05"&gt;The Tangled Web: A Guide to Securing Modern Web
Applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Security 101: Encryption, Hashing, and Encoding</title><link>https://systemoverlord.com/2020/07/05/security-101-encryption-hashing-and-encoding.html</link><pubDate>Sun, 05 Jul 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/07/05/security-101-encryption-hashing-and-encoding.html</guid><description>&lt;p&gt;Encryption, Hashing, and Encoding are commonly confused topics by those new to
the information security field. I see these confused even by experienced
software engineers, by developers, and by new hackers. It&amp;rsquo;s really important to
understand the differences &amp;ndash; not just for semantics, but because the actual
uses of them are vastly different.&lt;/p&gt;
&lt;p&gt;I do not claim to be the first to try to clarify this distinction, but there&amp;rsquo;s
still a lack of clarity, and I wanted to include some exercises for you to give
a try. I&amp;rsquo;m a very hands-on person myself, so I&amp;rsquo;m hoping the hands-on examples
are useful.&lt;/p&gt;</description></item><item><title>Security 101: Beginning with Kali Linux</title><link>https://systemoverlord.com/2020/07/03/security-101-beginning-with-kali-linux.html</link><pubDate>Fri, 03 Jul 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/07/03/security-101-beginning-with-kali-linux.html</guid><description>&lt;p&gt;I&amp;rsquo;ve found a lot of people who are new to security, particularly those with an
interest in penetration testing or red teaming, install &lt;a href="https://kali.org"&gt;Kali
Linux&lt;/a&gt;™&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; as one of their first forays into the
&amp;ldquo;hacking&amp;rdquo; world. In general, there&amp;rsquo;s absolutely nothing wrong with that.
Unfortunately, I also see many who end up stuck on this journey: either stuck in
the setup/installation phase, or just not knowing what to do once they get into
Kali.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t going to be a tutorial about how to use the tools within Kali (though
I hope to get to some of them eventually), but it will be a tour of the
operating system&amp;rsquo;s basic options and functionality, and hopefully will help
those new to the distribution get more oriented.&lt;/p&gt;</description></item><item><title>Hacker Culture Reading List</title><link>https://systemoverlord.com/2020/06/26/security-culture-reading-list.html</link><pubDate>Fri, 26 Jun 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/06/26/security-culture-reading-list.html</guid><description>&lt;p&gt;A friend recently asked me if I could recommend some reading about hacking and
security culture. I gave a couple of quick answers, but it inspired me to write
a blog post in case anyone else is looking for similar content. Unless
otherwise noted, I&amp;rsquo;ve read all of these books/resources and can recommend them.&lt;/p&gt;</description></item><item><title>Stop EARN IT and LAED</title><link>https://systemoverlord.com/2020/06/25/stop-earn-it-and-laed.html</link><pubDate>Thu, 25 Jun 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/06/25/stop-earn-it-and-laed.html</guid><description>&lt;p&gt;Unless you&amp;rsquo;ve been living under a rock, you know that the Crypto Wars are back.
Politicians, seemingly led by Senator Lindsey Graham of South Carolina, seem
bound and determined to undermine user&amp;rsquo;s privacy and security online to
strengthen the power of the police state. It will have disproportionate affects
on the innocent rather than criminals and will raise operating costs and make it
much harder for small businesses and startups to compete in the US.&lt;/p&gt;</description></item><item><title>Private CA with X.509 Name Constraints</title><link>https://systemoverlord.com/2020/06/14/private-ca-with-x-509-name-constraints.html</link><pubDate>Sun, 14 Jun 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/06/14/private-ca-with-x-509-name-constraints.html</guid><description>&lt;p&gt;I wanted to run a small private &lt;a href="https://en.wikipedia.org/wiki/Certificate_authority"&gt;Certificate
Authority&lt;/a&gt; for some of my
internal services. Since these aren&amp;rsquo;t reachable from the internet, and some of
them are on network segments without internet connectivity, using a public ACME
CA like &lt;a href="https://letsencrypt.org/"&gt;Let&amp;rsquo;s Encrypt&lt;/a&gt; was inconvenient. On the
other hand, if I run my own private CA and the keys get compromised, it could be
used to &lt;a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack"&gt;MITM&lt;/a&gt; all my
internet traffic. While that&amp;rsquo;s unlikely to happen, I decided to look for a
better option.&lt;/p&gt;
&lt;p&gt;It turns out that the idea of a &amp;ldquo;limited purpose&amp;rdquo; Certificate Authority is not
new. &lt;a href="https://tools.ietf.org/html/rfc5280"&gt;RFC 5280&lt;/a&gt; provides for something
called &amp;ldquo;Name Constraints&amp;rdquo;, which allow an X.509 CA to have a scope limited to
certain names, including the parent domains of the certificates issued by the
CA. For example, a host constraint of &lt;code&gt;.example.com&lt;/code&gt; allows the CA to issue
certificates for anything under &lt;code&gt;.example.com&lt;/code&gt;, but not any other host. For
other hosts, clients will fail to validate the chain.&lt;/p&gt;
&lt;p&gt;This hasn&amp;rsquo;t always been supported by TLS libraries and browsers, but all current
browsers do support Name Constraints. Consequently, this is an approach to
narrow the risks associated with a CA compromise for hosts other than those
covered by the constraints in the CA certificate.&lt;/p&gt;</description></item><item><title>Book Review: Operator Handbook</title><link>https://systemoverlord.com/2020/05/25/book-review-operator-handbook.html</link><pubDate>Mon, 25 May 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/05/25/book-review-operator-handbook.html</guid><description>&lt;p&gt;When Netmux first released the &lt;a href="https://amzn.to/2XrjxNI"&gt;Operator Handbook&lt;/a&gt;, I
had to check it out. I had some initial impressions, but wanted to take some
time to refine my thoughts on it before putting together a full review of the
book. The book review will be a bit short, but that&amp;rsquo;s because this is a rather
straightforward book.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://amzn.to/2XrjxNI"&gt;&lt;img src="https://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=B086SG77HS&amp;amp;Format=_SL160_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=systemovecom-20&amp;amp;language=en_US" alt="Operator Handbook"&gt;&lt;/a&gt;{:.right}&lt;/p&gt;
&lt;p&gt;I think the first things to know is that this book is &lt;em&gt;strictly&lt;/em&gt; a reference.
There&amp;rsquo;s nothing to read and learn things from in a cohesive way. It would be
like reading a dictionary or a theasaurus &amp;ndash; while you might learn things
reading it, it&amp;rsquo;s not going to be in any meaningful way. There&amp;rsquo;s lots of things
you can learn on a particular very narrow topic, but it is mostly organized to
be &amp;ldquo;in the moment&amp;rdquo;, not as a &amp;ldquo;learning in advance&amp;rdquo; kind of thing.&lt;/p&gt;</description></item><item><title>Everyone in InfoSec Should Know How to Program</title><link>https://systemoverlord.com/2020/05/22/everyone-in-infosec-should-known-how-to-program.html</link><pubDate>Fri, 22 May 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/05/22/everyone-in-infosec-should-known-how-to-program.html</guid><description>&lt;p&gt;Okay, I&amp;rsquo;m not going to lie, the title was a bit of clickbait. I don&amp;rsquo;t believe
that everyone in InfoSec really needs to know how to program, just &lt;em&gt;almost&lt;/em&gt;
everyone. Now, before my fellow practitioners jump on me, saying they can do
their job &lt;em&gt;just fine&lt;/em&gt; without programming, I&amp;rsquo;d appreciate you hearing me out.&lt;/p&gt;
&lt;p&gt;So, how&amp;rsquo;d I get on this? Well, a thread on a private Slack discussing whether
Red Team operators should know how to program, followed by people on Reddit
asking if they should know how to program. I thought I&amp;rsquo;d share my views in a
concrete (and longer) format here.&lt;/p&gt;</description></item><item><title>Test Interface for Multiple Embedded Protocols</title><link>https://systemoverlord.com/projects/timep.html</link><pubDate>Sat, 09 May 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/timep.html</guid><description>&lt;p&gt;The Test Interface for Multiple Embedded Protocols (TIMEP)
is an Open Source Hardware board based around the FTDI FT2232H chip to
provide breakouts, buffering, and level conversion for a number of common
embedded hardware interfaces. At present, this includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SPI&lt;/li&gt;
&lt;li&gt;I2C&lt;/li&gt;
&lt;li&gt;JTAG&lt;/li&gt;
&lt;li&gt;SWD&lt;/li&gt;
&lt;li&gt;UART&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s intended to be easy to use and work with open source software, including
tools like OpenOCD and Flashrom.&lt;/p&gt;
&lt;p&gt;See the &lt;a href="https://github.com/Matir/timep"&gt;project on GitHub&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Announcing TIMEP: Test Interface for Multiple Embedded Protocols</title><link>https://systemoverlord.com/2020/05/08/announcing-timep-test-interface-for-multiple-embedded-protocols.html</link><pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/05/08/announcing-timep-test-interface-for-multiple-embedded-protocols.html</guid><description>&lt;p&gt;Today I&amp;rsquo;m releasing a new open source hardware (OSHW) project &amp;ndash; the Test
Interface for Multiple Embedded Protocols (TIMEP). It&amp;rsquo;s based around the FTDI
FT2232H chip and logic level shifters to provide breakouts, buffering, and level
conversion for a number of common embedded hardware interfaces. At present,
this includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SPI&lt;/li&gt;
&lt;li&gt;I2C&lt;/li&gt;
&lt;li&gt;JTAG&lt;/li&gt;
&lt;li&gt;SWD&lt;/li&gt;
&lt;li&gt;UART&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/timep/timep.png" alt="TIMEP"&gt;&lt;/p&gt;
&lt;p&gt;This is a revision 4 board, made using &lt;a href="https://oshpark.com"&gt;OSHPark&amp;rsquo;s&lt;/a&gt; &amp;ldquo;After
Dark&amp;rdquo; service &amp;ndash; black substrate, clear solder mask, so you can see every trace
on the board. (Strangely, copper looks very matte under the solder mask,
resulting in more of a tan color than the shiny copper one might expect to see.)&lt;/p&gt;</description></item><item><title>Security 101: Two Factor Authentication (2FA)</title><link>https://systemoverlord.com/2020/05/07/security-101-two-factor-authentication-2fa.html</link><pubDate>Thu, 07 May 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/05/07/security-101-two-factor-authentication-2fa.html</guid><description>&lt;p&gt;In this part of my &amp;ldquo;Security 101&amp;rdquo; series, I want to talk about different
mechanisms for two factor authentication (2FA) as well as why we need it in the
first place. Most of my considerations will be for the web and web
applications, and I&amp;rsquo;m explicitly ignoring local login (e.g., device unlock)
because the threat model is so different.&lt;/p&gt;</description></item><item><title>So You Want a Red Team Exercise?</title><link>https://systemoverlord.com/2020/04/17/so-you-want-a-red-team-exercise.html</link><pubDate>Fri, 17 Apr 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/04/17/so-you-want-a-red-team-exercise.html</guid><description>&lt;p&gt;I originally wrote this for work, where we get a lot of requests to &amp;ldquo;Red Team&amp;rdquo;
&lt;em&gt;something&lt;/em&gt;. In a lot of these cases, a white box security review or other form
of security testing is more appropriate. Because I&amp;rsquo;d heard through the
grapevine that other Red Teams struggle with the same issues, I wanted to make
it available publicly. Thanks to my management for their support and permission
to take this public!&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;d like to use or adapt this within your organization, feel free, but
please give credit to the Google Red Team.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;We frequently get requests to perform Red Team engagements on various products &amp;amp;
services around our company. These requests often have misconceptions about the
services our team provides. This document is intended to help those seeking a
Red Team engagement have a better understanding of what we do, how we do it, and
why we do it the way we do, and how to engage with us for optimal effectiveness.&lt;/p&gt;</description></item><item><title>Security 101: Learning From Home</title><link>https://systemoverlord.com/2020/04/08/security-101-learning-from-home.html</link><pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/04/08/security-101-learning-from-home.html</guid><description>&lt;p&gt;Outside, there&amp;rsquo;s a pandemic. We&amp;rsquo;re being asked to stay indoors, shelter in
place, and avoid social contact. Conferences are cancelled, live trainings are
out of the question. Some businesses are closing (hopefully temporarily) and
there are unfortunate layoffs and furloughs across the board. It&amp;rsquo;s a tough
time.&lt;/p&gt;
&lt;p&gt;Rather than dwell on the negative, focusing on something else can help you get
through this mentally. Learning something or growing your skills can both help
take away from the anxiety of the situation and also help you come out of this a
better person. Whether you&amp;rsquo;re just getting started in security or looking to
advance your career, or just looking to become more security-aware as an
individual, there are some great options for learning from home. My lists below
are by no means comprehensive &amp;ndash; there&amp;rsquo;s more content than I can shake a stick
at. However, these are intended to be good for beginners and have a diverse set
of content. If you know of something I should have included, please reach out.&lt;/p&gt;</description></item><item><title>Security 101: X-Forwarded-For vs. Forwarded vs PROXY</title><link>https://systemoverlord.com/2020/03/25/security-101-x-forwarded-for-vs-forwarded-vs-proxy.html</link><pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/03/25/security-101-x-forwarded-for-vs-forwarded-vs-proxy.html</guid><description>&lt;p&gt;Over time, there have been a number of approaches to indicating the original
client and the route that a request took when forwarded across multiple proxy
servers. For HTTP(S), the three most common approaches you&amp;rsquo;re likely to
encounter are the &lt;code&gt;X-Forwarded-For&lt;/code&gt; and &lt;code&gt;Forwarded&lt;/code&gt; HTTP headers, and the &lt;code&gt;PROXY protocol&lt;/code&gt;. They&amp;rsquo;re all a little bit different, but also the same in many ways.&lt;/p&gt;
&lt;h2 id="x-forwarded-for"&gt;X-Forwarded-For&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;X-Forwarded-For&lt;/code&gt; is the oldest of the 3 solutions, and was probably introduced
by the Squid caching proxy server. As the &lt;code&gt;X-&lt;/code&gt; prefix implies, it&amp;rsquo;s not an
official standard (i.e., an IETF RFC). The header is an HTTP multi-valued
header, which means that it can have one or more values, each separated by a
comma. Each proxy server should append the IP address of the host from which it
received the request. The resulting header looks something like:&lt;/p&gt;</description></item><item><title>Security 101: Virtual Private Networks (VPNs)</title><link>https://systemoverlord.com/2020/03/22/security-101-virtual-private-networks-vpns.html</link><pubDate>Sun, 22 Mar 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/03/22/security-101-virtual-private-networks-vpns.html</guid><description>&lt;p&gt;I&amp;rsquo;m trying something new &amp;ndash; a &amp;ldquo;Security 101&amp;rdquo; series. I hope to make these
topics readable for those with no security background. I&amp;rsquo;m going to pick topics
that are either related to my other posts (such as foundational knowledge) or
just things that I think are relevant or misunderstood.&lt;/p&gt;
&lt;p&gt;Today, I want to cover Virtual Private Networks, commonly known as VPNs. First
I want to talk about what they are and how they work, then about commercial VPN
providers, and finally about common misconceptions.&lt;/p&gt;</description></item><item><title>BSides SF 2020 CTF: Infrastructure Engineering and Lessons Learned</title><link>https://systemoverlord.com/2020/02/27/bsides-sf-2020-ctf-infrastructure-engineering.html</link><pubDate>Thu, 27 Feb 2020 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2020/02/27/bsides-sf-2020-ctf-infrastructure-engineering.html</guid><description>&lt;p&gt;Last weekend, I had the pleasure of running the BSides San Francisco CTF along
with friends and co-conspirators &lt;a href="https://twitter.com/itsc0rg1"&gt;c0rg1&lt;/a&gt;,
&lt;a href="https://twitter.com/bmenrigh"&gt;symmetric&lt;/a&gt; and
&lt;a href="https://twitter.com/iagox86"&gt;iagox86&lt;/a&gt;. This is something like the 4th or 5th
year in a row that I&amp;rsquo;ve been involved in this, and every year, we try to do a
better job than the year before, but we also try to do new things and push the
boundaries. I&amp;rsquo;m going to review some of the infrastructure we used, challenges
we faced, and lessons we learned for next year.&lt;/p&gt;</description></item><item><title>Hacker Holiday Gift Guide (HHGG) 2019</title><link>https://systemoverlord.com/2019/11/27/hacker-holiday-gift-guide-hhgg-2019.html</link><pubDate>Wed, 27 Nov 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/11/27/hacker-holiday-gift-guide-hhgg-2019.html</guid><description>&lt;p&gt;I wanted to put together a few thoughts I had on gifts for my fellow hackers
this holiday season. I&amp;rsquo;m including a variety of different things to appeal to
almost anyone involved in information security or hardware hacking, but I&amp;rsquo;m
obviously a bit biased to my own areas of interest. I&amp;rsquo;ve tried to roughly
categorize things, but they tend to transcend boundaries somewhat. Got a
suggestion I missed? Hit me up on &lt;a href="https://twitter.com/matir"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Backing up to Google Cloud Storage with Duplicity and Service Accounts</title><link>https://systemoverlord.com/2019/09/23/backing-up-to-google-cloud-storage-with-duplicity-and-service-accounts.html</link><pubDate>Mon, 23 Sep 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/09/23/backing-up-to-google-cloud-storage-with-duplicity-and-service-accounts.html</guid><description>&lt;p&gt;I wanted to use &lt;a href="http://duplicity.nongnu.org/"&gt;duplicity&lt;/a&gt; to backup to &lt;a href="https://cloud.google.com/storage/"&gt;Google
Cloud Storage&lt;/a&gt;. I looked into it briefly and
found that the &lt;a href="http://boto.cloudhackers.com/en/latest/"&gt;boto&lt;/a&gt; library,
originally for AWS, also supports GCS, but only using authorization tokens. I&amp;rsquo;d
rather use a service account, for which authorization tokens are not available.&lt;/p&gt;
&lt;p&gt;I looked into the options and the best information I could find was a &lt;a href="https://medium.com/google-cloud/how-to-make-ubuntu-backups-using-duplicity-and-google-cloud-storage-849edcc4196e"&gt;Medium
post&lt;/a&gt;,
but it also describes using authorization tokens and creating a separate
GMail/Google Apps account for the access. I&amp;rsquo;d really prefer to go with a
service account to avoid having to sign up another account, and to be able to
use more granular ACLs for the service account.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2019: The DEF CON Data Duplication Village</title><link>https://systemoverlord.com/2019/09/05/hacker-summer-camp-2019-the-def-con-data-duplication-village.html</link><pubDate>Thu, 05 Sep 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/09/05/hacker-summer-camp-2019-the-def-con-data-duplication-village.html</guid><description>&lt;p&gt;One last post from Summer Camp this year (it&amp;rsquo;s been a busy month!) &amp;ndash; this one
about the &amp;ldquo;Data Duplication Village&amp;rdquo; at DEF CON. In addition to talks, the Data
Duplication Village offers an opportunity to get your hands on the highest
quality hacker bits &amp;ndash; that is, copies of somewhere between 15 and 18TB of data
spread across 3 6TB hard drives.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d been curious about the DDV for a couple of years, but never participated
before. I decided to change that when I saw &lt;a href="https://amzn.to/2ZJNImn"&gt;6TB Ironwolf NAS
drives&lt;/a&gt; on sale a few weeks before DEF CON. I wasn&amp;rsquo;t
quite sure what to expect, as the description provided by the DDV is a little
bit sparse:&lt;/p&gt;</description></item><item><title>CVE-2019-10071: Timing Attack in HMAC Verification in Apache Tapestry</title><link>https://systemoverlord.com/2019/08/23/cve-2019-10071-timing-attack-in-hmac-verification-in-apache-tapestry.html</link><pubDate>Fri, 23 Aug 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/08/23/cve-2019-10071-timing-attack-in-hmac-verification-in-apache-tapestry.html</guid><description>&lt;h3 id="description"&gt;Description&lt;/h3&gt;
&lt;p&gt;Apache Tapestry uses HMACs to verify the integrity of objects stored on the
client side. This was added to address the Java deserialization vulnerability
disclosed in CVE-2014-1972. In the fix for the previous vulnerability, the
HMACs were compared by string comparison, which is known to be vulnerable to
timing attacks.&lt;/p&gt;
&lt;h3 id="affected-versions"&gt;Affected Versions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Apache Tapestry 5.3.6 through current releases.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mitigation"&gt;Mitigation&lt;/h3&gt;
&lt;p&gt;No new release of Tapestry has occurred since the issue was reported. Affected
organizations may want to consider locally applying commit
d3928ad44714b949d247af2652c84dae3c27e1b1.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2019: CTFs for Fun &amp; Profit</title><link>https://systemoverlord.com/2019/08/19/hacker-summer-camp-2019-ctfs-for-fun-and-profit.html</link><pubDate>Mon, 19 Aug 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/08/19/hacker-summer-camp-2019-ctfs-for-fun-and-profit.html</guid><description>&lt;p&gt;Okay, I&amp;rsquo;m back from Summer Camp and have caught up (slightly) on life. I had
the privilege of giving a talk at BSidesLV entitled &amp;ldquo;CTFs for Fun and Profit:
Playing Games to Build Your Skills.&amp;rdquo; I wanted to post a quick
&lt;a href="https://systemoverlord.com/static/attachments/ctfs_for_fun_and_profit.pdf"&gt;link to my slides&lt;/a&gt; and talk
about the IoT CTF I had the chance to play.&lt;/p&gt;
&lt;p&gt;I played in the IoT Village CTF at DEF CON, which was interesting because it
uses real-world devices with real-world vulnerabilities instead of the typical
made-up challenges in a CTF. On the other hand, I&amp;rsquo;m a little disappointed that
it seems pretty similar (maybe even the same) year-to-year, not providing much
variety or new learning experiences if you&amp;rsquo;ve played before.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2019: What I'm Bringing &amp; Protecting Yourself</title><link>https://systemoverlord.com/2019/07/27/hacker-summer-camp-2019-what-im-bringing.html</link><pubDate>Sat, 27 Jul 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/07/27/hacker-summer-camp-2019-what-im-bringing.html</guid><description>&lt;p&gt;I&amp;rsquo;ve begun to think about what I&amp;rsquo;ll take to Hacker Summer Camp this year, and I
thought I&amp;rsquo;d share some of it as part of my Hacker Summer Camp blog post series.
I hope it will be useful to veterans, but particularly to first timers who might
have no idea what to expect &amp;ndash; as that&amp;rsquo;s how I felt my first time.&lt;/p&gt;
&lt;p&gt;Since it&amp;rsquo;s gotten so close, I&amp;rsquo;ll also talk about what steps you should take to
protect yourself.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2019 Preview</title><link>https://systemoverlord.com/2019/05/02/hacker-summer-camp-2019-preview.html</link><pubDate>Thu, 02 May 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/05/02/hacker-summer-camp-2019-preview.html</guid><description>&lt;p&gt;Every year, I try to distill some of the changes, events, and information
surrounding the big week of computer security conferences in Las Vegas. This
week, including &lt;a href="https://blackhat.com"&gt;Black Hat&lt;/a&gt;, &lt;a href="https://bsideslv.org"&gt;BSides Las
Vegas&lt;/a&gt;, and &lt;a href="https://defcon.org"&gt;DEF CON&lt;/a&gt;, is what some
refer to as &amp;ldquo;Hacker Summer Camp&amp;rdquo; and is likely the largest gathering of computer
security professionals and hackers each year.&lt;/p&gt;</description></item><item><title>So You Want to Red Team?</title><link>https://systemoverlord.com/2019/03/26/so-you-want-to-red-team.html</link><pubDate>Tue, 26 Mar 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/03/26/so-you-want-to-red-team.html</guid><description>&lt;p&gt;So there&amp;rsquo;s a lot of confusion out there about Penetration Testing and Red
Teaming. I wanted to put together a list of resources for those familiar with
infosec or penetration testing who want to get into red teaming or at least get
a better understanding of the methodologies and techniques used by red teamers.&lt;/p&gt;
&lt;p&gt;First, it&amp;rsquo;s important to note that Red Teaming is predominantly comprised of two
things: alternative analysis and adversary simulation. Red teams do not attempt
to find &amp;ldquo;all the vulnerabilities&amp;rdquo; and do not usually try to have a wide breadth
of coverage. Instead, red teams seek to simulate an adversary with a particular
objective, predominantly to act as a &amp;ldquo;sparring partner&amp;rdquo; for blue teams. Keep in
mind, red teams are the only adversary that will debrief with the blue team so
that blue team can figure out what they missed or could have done differently.&lt;/p&gt;
&lt;p&gt;For more about the specific definition of Red Teaming, check out the
presentation &lt;a href="https://www.slideshare.net/TobyKohlenberg/red-teaming-probably-isnt-for-you-81283357"&gt;Red Teaming Probably Isn&amp;rsquo;t For You&lt;/a&gt;
by fellow red teamer Toby Kohlenberg.&lt;/p&gt;</description></item><item><title>Course Review: Applied Hardware Attacks: Rapid Prototying &amp; Hardware Implants</title><link>https://systemoverlord.com/2019/03/20/course-review-applied-hardware-attacks-rapid-prototying-hardware-implants.html</link><pubDate>Wed, 20 Mar 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/03/20/course-review-applied-hardware-attacks-rapid-prototying-hardware-implants.html</guid><description>&lt;p&gt;Over the past 4 days, I had the opportunity to take two hardware security
classes taught by &lt;a href="https://securinghardware.com/"&gt;Joe Fitzpatrick&lt;/a&gt;(&lt;a href="https://twitter.com/securelyfitz"&gt;@securelyfitz&lt;/a&gt;)
along with &lt;a href="https://twitter.com/_mg_"&gt;@_MG_&lt;/a&gt;. Both courses are part of the
&amp;ldquo;Applied Hardware Attacks&amp;rdquo; series of courses taught by Joe. The first course,
&amp;ldquo;Rapid Prototyping&amp;rdquo;, is focused on using 3D printers and PCB mills to build
interfaces to hardware systems. The second course, aptly named &amp;ldquo;Hardware
Implants&amp;rdquo; applies these skills to build hardware implants to perform attacks on
hardware systems. Both courses are
&lt;a href="https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies"&gt;very timely&lt;/a&gt;
and informative, as well as a lot of fun.&lt;/p&gt;</description></item><item><title>Certifications Aren't as Big a Deal as You Think</title><link>https://systemoverlord.com/2019/03/15/certifications-arent-as-big-a-deal-as-you-think.html</link><pubDate>Fri, 15 Mar 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/03/15/certifications-arent-as-big-a-deal-as-you-think.html</guid><description>&lt;p&gt;For some reason, security certifications get discussed a lot, particularly in
forums catering to those newer to the industry. (See, for example,
&lt;a href="https://reddit.com/r/asknetsec"&gt;/r/asknetsec&lt;/a&gt;.) Now I&amp;rsquo;m not talking about
business certifications (ISO, etc.) but personal certifications that allegedly
demonstrate some kind of skill on behalf of the individual. There seems to be a
lot of focus on certifications that you &amp;ldquo;need&amp;rdquo; or that will land you your dream
security job.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to make the claim that you should stop worrying about certifications
and instead spend your time learning things that will help you in the real
world &amp;ndash; or better yet, actually applying your skills in the real world. There
are likely some people who will strongly disagree with me, and that&amp;rsquo;s good, but
I want it to be a discussion that people think about, instead of just assuming
certifications are some kind of magic wand.&lt;/p&gt;</description></item><item><title>Running the BSides SF 2019 CTF</title><link>https://systemoverlord.com/2019/03/10/running-the-bsides-sf-2019-ctf.html</link><pubDate>Sun, 10 Mar 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/03/10/running-the-bsides-sf-2019-ctf.html</guid><description>&lt;p&gt;I&amp;rsquo;ve just written a &lt;a href="https://bsidessf.org/news/2019/03/running-the-bsides-sf-2019-ctf"&gt;post for the BSidesSF
blog&lt;/a&gt; about
running the BSidesSF 2019 CTF. Check it out and feel free to get in touch if
you have feedback.&lt;/p&gt;</description></item><item><title>BSides SF CTF Author Writeup: Flagsrv</title><link>https://systemoverlord.com/2019/03/08/bsides-sf-ctf-author-writeup-flagsrv.html</link><pubDate>Fri, 08 Mar 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/03/08/bsides-sf-ctf-author-writeup-flagsrv.html</guid><description>&lt;p&gt;Flagsrv was a 300 point web challenge in this year&amp;rsquo;s BSidesSF CTF. The
description was a simple one:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We&amp;rsquo;ve built a service for the sole purpose of serving up flags!&lt;/p&gt;
&lt;p&gt;The account you want is named &amp;lsquo;flag&amp;rsquo;.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>BSides SF CTF Author Writeup: Cloud2Clown</title><link>https://systemoverlord.com/2019/03/07/bsides-sf-ctf-author-writeup-cloud2clown.html</link><pubDate>Thu, 07 Mar 2019 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2019/03/07/bsides-sf-ctf-author-writeup-cloud2clown.html</guid><description>&lt;h2 id="the-challenge"&gt;The Challenge&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Sometimes you see marketing materials that use the word cloud to the point
that it starts to lose all meaning. This service allows you to fix that with
clowns instead of clouds. Note: there are 2 flags, they should be clearly
labeled.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Understanding Shellcode: The Reverse Shell</title><link>https://systemoverlord.com/2018/10/30/understanding-shellcode-the-reverse-shell.html</link><pubDate>Tue, 30 Oct 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/10/30/understanding-shellcode-the-reverse-shell.html</guid><description>&lt;p&gt;A recent conversation with a coworker inspired me to start putting
together a series of blog posts to examine what it is that shellcode does. In
the first installment, I&amp;rsquo;ll dissect the basic reverse shell.&lt;/p&gt;
&lt;p&gt;First, a couple of reminders: shellcode is the machine code that is injected
into the flow of a program as the result of an exploit. It generally must be
position independent as you can&amp;rsquo;t usually control where it will be loaded in
memory. A reverse shell initiates a TCP connection from the compromised host
back to a host under the control of the attacker. It then launches a shell with
which the attacker can interact.&lt;/p&gt;</description></item><item><title>Course Review: Adversarial Attacks and Hunt Teaming</title><link>https://systemoverlord.com/2018/10/12/course-review-adversarial-attacks-and-hunt-teaming.html</link><pubDate>Fri, 12 Oct 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/10/12/course-review-adversarial-attacks-and-hunt-teaming.html</guid><description>&lt;p&gt;At DerbyCon 8, I had the opportunity to take the &amp;ldquo;Adversarial Attacks and Hunt
Teaming&amp;rdquo; presented by Ben Ten and Larry Spohn from TrustedSec. I went into the
course hoping to get a refresher on the latest techniques for Windows domains (I
do mostly Linux, IoT &amp;amp; Web Apps at work) as well as to get a better
understanding of how hunt teaming is done. (As a Red Teamer, I feel
understanding the work done by the blue team is critical to better success and
reducing detection.)&lt;/p&gt;</description></item><item><title>Course Review: Software Defined Radio with HackRF</title><link>https://systemoverlord.com/2018/09/14/course-review-software-defined-radio-with-hackrf.html</link><pubDate>Fri, 14 Sep 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/09/14/course-review-software-defined-radio-with-hackrf.html</guid><description>&lt;p&gt;Over the past two days, I had the opportunity to attend Michael Ossman&amp;rsquo;s course
&amp;ldquo;Software Defined Radio with HackRF&amp;rdquo; at &lt;a href="https://toorcon.org"&gt;Toorcon XX&lt;/a&gt;. This
is a course I&amp;rsquo;ve wanted to take for several years, and I&amp;rsquo;m extremely happy that
I finally had the chance. I wanted to write up a short review for others
considering taking the course.&lt;/p&gt;
&lt;h2 id="course-material"&gt;Course Material&lt;/h2&gt;
&lt;p&gt;The material in the course focuses predominantly on the basics of Software
Defined Radio and Digital Signal Processing. This includes the math necessary
to understand how the DSP handles the signal. The math is presented in a
practical, rather than academic, way. It&amp;rsquo;s not a math class, but a review of
the necessary basics, mostly of complex mathematics and a bit of trigonometry.
(My high school teachers are now vindicated. I did use that math again.)
You don&amp;rsquo;t need the math background coming in, but you do need to be prepared to
think about math during the class. Extracting meaningful information from the
ether is, it turns out, an exercise in mathematics.&lt;/p&gt;</description></item><item><title>"Entry-Level" Security Jobs and Experience</title><link>https://systemoverlord.com/2018/08/27/entry-level-security-jobs-and-experience.html</link><pubDate>Mon, 27 Aug 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/08/27/entry-level-security-jobs-and-experience.html</guid><description>&lt;p&gt;I&amp;rsquo;ve seen a lot of discussion of experience requirements and &amp;ldquo;entry-level&amp;rdquo;
positions in the security industry lately.
&lt;a href="https://www.reddit.com/r/netsecstudents"&gt;/r/netsecstudents&lt;/a&gt; and
&lt;a href="https://www.reddit.com/r/asknetsec"&gt;/r/asknetsec&lt;/a&gt; are full of threads
discussing this topic, and I heard it being discussed at both BSidesLV and DEF
CON this summer. The usual complaint is something along the lines of &amp;ldquo;all the
positions want experience, so how am I supposed to get experience?&amp;rdquo; I&amp;rsquo;m going
to take a stab at addressing this, and hope to at least provide some
understanding.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2018: Wrap-Up</title><link>https://systemoverlord.com/2018/08/25/hacker-summer-camp-2018-wrap-up.html</link><pubDate>Sat, 25 Aug 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/08/25/hacker-summer-camp-2018-wrap-up.html</guid><description>&lt;p&gt;I meant to write this post much closer to the end of Hacker Summer Camp, but to
be honest, I&amp;rsquo;ve been completely swamped with getting back into the thick of
things. However, I kept feeling like things were &amp;ldquo;unfinished&amp;rdquo;, so I thought I&amp;rsquo;d
throw together at least a few thoughts from this year.&lt;/p&gt;
&lt;h2 id="bsides-las-vegas"&gt;BSides Las Vegas&lt;/h2&gt;
&lt;p&gt;I can&amp;rsquo;t say much about BSides as a whole this year, as I spent the entire time
Gold Teaming for Pros vs Joes CTF. (Gold Team is responsible for running the
game infrastructure, scoreboard, etc.) It was a great experience to be on Gold
Team, but I do miss having a team to support and educate. Overall, the CTF went
&lt;em&gt;fairly&lt;/em&gt; well, but there were a few bumps that I hope we can avoid next year.&lt;/p&gt;</description></item><item><title>I'm the One Who Doesn't Knock: Unlocking Doors From the Network</title><link>https://systemoverlord.com/2018/08/10/im-the-one-who-doesnt-knock-unlocking-doors-from-the-network.html</link><pubDate>Fri, 10 Aug 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/08/10/im-the-one-who-doesnt-knock-unlocking-doors-from-the-network.html</guid><description>&lt;p&gt;&lt;img src="https://systemoverlord.com/img/blog/iot_hacker.png" alt="IoT Hacker"&gt;{:.right}&lt;/p&gt;
&lt;p&gt;Today I&amp;rsquo;m giving a talk in the &lt;a href="https://www.iotvillage.org"&gt;IoT Village&lt;/a&gt; at DEF
CON 26. Though not a &amp;ldquo;main stage&amp;rdquo; talk, this is my first opportunity to speak
at DEF CON. I&amp;rsquo;m really excited, especially with how much I enjoy IoT hacking.
My talk was inspired by the research that lead to
&lt;a href="https://systemoverlord.com/2017/12/18/cve-2017-17704-broken-cryptography-in-istar-ultra-ip-acm-by-software-house.html"&gt;CVE-2017-17704&lt;/a&gt;,
but it&amp;rsquo;s not meant to be a vendor-shaming session. It&amp;rsquo;s meant to be a
discussion of the difficulty of getting physical access control systems that
have IP communications features right. It&amp;rsquo;s meant to show that the designs we
use to build a secure system when you have a classic user interface don&amp;rsquo;t work
the same way in the IoT world.&lt;/p&gt;
&lt;p&gt;(If you&amp;rsquo;re at DEF CON, come check it out at 4:45PM on Friday, August 10 in the
IoT Village.)&lt;/p&gt;</description></item><item><title>Attacker Community DEF CON 26 Badge</title><link>https://systemoverlord.com/2018/08/02/attacker-community-def-con-26-badge.html</link><pubDate>Thu, 02 Aug 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/08/02/attacker-community-def-con-26-badge.html</guid><description>&lt;p&gt;I&amp;rsquo;ve spent an unhealthy amount of time over the past 6 months or so
participating in the craze that is
&lt;a href="https://twitter.com/search?q=%23badgelife"&gt;#badgelife&lt;/a&gt;. This year, I built
badges for my Security Research Group/CTF Team: Attacker Community. (Because
community is important when you&amp;rsquo;re attacking things.) Like &lt;a href="https://systemoverlord.com/2017/07/31/hacker-summer-camp-2017-xxv-badge.html"&gt;last
year&lt;/a&gt;, all of my badges were
designed, assembled, and programmed by me. There are 24 badges this year, each
featuring 8 characters of 14-segment display goodness and bluetooth
connectivity. I may not be one of the big names in #badgelife, but if you just
make some badges for your friends, there&amp;rsquo;s a lot less pressure in case something
comes up.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2018: Cyberwar?</title><link>https://systemoverlord.com/2018/07/19/hacker-summer-camp-2018-cyberwar.html</link><pubDate>Thu, 19 Jul 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/07/19/hacker-summer-camp-2018-cyberwar.html</guid><description>&lt;p&gt;I actually thought I was done with the pre-con portion of my Hacker Summer Camp
blog post series, but it turns out that people wanted to know more about &amp;ldquo;&lt;a href="https://www.computerworld.com/article/2974662/network-security/wi-fi-at-def-con-dealing-with-the-worlds-most-dangerous-network.html"&gt;the
most dangerous network in the
world&lt;/a&gt;&amp;rdquo;.
Specifically, I got questions about how to protect yourself in this hostile
environment, like whether people should bring a burner device, how to avoid
getting hacked, what to do after the con, etc.&lt;/p&gt;
&lt;h2 id="the-network"&gt;The Network&lt;/h2&gt;
&lt;p&gt;So, is it &amp;ldquo;the most dangerous network in the world&amp;rdquo;? Well, there&amp;rsquo;s probably
some truth to that in the sense that in terms of &lt;em&gt;density&lt;/em&gt; of threats, it&amp;rsquo;s
likely fairly high. In terms of sheer volume of threats, the open internet is
obviously going to be a leader.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2018: Last Minute Tips</title><link>https://systemoverlord.com/2018/07/15/hacker-summer-camp-2018-last-minute-tips.html</link><pubDate>Sun, 15 Jul 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/07/15/hacker-summer-camp-2018-last-minute-tips.html</guid><description>&lt;p&gt;This is an update to my &lt;a href="https://systemoverlord.com/2018/05/26/hacker-summer-camp-2018-prep-guide.html"&gt;planning
guide&lt;/a&gt; as we get closer to
Hacker Summer Camp. (We&amp;rsquo;re down to about 3 weeks now!)&lt;/p&gt;
&lt;h2 id="planning-your-time"&gt;Planning Your Time&lt;/h2&gt;
&lt;p&gt;Schedules and details for events have begun to be released. For example, we
have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bsideslv.org/schedule/"&gt;BSides Las Vegas Schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://defcon.org/html/defcon-26/dc-26-speakers.html"&gt;DEF CON 26 Speaker List&lt;/a&gt; (No schedule yet!)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://defcon.org/html/defcon-26/dc-26-villages.html"&gt;DEF CON 26 Villages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://defcon.org/html/defcon-26/dc-26-demolabs.html"&gt;DEF CON 26 Demo Labs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s time to take a look at the lists of events and times and start making your
&amp;ldquo;must do&amp;rdquo; list. Resist the temptation to try to plan every minute &amp;ndash; first, you
won&amp;rsquo;t be able to stick to it, and secondly, you&amp;rsquo;ll feel like it doesn&amp;rsquo;t leave
you time for spur of the moment events. There will be conversations you want to
have, people you want to meet, or unscheduled activities you want to check out.&lt;/p&gt;</description></item><item><title>On Deep Work</title><link>https://systemoverlord.com/2018/06/24/on-deep-work.html</link><pubDate>Sun, 24 Jun 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/06/24/on-deep-work.html</guid><description>&lt;p&gt;I recently stumbled upon Azeria&amp;rsquo;s blog post
&lt;a href="https://azeria-labs.com/the-importance-of-deep-work-the-30-hour-method-for-learning-a-new-skill/"&gt;The Importance of Deep Work &amp;amp; The 30-hour Method For Learning a New
Skill&lt;/a&gt;,
and it seriously struck a chord with me. Over the past year or so, I&amp;rsquo;ve
struggled with a lack of personal satisfaction in my life and my work. I tried
various things to address the issue, but could not figure out a root cause until
I read her article, and then it clicked with me.&lt;/p&gt;</description></item><item><title>Pros vs Joes CTF: The Evolution of Blue Teams</title><link>https://systemoverlord.com/2018/06/19/pros-vs-joes-ctf-the-evolution-of-blue-teams.html</link><pubDate>Tue, 19 Jun 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/06/19/pros-vs-joes-ctf-the-evolution-of-blue-teams.html</guid><description>&lt;p&gt;&lt;a href="http://prosversusjoes.net/"&gt;Pros v Joes CTF&lt;/a&gt; is a CTF that holds a special
place in my heart. Over the years, I&amp;rsquo;ve moved from playing in the 1st CTF as a
day-of pickup player (signing up at the conference) to a Blue Team Pro, to core
CTF staff. It&amp;rsquo;s been an exciting journey, and Red Teaming there is about the
only role I haven&amp;rsquo;t held. (Which is somewhat ironic given that my day job is a
red team lead.) As Blue teams have just formed, and I&amp;rsquo;m not currently attached
to any single team, I wanted to share my thoughts on the evolution of Blue
teaming in this unique CTF. In many ways, this will resemble the &lt;a href="https://systemoverlord.com/2015/08/15/blue-team-players-guide-for-pros-vs-joes-ctf/"&gt;Blue Team
player&amp;rsquo;s guide&lt;/a&gt; I
wrote about 3 years ago, but will be based on the evolution of the game and of
the industry itself. That post remains relevant, and I encourage you to read it
as well.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2018: Prep Guide</title><link>https://systemoverlord.com/2018/05/26/hacker-summer-camp-2018-prep-guide.html</link><pubDate>Sat, 26 May 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/05/26/hacker-summer-camp-2018-prep-guide.html</guid><description>&lt;p&gt;For those unfamiliar with the term, Hacker Summer Camp is the combination of DEF
CON, Black Hat USA, and BSides Las Vegas that takes place in the hot Las Vegas
sun every summer, along with all the associated parties and side events. It&amp;rsquo;s
the largest gathering of hackers, information security professionals and
enthusiasts, and has been growing for 25 years. In this post, I&amp;rsquo;ll present my
views on how to get the most out of your 2018 trip to the desert, along with
tips &amp;amp; points from some of my friends.&lt;/p&gt;</description></item><item><title>How the Twitter and GitHub Password Logging Issues Could Happen</title><link>https://systemoverlord.com/2018/05/03/how-the-twitter-and-github-password-logging-issues-could-happen.html</link><pubDate>Thu, 03 May 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/05/03/how-the-twitter-and-github-password-logging-issues-could-happen.html</guid><description>&lt;p&gt;There have recently been a couple of highly-publicized (at least in the security
community) issues with two tech giants logging passwords in plaintext. First,
GitHub &lt;a href="https://www.zdnet.com/article/github-says-bug-exposed-account-passwords/"&gt;found they were logging plaintext passwords on password
reset&lt;/a&gt;.
Then, Twitter &lt;a href="https://twitter.com/TwitterSupport/status/992132808192634881"&gt;found they were logging all plaintext
passwords&lt;/a&gt;. Let
me begin by saying that I have no insider knowledge of either bug, and I have
never worked at either Twitter or GitHub, but I enjoy randomly speculating on
the internet, so I thought I would speculate on this. (Especially since the
&lt;a href="https://www.reddit.com/r/netsec/comments/8guet1/twitter_tells_all_330m_users_to_change_passwords/"&gt;/r/netsec thread on the Twitter article&lt;/a&gt; is amazingly full of misconceptions.)&lt;/p&gt;</description></item><item><title>BSidesSF CTF 2018: Coder Series (Author's PoV)</title><link>https://systemoverlord.com/2018/04/21/bsidessf-ctf-2018-coder-series-authors-pov.html</link><pubDate>Sat, 21 Apr 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/04/21/bsidessf-ctf-2018-coder-series-authors-pov.html</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;As the author of the &amp;ldquo;coder&amp;rdquo; series of challenges (Intel Coder, ARM Coder, Poly
Coder, and OCD Coder) in the recent BSidesSF CTF, I wanted to share my
perspective on the challenges. I can&amp;rsquo;t tell if the challenges were
uninteresting, too hard, or both, but they were solved by far fewer teams than I
had expected. (And than we had rated the challenges for when scoring them.)&lt;/p&gt;
&lt;p&gt;The entire series of challenges were based on the premise &amp;ldquo;give me your
shellcode and I&amp;rsquo;ll run it&amp;rdquo;, but with some limitations. Rather than forcing
players to find and exploit a vulnerability, we wanted to teach players about
dealing with restricted environments like sandboxes, unusual architectures, and
situations where your shellcode might be manipulated by the process before it
runs.&lt;/p&gt;</description></item><item><title>The IoT Hacker's Toolkit</title><link>https://systemoverlord.com/2018/04/16/the-iot-hackers-toolkit.html</link><pubDate>Mon, 16 Apr 2018 12:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/04/16/the-iot-hackers-toolkit.html</guid><description>&lt;p&gt;Today, I&amp;rsquo;m giving a talk entitled &amp;ldquo;The IoT Hacker&amp;rsquo;s Toolkit&amp;rdquo; at
&lt;a href="https://bsidessf.org"&gt;BSides San Francisco&lt;/a&gt;. I thought I&amp;rsquo;d release a companion
blog post to go along with the slide deck. I&amp;rsquo;ll also include a link to the
video once it gets posted online.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TOC
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;From my talk synopysis:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;IoT and embedded devices provide new challenges to security engineers hoping
to understand and evaluate the attack surface these devices add. From new
interfaces to uncommon operating systems and software, the devices require
both skills and tools just a little outside the normal security assessment.
I&amp;rsquo;ll show both the hardware and software tools, where they overlap and what
capabilities each tool brings to the table. I&amp;rsquo;ll also talk about building the
skillset and getting the hands-on experience with the tools necessary to
perform embedded security assessments.&lt;/p&gt;</description></item><item><title>OpenSSH Two Factor Authentication (But Not Service Accounts)</title><link>https://systemoverlord.com/2018/03/03/openssh-two-factor-authentication-but-not-service-accounts.html</link><pubDate>Sat, 03 Mar 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/03/03/openssh-two-factor-authentication-but-not-service-accounts.html</guid><description>&lt;p&gt;Very often, people hear &amp;ldquo;SSH&amp;rdquo; and &amp;ldquo;two factor authentication&amp;rdquo; and assume you&amp;rsquo;re
talking about an SSH keypair that&amp;rsquo;s got the private key protected with a
passphrase. And while this is a reasonable approximation of a two factor
system, it&amp;rsquo;s not &lt;em&gt;actually&lt;/em&gt; two factor authentication because the server is not
using two separate factors to authenticate the user. The only factor is the SSH
keypair, and there&amp;rsquo;s no way for the server to know if that key was protected
with a passphrase. However, OpenSSH has supported true two factor
authentication for nearly 5 years now, so it&amp;rsquo;s quite possible to build even more
robust security.&lt;/p&gt;</description></item><item><title>Preparing for Penetration Testing with Kali Linux</title><link>https://systemoverlord.com/2018/02/14/preparing-for-penetration-testing-with-kali-linux.html</link><pubDate>Wed, 14 Feb 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/02/14/preparing-for-penetration-testing-with-kali-linux.html</guid><description>&lt;p&gt;If you spend any time at all on Reddit or forums for information security
students, you&amp;rsquo;ll find &lt;em&gt;dozens&lt;/em&gt; of questions about preparing for the &lt;a href="https://www.offensive-security.com/information-security-training/penetration-testing-training-kali-linux/"&gt;Penetration
Testing with Kali
Linux&lt;/a&gt; (PWK, aka OSCP) class from Offensive Security.
Likewise, I&amp;rsquo;ve been asked by a number of people I know personally about moving
into the security realm. I figured I&amp;rsquo;d put together some notes on how to
prepare and the knowledge that I believe is necessary to succeed with the PWK
class. Additionally, all of the skills listed here are skills I would expect
even the most junior of penetration testers to possess.&lt;/p&gt;</description></item><item><title>Book Review: Red Team by Micah Zenko</title><link>https://systemoverlord.com/2018/02/10/book-review-red-team-by-micah-zenko.html</link><pubDate>Sat, 10 Feb 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/02/10/book-review-red-team-by-micah-zenko.html</guid><description>&lt;p&gt;&lt;a href="http://amzn.to/2EAIrTK"&gt;Red Team: How to Succeed By Thinking Like the Enemy&lt;/a&gt; by
Micah Zenko focuses on the role that red teaming plays in a variety of
institutions, ranging from the Department of Defense to cybersecurity. It&amp;rsquo;s an
excellent book that describes the thought process behind red teaming, when red
teaming is a success and when it can be a failure, and the way a red team can
best fit into an organization and provide value. If you&amp;rsquo;re looking for a book
that&amp;rsquo;s highly technical or focused entirely on information security engineering,
this book may disappoint. There&amp;rsquo;s only a single chapter covering the
application of red teaming in the information security space (particularly
&amp;ldquo;vulnerability probes&amp;rdquo; as Zenko refers to many of the tests), but that doesn&amp;rsquo;t
make the rest of the content any less useful &amp;ndash; or interesting &amp;ndash; to the Red
Team practitioner.&lt;/p&gt;</description></item><item><title>Security Is Not an Absolute</title><link>https://systemoverlord.com/2018/02/05/security-is-not-an-absolute.html</link><pubDate>Mon, 05 Feb 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/02/05/security-is-not-an-absolute.html</guid><description>&lt;p&gt;If there&amp;rsquo;s one thing I wish people from outside the security industry knew when
dealing with information security, it&amp;rsquo;s that &lt;strong&gt;Security is not an absolute&lt;/strong&gt;.
Most of the time, it&amp;rsquo;s not even quantifiable. Even in the case of particular
threat models, it&amp;rsquo;s often impossible to make statements about the security of a
system with certainty.&lt;/p&gt;</description></item><item><title>Playing with the Gigastone Media Streamer Plus</title><link>https://systemoverlord.com/2018/01/28/multiple-vulnerabilities-in-gigastone-media-streamer.html</link><pubDate>Sun, 28 Jan 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/01/28/multiple-vulnerabilities-in-gigastone-media-streamer.html</guid><description>&lt;ul&gt;
&lt;li&gt;TOC
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="background"&gt;Background&lt;/h2&gt;
&lt;p&gt;A few months ago, I was shopping on &lt;a href="https://www.woot.com"&gt;woot.com&lt;/a&gt; and
discovered the &lt;a href="http://amzn.to/2C76sRQ"&gt;Gigastone Media Streamer Plus&lt;/a&gt; for about
$25. I figured this might be something occassionally useful, or at least fun to
look at for security vulnerabilities. When it arrived, I didn&amp;rsquo;t get around to
it for quite a while, and then when I finally did, I was terribly disappointed
in it as a security research target &amp;ndash; it was just too easy.&lt;/p&gt;</description></item><item><title>Psychological Issues in the Security Industry</title><link>https://systemoverlord.com/2018/01/26/psychological-issues-in-the-security-industry.html</link><pubDate>Fri, 26 Jan 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/01/26/psychological-issues-in-the-security-industry.html</guid><description>&lt;p&gt;I&amp;rsquo;ve unfortunately had the experience of dealing with a number of
psychological issues (either personally or through personal connections)
during my tenure in the security fold. I hope to shed some light on them and
encourage others to take them seriously.&lt;/p&gt;
&lt;p&gt;If you are hoping this post will be some grand reveal of security engineers
going psychotic and stabbing users who enter passwords into phishing pages with
poor grammar and spelling, web site administrators who can&amp;rsquo;t be bothered to set
up HTTPS, and ransomware authors, then I hate to disappoint you. If, on the
other hand, you&amp;rsquo;re interested in observations of people who have experienced
various psychological problems while in the security industry, then I&amp;rsquo;ll
probably still disappoint, just but not as much.&lt;/p&gt;</description></item><item><title>socat as a handler for multiple reverse shells</title><link>https://systemoverlord.com/2018/01/20/socat-as-a-handler-for-multiple-reverse-shells.html</link><pubDate>Sat, 20 Jan 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/01/20/socat-as-a-handler-for-multiple-reverse-shells.html</guid><description>&lt;p&gt;I was looking for a new way to handle multiple incoming reverse shells. My
shells needed to be encrypted and I preferred not to use Metasploit in this
case. Because of the way I was deploying my implants, I wasn&amp;rsquo;t able to use
separate incoming port numbers or other ways of directing the traffic to
multiple listeners.&lt;/p&gt;
&lt;p&gt;Obviously, it&amp;rsquo;s important to keep each reverse shell separated, so I couldn&amp;rsquo;t
just have a listener redirecting all the connections to STDIN/STDOUT. I also
didn&amp;rsquo;t want to wait for sessions serially &amp;ndash; obviously I wanted to be connected
to all of my implants simultaneously. (And allow them to disconnect/reconnect
as needed due to loss of network connectivity.)&lt;/p&gt;</description></item><item><title>TP-Link Kasa App: SSL Verification Disabled (Fixed)</title><link>https://systemoverlord.com/2018/01/16/tp-link-kasa-app-ssl-verification-disabled-fixed.html</link><pubDate>Tue, 16 Jan 2018 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2018/01/16/tp-link-kasa-app-ssl-verification-disabled-fixed.html</guid><description>&lt;p&gt;The TP-Link Kasa app is the Android app that TP-Link distributes to control
their Smart Home line of products, including IoT light bulbs, outlet and a home
hub. TP-Link &lt;a href="http://www.tp-link.com/us/home-networking/smart-home/kasa.html"&gt;describes the app as&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Kasa app works with Android and iOS devices so you can control your home
right from your smartphone or tablet. You can also use Kasa to pair TP-Link
smart home products with any Amazon Echo, Dot, Tap and The Google Assistant for
voice control, giving you the ability to control your home with voice commands.&lt;/p&gt;</description></item><item><title>A Cheap and Compact Bench Power Supply</title><link>https://systemoverlord.com/2017/12/29/a-cheap-and-compact-bench-power-supply.html</link><pubDate>Fri, 29 Dec 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/12/29/a-cheap-and-compact-bench-power-supply.html</guid><description>&lt;p&gt;I wanted a bench power supply for powering small projects and devices I&amp;rsquo;m
testing. I ended up with a DIY approach for around $30 and am very happy with
the outcome. It&amp;rsquo;s a simple project that almost anyone can do and is a great
introductory power supply for any home lab.&lt;/p&gt;
&lt;p&gt;I had a few requirements when I set out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Variable voltage (up to ~12V)&lt;/li&gt;
&lt;li&gt;Current limiting (to protect against stupid mistakes)&lt;/li&gt;
&lt;li&gt;Small footprint (my electronics work area is only about 8 square feet)&lt;/li&gt;
&lt;li&gt;Relatively cheap&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Initially, I considered buying an off the shelf bench power supply, but most of
those are either very expensive, very large, or both. I also toyed with the
idea of an ATX power supply as a bench power supply, but those don&amp;rsquo;t offer
current limiting (and are capable of delivering enough current to destroy any
project I&amp;rsquo;m careless with).&lt;/p&gt;</description></item><item><title>Even With the Cloud, Client Security Still Matters</title><link>https://systemoverlord.com/2017/12/27/even-with-the-cloud-client-security-still-matters.html</link><pubDate>Wed, 27 Dec 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/12/27/even-with-the-cloud-client-security-still-matters.html</guid><description>&lt;p&gt;&lt;strong&gt;As usual, this post does not necessarily represent the views of my employer
(past, present, or future).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s Friday afternoon and the marketing manager receives an email with the new
printed material proofs for the trade show. Double clicking the PDF attachment,
his PDF reader promptly crashes.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Ugh, I&amp;rsquo;m gonna have to call IT again. I&amp;rsquo;ll do it Monday morning,&amp;rdquo; he thinks,
and turns off his monitor before heading home for the weekend.&lt;/p&gt;</description></item><item><title>2017 Christmas Ornament</title><link>https://systemoverlord.com/2017/12/24/2017-christmas-ornament.html</link><pubDate>Sun, 24 Dec 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/12/24/2017-christmas-ornament.html</guid><description>&lt;p&gt;After playing around with a &lt;a href="https://systemoverlord.com/2017/07/31/hacker-summer-camp-2017-xxv-badge.html"&gt;custom DEF CON
badge&lt;/a&gt;, I wanted to do
another electronics project just for fun. What better time to share electronics
with others than Christmas? So I decided to do a custom ornament for friends
and family.&lt;/p&gt;
&lt;p&gt;Though it shared some characteristics with my DEF CON badge (blinken lights,
battery powered, etc.), the similarities ended there. In this case I want
something lightweight (it&amp;rsquo;s going on a tree branch), simple (the XXV badges took
a &lt;em&gt;long&lt;/em&gt; time to assemble by hand), and that could run off a coin cell battery
for days.&lt;/p&gt;</description></item><item><title>[CVE-2017-17704] Broken Cryptography in iStar Ultra &amp; IP ACM by Software House</title><link>https://systemoverlord.com/2017/12/18/cve-2017-17704-broken-cryptography-in-istar-ultra-ip-acm-by-software-house.html</link><pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/12/18/cve-2017-17704-broken-cryptography-in-istar-ultra-ip-acm-by-software-house.html</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Vulnerabilities were identified in the iStar Ultra &amp;amp; IP-ACM boards offered by
Software House. This system is used to control physical access to resources
based on RFID-based badge readers. Badge readers interface with the IP-ACM
board, which uses TCP/IP to communicate with the iStar Ultra controller.&lt;/p&gt;
&lt;p&gt;These were discovered during a black box assessment and therefore the
vulnerability list should not be considered exhaustive; observations suggest
that it is likely that further vulnerabilities exist. It is strongly
recommended that Software House undertake a full whitebox security assessment of
this application. Additionally, it is our suggestion that all communications be
conducted over TLS. While alternatives are suggested below, cryptography is
very difficult even for experts, and so using a well-understood cryptosystem
like TLS is preferable to home-grown solutions. The version under test was
indicated as: 6.5.2.20569. As of the time of disclosure, the issues remain
unfixed.&lt;/p&gt;</description></item><item><title>2017 Hacker Holiday Gift Guide</title><link>https://systemoverlord.com/2017/11/22/2017-hacker-holiday-gift-guide.html</link><pubDate>Wed, 22 Nov 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/11/22/2017-hacker-holiday-gift-guide.html</guid><description>&lt;p&gt;I&amp;rsquo;ve been thinking about gifts for Hackers and Makers lately as the holiday
season arrives. I decided I&amp;rsquo;d build a public list of some of my favorite things
(and perhaps some things I&amp;rsquo;d like myself as well!) I&amp;rsquo;ll break it down into a
few categories for different kinds of hackers (and different kinds of gifters as
well). Prices are current as of writing, but not something I&amp;rsquo;ll be updating.&lt;/p&gt;</description></item><item><title>Hardware Hacking, Reversing and Instrumentation: A Review</title><link>https://systemoverlord.com/2017/11/11/hardware-hacking-reversing-and-instrumentation-a-review.html</link><pubDate>Sat, 11 Nov 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/11/11/hardware-hacking-reversing-and-instrumentation-a-review.html</guid><description>&lt;p&gt;I recently attended &lt;a href="https://toothless.co"&gt;Dr. Dmitry Nedospasov&lt;/a&gt;&amp;rsquo;s 4-day
&lt;a href="https://toothless.co/trainings/"&gt;&amp;ldquo;Hardware Hacking, Reversing and
Instrumentation&amp;rdquo;&lt;/a&gt; training class as part of the
&lt;a href="https://hardwaresecurity.training"&gt;HardwareSecurity.training&lt;/a&gt; event in San
Francisco. I learned a lot, and it was incredibly fun class. If you understand
the basics of hardware security and want to take it to the next level, this is
the course for you.&lt;/p&gt;
&lt;p&gt;The class predominantly focuses on the use of
&lt;a href="https://en.wikipedia.org/wiki/Field-programmable_gate_array"&gt;FPGAs&lt;/a&gt; for
breaking security in hardware devices (embedded devices, microcontrollers,
etc.). The advantage of FPGAs is that they can be used to implement arbitrary
protocols and can operate with very high timing resolution. (e.g., single clock
cycle, since it&amp;rsquo;s essentially synthesized hardware.)&lt;/p&gt;</description></item><item><title>Building a Home Lab for Offensive Security &amp; Security Research</title><link>https://systemoverlord.com/2017/10/24/building-a-home-lab-for-offensive-security-basics.html</link><pubDate>Tue, 24 Oct 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/10/24/building-a-home-lab-for-offensive-security-basics.html</guid><description>&lt;p&gt;When I wrote my &lt;a href="https://systemoverlord.com/2017/09/18/getting-started-in-offensive-security.html"&gt;&amp;ldquo;getting started&amp;rdquo; post&lt;/a&gt;
on offensive security, I promised I&amp;rsquo;d write about building a lab you can use to
practice your skillset. It&amp;rsquo;s taken a little while for me to get to it, but I&amp;rsquo;m
finally trying to deliver.&lt;/p&gt;
&lt;p&gt;Much like the post on getting started, I&amp;rsquo;m not claiming to have all the answers.
I&amp;rsquo;ll again be focusing on an environment that helps you build a focus in the
areas I most work in &amp;ndash; penetration testing, black box application security,
and red teaming. (And if you&amp;rsquo;re wondering about the difference between a
penetration test and red team, there will be a post for that too &amp;ndash; I promise
they&amp;rsquo;re very different.)&lt;/p&gt;</description></item><item><title>Getting Started in Offensive Security</title><link>https://systemoverlord.com/2017/09/18/getting-started-in-offensive-security.html</link><pubDate>Mon, 18 Sep 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/09/18/getting-started-in-offensive-security.html</guid><description>&lt;p&gt;&lt;strong&gt;Please note that this post, like all of those on my blog, represents only my
views, and not those of my employer. Nothing in here implies official hiring
policy or requirements.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not going to pretend that this article is unique or has magic bullets to get
you into the offensive security space. I also won&amp;rsquo;t pretend to speak for others
in that space or in other areas of information security. It&amp;rsquo;s a big field, and
it turns out that a lot of us have opinions about it. Mubix maintains a
&lt;a href="https://gist.github.com/mubix/5737a066c8845d25721ec4bf3139fd31"&gt;list of posts like this&lt;/a&gt;
so you can see everyone&amp;rsquo;s opinions. I highly recommend the post &lt;a href="https://medium.freecodecamp.org/so-you-want-to-work-in-security-bc6c10157d23"&gt;&amp;ldquo;So You Want
to Work in Security&amp;rdquo;&lt;/a&gt;
by Parisa Tabriz for a view that&amp;rsquo;s not specific to offensive security. (Though
there&amp;rsquo;s a lot of cross-over.)&lt;/p&gt;</description></item><item><title>Review of HackerBoxes 0021: Hacker Tracker</title><link>https://systemoverlord.com/2017/08/11/review-of-hackerboxes-0021-hacker-tracker.html</link><pubDate>Fri, 11 Aug 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/08/11/review-of-hackerboxes-0021-hacker-tracker.html</guid><description>&lt;p&gt;HackerBoxes is a monthly subscription service for hardware hackers and makers.
I hadn&amp;rsquo;t heard of it until I was researching DEF CON 25 badges, for which they
had a box, at which point I was amazed I had missed it. They were handing out
coupons at DEF CON and BSidesLV for 10% off your first box, so I decided to give
it a try.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.instructables.com/id/HackerBoxes-0021-Hacker-Tracker/"&gt;&lt;img src="https://systemoverlord.com/img/blog/hackerboxes_0021.jpg" alt="Hacker Tracker"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First thing I noticed upon opening the box was that there&amp;rsquo;s no fanfare in the
packaging or design of the shipping. You get a plain white box shipped USPS
with all of the contents just inside. I can&amp;rsquo;t decide if I&amp;rsquo;m happy they&amp;rsquo;re not
wasting material on extra packaging, or disappointed they didn&amp;rsquo;t do more to make
it feel exciting. If you look at their website, they show all the past boxes
with a black &amp;ldquo;Hacker Boxes&amp;rdquo; branded box, so I don&amp;rsquo;t know if this is a change, or
the pictures on the website are misleading, or the influx of new members from
hacker summer camp has resulted in a box shortage.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2017: Lessons Learned</title><link>https://systemoverlord.com/2017/08/07/hacker-summer-camp-2017-lessons-learned.html</link><pubDate>Mon, 07 Aug 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/08/07/hacker-summer-camp-2017-lessons-learned.html</guid><description>&lt;p&gt;In addition to taking stock of how things went at Hacker Summer Camp, I think
it&amp;rsquo;s important to examine the lessons learned from the event. Some of these
lessons will be introspective and reflect on myself and my career, but I think
it&amp;rsquo;s important to share these to encourage others to also reflect on what they
want and where they&amp;rsquo;re going.&lt;/p&gt;
&lt;h2 id="introspections"&gt;Introspections&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;It&amp;rsquo;s still incredibly important to me to be doing hands-on technical work.&lt;/strong&gt;
I do a lot of other things, and they may have significant impact, but I can&amp;rsquo;t
imagine taking a purely leadership/organizational role. I wouldn&amp;rsquo;t be happy,
and unhappy people are not productive people. Finding vulnerabilities, doing
technical research, building tools, are all areas that make me excited to be in
this field and to continue to be in this field.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2017: DEF CON</title><link>https://systemoverlord.com/2017/08/05/hacker-summer-camp-2017-def-con.html</link><pubDate>Sat, 05 Aug 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/08/05/hacker-summer-camp-2017-def-con.html</guid><description>&lt;p&gt;DEF CON, of course, is the main event of Hacker Summer Camp for me. It&amp;rsquo;s the
largest gathering of hackers in the world, and it&amp;rsquo;s the only opportunity I get
to see some of the people I know in the industry. It&amp;rsquo;s also the most hands-on
of all of the conferences I&amp;rsquo;ve ever attended, and the people running the
villages clearly know their stuff and are super passionate about their area.
Nowhere do I see so much raw talent and excitement for the hacker spirit as at
DEF CON.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2017: Pros vs Joes CTF</title><link>https://systemoverlord.com/2017/07/31/hacker-summer-camp-2017-pros-vs-joes-ctf.html</link><pubDate>Mon, 31 Jul 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/07/31/hacker-summer-camp-2017-pros-vs-joes-ctf.html</guid><description>&lt;p&gt;I&amp;rsquo;ve returned from this year&amp;rsquo;s edition of Hacker Summer Camp, and while I&amp;rsquo;m
completely and utterly exhausted, I wanted to get my thoughts about this year&amp;rsquo;s
events out before I completely forget what happened.&lt;/p&gt;
&lt;p&gt;The Pros vs Joes CTF was, yet again, a high quality event despite the usual
bumps and twists. This was the largest PvJ ever, with more than 80 people
involved between Blue Pros, Blue Joes, Red Cell, Grey Cell, and Gold Cell. Each
blue team had 11 players between the two Pros and 9 Joes, making them slightly
larger than in years past. (Though I believe that&amp;rsquo;s a temporary &amp;ldquo;feature&amp;rdquo; of
this year&amp;rsquo;s game.)&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2017: XXV Badge</title><link>https://systemoverlord.com/2017/07/31/hacker-summer-camp-2017-xxv-badge.html</link><pubDate>Mon, 31 Jul 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/07/31/hacker-summer-camp-2017-xxv-badge.html</guid><description>&lt;p&gt;In my post &lt;a href="https://systemoverlord.com/2017/07/07/the-many-badges-of-def-con-25.html"&gt;the Many Badges of DEF CON 25&lt;/a&gt;
I may have not-so-subtly hinted that there was something I was working on.
While none of the ones I listed were created in response to the announcement
that DEF CON had been forced to switch to &amp;ldquo;Plan B&amp;rdquo; with their badges, mine more
or less was. Ever since I saw the Queercon badge in 2015, I&amp;rsquo;d had the idea to
create my own electronic badge, but the announcement spurred me on to action.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2017 Planning Guide</title><link>https://systemoverlord.com/2017/07/18/hacker-summer-camp-2017-planning-guide.html</link><pubDate>Tue, 18 Jul 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/07/18/hacker-summer-camp-2017-planning-guide.html</guid><description>&lt;p&gt;My hacker summer camp planning posts are among the most-viewed on my blog, and I
was recently reminded I hadn&amp;rsquo;t done one for 2017 yet, despite it being just
around the corner!&lt;/p&gt;
&lt;p&gt;Though many tips will be similar, feel free to check out the two posts from last
year as well:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://systemoverlord.com/2016/02/18/hacker-summer-camp-planning-guide.html"&gt;Hacker Summer Camp Planning Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://systemoverlord.com/2016/07/08/hacker-summer-camp-planning-guide-part-ii.html"&gt;Hacker Summer Camp Planning Guide, Part II&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t know, Hacker Summer Camp is a nickname for 3 information security
conferences in one week in Las Vegas every July/August. This includes Black
Hat, BSides Las Vegas, and DEF CON.&lt;/p&gt;</description></item><item><title>The Many Badges of DEF CON 25</title><link>https://systemoverlord.com/2017/07/07/the-many-badges-of-def-con-25.html</link><pubDate>Fri, 07 Jul 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/07/07/the-many-badges-of-def-con-25.html</guid><description>&lt;p&gt;If you follow DEF CON news at all, you&amp;rsquo;ll know that there&amp;rsquo;s
&lt;a href="https://www.defcon.org/html/defcon-25/dc-25-news.html#dc25badgeannounce"&gt;been some kind of issue with the
badges&lt;/a&gt;.
But don&amp;rsquo;t worry, DEF CON will have badges, but so will the community!&lt;/p&gt;
&lt;p&gt;What do I mean by this? Well, badge hacking has long been a DEF CON tradition,
but in the past few years, we&amp;rsquo;ve seen more and more unofficial badges appearing
at DEF CON. This year seems to be a massive upswing, and while I&amp;rsquo;m sure some of
that was in progress before the badge announcement, &lt;strike&gt;I believe at least some of
it is the community response to the DEF CON badge issue&lt;/strike&gt;. (Edit:
All of the listed badges were apparently in the works before the DEF CON
announcement. Thanks to &lt;a href="https://twitter.com/wbm312"&gt;@wbm312&lt;/a&gt; for setting me
straight.)&lt;/p&gt;</description></item><item><title>Pi Zero as a Serial Gadget</title><link>https://systemoverlord.com/2017/05/21/pi-zero-as-a-serial-gadget.html</link><pubDate>Sun, 21 May 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/05/21/pi-zero-as-a-serial-gadget.html</guid><description>&lt;p&gt;I just got a new Raspberry Pi Zero W (the wireless version) and didn&amp;rsquo;t feel like
hooking it up to a monitor and keyboard to get started. I really just wanted a
serial console for starters. Rather than solder in a header, I wanted to be
really lazy, so decided to use the USB OTG support of the Pi Zero to provide a
console over USB. It&amp;rsquo;s pretty straightforward, actually.&lt;/p&gt;</description></item><item><title>Belden Garrettcom 6K/10K Switches: Auth Bypasses, Memory Corruption</title><link>https://systemoverlord.com/2017/05/19/belden-garrettcom-6k-10k-switches-auth-bypasses-memory-corruption.html</link><pubDate>Fri, 19 May 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/05/19/belden-garrettcom-6k-10k-switches-auth-bypasses-memory-corruption.html</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Vulnerabilities were identified in the Belden GarrettCom 6K and 10KT (Magnum) series
network switches. These were discovered during a black box assessment and
therefore the vulnerability list should not be considered exhaustive;
observations suggest that it is likely that further vulnerabilities exist.
It is strongly recommended that GarrettCom undertake a full whitebox security
assessment of these switches.&lt;/p&gt;
&lt;p&gt;The version under test was indicated as: 4.6.0. Belden Garrettcom released
an advisory on 8 May 2017, indicating that issues were fixed in 4.7.7:
&lt;a href="https://www.belden.com/hubfs/support/security/bulletins/Belden-GarrettCom-MNS-6K-10K-Security-Bulletin-BSECV-2017-8.pdf?hsLang=en"&gt;https://www.belden.com/hubfs/support/security/bulletins/Belden-GarrettCom-MNS-6K-10K-Security-Bulletin-BSECV-2017-8.pdf?hsLang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a local copy of an &lt;a href="http://seclists.org/fulldisclosure/2017/May/65"&gt;advisory posted to the Full Disclosure mailing list&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Applied Physical Attacks and Hardware Pentesting</title><link>https://systemoverlord.com/2017/05/13/applied-physical-attacks-and-hardware-pentesting.html</link><pubDate>Sat, 13 May 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/05/13/applied-physical-attacks-and-hardware-pentesting.html</guid><description>&lt;p&gt;This week, I had the opportunity to take Joe Fitzpatrick&amp;rsquo;s class
&amp;ldquo;&lt;a href="https://securinghardware.com/training/pentesting/"&gt;Applied Physical Attacks and Hardware Pentesting&lt;/a&gt;&amp;rdquo;.
This was a preview of the
course he&amp;rsquo;s offering at Black Hat this summer, and so it was in a bit of an
unpolished state, but I actually enjoyed the fact that it was that way. I&amp;rsquo;ve
taken a class with Joe before, back when he and Stephen Ridley of Xipiter taught
&amp;ldquo;Software Exploitation via Hardware Exploitation&amp;rdquo;, and I&amp;rsquo;ve watched a number of
his talks at various conferences, so I had high expectations of the course, and
he didn&amp;rsquo;t disappoint.&lt;/p&gt;</description></item><item><title>DEF CON Quals 2017: beatmeonthedl</title><link>https://systemoverlord.com/2017/04/30/def-con-quals-2017-beatmeonthedl.html</link><pubDate>Sun, 30 Apr 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/04/30/def-con-quals-2017-beatmeonthedl.html</guid><description>&lt;p&gt;I played in the DEF CON quals CTF this weekend, and happened to find the
challenge &lt;code&gt;beatmeonthedl&lt;/code&gt; particularly interesting, even if it was in the
&amp;ldquo;Baby&amp;rsquo;s First&amp;rdquo; category. (DC Quals Baby&amp;rsquo;s Firsts aren&amp;rsquo;t as easy as one might
think&amp;hellip;)&lt;/p&gt;
&lt;p&gt;So we download the binary and take a look. I&amp;rsquo;m using
&lt;a href="https://binary.ninja"&gt;Binary Ninja&lt;/a&gt; lately, it&amp;rsquo;s a great tool from the Vector35
guys, and at the right price compared to IDA for playing CTF. :) So I open up
the binary, and notice a few things right away. This is an x86-64 ELF binary
with essentially none of the standard security features enabled:&lt;/p&gt;</description></item><item><title>Security Issues in Alerton Webtalk (Auth Bypass, RCE)</title><link>https://systemoverlord.com/2017/04/27/security-issues-in-alerton-webtalk-auth-bypass-rce.html</link><pubDate>Thu, 27 Apr 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/04/27/security-issues-in-alerton-webtalk-auth-bypass-rce.html</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Vulnerabilities were identified in the Alerton Webtalk Software supplied by
Alerton. This software is used for the management of building automation
systems. These were discovered during a black box assessment and therefore
the
vulnerability list should not be considered exhaustive. Alerton has
responded
that Webtalk is EOL and past the end of its support period. Customers
should
move to newer products available from Alerton. Thanks to Alerton for prompt
replies in communicating with us about these issues.&lt;/p&gt;</description></item><item><title>Bash Extended Test &amp; Pattern Matching</title><link>https://systemoverlord.com/2017/04/17/bash-extended-test-pattern-matching.html</link><pubDate>Mon, 17 Apr 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/04/17/bash-extended-test-pattern-matching.html</guid><description>&lt;p&gt;While my daily driver shell is &lt;a href="http://www.zsh.org/"&gt;ZSH&lt;/a&gt;, when I script, I
tend to target Bash. I&amp;rsquo;ve found it&amp;rsquo;s the best mix of availability &amp;amp; feature
set. (Ideally, scripts would be in pure posix shell, but then I&amp;rsquo;m missing a lot
of features that would make my life easier. On the other hand, ZSH is not
available everywhere, and certainly many systems do not have it installed by
default.)&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve started trying to use the Bash &amp;ldquo;extended test command&amp;rdquo; (&lt;code&gt;[[&lt;/code&gt;) when I write
tests in bash, because it has fewer ways you can misuse it with bad quoting (the
shell parses the whole test command rather than parsing it as arguments to a
command) and I find the operations available easier to read. One of those
operations is pattern matching of strings, which allows for stupidly simple
substring tests and other conveniences. Take, for example:&lt;/p&gt;</description></item><item><title>Useful ARM References</title><link>https://systemoverlord.com/2017/03/21/useful-arm-references.html</link><pubDate>Tue, 21 Mar 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/03/21/useful-arm-references.html</guid><description>&lt;p&gt;I started playing the excellent &lt;a href="http://ioarm.netgarage.org/"&gt;IOARM wargame on netgarage&lt;/a&gt;.
No, don&amp;rsquo;t be expecting spoilers, hints, or walk-throughs, I&amp;rsquo;m not that kind of
guy. This is merely a list of interesting reading I&amp;rsquo;ve discovered to help me
understand the ARM architecture and ARM assembly.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/dockcross/dockcross"&gt;Docker containers for cross-compilation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.heyrick.co.uk/armwiki/Main_Page"&gt;ARMwiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://w3challs.com/syscalls/?arch=arm_strong"&gt;ARM Syscalls&lt;/a&gt; (I&amp;rsquo;m not sure
why they all seem to have +0x900000 to their value, you certainly don&amp;rsquo;t use
them that way.)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://thinkingeek.com/2014/05/24/arm-assembler-raspberry-pi-chapter-19/"&gt;ARM Assembly System Calls&lt;/a&gt;
(This is part of a bigger series that looks excellent at a glance.)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://shell-storm.org/blog/Shellcode-On-ARM-Architecture/"&gt;Shellcode on ARM architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/blob/57fd0b77d659d5733434d3ce37cf606273abb1e8/arch/arm/tools/syscall.tbl"&gt;Syscall.tbl for ARM&lt;/a&gt;
(Use with the w3challs.com version to see arguments used.)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wiki.osdev.org/Calling_Conventions"&gt;Calling Conventions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://yurovsky.github.io/2016/12/14/qemu-user-mode.html"&gt;GDB with User-Mode QEMU&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>GOT and PLT for pwning.</title><link>https://systemoverlord.com/2017/03/19/got-and-plt-for-pwning.html</link><pubDate>Sun, 19 Mar 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/03/19/got-and-plt-for-pwning.html</guid><description>&lt;p&gt;So, during the recent 0CTF, one of my teammates was asking me about RELRO and
the GOT and the PLT and all of the ELF sections involved. I realized that
though I knew the general concepts, I didn&amp;rsquo;t know as much as I should, so I did
some research to find out some more. This is documenting the research (and
hoping it&amp;rsquo;s useful for others).&lt;/p&gt;</description></item><item><title>BSidesSF 2017</title><link>https://systemoverlord.com/2017/02/15/bsidessf-2017.html</link><pubDate>Wed, 15 Feb 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/02/15/bsidessf-2017.html</guid><description>&lt;p&gt;BSidesSF 2017 was, by far, the best yet. I&amp;rsquo;ve been to the last 5 or so, and had
a blast at almost every one. This year, I was super busy &amp;ndash; gave a talk, ran a
workshop, and I was one of the organizers for the BSidesSF CTF. I&amp;rsquo;ve posted
&lt;a href="https://systemoverlord.com/projects/assessing_embedded_devices.html"&gt;the summary and slides for my talk&lt;/a&gt;
and I&amp;rsquo;ll update the video link once it gets posted.&lt;/p&gt;
&lt;p&gt;I think it&amp;rsquo;s important to thank the BSidesSF organizers &amp;ndash; they did a phenomenal
job with an even bigger venue and I think everyone loved it. It was clearly a
success, and I can only imagine how much work it takes to plan something like
this.&lt;/p&gt;</description></item><item><title>Assessing the Embedded Devices on Your Network</title><link>https://systemoverlord.com/projects/assessing_embedded_devices.html</link><pubDate>Mon, 13 Feb 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/assessing_embedded_devices.html</guid><description>&lt;p&gt;Embedded devices (including the so-called Internet of Things) pose unique
problems for those responsible for managing and assessing their security. The
devices tend to be less transparent and more tightly integrated than typical
software and generally lack the host-based security controls (privilege
separation, host firewalls, etc.) found on desktop or server applications. This
talk will cover some of the unique constraints for threat modeling and assessing
these devices, then walk through an assessment of a VoIP phone and discuss the
issues found there, including potential mitigations that can be applied if a
device cannot be updated.&lt;/p&gt;</description></item><item><title>SANS Holiday Hack Challenge 2016</title><link>https://systemoverlord.com/2017/01/05/sans-holiday-hack-challenge.html</link><pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/01/05/sans-holiday-hack-challenge.html</guid><description>&lt;ul&gt;
&lt;li&gt;Table of Contents
{:toc}&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This is my second time playing the SANS holiday hack challenge. It was a lot of fun, and probably took me about 8-10 hours over a period of 2-3 days, &lt;strong&gt;not&lt;/strong&gt; including this writeup. Ironically, this writeup took me longer than actually completing the challenge &amp;ndash; which brings me to a note about some of the examples in the writeup. Please ignore any dates or timelines you might see in screengrabs and other notes &amp;ndash; I was so engrossed in &lt;strong&gt;playing&lt;/strong&gt; that I did a terrible job of documenting as I went along, so a lot of these I went back and did a 2nd time (of course, knowing the solution made it a bit easier) so I could provide the quality of writeup I was hoping to.&lt;/p&gt;
&lt;p&gt;Most importantly, a huge shout out to all the SANS Counter Hack guys &amp;ndash; I can only imagine how much work goes into building an educational game like this and making the challenges realistic and engrossing. I’ve built wargames &amp;amp; similar apps for work, but never had to build them into a story &amp;ndash; let across a story that spans multiple years. I tip my hat to their dedication and success!&lt;/p&gt;</description></item><item><title>New Tool: sshdog</title><link>https://systemoverlord.com/2017/01/04/new-tool-sshdog.html</link><pubDate>Wed, 04 Jan 2017 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2017/01/04/new-tool-sshdog.html</guid><description>&lt;p&gt;I recently needed an &lt;em&gt;encrypted&lt;/em&gt;, &lt;em&gt;authenticated&lt;/em&gt; remote &lt;em&gt;bind&lt;/em&gt; shell due to a
situation where, believe it or not, the egress policies were stricter than
ingress! Ideally I could forward traffic and copy files over the link.&lt;br&gt;
I was looking for a good tool and casually asked my coworkers if they had any
ideas when one said &amp;ldquo;sounds like SSH.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Well, shit.&lt;/em&gt; That does sound like SSH and I didn&amp;rsquo;t even realize it. (Tunnel
vision, and the value of bouncing ideas off of others.) But I had a few more
requirements in total:&lt;/p&gt;</description></item><item><title>Security at the End of 2016</title><link>https://systemoverlord.com/2016/12/31/security-at-the-end-of-2016.html</link><pubDate>Sat, 31 Dec 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/12/31/security-at-the-end-of-2016.html</guid><description>&lt;p&gt;Well, 2016 is just about at an end, and what a year it has been. I&amp;rsquo;m not going
to delve into politics, though that will arguably be how the history books will
remember this year, but I want to take a look back at a few of the big security
headlines of the year, and then make some completely wildass prognostications
about information security in 2017.&lt;/p&gt;
&lt;h3 id="bad-news-of-2016"&gt;Bad News of 2016&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Yahoo!_data_breaches"&gt;Yahoo! reported over 1 billion accounts&lt;/a&gt;
were stolen by unknown attackers. Though the breaches occurred in 2013 and
2014, they weren&amp;rsquo;t publicly reported until the tail end of this year.&lt;/p&gt;</description></item><item><title>Posting JSON with an HTML Form</title><link>https://systemoverlord.com/2016/08/24/posting-json-with-an-html-form.html</link><pubDate>Wed, 24 Aug 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/08/24/posting-json-with-an-html-form.html</guid><description>&lt;p&gt;A coworker and I were looking at an application today that, like so many other
modern web applications, offers a RESTful API with JSON being used for
serialization of requests/responses. She noted that the application didn&amp;rsquo;t
include any sort of CSRF token and didn&amp;rsquo;t seem to use any of the headers
(X-Requested-With, Referer, Origin, etc.) as a &amp;ldquo;poor man&amp;rsquo;s CSRF token&amp;rdquo;, but
since it was posting JSON, was it really vulnerable to CSRF? &lt;strong&gt;Yes, yes,
definitely yes!&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ObiHai ObiPhone: Multiple Vulnerabilties</title><link>https://systemoverlord.com/2016/08/22/obihai-obiphone-multiple-vulnerabilties.html</link><pubDate>Mon, 22 Aug 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/08/22/obihai-obiphone-multiple-vulnerabilties.html</guid><description>&lt;p&gt;&lt;strong&gt;Note that this a duplicate of the
&lt;a href="http://seclists.org/fulldisclosure/2016/Aug/111"&gt;advisory sent to the full-disclosure&lt;/a&gt;
mailing list.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Multiple vulnerabilities were discovered in the web management interface of the ObiHai ObiPhone products. The Vulnerabilities were discovered during a black box security assessment and therefore the vulnerability list should not be considered exhaustive.&lt;/p&gt;
&lt;h2 id="affected-devices-and-versions"&gt;Affected Devices and Versions&lt;/h2&gt;
&lt;p&gt;ObiPhone 1032/1062 with firmware less than 5-0-0-3497.&lt;/p&gt;
&lt;h2 id="vulnerability-overview"&gt;Vulnerability Overview&lt;/h2&gt;
&lt;p&gt;Obi-1. Memory corruption leading to free() of an attacker-controlled address&lt;br&gt;
Obi-2. Command injection in WiFi Config&lt;br&gt;
Obi-3. Denial of Service due to buffer overflow&lt;br&gt;
Obi-4. Buffer overflow in internal socket handler&lt;br&gt;
Obi-5. Cross-site request forgery&lt;br&gt;
Obi-6. Failure to implement RFC 2617 correctly&lt;br&gt;
Obi-7. Invalid pointer dereference due to invalid header&lt;br&gt;
Obi-8. Null pointer dereference due to malicious URL&lt;br&gt;
Obi-9. Denial of service due to invalid content-length&lt;/p&gt;</description></item><item><title>(Slightly) Securing Wargame Servers</title><link>https://systemoverlord.com/2016/08/21/slightly-securing-warzone-servers.html</link><pubDate>Sun, 21 Aug 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/08/21/slightly-securing-warzone-servers.html</guid><description>&lt;p&gt;I was setting up some wargame boxes for a private group and wanted to reduce the
risk of malfeasence/abuse from these boxes. One option, used by many public
wargames, is locking down the firewall. While that&amp;rsquo;s a great start, I decided
to go one step further and prevent directly logging in as the wargame users,
requiring that the users of my private wargames have their own accounts.&lt;/p&gt;
&lt;h3 id="step-1-setup-the-private-accounts"&gt;Step 1: Setup the Private Accounts&lt;/h3&gt;
&lt;p&gt;This is pretty straightforward: create a group for these users that can SSH
directly in, create their accounts, and setup their public keys.&lt;/p&gt;</description></item><item><title>Matir's Favorite Things</title><link>https://systemoverlord.com/2016/08/20/matir-s-favorite-things.html</link><pubDate>Sat, 20 Aug 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/08/20/matir-s-favorite-things.html</guid><description>&lt;p&gt;One of my friends was recently asking me about some of the tools I use,
particularly for security assessments. While I can&amp;rsquo;t give out all of these
things for free Oprah-style, I did want to take a moment to share some of
my favorite security- and technology-related tools, services and resources.&lt;/p&gt;
&lt;h2 id="hardware"&gt;Hardware&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://shop.lenovo.com/us/en/laptops/thinkpad/t-series/t450s/"&gt;&lt;img src="https://systemoverlord.com/img/blog/favorite_things/t450s.jpg" alt="Lenovo T450s"&gt;{:.left}&lt;/a&gt;
My primary laptop is a &lt;strong&gt;Lenovo T450s&lt;/strong&gt;. For me, it&amp;rsquo;s the perfect mix of weight and
processing power &amp;ndash; configured with enough RAM, the i5-5200U has no trouble
running 2 or 3 VMs at the same time, and with an internal 3-cell battery plus a
6-cell battery pack, it will go all day without an outlet. (Though not
necessarily under 100% CPU load.) Though Lenovo no longer sells this, having
replaced it with the T460s, it&amp;rsquo;s still &lt;a href="https://amzn.to/2boky1C"&gt;available on
Amazon&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>HSC Part 2: Pros versus Joes CTF</title><link>https://systemoverlord.com/2016/08/10/hsc-part-2-pros-versus-joes-ctf.html</link><pubDate>Wed, 10 Aug 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/08/10/hsc-part-2-pros-versus-joes-ctf.html</guid><description>&lt;p&gt;Continuing my &lt;a href="https://systemoverlord.com/2016/08/09/hsc-part-i-hardware-hacking-with-the-hardsploit-framework.html"&gt;Hacker Summer Camp Series&lt;/a&gt;,
I&amp;rsquo;m going to talk about one of my Hacker Summer Camp traditions.
That&amp;rsquo;s right, it&amp;rsquo;s the Pros versus Joes CTF at BSidesLV. I&amp;rsquo;ve
written &lt;a href="https://systemoverlord.com/2015/08/12/hacker-summer-camp-2015-bsides-lv-pros-vs-joes-ctf"&gt;about my experiences&lt;/a&gt;
and even a &lt;a href="https://systemoverlord.com/2015/08/15/blue-team-players-guide-for-pros-vs-joes-ctf"&gt;player&amp;rsquo;s guide&lt;/a&gt;
before, but this was my first year as a Pro, captaining a blue team (The SYNdicate).&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s important to me to start by congratulating all of the Joes &amp;ndash; this is an
intense two days, and your pushing through it is a feat in and of itself. In
past years, we had players burn out early, but I&amp;rsquo;m proud to say that nearly all
of the Joes (from every team) worked hard until the final scorched earth. Every
one of the players on my team was outstanding and worked their ass off for this
CTF, and it paid off, as The SYNdicate was declared the victors of the 2016
BSides LV Pros versus Joes.&lt;/p&gt;</description></item><item><title>HSC Part 3: DEF CON</title><link>https://systemoverlord.com/2016/08/10/hsc-part-3-def-con.html</link><pubDate>Wed, 10 Aug 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/08/10/hsc-part-3-def-con.html</guid><description>&lt;p&gt;This is the 3rd, and final, post in my Hacker Summer Camp 2016 series.
&lt;a href="https://systemoverlord.com/2016/08/09/hsc-part-i-hardware-hacking-with-the-hardsploit-framework.html"&gt;Part 1&lt;/a&gt;
covered my class at Black Hat, and &lt;a href="https://systemoverlord.com/2016/08/10/hsc-part-2-pros-versus-joes-ctf.html"&gt;Part 2&lt;/a&gt;
the 2016 BSidesLV Pros versus Joes CTF. Now it&amp;rsquo;s time to talk about the
capstone of the week: DEF CON.&lt;/p&gt;
&lt;p&gt;DEF CON is the world&amp;rsquo;s largest (but not oldest) Hacker conference. This year
was the biggest yet, with Dark Tangent stating that they produced 22,000
lanyards &amp;ndash; and ran out of lanyards. That&amp;rsquo;s a lot of attendees. It covered
both the Paris and Bally&amp;rsquo;s conference areas, and that &lt;em&gt;still&lt;/em&gt; didn&amp;rsquo;t feel like
enough.&lt;/p&gt;</description></item><item><title>HSC Part 1: Hardware Hacking with the Hardsploit Framework</title><link>https://systemoverlord.com/2016/08/09/hsc-part-i-hardware-hacking-with-the-hardsploit-framework.html</link><pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/08/09/hsc-part-i-hardware-hacking-with-the-hardsploit-framework.html</guid><description>&lt;p&gt;Just returned from Hacker Summer Camp (Black Hat, BSides LV, DEF CON) and I&amp;rsquo;m
exhausted. 10 days in Las Vegas is a &lt;em&gt;lot&lt;/em&gt; of Las Vegas, even if you don&amp;rsquo;t
spend a lot of time at the slot machines, table games, and shows.&lt;/p&gt;
&lt;p&gt;My week started off with a training class at Black Hat: &lt;a href="https://www.blackhat.com/us-16/training/hardware-hacking-with-hardsploit-framework.html"&gt;Hardware Hacking with
the Hardsploit
Framework&lt;/a&gt;
taught by a couple of guys who clearly knew their hardware. I&amp;rsquo;ve previously
taken Xipiter&amp;rsquo;s &lt;a href="http://www.sexviahex.com/"&gt;Software Exploitation via Hardware
Exploitation&lt;/a&gt;, which helped with some of the basic
concepts, but the two classes were definitely complimentary. SexViaHex
predominantly focused on dumping firmware from embedded microcomputers (that is,
they had a kernel, typically Linux, and were running applications on them) and
analyzing them for exploitable software vulnerabilities (mostly memory
corruption-esque issues). HH with Hardsploit, on the other hand, mostly focused
on microcontroller-based embedded devices. This was much more a class of
dumping flash to locate stored secrets, understanding the hardware of the
device, and working from there.&lt;/p&gt;</description></item><item><title>Chrome on Kali for root</title><link>https://systemoverlord.com/2016/07/24/chrome-on-kali-for-root.html</link><pubDate>Sun, 24 Jul 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/07/24/chrome-on-kali-for-root.html</guid><description>&lt;p&gt;For many of the tools on &lt;a href="https://www.kali.org"&gt;Kali Linux&lt;/a&gt;, it&amp;rsquo;s easiest to run
them as root, so the defacto standard has more or less become to run as root
when using Kali. Google Chrome, on the other hand, would not like to be run as
root (because it makes sandboxing harder when your user is all-powerful) so
there have been a number of tricks to get it to run. I&amp;rsquo;m going to describe my
preferred setup here. (Mostly as documentation for myself.)&lt;/p&gt;</description></item><item><title>Hacker Summer Camp Planning Guide, Part II</title><link>https://systemoverlord.com/2016/07/08/hacker-summer-camp-planning-guide-part-ii.html</link><pubDate>Fri, 08 Jul 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/07/08/hacker-summer-camp-planning-guide-part-ii.html</guid><description>&lt;p&gt;In February, I wrote a &lt;a href="https://systemoverlord.com/2016/02/18/hacker-summer-camp-planning-guide.html"&gt;guide to planning travel for BSides, Black Hat, and DEF
CON&lt;/a&gt;, occasionally referred
to as &amp;ldquo;Hacker Summer Camp.&amp;rdquo; In my original post, I promised an update with
information about your actual travels to BSides, Black Hat, and DEF CON: what to
bring, what to do, and how best to stay out of trouble. This is my best advice
on that, but I&amp;rsquo;m sure others have differing opinions.&lt;/p&gt;</description></item><item><title>ASIS CTF 2016: 3magic</title><link>https://systemoverlord.com/2016/05/08/asis-ctf-2016-3magic.html</link><pubDate>Sun, 08 May 2016 22:30:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/05/08/asis-ctf-2016-3magic.html</guid><description>&lt;p&gt;We&amp;rsquo;re directed to a web application that provides us with the ability to ping an
arbitrary host. Like many such web interfaces, this one is vulnerable to
&lt;a href="https://www.owasp.org/index.php/Command_Injection"&gt;command injection&lt;/a&gt;. We can
provide flags like -v to get the version of ping being used, but inserting other
characters, like &lt;code&gt;|&lt;/code&gt;, &lt;code&gt;;&lt;/code&gt;, or &lt;code&gt;$()&lt;/code&gt; result in a response of &lt;code&gt;invalid character detected&lt;/code&gt;. Notably, so do spaces and tabs, significantly limiting the ability
to run commands (we&amp;rsquo;ll see how to get around this shortly).&lt;/p&gt;</description></item><item><title>ASIS CTF 2016: Binary Cloud</title><link>https://systemoverlord.com/2016/05/08/asis-ctf-2016-binary-cloud.html</link><pubDate>Sun, 08 May 2016 22:30:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/05/08/asis-ctf-2016-binary-cloud.html</guid><description>&lt;p&gt;Binary Cloud claims &amp;ldquo;Now you can upload any types of files, temporarily.&amp;rdquo; Let&amp;rsquo;s
see what this means.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/blog/asis-2016/binary_cloud.png" alt="binary cloud"&gt;&lt;/p&gt;
&lt;p&gt;Rule one of web challenges: check &lt;code&gt;robots.txt&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;User-Agent: *
Disallow: /
Disallow: /debug.php
Disallow: /cache
Disallow: /uploads
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;So we have some interesting paths there. &lt;code&gt;debug.php&lt;/code&gt; turns out to be a
&lt;code&gt;phpinfo()&lt;/code&gt; page, informing us it&amp;rsquo;s &amp;lsquo;PHP Version 7.0.4-7ubuntu2&amp;rsquo;. Interesting,
pretty new version. I play around with the app briefly to see how it&amp;rsquo;s going to
behave, and notice any file ending in &lt;code&gt;.php&lt;/code&gt; is prohibited. No direct &lt;code&gt;.php&lt;/code&gt;
script upload for us.&lt;/p&gt;</description></item><item><title>ASIS CTF 2016: firtog</title><link>https://systemoverlord.com/2016/05/08/asis-ctf-2016-firtog.html</link><pubDate>Sun, 08 May 2016 22:30:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/05/08/asis-ctf-2016-firtog.html</guid><description>&lt;p&gt;Firtog gives us a pcap file that you can quickly see features several TCP
sessions containing the git server protocol. The binary protocol looks like
this in the follow TCP stream mode:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/blog/asis-2016/firtog_wireshark.png" alt="firtog wireshark"&gt;&lt;/p&gt;
&lt;p&gt;Switching Wireshark to decode this as &amp;ldquo;Git&amp;rdquo; &lt;em&gt;almost&lt;/em&gt; works, but there&amp;rsquo;s a trick.
If we read the &lt;a href="https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt"&gt;git pack
protocol&lt;/a&gt;
documentation, we&amp;rsquo;ll see there&amp;rsquo;s a special side-band mode here, where the length
field is followed with a &amp;lsquo;1&amp;rsquo;, &amp;lsquo;2&amp;rsquo;, or &amp;lsquo;3&amp;rsquo; byte indicating the type of data to
follow. We only want the data from sideband &amp;lsquo;1&amp;rsquo;, which is the actual packfile
data. So we&amp;rsquo;ll grab that data using Wireshark and write it to a file, fixing up
the last byte with quick python work.&lt;/p&gt;</description></item><item><title>Even shorter x86-64 shellcode</title><link>https://systemoverlord.com/2016/04/27/even-shorter-shellcode.html</link><pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/04/27/even-shorter-shellcode.html</guid><description>&lt;p&gt;So about two years ago, I put together the &lt;a href="https://systemoverlord.com/2014/06/05/minimal-x86-64-shellcode-for-binsh/"&gt;shortest x86-64 shellcode for
&lt;code&gt;execve(&amp;quot;/bin/sh&amp;quot;,...);&lt;/code&gt;&lt;/a&gt; that I could. At the time, it was 25 bytes, which I
thought was pretty damn good. However, I&amp;rsquo;m a perfectionist and so I spent some
time before work this morning playing shellcode golf. The rules of my shellcode
golf are pretty simple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The shellcode must produce the desired effect.&lt;/li&gt;
&lt;li&gt;It doesn&amp;rsquo;t have to do things cleanly (i.e., segfaulting after is OK, as is
using APIs in unusual ways, so long as it works)&lt;/li&gt;
&lt;li&gt;It can assume the stack pointer is at a place where it will not segfault and
it will not overwrite the shellcode itself.&lt;/li&gt;
&lt;li&gt;No NULLs. While there might be other constraints, this one is too common to
not have as a default.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, spending a little bit of time on this, I came up with the following 22 byte
shellcode:&lt;/p&gt;</description></item><item><title>PlaidCTF 2016: Butterfly</title><link>https://systemoverlord.com/2016/04/17/plaidctf-2016-butterfly.html</link><pubDate>Sun, 17 Apr 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/04/17/plaidctf-2016-butterfly.html</guid><description>&lt;p&gt;Butterfly was a 150 point pwnable in the 2016 PlaidCTF. Basic properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;x86_64&lt;/li&gt;
&lt;li&gt;Not PIE&lt;/li&gt;
&lt;li&gt;Assume ASLR, NX&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It turns out to be a very simple binary, all the relevant code in one function
(&lt;code&gt;main&lt;/code&gt;), and using only a handful of libc functions. The first thing that
jumped out to me was two calls to &lt;code&gt;mprotect&lt;/code&gt;, at the same address. I spent some
time looking at the disassembly and figuring out what was going on. The
relevant portions can be seen here:&lt;/p&gt;</description></item><item><title>Ham Fisted Legislators</title><link>https://systemoverlord.com/2016/04/10/ham-fisted-legislators.html</link><pubDate>Sun, 10 Apr 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/04/10/ham-fisted-legislators.html</guid><description>&lt;p&gt;There&amp;rsquo;s fortunately been a lot of media coverage of a typically ham-fisted
attempt to legislate technology:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.wired.com/2016/04/senates-draft-encryption-bill-privacy-nightmare/"&gt;The Senate’s Draft Encryption Bill Is ‘Ludicrous, Dangerous, Technically Illiterate’ | WIRED&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fortune.com/2016/04/09/senate-encryption-leak-backlash/"&gt;Leak of Senate Encryption Bill Prompts Swift Backlash - Fortune&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.reuters.com/article/us-apple-encryption-legislation-idUSKCN0X52CG"&gt;Leak of Senate encryption bill prompts swift backlash | Reuters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reason.com/blog/2016/04/08/senates-attempt-at-encryption-bill-would"&gt;Senate’s Attempt at Encryption Bill Would Destroy the Very Idea of Cybersecurity - Hit &amp;amp; Run : Reason.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.usatoday.com/story/news/politics/2016/04/08/proposed-senate-bill-would-require-tech-companies-break-encryption/82798862/"&gt;www.usatoday.com/story/news/politics/2016/04/08/proposed-senate-bill-would-require-tech-companies-break-encryption/82798862/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For once, it&amp;rsquo;s not just been technology blogs: Fortune, Reuters, and USA Today
are among those covering the legislative failure.&lt;/p&gt;</description></item><item><title>Women in Cybersecurity Summit</title><link>https://systemoverlord.com/2016/04/04/women-in-cybersecurity-summit.html</link><pubDate>Mon, 04 Apr 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/04/04/women-in-cybersecurity-summit.html</guid><description>&lt;p&gt;This past weekend, I was at the &lt;a href="https://www.csc.tntech.edu/wicys/"&gt;Women in Cybersecurity
Summit&lt;/a&gt; in Dallas, TX, both recruiting for my
company and copresenting a workshop on web application penetration testing. It
was a real eye-opening event for me, mostly because it was the first security event I&amp;rsquo;ve
attended where the bulk of the attendees were students or faculty. I had a great time
and met a lot of interesting people, and it&amp;rsquo;s a very small event, which is something
I&amp;rsquo;m not terribly used to, since I usually go to bigger events.&lt;/p&gt;</description></item><item><title>Another Milestone: Offensive Security Certified Expert</title><link>https://systemoverlord.com/2016/03/28/another-milestone-offensive-security-certified-expert.html</link><pubDate>Mon, 28 Mar 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/03/28/another-milestone-offensive-security-certified-expert.html</guid><description>&lt;p&gt;This weekend, I attempted what might possibly be my hardest academic feat ever:
to pass the Offensive Security Certified Expert exam, the culmination of
OffSec&amp;rsquo;s Cracking the Perimeter course. 48 hours of being pushed
to my limits, followed by 24 hours of time to write a report detailing my
exploits. I expected quite a challenge, but it really pushed me to my limits.
The worst part of all, however, was the 50 hours or so that passed between the
time I submitted my exam report and the time I got my response.&lt;/p&gt;</description></item><item><title>Finding My Inspiration</title><link>https://systemoverlord.com/2016/03/24/finding-inspiration.html</link><pubDate>Thu, 24 Mar 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/03/24/finding-inspiration.html</guid><description>&lt;p&gt;I&amp;rsquo;ve been having a lot of trouble lately, feeling like I&amp;rsquo;m not doing the things
I need to do to move towards my personal goals or ensure that I continue to do
interesting work. As one of several things I&amp;rsquo;m trying to do, I&amp;rsquo;m trying to
catalog things that have inspired me recently, or whose work I aspire to imitate.
This is a no-particular-order list of classes, presentations, videos, papers,
and other that remind me why I love working in Information Security, in hopes
that it will help me find my mojo and enthusiasm for what I do again.&lt;/p&gt;</description></item><item><title>Banning Encryption Will Fail... And It's a Bad Idea, Too</title><link>https://systemoverlord.com/2016/03/23/banning-encryption-will-fail.html</link><pubDate>Wed, 23 Mar 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/03/23/banning-encryption-will-fail.html</guid><description>&lt;p&gt;There&amp;rsquo;s a lot of debate going on right now about banning encryption. Now, some
people might refer to this as a backdoor or &amp;ldquo;providing government access&amp;rdquo; or
whatever term they&amp;rsquo;d like to use to discuss it, but as a security professional,
I see only one thing as encryption: the kind that&amp;rsquo;s completely unbreakable, even
by the FBI or the NSA or the Chinese government or anyone else. Anything else
is simply not encryption, as it does not guarantee your confidentiality. So,
I&amp;rsquo;m going to talk about banning encryption as equivalent to providing a
government backdoor or any of the other clever ways it&amp;rsquo;s being spun.&lt;/p&gt;</description></item><item><title>(Tiny) Tool Release: Pwnpattern</title><link>https://systemoverlord.com/2016/03/16/tool-pwnpattern.html</link><pubDate>Wed, 16 Mar 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/03/16/tool-pwnpattern.html</guid><description>&lt;p&gt;Just a quick note to go with something I dropped on Github recently:
&lt;a href="https://github.com/Matir/pwnpattern"&gt;pwnpattern&lt;/a&gt; is a python library and
stand-alone script that replicates most of the functionality of Metasploit
Framework&amp;rsquo;s &lt;code&gt;pattern_create.rb&lt;/code&gt; and &lt;code&gt;pattern_offset.rb&lt;/code&gt;. The patterns created
are identical to those from Metasploit, so you can even mix and match tools.&lt;/p&gt;
&lt;p&gt;There are several reasons I wrote this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You don&amp;rsquo;t need a full copy of metasploit installed for creating patterns for e.g.,
wargames, CTFs, etc.&lt;/li&gt;
&lt;li&gt;It loads much more quickly: on my machine, Metasploit&amp;rsquo;s &lt;code&gt;pattern_create.rb&lt;/code&gt; takes
2.29s, my script takes 0.01s. This is due, of course, to dependencies (MSF&amp;rsquo;s
requires the entire Rex library to be loaded) but it is kind of nice to not
wait for things.&lt;/li&gt;
&lt;li&gt;It can be embedded in python scripts (just like Rex can be embedded in Ruby
scripts).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>BSides SF: Saturday</title><link>https://systemoverlord.com/2016/02/28/bsides-sf-day1.html</link><pubDate>Sun, 28 Feb 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/02/28/bsides-sf-day1.html</guid><description>&lt;p&gt;Much like my notes from BSides Seattle, this will just be a quick dump of notes
from the talks I attended today. (Almost) all talks are also being recorded by
Irongeek, so this only serves to highlight what I considered key points of the
talks I attended. Tomorrow, I&amp;rsquo;ll be doing my workshop (stop by and say hi) so
my notes are likely to be considerably lighter.&lt;/p&gt;
&lt;h3 id="keynote-a-declaration-of-the-independence-of-cyberspace"&gt;Keynote: A Declaration of the Independence of Cyberspace&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;John Perry Barlow, co-founder, EFF&lt;/em&gt;&lt;/p&gt;</description></item><item><title>BSides Workshop</title><link>https://systemoverlord.com/2016/02/27/bsides-workshop.html</link><pubDate>Sat, 27 Feb 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/02/27/bsides-workshop.html</guid><description>&lt;p&gt;I probably should&amp;rsquo;ve posted this days ago, but on Monday, I&amp;rsquo;ll be teaching a
&lt;a href="https://bsidessf2016.sched.org/event/6ARY/exploiting-broken-webapps"&gt;Web Security workshop&lt;/a&gt;
at &lt;a href="https://bsidessf.com/"&gt;BSides San Francisco&lt;/a&gt; along with
&lt;a href="https://twitter.com/N4ranj4"&gt;Niru&lt;/a&gt;. While capacity is limited, we may have a
few additional seats, so if you&amp;rsquo;re interested, drop by and see what we&amp;rsquo;ve got.&lt;/p&gt;
&lt;p&gt;Workshop description:&lt;/p&gt;
&lt;p&gt;Web applications can fail in a variety of ways, from Cross-Site Scripting to SQL Injection and more. Join us for a look at a variety of common web vulnerabilities, including Cross-Site Scripting, Cross-Site Request Forgery, Weak Authentication, Logic Errors, and more &amp;ndash; and an opportunity to test your web hacking skills against a simulated online bank. We’ll be covering the vulnerabilities from the ground up, but a basic understanding of web applications (i.e., HTTP, HTML, and JavaScript) and browsers would be useful background.&lt;/p&gt;</description></item><item><title>BSides Seattle</title><link>https://systemoverlord.com/2016/02/20/bsides-seattle.html</link><pubDate>Sat, 20 Feb 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/02/20/bsides-seattle.html</guid><description>&lt;p&gt;These are just (essentially) my raw notes dumped from the talks I attended at
BSides Seattle (2015-ish). Unfortunate I developed a migraine so I only caught
the morning talks.&lt;/p&gt;
&lt;h3 id="active-directory"&gt;Active Directory&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use scripts to dump AD&lt;/li&gt;
&lt;li&gt;Use scripts to sync with 3rd party providers&lt;/li&gt;
&lt;li&gt;Lots of story, not much technical depth&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="red-team"&gt;Red Team&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Presenter: Sean Malone, FusionX&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Types of Security Assessment&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vulnerability Assessment
&lt;ul&gt;
&lt;li&gt;Find vulnerability&lt;/li&gt;
&lt;li&gt;Limited Scope&lt;/li&gt;
&lt;li&gt;Broad &amp;amp; Shallow&lt;/li&gt;
&lt;li&gt;Cooperates with SecOps&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Pentesting
&lt;ul&gt;
&lt;li&gt;Achieve Technical Compromise/Domain Admin&lt;/li&gt;
&lt;li&gt;Moderate Depth&lt;/li&gt;
&lt;li&gt;Techniques include Network, Application Assessment&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Red Team
&lt;ul&gt;
&lt;li&gt;Narrow Scope&lt;/li&gt;
&lt;li&gt;Whole Enterprise is In Scope&lt;/li&gt;
&lt;li&gt;Techniques include Social, Physical, Technical&lt;/li&gt;
&lt;li&gt;RT Objectives
&lt;ul&gt;
&lt;li&gt;Simulate Sophisticated Adversary&lt;/li&gt;
&lt;li&gt;Achieve &amp;ldquo;Nightmare Scenario&amp;rdquo; without detection&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Client Objectives
&lt;ul&gt;
&lt;li&gt;Understand resiliency&lt;/li&gt;
&lt;li&gt;Risk reduction, not just vulnerability count&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Effective Red Teams&lt;/p&gt;</description></item><item><title>Hacker Summer Camp Planning Guide</title><link>https://systemoverlord.com/2016/02/18/hacker-summer-camp-planning-guide.html</link><pubDate>Thu, 18 Feb 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/02/18/hacker-summer-camp-planning-guide.html</guid><description>&lt;p&gt;A couple of coworkers who have never been to &lt;a href="https://www.defcon.org"&gt;DEF CON&lt;/a&gt;,
&lt;a href="https://www.bsideslv.org/"&gt;BSides Las Vegas&lt;/a&gt; or &lt;a href="https://www.blackhat.com/"&gt;Black
Hat&lt;/a&gt; (collectively, &amp;ldquo;Hacker Summer Camp&amp;rdquo;)
asked me about planning their first trips, so I decided to collect my tips here.
I&amp;rsquo;m going to be splitting my advice into two parts: this planning guide for
travel/scheduling/registration information, and a
Hacker Summer Camp survival guide for advice that&amp;rsquo;s more relevant while you&amp;rsquo;re
at the conferences.&lt;/p&gt;
&lt;h3 id="manage-your-energy"&gt;Manage Your Energy&lt;/h3&gt;
&lt;p&gt;There&amp;rsquo;s a lot to do, the hours tend to be long, and unless you&amp;rsquo;re used to both
the environment (typically hot, this is Las Vegas in August!) and the crowds,
it&amp;rsquo;s going to burn a lot more energy than you&amp;rsquo;re going to expect. Two years
ago, I attended all 3 of the conferences, helped run a company suite, and taught
classes at R00tz (formerly DEF CON Kids). This was a serious mistake on my
part, and failure to &lt;em&gt;manage my energy&lt;/em&gt; adequately. I ended up not getting as
much out of any of the events as I should have, and when I returned, I ended up
sick for several days due to the toll of these events on my body. It was more
than a full week afterwards before I felt fully recovered.&lt;/p&gt;</description></item><item><title>Time for More Changes</title><link>https://systemoverlord.com/2016/02/12/time-for-more-changes.html</link><pubDate>Fri, 12 Feb 2016 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2016/02/12/time-for-more-changes.html</guid><description>&lt;p&gt;This isn&amp;rsquo;t the first time I&amp;rsquo;ve changed blogging platforms, and it probably won&amp;rsquo;t
be the last. I got tired of having to do maintenance on a blogging platform, so
I decided to look for something lightweight. Enter
&lt;a href="https://jekyllrb.com/"&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jekyll is basically a static website compiler &amp;ndash; it takes templates and content
and produces static HTML output. No databases, no runtimes, no attack surface
(beyond a static webserver). Given that I don&amp;rsquo;t mind writing in Markdown (in
fact, I was using a Markdown plugin for Mezzanine), it seemed like a perfect
fit. I wrote a quick script to get content out of Mezzanine/Django and export
as HTML/Markdown, then spent some time tweaking the settings and theme (based on
&lt;a href="http://hyde.getpoole.com/"&gt;Hyde&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Offensive Security Certified Professional</title><link>https://systemoverlord.com/2015/12/29/offensive-security-certified-professional/</link><pubDate>Tue, 29 Dec 2015 05:32:33 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/12/29/offensive-security-certified-professional/</guid><description>&lt;p&gt;It&amp;rsquo;s been a little bit since I last updated, and it&amp;rsquo;s been a busy time. I did want to take a quick moment to update and note that I accomplished something I&amp;rsquo;m pretty proud of. As of Christmas Eve, I&amp;rsquo;m now an Offensive Security Certified Professional.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/blog/oscp.png" alt="OSCP Logo"&gt;&lt;/p&gt;
&lt;p&gt;Even though I&amp;rsquo;ve been working in security for more than two years, the lab and exam were still a challenge. Given that I mostly deal with web security at work, it was a great change to have a lab environment of more than 50 machines to attack. Perhaps most significantly, it gave me an opportunity to fight back a little bit of the impostor syndrome I&amp;rsquo;m perpetually afflicted with.&lt;/p&gt;</description></item><item><title>WebBorer: Directory Enumeration in Go</title><link>https://systemoverlord.com/projects/webborer.html</link><pubDate>Mon, 28 Dec 2015 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/webborer.html</guid><description>&lt;p&gt;WebBorer is a directory-enumeration tool written in Go and targeting CLI usage.&lt;/p&gt;
&lt;p&gt;(Formerly named GoBuster, name changed to avoid collision with OJ Reeve&amp;rsquo;s
excellent work.)&lt;/p&gt;
&lt;h3 id="features"&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Highly portable &amp;ndash; requires no runtime once compiled.&lt;/li&gt;
&lt;li&gt;No GUI required.&lt;/li&gt;
&lt;li&gt;Natively supports Socks 4, 4a, and 5 proxies.&lt;/li&gt;
&lt;li&gt;Supports excluding entire subpaths.&lt;/li&gt;
&lt;li&gt;Capable of parsing returned HTML for additional directories to parse.&lt;/li&gt;
&lt;li&gt;Highly scalable &amp;ndash; Go&amp;rsquo;s parallel model allows for many workers at once.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="contributing"&gt;Contributing&lt;/h3&gt;
&lt;p&gt;Please see the CONTRIBUTING file in this directory.&lt;/p&gt;</description></item><item><title>CSAW Quals 2015: Sharpturn (aka Forensics 400)</title><link>https://systemoverlord.com/2015/09/21/csaw-quals-2015-sharpturn-aka-forensics-400/</link><pubDate>Mon, 21 Sep 2015 21:33:58 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/09/21/csaw-quals-2015-sharpturn-aka-forensics-400/</guid><description>&lt;p&gt;The text was just:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I think my SATA controller is dying.&lt;/p&gt;
&lt;p&gt;HINT: &lt;code&gt;git fsck -v&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And included a tarball containing a git repository. If you ran the suggested &lt;code&gt;git fsck -v&lt;/code&gt;, you&amp;rsquo;d discover that 3 commits were corrupt:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:::text
Checking HEAD link
Checking object directory
Checking directory ./objects/2b
Checking directory ./objects/2e
Checking directory ./objects/35
Checking directory ./objects/4a
Checking directory ./objects/4c
Checking directory ./objects/7c
Checking directory ./objects/a1
Checking directory ./objects/cb
Checking directory ./objects/d5
Checking directory ./objects/d9
Checking directory ./objects/e5
Checking directory ./objects/ef
Checking directory ./objects/f8
Checking tree 2bd4c81f7261a60ecded9bae3027a46b9746fa4f
Checking commit 2e5d553f41522fc9036bacce1398c87c2483c2d5
error: sha1 mismatch 354ebf392533dce06174f9c8c093036c138935f3
error: 354ebf392533dce06174f9c8c093036c138935f3: object corrupt or missing
Checking commit 4a2f335e042db12cc32a684827c5c8f7c97fe60b
Checking tree 4c0555b27c05dbdf044598a0601e5c8e28319f67
Checking commit 7c9ba8a38ffe5ce6912c69e7171befc64da12d4c
Checking tree a1607d81984206648265fbd23a4af5e13b289f83
Checking tree cb6c9498d7f33305f32522f862bce592ca4becd5
Checking commit d57aaf773b1a8c8e79b6e515d3f92fc5cb332860
error: sha1 mismatch d961f81a588fcfd5e57bbea7e17ddae8a5e61333
error: d961f81a588fcfd5e57bbea7e17ddae8a5e61333: object corrupt or missing
Checking blob e5e5f63b462ec6012bc69dfa076fa7d92510f22f
Checking blob efda2f556de36b9e9e1d62417c5f282d8961e2f8
error: sha1 mismatch f8d0839dd728cb9a723e32058dcc386070d5e3b5
error: f8d0839dd728cb9a723e32058dcc386070d5e3b5: object corrupt or missing
Checking connectivity (32 objects)
Checking a1607d81984206648265fbd23a4af5e13b289f83
Checking e5e5f63b462ec6012bc69dfa076fa7d92510f22f
Checking 4a2f335e042db12cc32a684827c5c8f7c97fe60b
Checking cb6c9498d7f33305f32522f862bce592ca4becd5
Checking 4c0555b27c05dbdf044598a0601e5c8e28319f67
Checking 2bd4c81f7261a60ecded9bae3027a46b9746fa4f
Checking 2e5d553f41522fc9036bacce1398c87c2483c2d5
Checking efda2f556de36b9e9e1d62417c5f282d8961e2f8
Checking 354ebf392533dce06174f9c8c093036c138935f3
Checking d57aaf773b1a8c8e79b6e515d3f92fc5cb332860
Checking f8d0839dd728cb9a723e32058dcc386070d5e3b5
Checking d961f81a588fcfd5e57bbea7e17ddae8a5e61333
Checking 7c9ba8a38ffe5ce6912c69e7171befc64da12d4c
missing blob 354ebf392533dce06174f9c8c093036c138935f3
missing blob f8d0839dd728cb9a723e32058dcc386070d5e3b5
missing blob d961f81a588fcfd5e57bbea7e17ddae8a5e61333
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Well, crap. How do we fix these? Well, I guess the good news is that the git blob format is &lt;a href="https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"&gt;fairly well documented&lt;/a&gt;. The SHA-1 of a blob is computed by taking the string &lt;code&gt;blob &lt;/code&gt;, appending the length of the blob as an ASCII-encoded decimal value, a null character, and then the blob contents itself: &lt;code&gt;blob &amp;lt;blob_length&amp;gt;\0&amp;lt;blob_data&amp;gt;&lt;/code&gt;. The final blob value as written in the objects directory of the git repository is the zlib-compressed version of this string. This leads us to these useful functions for reading, writing, and hashing git blobs in python:&lt;/p&gt;</description></item><item><title>What the LastPass CLI tells us about LastPass Design</title><link>https://systemoverlord.com/2015/09/16/what-the-lastpass-cli-tells-us-about-lastpass-design/</link><pubDate>Wed, 16 Sep 2015 05:58:19 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/09/16/what-the-lastpass-cli-tells-us-about-lastpass-design/</guid><description>&lt;p&gt;&lt;a href="https://lastpass.com/"&gt;LastPass&lt;/a&gt; is a password manager that claims not to be
able to access your data.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;All sensitive data is encrypted and decrypted locally before syncing with
LastPass. Your key never leaves your device, and is never shared with
LastPass. Your data stays accessible only to you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While it would be pretty hard to prove that claim, it is interesting to take
a look at how they implement their zero-knowledge encryption. The LastPass
browser extensions are a mess of minified JavaScript, but they&amp;rsquo;ve been kind
enough to publish an &lt;a href="https://github.com/lastpass/lastpass-cli"&gt;open-source command line
client&lt;/a&gt;, that&amp;rsquo;s quite readable C code.
I was interested to see what we could learn from the CLI, and while it won&amp;rsquo;t
prove that they can&amp;rsquo;t read your passwords, it will help to understand their
design.&lt;/p&gt;</description></item><item><title>So, is Windows 10 Spying On You?</title><link>https://systemoverlord.com/2015/08/16/so-is-windows-10-spying-on-you/</link><pubDate>Sun, 16 Aug 2015 21:00:02 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/08/16/so-is-windows-10-spying-on-you/</guid><description>&lt;p&gt;&amp;ldquo;Extraordinary claims require extraordinary evidence.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;A few days ago, &lt;a href="https://web.archive.org/web/20150815004626/http://localghost.org/posts/a-traffic-analysis-of-windows-10"&gt;localghost.org posted a
translation&lt;/a&gt;
of &lt;a href="http://aeronet.cz/news/analyza-windows-10-ve-svem-principu-jde-o-pouhy-terminal-na-sber-informaci-o-uzivateli-jeho-prstech-ocich-a-hlasu/"&gt;a Czech
article&lt;/a&gt;
alledging Windows 10 &amp;ldquo;phones home&amp;rdquo; in a number of ways. I was a little
surprised, and more than a little alarmed, by some of the claims. Rather than
blindly repost the claims, I decided it would be a good idea to see what I could
test for myself. Rob Seder &lt;a href="https://robsederblog.wordpress.com/2015/08/16/whats-the-real-deal-with-windows-10-and-privacy/"&gt;has done
similarly&lt;/a&gt;
but I&amp;rsquo;m taking it a step further to look at the real traffic contents.&lt;/p&gt;</description></item><item><title>Blue Team Player's Guide for Pros vs Joes CTF</title><link>https://systemoverlord.com/2015/08/15/blue-team-players-guide-for-pros-vs-joes-ctf/</link><pubDate>Sat, 15 Aug 2015 19:15:36 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/08/15/blue-team-players-guide-for-pros-vs-joes-ctf/</guid><description>&lt;p&gt;I&amp;rsquo;ve played in Dichotomy&amp;rsquo;s &lt;a href="http://www.prosversusjoes.net/"&gt;Pros v Joes&lt;/a&gt; CTF for
the past 3 years &amp;ndash; which, I&amp;rsquo;m told, makes me the only player to have done so.
It&amp;rsquo;s an incredible CTF and dramatically different from any other that I&amp;rsquo;ve ever
played. Dichotomy and I were having lunch at DEF CON when he said &amp;ldquo;You know
what would be cool? A blue team player&amp;rsquo;s guide.&amp;rdquo; So, I give to you, the blue
team player&amp;rsquo;s guide to the Pros v Joes CTF.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2015: DEF CON</title><link>https://systemoverlord.com/2015/08/14/hacker-summer-camp-2015-def-con/</link><pubDate>Fri, 14 Aug 2015 03:11:12 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/08/14/hacker-summer-camp-2015-def-con/</guid><description>&lt;p&gt;So, following up on my post on BSides LV 2015, I thought I&amp;rsquo;d give a summary of DEF CON 23. I can&amp;rsquo;t cover everything I did (after all, what happens in Vegas, stays in Vegas&amp;hellip; mostly) but I&amp;rsquo;m going to cover the biggest highlights as I saw them.&lt;/p&gt;
&lt;p&gt;The first thing to know about my take on DEF CON is that DEF CON is a one-of-a-kind event, somewhere between a security conference and a trip to Mecca. It&amp;rsquo;s one part conference, one part party, and one part social experience. The second thing to know about my take on DEF CON is that I&amp;rsquo;m not there to listen to people speak. If I was just there to listen to people speak, there&amp;rsquo;s the videos posted to YouTube or available on streaming/DVD from the conference recordings. I&amp;rsquo;m at DEF CON to &lt;em&gt;participate&lt;/em&gt;, &lt;em&gt;meet people&lt;/em&gt;, and &lt;strong&gt;hack all the things&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Hacker Summer Camp 2015: BSides LV &amp; Pros vs Joes CTF</title><link>https://systemoverlord.com/2015/08/12/hacker-summer-camp-2015-bsides-lv-pros-vs-joes-ctf/</link><pubDate>Wed, 12 Aug 2015 00:13:58 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/08/12/hacker-summer-camp-2015-bsides-lv-pros-vs-joes-ctf/</guid><description>&lt;p&gt;I&amp;rsquo;ve just returned from Las Vegas for the annual &amp;ldquo;hacker summer camp&amp;rdquo;, and am
going to be putting up a series of blog posts covering the week. Tuesday and
Wednesday were &lt;a href="https://bsideslv.org"&gt;BSides Las Vegas&lt;/a&gt;. For the uninitiated,
BSides was founded as the &amp;ldquo;flip side&amp;rdquo; to Black Hat, and has spawned into a
series of community organized and oriented conferences around the globe.
Entrance to BSides LV was free, but you could guarantee a spot by donating in
advance if you were so inclined. (I was.)&lt;/p&gt;</description></item><item><title>Playing with the Patriot Gauntlet Node (Part 2)</title><link>https://systemoverlord.com/2015/06/20/playing-with-the-patriot-gauntlet-node-part-2/</link><pubDate>Sat, 20 Jun 2015 22:13:50 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/06/20/playing-with-the-patriot-gauntlet-node-part-2/</guid><description>&lt;p&gt;Despite the fact that it&amp;rsquo;s been over 2 years since I posted &lt;a href="https://systemoverlord.com/2013/02/05/playing-with-the-patriot-gauntlet-node-part-1/"&gt;Part 1&lt;/a&gt;, I got bored and decided I should take another look at the &lt;a href="http://www.amazon.com/gp/product/B008KW61XK/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B008KW61XK&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20&amp;amp;linkId=YX2FFFV7XA7LVSVW"&gt;Patriot Gauntlet Node&lt;/a&gt;. So I go and grab the latest firmware from Patriot&amp;rsquo;s website (V21_1.2.4.6) and use the same binwalk techniques described in the first post, I extracted the latest firmware.&lt;/p&gt;
&lt;p&gt;So, the TL;DR is: It&amp;rsquo;s unexciting because Patriot makes no effort to secure the device. It seems that their security model is &amp;ldquo;if you&amp;rsquo;re on the network, you own the device&amp;rdquo;, which is pretty much the case. Not only can you enable telnet as I&amp;rsquo;ve discussed before, there&amp;rsquo;s even a convenient web-based interface to run commands: http://10.10.10.254:8088/adm/system_command.asp. Oh, and it&amp;rsquo;s not authenticated. Even if you set an admin password (which is hidden at http://10.10.10.254:8088/adm/management.asp).&lt;/p&gt;</description></item><item><title>Lack of Updates, Turning 30</title><link>https://systemoverlord.com/2015/05/10/lack-of-updates-turning-30/</link><pubDate>Sun, 10 May 2015 04:21:38 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2015/05/10/lack-of-updates-turning-30/</guid><description>&lt;p&gt;I&amp;rsquo;ve been disappointed with myself for a while for not updating more often. It&amp;rsquo;s been months! I&amp;rsquo;d been pushing myself to update regularly, but I also only want to update with genuine content. Social networks are places where I can just place random thoughts, this is a place for meaningful content that will (hopefully) be useful to others. (Though the jury&amp;rsquo;s still out on that one.)&lt;/p&gt;
&lt;p&gt;Part of the reason for the lack of updates is burnout. For one reason or another, I just haven&amp;rsquo;t been feeling myself for a while, and so haven&amp;rsquo;t been doing as many interesting things. Some of this burnout is due to the nature of things I&amp;rsquo;ve been doing at work, but it wouldn&amp;rsquo;t be fair to blame all of it on work.&lt;/p&gt;</description></item><item><title>Towards a Better Password Manager</title><link>https://systemoverlord.com/2014/10/31/towards-a-better-password-manager/</link><pubDate>Fri, 31 Oct 2014 01:16:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/10/31/towards-a-better-password-manager/</guid><description>&lt;p&gt;The consensus in the security community is that &lt;a href="http://www.wired.com/2014/08/passwords_microsoft/"&gt;passwords suck&lt;/a&gt;, but they&amp;rsquo;re here to stay, at least for a while longer. Given breaches like &lt;a href="http://krebsonsecurity.com/2013/10/adobe-breach-impacted-at-least-38-million-users/"&gt;Adobe&lt;/a&gt;, &amp;hellip;, it&amp;rsquo;s becoming more and more evident that the biggest threat is not weak passwords, but &lt;a href="https://xkcd.com/792/"&gt;password reuse&lt;/a&gt;. Of course, the solution to password to reuse is to use one password for every site that requires you to log in. The problem is that your average user has &lt;a href="http://www.dailymail.co.uk/sciencetech/article-2174274/No-wonder-hackers-easy-Most-26-different-online-accounts--passwords.html"&gt;dozens of online accounts&lt;/a&gt;, and they probably can&amp;rsquo;t remember those dozens of passwords. So, we build tools to help people remember passwords, mostly password managers, but do we build them well?&lt;/p&gt;</description></item><item><title>Dangers of decorator-based registries in Python</title><link>https://systemoverlord.com/2014/10/26/dangers-of-decorator-based-registries-in-python/</link><pubDate>Sun, 26 Oct 2014 18:51:13 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/10/26/dangers-of-decorator-based-registries-in-python/</guid><description>&lt;p&gt;So &lt;a href="http://flask.pocoo.org/"&gt;Flask&lt;/a&gt; has a really convenient mechanism for registering handlers, actions to be run before/after requests, etc. Using decorators, Flask registers these functions to be called, as in:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!python
@app.route('/')
def homepage_handler():
 return 'Hello World'

@app.before_request
def do_something_before_each_request():
 ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is pretty convenient, and works really well, because it means you don&amp;rsquo;t have to list all your routes in one place (like Django requires) but it comes with a cost. You can end up with Python modules that are only needed for the side effects of importing them. No functions from those modules are directly called from your other modules, but they still need to be imported &lt;em&gt;somewhere&lt;/em&gt; to get the routes registered.&lt;/p&gt;</description></item><item><title>PSA: Typos in mkfs commands are painful</title><link>https://systemoverlord.com/2014/10/20/psa-typos-in-mkfs-commands-are-painful/</link><pubDate>Mon, 20 Oct 2014 14:19:40 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/10/20/psa-typos-in-mkfs-commands-are-painful/</guid><description>&lt;p&gt;TL;DR: I apparently typed &lt;code&gt;mkfs.vfat /dev/sda1&lt;/code&gt; at some point. Oops.&lt;/p&gt;
&lt;p&gt;So I rarely reboot my machines, and last night, when I rebooted my laptop (for graphics card weirdness) Grub just came up with:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Error: unknown filesystem.
grub rescue&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;WTF, I wonder how I borked my grub config? Let&amp;rsquo;s see what happens when we ls my /boot partition.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;grub rescue&amp;gt;ls (hd0,msdos1)
unknown filesystem
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hrrm, that&amp;rsquo;s no good. An &lt;code&gt;ls&lt;/code&gt; on my other partition isn&amp;rsquo;t going to be very useful, it&amp;rsquo;s a LUKS-encrypted LVM PV. Alright, time for a live system. I grab a Kali live USB (not because Kali is necessarily the best option here, it&amp;rsquo;s just what I happen to have handy) and put it in the system and boot from that. &lt;code&gt;file&lt;/code&gt; tells me its an &lt;code&gt;x86 boot sector&lt;/code&gt;, which is not at all what I&amp;rsquo;m expecting from an ext4 boot partition. It slowly dawns on me that at some point, intending to format a flash drive or SD card, I must&amp;rsquo;ve run &lt;code&gt;mkfs.vfat /dev/sd&lt;/code&gt;&lt;strong&gt;&lt;code&gt;a&lt;/code&gt;&lt;/strong&gt;&lt;code&gt;1&lt;/code&gt; instead of &lt;code&gt;mkfs.vfat /dev/sd&lt;/code&gt;&lt;strong&gt;&lt;code&gt;b&lt;/code&gt;&lt;/strong&gt;&lt;code&gt;1&lt;/code&gt;. That one letter makes all the difference. Of course, it turns out it&amp;rsquo;s not even a valid FAT filesystem&amp;hellip; since the device was mounted, the OS had kept writing to it like an ext4 filesystem, so it was basically a mangled mess. &lt;code&gt;fsck&lt;/code&gt; wasn&amp;rsquo;t able to restore it, even pointing to backup superblocks: it seems as though, among other things, the root inode was destroyed.&lt;/p&gt;</description></item><item><title>Getting Started in CTFs</title><link>https://systemoverlord.com/2014/09/14/getting-started-in-ctfs/</link><pubDate>Sun, 14 Sep 2014 20:07:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/09/14/getting-started-in-ctfs/</guid><description>&lt;p&gt;My last post was about getting started in a career in information security. This post is about the sport end of information security: Capture the Flag (CTFs).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d played around with some wargames (&lt;a href="http://smashthestack.org/"&gt;Smash the Stack&lt;/a&gt;, &lt;a href="http://overthewire.org/wargames/"&gt;Over the Wire&lt;/a&gt;, and &lt;a href="https://www.hackthissite.org/"&gt;Hack this Site&lt;/a&gt;) before, but my first real CTF (timed, competitive, etc.) was the &lt;a href="https://systemoverlord.com/2013/03/02/bsides-sf-ctf-by-mad-security-part-1/"&gt;CTF run by Mad Security at BSides SF 2013&lt;/a&gt;. By some bizarre twist of fate, I ended up winning the CTF, and I was hooked. I&amp;rsquo;ve probably played in about 30 CTFs since, most of them online with the team &lt;a href="https://ctftime.org/team/4710"&gt;Shadow Cats&lt;/a&gt;. It&amp;rsquo;s been a bumpy ride, but I&amp;rsquo;ve learned a lot about a variety of topics by doing this.&lt;/p&gt;</description></item><item><title>Getting Started in Information Security</title><link>https://systemoverlord.com/2014/09/13/getting-started-in-information-security/</link><pubDate>Sat, 13 Sep 2014 19:30:22 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/09/13/getting-started-in-information-security/</guid><description>&lt;p&gt;I&amp;rsquo;ve only been an information security practitioner for about a year now, but I&amp;rsquo;ve been doing things on my own for years before that. However, many people are just getting into security, and I&amp;rsquo;ve recently stumbled on a number of resources for newcomers, so I thought I&amp;rsquo;d put together a short list.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://krebsonsecurity.com/2012/07/how-to-break-into-security-schneier-edition/"&gt;Brian Krebs and Bruce Schneier put together some thoughts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://averagesecurityguy.info/2011/09/13/security-career-question/"&gt;Stephen, aka Average Security Guy has a good discussion, mostly focusing on certifications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/ChrisGrayson/so-you-want-to-be-a-hacker"&gt;Chris Grayson&amp;rsquo;s &amp;ldquo;So you want to be a hacker&amp;rdquo; presentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.reddit.com/r/netsec/wiki/start"&gt;Reddit&amp;rsquo;s /r/netsec wiki maintains a good page on getting started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dc801.org/infosec-resources/"&gt;DC801&amp;rsquo;s list of InfoSec Resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>[CVE-2014-5204] Wordpress nonce Issues</title><link>https://systemoverlord.com/2014/09/10/cve-2014-5204-wordpress-nonce-issues/</link><pubDate>Wed, 10 Sep 2014 22:54:52 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/09/10/cve-2014-5204-wordpress-nonce-issues/</guid><description>&lt;p&gt;Wordpress 3.9.2, released August 6th, contained fixes for two closely related
vulnerabilities (CVE-2014-5204) in the way it handles Wordpress nonces (CSRF
Tokens, essentially) that I reported to the Wordpress Security Team. I&amp;rsquo;d like
to say the delay in my publishing this write-up was to allow people time to
patch, but the reality is I&amp;rsquo;ve just been busy and haven&amp;rsquo;t gotten around to this.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Wordpress &amp;lt; 3.9.2 generated nonces in a manner that would allow an
attacker to generate valid nonces for other users for a &lt;strong&gt;small&lt;/strong&gt; subset of
possible actions. Additionally, nonces were compared with &lt;code&gt;==&lt;/code&gt;, leading to a
timing attack against nonce comparison. (Although this is very difficult to
execute.)&lt;/p&gt;</description></item><item><title>Security: Not a Binary State</title><link>https://systemoverlord.com/2014/09/05/security-not-a-binary-state/</link><pubDate>Fri, 05 Sep 2014 00:03:24 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/09/05/security-not-a-binary-state/</guid><description>&lt;p&gt;I&amp;rsquo;ve been spending a fair amount of time on &lt;a href="https://security.stackexchange.com"&gt;Security StackExchange&lt;/a&gt; lately, mostly looking for inspiration for research and blogging, but also answering a question every now and then. One trend I&amp;rsquo;ve noticed is asking questions of the form &amp;ldquo;Is &lt;em&gt;security practice X&lt;/em&gt; secure?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This is asked as a yes/no question, but security isn&amp;rsquo;t a binary state. There is no &amp;ldquo;absolutely secure.&amp;rdquo; Security is a spectrum, and it really depends on what you&amp;rsquo;re worried about, which is where threat modeling comes in. Both users and service providers need to consider their risks and decide what&amp;rsquo;s important to them.&lt;/p&gt;</description></item><item><title>DEF CON 22 Recap</title><link>https://systemoverlord.com/2014/08/13/def-con-22-recap/</link><pubDate>Wed, 13 Aug 2014 05:45:33 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/08/13/def-con-22-recap/</guid><description>&lt;p&gt;&lt;img src="https://systemoverlord.com/img/blog/badges.jpg" alt="Conference Badges"&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m back and recovering with typical post-con fatigue. This year, I made several mistakes, not the least of which was trying to do &lt;a href="http://www.bsideslv.org/"&gt;BSides&lt;/a&gt;, &lt;a href="https://www.blackhat.com/"&gt;Black Hat&lt;/a&gt;, and &lt;a href="https://www.defcon.org/"&gt;DEF CON&lt;/a&gt;. Given the overlapping schedules and the events occurring outside the conferences, this left me really drained, not to mention spending more time transiting between the events than I&amp;rsquo;d like.&lt;/p&gt;
&lt;h3 id="bsides-las-vegas"&gt;BSides Las Vegas&lt;/h3&gt;
&lt;p&gt;B-Sides was a blast, but I spent most of the time I was there playing in the Pros vs Joes CTF run by &lt;a href="https://twitter.com/dichotomy1"&gt;Dichotomy&lt;/a&gt;. This is a particularly nice Capture the Flag competition, since it&amp;rsquo;s based on defending (and attacking) &amp;ldquo;real world&amp;rdquo; networks, rather than the typical Jeopardy-style &amp;ldquo;crack this binary&amp;rdquo; competitions. Most of the problems seen in the real world aren&amp;rsquo;t, in fact, 0-day produced by talented hackers, but in fact configuration weaknesses, outdated software, and insecure practices exploited by script kiddies. PvJ forces you to consider how to harden a &amp;ldquo;corporate&amp;rdquo; environment while still providing the same services. You get a Cisco ASA as your firewall, and can reconfigure services as needed to establish your perimeter and secure your systems. On Day 2, you also get to see just how good you are at breaking in, and just how good (or bad) your opponents are at securing their network.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 8/2/14</title><link>https://systemoverlord.com/2014/08/03/weekly-reading-list-for-8214/</link><pubDate>Sun, 03 Aug 2014 02:02:20 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/08/03/weekly-reading-list-for-8214/</guid><description>&lt;p&gt;This has been missing for a few weeks, but it&amp;rsquo;s back!&lt;/p&gt;
&lt;h4 id="why-is-csp-failing"&gt;Why is CSP Failing?&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://mweissbacher.com/publications/csp_raid.pdf"&gt;Why is CSP Failing? Trends and Challenges in CSP Adoption.&lt;/a&gt; Despite being an &amp;ldquo;academic&amp;rdquo; paper, this actually has a lot to offer about why one of the most effective defenses against XSS isn&amp;rsquo;t yet getting widely implemented, and what the implementation costs and strategies are.&lt;/p&gt;
&lt;h4 id="safari-bites-the-dust"&gt;Safari Bites the Dust&lt;/h4&gt;
&lt;p&gt;Ian Beer of Google Project Zero recently &lt;a href="http://googleprojectzero.blogspot.com/2014/07/pwn4fun-spring-2014-safari-part-i_24.html"&gt;popped Safari&lt;/a&gt; and then proceeded to pwn OS X. This post dives into exploiting a WebKit unbounded write bug, and makes it obvious just how many hoops an attacker needs to go through compared to the &amp;lsquo;buffer overflow to overwrite EIP&amp;rsquo; bugs of the &amp;lsquo;good old days&amp;rsquo;. It&amp;rsquo;s a great read, especially if you&amp;rsquo;re new to browser/client exploitation.&lt;/p&gt;</description></item><item><title>Passing Android Traffic through Burp</title><link>https://systemoverlord.com/2014/07/13/passing-android-traffic-through-burp/</link><pubDate>Sun, 13 Jul 2014 20:57:18 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/07/13/passing-android-traffic-through-burp/</guid><description>&lt;p&gt;I wanted to take a look at all HTTP(S) traffic coming from an Android device, even if applications made direct connections without a proxy, so I set up a transparent Burp proxy. I decided to put the Proxy on my Kali VM on my laptop, but didn&amp;rsquo;t want to run an AP on there, so I needed to get the traffic to there.&lt;/p&gt;
&lt;h3 id="network-setup"&gt;Network Setup&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://systemoverlord.com/img/blog/wifitap.png" alt="Network Topology Diagram"&gt;&lt;/p&gt;
&lt;p&gt;The diagram shows that my wireless lab is on a separate subnet from the rest of my network, including my laptop. The lab network is a NAT run by IPTables on the Virtual Router. While I certainly could&amp;rsquo;ve ARP poisoned the connection between the Internet Router and the Virtual Router, or even added a static route, I wanted a cleaner solution that would be easier to enable/disable.&lt;/p&gt;</description></item><item><title>CVE-2014-4182 &amp; CVE-2014-4183: XSS &amp; XSRF in Wordpress 'Diagnostic Tool' Plugin</title><link>https://systemoverlord.com/2014/07/04/cve-2014-4182-cve-2014-4183-xss-xsrf-in-wordpress-diagnostic-tool-plugin/</link><pubDate>Fri, 04 Jul 2014 07:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/07/04/cve-2014-4182-cve-2014-4183-xss-xsrf-in-wordpress-diagnostic-tool-plugin/</guid><description>&lt;p&gt;Versions less than 1.0.7 of the Wordpress plugin &lt;a href="https://wordpress.org/plugins/diagnostic-tool/"&gt;Diagnostic Tool&lt;/a&gt;, contain several vulnerabilities:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Persistent XSS in the Outbound Connections view. An attacker that is able to cause the site to request a URL containing an XSS payload will have this XSS stored in the database, and when an admin visits the Outbound Connections view, the payload will run. This can be trivially seen in example by running a query for &lt;code&gt;http://localhost/&amp;lt;script&amp;gt;alert(/xss/)&amp;lt;/script&amp;gt;&lt;/code&gt; on that page, then refreshing the page to see the content run, as the view is not updated in real time. This is CVE-2014-4183.&lt;/p&gt;</description></item><item><title>Parameter Injection in jCryption</title><link>https://systemoverlord.com/2014/06/18/parameter-injection-in-jcryption/</link><pubDate>Wed, 18 Jun 2014 01:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/06/18/parameter-injection-in-jcryption/</guid><description>&lt;p&gt;jCryption is an open-source plugin for jQuery that is used for performing encryption on the client side that can be decrypted server side. It works by retrieving an RSA key from the server, then encrypting an AES key under the RSA key, and sending both the encrypted AES key and the RSA key to the server. This is not dissimilar to how OpenPGP encrypts data for transmission. (Though, of course, implementation details are vastly different.)&lt;/p&gt;</description></item><item><title>Minimal x86-64 shellcode for /bin/sh?</title><link>https://systemoverlord.com/2014/06/05/minimal-x86-64-shellcode-for-binsh/</link><pubDate>Thu, 05 Jun 2014 01:54:22 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/06/05/minimal-x86-64-shellcode-for-binsh/</guid><description>&lt;p&gt;I was trying to figure out the minimal shellcode necessary to launch /bin/sh from a 64-bit processor, and the smallest I could come up with is 25 bytes: &lt;code&gt;\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x31\xc0\x99\x31\xf6\x54\x5f\xb0\x3b\x0f\x05&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This was produced from the following source:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;BITS 64

main:
 mov rbx, 0xFF978CD091969DD1
 neg rbx
 push rbx
 xor eax, eax
 cdq
 xor esi, esi
 push rsp
 pop rdi
 mov al, 0x3b ; sys_execve
 syscall
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Compile with nasm, examine the output with &lt;code&gt;objdump -M intel -b binary -m i386:x86-64 -D shellcode&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Secuinside Quals 2014: Simple Login</title><link>https://systemoverlord.com/2014/06/04/secuinside-quals-2014-simple-login/</link><pubDate>Wed, 04 Jun 2014 02:08:25 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/06/04/secuinside-quals-2014-simple-login/</guid><description>&lt;p&gt;In this challenge, we received the source for a site with a pretty basic login functionality. Aside from some boring forms, javascript, and css, we have this PHP library for handling the session management:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!php
&amp;lt;?
	class common{
		public function getidx($id){
			$id = mysql_real_escape_string($id);
			$info = mysql_fetch_array(mysql_query(&amp;quot;select idx from member where id='&amp;quot;.$id.&amp;quot;'&amp;quot;));
			return $info[0];
		}

		public function getpasswd($id){
			$id = mysql_real_escape_string($id);
			$info = mysql_fetch_array(mysql_query(&amp;quot;select password from member where id='&amp;quot;.$id.&amp;quot;'&amp;quot;));
			return $info[0];
		}

		public function islogin(){
			if( preg_match(&amp;quot;/[^0-9A-Za-z]/&amp;quot;, $_COOKIE['user_name']) ){
	 			exit(&amp;quot;cannot be used Special character&amp;quot;);
			}

			if( $_COOKIE['user_name'] == &amp;quot;admin&amp;quot; )	return 0;

			$salt = file_get_contents(&amp;quot;../../long_salt.txt&amp;quot;);

			if( hash('crc32',$salt.'|'.(int)$_COOKIE['login_time'].'|'.$_COOKIE['user_name']) == $_COOKIE['hash'] ){
				return 1;
			}

			return 0;
		}

		public function autologin(){

		}

		public function isadmin(){
			if( $this-&amp;gt;getidx($_COOKIE['user_name']) == 1){
				return 1;
			}

			return 0;
		}

		public function insertmember($id, $password){
			$id = mysql_real_escape_string($id);
			mysql_query(&amp;quot;insert into member(id, password) values('&amp;quot;.$id.&amp;quot;', '&amp;quot;.$password.&amp;quot;')&amp;quot;) or die();

			return 1;
		}
	}
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Some first impressions:&lt;/p&gt;</description></item><item><title>Secuinside Quals 2014: Shellcode 100</title><link>https://systemoverlord.com/2014/06/02/secuinside-quals-2014-shellcode-100/</link><pubDate>Mon, 02 Jun 2014 04:57:01 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/06/02/secuinside-quals-2014-shellcode-100/</guid><description>&lt;p&gt;This is a level that, at first, seemed like it would be extremely simple, but then turned out to be far more complicated than expected. We were provided a zip file containing a python script and an elf binary.&lt;/p&gt;
&lt;p&gt;Disassembling the binary reveals a very basic program:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/ (fcn) sym.main 165
| 0x0804847d 55 push ebp
| 0x0804847e 89e5 mov ebp, esp
| 0x08048480 83e4f0 and esp, 0xfffffff0
| 0x08048483 83ec30 sub esp, 0x30
| 0x08048486 8b450c mov eax, [ebp+0xc]
| 0x08048489 83c004 add eax, 0x4
| 0x0804848c 8b00 mov eax, [eax]
| 0x0804848e 890424 mov [esp], eax
| ; CODE (CALL) XREF from 0x08048376 (fcn.08048376)
| ; CODE (CALL) XREF from 0x08048370 (fcn.08048366)
| 0x08048491 e8dafeffff call 0x108048370 ; (sym.imp.atoi)
| sym.imp.atoi(unk)
| 0x08048496 89442428 mov [esp+0x28], eax
| 0x0804849a c7442424000. mov dword [esp+0x24], 0x0
| 0x080484a2 c7442408040. mov dword [esp+0x8], 0x4
| 0x080484aa 8d442424 lea eax, [esp+0x24]
| 0x080484ae 89442404 mov [esp+0x4], eax
| 0x080484b2 8b442428 mov eax, [esp+0x28]
| 0x080484b6 890424 mov [esp], eax
| ; CODE (CALL) XREF from 0x08048330 (fcn.0804832c)
| 0x080484b9 e872feffff call 0x108048330 ; (sym.imp.read)
| sym.imp.read()
| 0x080484be 8b442424 mov eax, [esp+0x24]
| 0x080484c2 c7442414000. mov dword [esp+0x14], 0x0
| 0x080484ca c7442410fff. mov dword [esp+0x10], 0xffffffff
| 0x080484d2 c744240c220. mov dword [esp+0xc], 0x22
| 0x080484da c7442408070. mov dword [esp+0x8], 0x7
| 0x080484e2 89442404 mov [esp+0x4], eax
| 0x080484e6 c7042400000. mov dword [esp], 0x0
| ; CODE (CALL) XREF from 0x08048350 (fcn.08048346)
| 0x080484ed e85efeffff call 0x108048350 ; (sym.imp.mmap)
| sym.imp.mmap()
| 0x080484f2 8944242c mov [esp+0x2c], eax
| 0x080484f6 8b442424 mov eax, [esp+0x24]
| 0x080484fa 89442408 mov [esp+0x8], eax
| 0x080484fe 8b44242c mov eax, [esp+0x2c]
| 0x08048502 89442404 mov [esp+0x4], eax
| 0x08048506 8b442428 mov eax, [esp+0x28]
| 0x0804850a 890424 mov [esp], eax
| 0x0804850d e81efeffff call 0x108048330 ; (sym.imp.read)
| sym.imp.read()
| 0x08048512 31c0 xor eax, eax
| 0x08048514 31c9 xor ecx, ecx
| 0x08048516 31d2 xor edx, edx
| 0x08048518 31db xor ebx, ebx
| 0x0804851a 31f6 xor esi, esi
| 0x0804851c 31ff xor edi, edi
\ 0x0804851e ff64242c jmp dword [esp+0x2c]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It takes a single argument, an integer, which it uses as a file descriptor for input. It then reads 4 bytes from the file descriptor, mmap&amp;rsquo;s an anonymous block of memory of that size with RWX permissions, then reads that many bytes from the file descriptor into the mapped region, and finally jumps to the map region. So, in summary, read shellcode length, read shellcode, then jump to shellcode.&lt;/p&gt;</description></item><item><title>Secuinside Quals 2014: Javascript Jail (Misc 200)</title><link>https://systemoverlord.com/2014/06/02/secuinside-quals-2014-javascript-jail/</link><pubDate>Mon, 02 Jun 2014 03:43:33 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/06/02/secuinside-quals-2014-javascript-jail/</guid><description>&lt;p&gt;The challenge was pretty straightforward: connect to a service that&amp;rsquo;s running a Javascript REPL, and extract the flag. You were provided a check function that was created by the checker function given below:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!javascript
function checker(flag, myRand) {
 return function (rand) {
 function stage1() {
 var a = Array.apply(null, new Array(Math.floor(Math.random() * 20) + 10)).map(function () {return Math.random() * 0x10000;});
 var b = rand(a.length);

 if (!Array.isArray(b)) {
 print(&amp;quot;You're a cheater!&amp;quot;);
 return false;
 }

 if (b.length &amp;lt; a.length) {
 print(&amp;quot;hmm.. too short..&amp;quot;);
 for (var i = 0, n = a.length - b.length; i &amp;lt; n; i++) {
 delete b[b.length];
 b[b.length] = [Math.random() * 0x10000];
 }
 } else if (b.length &amp;gt; a.length) {
 print(&amp;quot;hmm.. too long..&amp;quot;);
 for (var i = 0, n = b.length - a.length; i &amp;lt; n; i++)
 Array.prototype.pop.apply(b);
 }

 for (var i = 0, n = b.length; i &amp;lt; n; i++) {
 if (a[i] != b[i]) {
 print(&amp;quot;ddang~~&amp;quot;);
 return false;
 }
 }

 return true;
 }

 function stage2() {
 var a = Array.apply(null, new Array((myRand() % 20) + 10)).map(function () {return myRand() % 0x10000;});
 var b = rand(a.length);

 if (!Array.isArray(b)) {
 print(&amp;quot;You're a cheater!&amp;quot;);
 return false;
 }

 if (b.length &amp;lt; a.length) {
 print(&amp;quot;hmm.. too short..&amp;quot;);
 for (var i = 0, n = a.length - b.length; i &amp;lt; n; i++) {
 delete b[b.length];
 b[b.length] = [Math.random() * 0x10000];
 }
 } else if (b.length &amp;gt; a.length) {
 print(&amp;quot;hmm.. too long..&amp;quot;);
 for (var i = 0, n = b.length - a.length; i &amp;lt; n; i++)
 Array.prototype.pop.apply(b);
 }

 for (var i = 0, n = b.length; i &amp;lt; n; i++) {
 if (a[i] != b[i]) {
 print(&amp;quot;ddang~~&amp;quot;);
 return false;
 }
 }

 return true;
 }

 print(&amp;quot;stage1&amp;quot;);

 if (!stage1())
 return;

 print(&amp;quot;stage2&amp;quot;);

 if (!stage2())
 return;

 print(&amp;quot;awesome!&amp;quot;);
 return flag;
 };
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As you can tell, there are two nearly identical stages that create an array of random length (10-30) consisting of random values. The only difference is in how the random values are generated: once from Math.random, and, in stage 2, from a function provided by the factory function. This function was not available to us to reverse the functionality of.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 5/30/14</title><link>https://systemoverlord.com/2014/05/30/weekly-reading-list-for-53014/</link><pubDate>Fri, 30 May 2014 07:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/30/weekly-reading-list-for-53014/</guid><description>&lt;p&gt;It&amp;rsquo;s been a busy week, so I&amp;rsquo;m just going to drop some info about Radare2.&lt;/p&gt;
&lt;h3 id="radare2-materials"&gt;Radare2 Materials&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Maijin/radare2book"&gt;Radare2Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://radare.org/get/ncn2010.pdf"&gt;@pancake&amp;rsquo;s presentation on patching with r2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://canthack.org/2011/07/adventures-with-radare-1-a-simple-shellcode-analysis/"&gt;Adventures with Radare2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://radare.org/y/?p=talks"&gt;Miscellaneous Radare2 Talks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>On the TrueCrypt Saga</title><link>https://systemoverlord.com/2014/05/30/on-the-truecrypt-saga/</link><pubDate>Fri, 30 May 2014 00:52:47 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/30/on-the-truecrypt-saga/</guid><description>&lt;p&gt;If you&amp;rsquo;re anywhere near the security community, you&amp;rsquo;ve probably already heard about the (supposed) &lt;a href="http://truecrypt.sourceforge.net/"&gt;end of TrueCrypt&lt;/a&gt; that inspired a &lt;a href="http://www.reddit.com/r/netsec/comments/26pz9b/truecrypt_development_has_ended_052814/"&gt;massive hunt for an explanation on Reddit&lt;/a&gt;. I&amp;rsquo;m going to drop my thoughts here, but these are all just speculation, so take them for what they&amp;rsquo;re worth (which is not much).&lt;/p&gt;
&lt;h4 id="the-facts-as-we-know-them"&gt;The Facts as We Know Them&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;TrueCrypt 7.2 dropped support for creating volumes.&lt;/strong&gt; The code was massively changed, stripping out all volume creation options.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The website was updated with terrible instructions.&lt;/strong&gt; The directions for alternatives generally point to proprietary options (BitLocker, File Vault, or, to paraphrase, &amp;ldquo;whatever you can find on Linux.&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The new version is signed with the same key&lt;/strong&gt; as previous versions. This implies whoever did the update is in possession of the key used for signing previous releases.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sourceforge doesn&amp;rsquo;t think the account was compromised&lt;/strong&gt; as posted &lt;a href="https://news.ycombinator.com/item?id=7813121"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="popular-theories"&gt;Popular Theories&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;The author was forced to backdoor TC and chose this instead.&lt;/strong&gt; This seems to be the most popular theory, and given the Snowden revelations, it&amp;rsquo;s easy to see why. Assuming the adversary in question is the US Government, this seems awfully heavy-handed, and I&amp;rsquo;m not sure under which legal authority they would attempt to compel this participation. NSLs compel the production of business records, but don&amp;rsquo;t seem to allow them to force a backdooring. CALEA is for communications tools, TrueCrypt is used for storage at rest. Even those who refer to LavaBit are referring to warrants. First LavaBit was ordered to turn over messages, then encryption keys, but I&amp;rsquo;m not aware they were ever ordered to backdoor their software. It also seems odd that government agencies would choose to go after disk encryption, seems like communications encryption would be the bigger source of intelligence. There are those who have claimed &amp;ldquo;the government can force you to do anything&amp;rdquo;, which I suppose is true, but if we&amp;rsquo;re at the stage of &amp;ldquo;backdoor your code or we treat you as a terrorist&amp;rdquo; then the game&amp;rsquo;s already over, we&amp;rsquo;re off in &lt;a href="https://en.wikipedia.org/wiki/Stasi"&gt;Stasi&lt;/a&gt; territory, and I&amp;rsquo;m not sure that&amp;rsquo;s a world I could live in. I &lt;strong&gt;hope&lt;/strong&gt; this is not the story.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The author tired of developing it&lt;/strong&gt; and just gave up. This is a kind of odd approach, one would think they&amp;rsquo;d look for someone to hand the project to. I&amp;rsquo;m also not sure why someone who&amp;rsquo;d devoted years to developing secure encryption software would suddenly offer up terrible alternatives or otherwise deviate so strangely.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A developer was compromised.&lt;/strong&gt; While this might give access to the PGP key, I&amp;rsquo;d have thought by now we&amp;rsquo;d have some sort of communication somewhere to claim this has happened. Unless the developer is completely out of the loop as well. Why would someone use the compromise to offer up terrible alternatives as opposed to releasing backdoored binaries quietly?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Off their meds.&lt;/strong&gt; A couple of people have suggested that some sort of psychiatric problem is involved here. Actually seems a little reasonable, given the erratically written directions for alternatives, the sudden change in course, everything. Of course, there&amp;rsquo;s no evidence to support this, so it&amp;rsquo;s really just speculation.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;I&amp;rsquo;ve turned off commenting as I think Reddit or Hacker News is a better place for such discussion, I just had a lot of thoughts I wanted to get out.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Weekly Reading List for 5/23/14</title><link>https://systemoverlord.com/2014/05/23/weekly-reading-list-for-52314/</link><pubDate>Fri, 23 May 2014 07:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/23/weekly-reading-list-for-52314/</guid><description>&lt;p&gt;###Radare2 Book
Maijin on GitHub is in the process of putting together an &lt;a href="https://radare.gitbooks.io/radare2book/"&gt;online book for Radare2&lt;/a&gt;. I&amp;rsquo;ve been looking for a good resource for using Radare2, and this is a great start.&lt;/p&gt;
&lt;p&gt;###Reverse Engineering for Beginners
Dennis Yurichev has a &lt;a href="http://yurichev.com/RE-book.html"&gt;free eBook on Reverse Engineering&lt;/a&gt;. I haven&amp;rsquo;t gotten through it yet, but it looks interesting, and you can&amp;rsquo;t beat the price.&lt;/p&gt;
&lt;p&gt;###Hacker Playbook
Finally, I finished up &lt;a href="http://www.amazon.com/gp/product/1494932636/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1494932636&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;The Hacker Playbook: Practical Guide To Penetration Testing&lt;/a&gt; this week. You can find &lt;a href="https://systemoverlord.com/2014/05/21/book-review-the-hacker-playbook/"&gt;my full review here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>DEF CON 22 CTF Quals: 3dttt</title><link>https://systemoverlord.com/2014/05/21/def-con-22-ctf-quals-3dttt/</link><pubDate>Wed, 21 May 2014 14:07:02 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/21/def-con-22-ctf-quals-3dttt/</guid><description>&lt;p&gt;Unlike most of the challenges in DC22 quals, this one required no binary exploitation, no reversing, just writing a little code. You needed to play 3-D Tic Tac Toe, and you needed to play fast. Unfortunately, I didn&amp;rsquo;t record the sessions, so I don&amp;rsquo;t have the example output.&lt;/p&gt;
&lt;p&gt;Basically, you just received an ASCII representation of each of the 3 boards making up the 3d-tic-tac-toe environment, and were prompted to provide x,y,z coordinates for your next move. However, you had only a very short period of time (fractions of a second) to send your move, so playing by hand was impossible. The winner of each board was the player with the most rows won, and it did go to the full 27 moves each time. Also, it&amp;rsquo;s important to note that the player always goes first, and that you have to win 50 rounds in order to receive the flag.&lt;/p&gt;</description></item><item><title>Book Review: The Hacker Playbook...</title><link>https://systemoverlord.com/2014/05/21/book-review-the-hacker-playbook/</link><pubDate>Wed, 21 May 2014 01:10:54 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/21/book-review-the-hacker-playbook/</guid><description>&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/1494932636/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1494932636&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;The Hacker Playbook: Practical Guide To Penetration Testing&lt;/a&gt; is an attempt to use a continuous series of football metaphors to describe the process of a network penetration test. Maybe the metaphors would work better for someone who actually watches sports, but I felt they were a bit strained and forced at times. That being said, the actual content and techniques described are solid and generally useful information. It&amp;rsquo;s arranged in the stages of a good penetration test, and reads like a strong guide for those relatively new to penetration testing. Unfortunately, it doesn&amp;rsquo;t set up general guides for each area as much as describing specific &amp;ldquo;plays&amp;rdquo; for each area, so once those techniques start to fall flat, it doesn&amp;rsquo;t leave you with a lot of depth.&lt;/p&gt;</description></item><item><title>DEF CON 22 CTF Quals: Hackertool</title><link>https://systemoverlord.com/2014/05/19/def-con-22-ctf-quals-hackertool/</link><pubDate>Mon, 19 May 2014 03:32:11 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/19/def-con-22-ctf-quals-hackertool/</guid><description>&lt;p&gt;Hackertool was one of the &lt;code&gt;Baby&amp;rsquo;s First&lt;/code&gt; challenges in DEF CON CTF Quals this year, and provided you with a .torrent file, and asked you to download the file and MD5 it. Seems easy enough, so I knew there must be more to it. The torrent file itself was a whopping 4 MB in size, very large for a torrent file. Looking at it, we see it contains just one file, named &lt;code&gt;every_ip_address.txt&lt;/code&gt;, and the file is ~61GB in size. Hrrm, there must be an easier way than torrenting 61GB, especially at &amp;lt;1k/s.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 5/16/14</title><link>https://systemoverlord.com/2014/05/16/weekly-reading-list-for-51614/</link><pubDate>Fri, 16 May 2014 07:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/16/weekly-reading-list-for-51614/</guid><description>&lt;p&gt;###How Target Blew It
Normally, I stick to more technical articles, but &lt;a href="http://mobile.businessweek.com/articles/2014-03-13/target-missed-alarms-in-epic-hack-of-credit-card-data"&gt;this article from Businessweek&lt;/a&gt; is a very interesting read on how, despite doing most of the right things technically, company procedures and humans can still be the weak link in your security infrastructure.&lt;/p&gt;</description></item><item><title>The Machine Inside the Machine</title><link>https://systemoverlord.com/2014/05/13/the-machine-inside-the-machine/</link><pubDate>Tue, 13 May 2014 04:24:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/13/the-machine-inside-the-machine/</guid><description>&lt;p&gt;Imagine this scenario:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One of your employees visits a site offering a program to download videos from a popular video site. Because they&amp;rsquo;d like to throw some videos on their phone, they download and install it, but it comes with a hitchhiker: a RAT, or remote access trojan. So Trudy, an attacker, has a foothold, but the user isn&amp;rsquo;t an administrator, so she starts looking at the network for a place to pivot. Scanning a private subnet, she finds a number of consecutive IP addresses all offering webservers, FTP servers, and even telnet! Connecting to one, the attacker suddenly realizes she has just found her golden ticket&amp;hellip;&lt;/p&gt;</description></item><item><title>Workflowy: Good for Keeping Organized?</title><link>https://systemoverlord.com/2014/05/10/workflowy-good-for-keeping-organized/</link><pubDate>Sat, 10 May 2014 02:53:35 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/10/workflowy-good-for-keeping-organized/</guid><description>&lt;p&gt;I&amp;rsquo;ve been using &lt;a href="https://workflowy.com/invite/1656a746.lnx"&gt;Workflowy&lt;/a&gt; for a while as an organizational tool. It self describes as thus:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;WorkFlowy is an organizational tool that makes life easier. It can help you organize personal to-dos, collaborate on large team projects, take notes, write research papers, keep a journal, plan a wedding, and much more.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;ve been using Workflowy for about 6 months now, and so I think I&amp;rsquo;ve developed a good feeling for what&amp;rsquo;s working for me and what&amp;rsquo;s not, but I think it&amp;rsquo;s important to recognize that everyone will have different needs and expectations out of an organizational tool.&lt;/p&gt;</description></item><item><title>Reading List for 5/9/2014</title><link>https://systemoverlord.com/2014/05/09/reading-list-for-592014/</link><pubDate>Fri, 09 May 2014 07:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/09/reading-list-for-592014/</guid><description>&lt;p&gt;###On XTS Mode for Disk Encryption
Thomas Ptacek writes &lt;a href="http://sockpuppet.org/blog/2014/04/30/you-dont-want-xts/"&gt;You Don&amp;rsquo;t Want XTS&lt;/a&gt;, and suggests that though XTS works well enough in practice, it is far from ideal for Full Disk Encryption, and should not be used at all for other encryption operations (i.e., anything that doesn&amp;rsquo;t resemble FDE). XTS is useful only in that it makes &amp;ldquo;random access&amp;rdquo; encryption more secure, as you need for a disk. For encryption of whole blocks of data at rest, you probably want CBC mode, and for anything on the wire, AES-GCM is the new hotness.&lt;/p&gt;</description></item><item><title>Announcement: PwnableWeb Released</title><link>https://systemoverlord.com/2014/05/09/announcement-pwnableweb-released/</link><pubDate>Fri, 09 May 2014 00:11:58 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/09/announcement-pwnableweb-released/</guid><description>&lt;p&gt;In addition to my primary interest in the technical aspects of information security, I&amp;rsquo;m also a big fan of wargames &amp;amp; CTFs as educational tools, so a while back, I decided I wanted to build a web-based wargame and CTF scoreboard system. Today I am releasing the results of that, dubbed &lt;strong&gt;PwnableWeb&lt;/strong&gt;, under the Apache 2.0 License. It includes web-based wargame-style challenges and an accompanying scoreboard.&lt;/p&gt;
&lt;p&gt;###The Framework
Each vulnerable site is built on top of a small framework that provides common functionality, and also provides a framework for building a client for interactive exploitation. (It provides a target to exploit XSS and XSRF against.)&lt;/p&gt;</description></item><item><title>Book Review: Red Team Field Manual</title><link>https://systemoverlord.com/2014/05/02/book-review-red-team-field-manual/</link><pubDate>Fri, 02 May 2014 15:24:27 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/05/02/book-review-red-team-field-manual/</guid><description>&lt;p&gt;I recently picked up a copy of the &lt;a href="http://www.amazon.com/gp/product/1494295504/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1494295504&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20&amp;amp;linkId=VUHBPTAFLWN7MNBT"&gt;Red Team Field Manual&lt;/a&gt; on Amazon after hearing good things from a few people in the industry. It&amp;rsquo;s information dense, basically a concatenation of cheat sheets for everything you&amp;rsquo;d want to do during a pentest. I&amp;rsquo;m mostly a Linux/Unix guy, and given my role on an internal red team for a mostly Linux company, I don&amp;rsquo;t do a lot of Windows. However, I recently had an engagement where we were targeting Windows, and I wish I&amp;rsquo;d had the RTFM handy then: there are a number of great pointers for Windows that I could&amp;rsquo;ve leveraged to make my engagement go more smoothly. Additionally, the book provides coverage for other platforms, like Cisco IOS, and for various scripting situations in Powershell, Python, or even &lt;a href="http://www.secdev.org/projects/scapy/"&gt;Scapy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>VPS Upgrade</title><link>https://systemoverlord.com/2014/04/23/vps-upgrade/</link><pubDate>Wed, 23 Apr 2014 14:14:25 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/04/23/vps-upgrade/</guid><description>&lt;p&gt;As &lt;a href="https://systemoverlord.com/2011/05/18/linode-rocks/"&gt;I&amp;rsquo;ve mentioned before&lt;/a&gt;,
my blog is hosted on a VPS at
&lt;a href="http://www.linode.com/?r=680a893e24df3597d32f58cd41930e969027dc06"&gt;Linode&lt;/a&gt;.
Just under 3 years ago, I moved to my current VPS in their Newark DC to take
advantage of their native IPv6 support. I&amp;rsquo;ve now moved within Linode again,
this time to take advantage of their &lt;a href="https://blog.linode.com/2014/04/17/linode-cloud-ssds-double-ram-much-more/"&gt;awesome free
upgrades&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;$20/month gets you a 2GB Xen VM backed by enterprise-grade SSDs, Ivy Bridge
Xeons, and a 40Gbps backbone. Think that 40Gbps is going to waste? Think
again. I downloaded a 100MB test file from Cachefly in &lt;strong&gt;1.2 seconds&lt;/strong&gt;. That&amp;rsquo;s
&lt;strong&gt;85.5 MB/s&lt;/strong&gt;. Consider my mind blown.&lt;/p&gt;</description></item><item><title>A Brief History of the Internet (Security-Wise)</title><link>https://systemoverlord.com/2014/04/16/a-brief-history-of-the-internet-security-wise/</link><pubDate>Wed, 16 Apr 2014 04:55:14 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/04/16/a-brief-history-of-the-internet-security-wise/</guid><description>&lt;p&gt;I originally posted this to the &lt;a href="http://dc404.org/"&gt;DC404 Mailing List&lt;/a&gt;, but got some positive feedback, so I thought I&amp;rsquo;d post it here as well. The broad strokes should be correct, but there might be some inaccuracies here — if you&amp;rsquo;re aware of one, please let me know and I&amp;rsquo;ll correct it.&lt;/p&gt;
&lt;p&gt;There was a thread ongoing about Heartbleed, and it turned into a question of why security on the Internet is so complicated, and couldn&amp;rsquo;t it be any simpler? Well, the truth be told, security on the Internet is a house of cards.&lt;/p&gt;</description></item><item><title>PlaidCTF 2014: Conclusion</title><link>https://systemoverlord.com/2014/04/14/plaidctf-2014-conclusion/</link><pubDate>Mon, 14 Apr 2014 17:30:42 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/04/14/plaidctf-2014-conclusion/</guid><description>&lt;p&gt;The 2014 edition of PlaidCTF was excellent, but I wish we&amp;rsquo;d been able to make it through more challenges. We cleared about 7 challenges, but really only two of them felt worth writing up. The others have been well documented elsewhere, no sense in rewriting the same thing.&lt;/p&gt;
&lt;p&gt;I liked how the challenges often required a series of exploits/techniques, this is much like what happens in the real world. I do wish I had spent more time on binary exploitation, attempting to get a solution to &lt;code&gt;_&lt;em&gt;nightmares&lt;/em&gt;_&lt;/code&gt; burned a lot of time.&lt;/p&gt;</description></item><item><title>PlaidCTF 2014: ReeKeeeee</title><link>https://systemoverlord.com/2014/04/14/plaidctf-2014-reekeeeee/</link><pubDate>Mon, 14 Apr 2014 06:46:01 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/04/14/plaidctf-2014-reekeeeee/</guid><description>&lt;p&gt;ReeKeeeeee was, by far, the most visually painful challenge in the CTF, with a flashing rainbow background on every page. Blocking scripts was clearly a win here. Like many of the challenges this year, it turned out to require multiple exploitation steps.&lt;/p&gt;
&lt;p&gt;ReeKeeeeee was a meme-generating service that allowed you to provide a URL to an image and text to overlay on the image. Source code was provided, and it was worth noting that it&amp;rsquo;s a Django app using the &lt;code&gt;django.contrib.sessions.serializers.PickleSerializer&lt;/code&gt; serializer. As the &lt;a href="https://docs.djangoproject.com/en/3.0/topics/http/sessions/"&gt;documentation for the serializer&lt;/a&gt; notes, &lt;strong&gt;If the SECRET_KEY is not kept secret and you are using the PickleSerializer, this can lead to arbitrary remote code execution.&lt;/strong&gt; So, maybe, can we get the SECRET_KEY?&lt;/p&gt;</description></item><item><title>PlaidCTF 2014: mtpox</title><link>https://systemoverlord.com/2014/04/14/plaidctf-mtpox/</link><pubDate>Mon, 14 Apr 2014 05:13:12 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/04/14/plaidctf-mtpox/</guid><description>&lt;p&gt;&lt;strong&gt;150 Point Web Challenge&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Plague has traveled back in time to create a cryptocurrency before Satoshi does in an attempt to quickly gain the resources required for his empire. As you step out of your time machine, you learn his exchange has stopped trades, due to some sort of bug. However, if you could break into the database and show a different story of where the coins went, we might be able to stop The Plague.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 4/4/14</title><link>https://systemoverlord.com/2014/04/04/weekly-reading-list-for-3114/</link><pubDate>Fri, 04 Apr 2014 07:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/04/04/weekly-reading-list-for-3114/</guid><description>&lt;p&gt;It&amp;rsquo;s been a while where I&amp;rsquo;ve been too busy even for any good reading, but we&amp;rsquo;re back to the reading lists!&lt;/p&gt;
&lt;h4 id="return-oriented-programming-rop"&gt;Return-Oriented Programming (ROP)&lt;/h4&gt;
&lt;p&gt;Code Arcana has an &lt;a href="http://codearcana.com/posts/2013/05/28/introduction-to-return-oriented-programming-rop.html"&gt;excellent introduction to ROP exploitation techniques&lt;/a&gt;. In addition to providing an introduction to the concept, it takes it through detailed implementation and debugging. I look forward to getting an opportunity to try it during the next CTF with a ROP challenge. (I&amp;rsquo;m guess PlaidCTF will offer such a chance.)&lt;/p&gt;</description></item><item><title>PwnableWeb: Vulnerable Apps &amp; Scoreboard for Teaching</title><link>https://systemoverlord.com/projects/pwnableweb.html</link><pubDate>Tue, 01 Apr 2014 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/pwnableweb.html</guid><description>&lt;h3 id="the-framework"&gt;The Framework&lt;/h3&gt;
&lt;p&gt;Each vulnerable site is built on top of a small framework that provides common functionality, and also provides a framework for building a client for interactive exploitation. (It provides a target to exploit XSS and XSRF against.)&lt;/p&gt;
&lt;p&gt;The current framework is written in Python, using Flask and SQLAlchemy for speed of development. The vulnerable apps so far run just fine with a sqlite DB, but I usually use MySQL. This isn&amp;rsquo;t for load, but because SQLi is more interesting against the sort of DBs that are commonly used in the &amp;ldquo;real world&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Boston Key Party: Mind Your Ps and Qs</title><link>https://systemoverlord.com/2014/03/10/boston-key-party-mind-your-ps-and-qs/</link><pubDate>Mon, 10 Mar 2014 21:29:13 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/03/10/boston-key-party-mind-your-ps-and-qs/</guid><description>&lt;p&gt;About a week old, but I thought I&amp;rsquo;d put together a writeup for mind your Ps and Qs because I thought it was an interesting challenge.&lt;/p&gt;
&lt;p&gt;You are provided 24 RSA public keys and 24 messages, and the messages are encrypted using RSA-OAEP using the private components to the keys. The flag is spread around the 24 messages.&lt;/p&gt;
&lt;p&gt;So, we begin with an analysis of the problem. If they&amp;rsquo;re using RSA-OAEP, then we&amp;rsquo;re not going to attack the ciphertext directly. While RSA-OAEP might be vulnerable to timing attacks, we&amp;rsquo;re not on a network service, and there are no known ciphertext-only attacks on RSA-OAEP. So how are the keys themselves? Looking at them, we have a ~1024 bit modulus:&lt;/p&gt;</description></item><item><title>Integer Overflow Vulnerabilities</title><link>https://systemoverlord.com/2014/02/27/integer-overflow-vulnerabilities/</link><pubDate>Thu, 27 Feb 2014 04:01:07 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/02/27/integer-overflow-vulnerabilities/</guid><description>&lt;p&gt;What&amp;rsquo;s wrong with this code (other than the fact the messages are discarded)?&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!c
void read_messages(int fd, int num_msgs) {
 char buf[1024];
 size_t msg_len, bytes_read = 0;

 while(num_msgs--) {
 read(fd, &amp;amp;msg_len, sizeof(size_t));
 if (bytes_read + msg_len &amp;gt; sizeof(buf)) {
 printf(&amp;quot;Buffer overflow prevented!\n&amp;quot;);
 return;
 }
 bytes_read += read(fd, buf+bytes_read, msg_len);
 }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you answered &amp;ldquo;nothing&amp;rdquo;, you&amp;rsquo;d be missing a significant security issue. In fact, this function contains a trivial buffer overflow. By supplying a length &lt;code&gt;0 &amp;lt; len_a &amp;lt; 1024&lt;/code&gt; for the first message, then a length &lt;code&gt; INT_MAX-len_a ≤ len_b &amp;lt; UINT_MAX&lt;/code&gt;, the value &lt;code&gt;bytes_read + msg_len&lt;/code&gt; wraps around past &lt;code&gt;UINT_MAX&lt;/code&gt; and is less than &lt;code&gt;sizeof(buf)&lt;/code&gt;. Then the read proceeds with its very large value, but can only read as much data as is available on the file descriptor (probably a socket, if this is a remote exploit). So by supplying enough data on the socket, the buffer will be overflowed, allowing to overwrite the saved EIP.&lt;/p&gt;</description></item><item><title>Codegate 2014 Quals: 120</title><link>https://systemoverlord.com/2014/02/26/codegate-2014-quals-120/</link><pubDate>Wed, 26 Feb 2014 06:51:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/02/26/codegate-2014-quals-120/</guid><description>&lt;p&gt;From Codegate 2014 quals comes &amp;ldquo;120&amp;rdquo;. Provided is a web interface with a single text box and a link to the source, reproduced below:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!php
&amp;lt;?php
session_start();

$link = @mysql_connect('localhost', '', '');
@mysql_select_db('', $link);

function RandomString()
{
 $filename = &amp;quot;smash.txt&amp;quot;;
 $f = fopen($filename, &amp;quot;r&amp;quot;);
 $len = filesize($filename);
 $contents = fread($f, $len);
 $randstring = '';
 while( strlen($randstring)&amp;lt;30 ){
 $t = $contents[rand(0, $len-1)];
 if(ctype_lower($t)){
 $randstring .= $t;
 }
 }
 return $randstring;
}

$max_times = 120;

if ($_SESSION['cnt'] &amp;gt; $max_times){
 unset($_SESSION['cnt']);
}

if ( !isset($_SESSION['cnt'])){
 $_SESSION['cnt']=0;
 $_SESSION['password']=RandomString();

 $query = &amp;quot;delete from rms_120_pw where ip='$_SERVER[REMOTE_ADDR]'&amp;quot;;
 @mysql_query($query);

 $query = &amp;quot;insert into rms_120_pw values('$_SERVER[REMOTE_ADDR]', &amp;quot;.
 &amp;quot;'$_SESSION[password]')&amp;quot;;
 @mysql_query($query);
}
$left_count = $max_times-$_SESSION['cnt'];
$_SESSION['cnt']++;

if ( $_POST['password'] ){
 
 if (eregi(&amp;quot;replace|load|information|union|select|from|where|&amp;quot; .
 &amp;quot;limit|offset|order|by|ip|\.|#|-|/|\*&amp;quot;,$_POST['password'])){
 @mysql_close($link);
 exit(&amp;quot;Wrong access&amp;quot;);
 }

 $query = &amp;quot;select * from rms_120_pw where &amp;quot;.
 &amp;quot;(ip='$_SERVER[REMOTE_ADDR]') and &amp;quot; .
 &amp;quot;(password='$_POST[password]')&amp;quot;;
 $q = @mysql_query($query);
 $res = @mysql_fetch_array($q);
 if($res['ip']==$_SERVER['REMOTE_ADDR']){
 @mysql_close($link);
 exit(&amp;quot;True&amp;quot;);
 }
 else{
 @mysql_close($link);
 exit(&amp;quot;False&amp;quot;);
 }
}

@mysql_close($link);
?&amp;gt;

&amp;lt;head&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;black.css&amp;quot;&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;form method=post action=index.php&amp;gt;
 &amp;lt;h1&amp;gt; &amp;lt;?= $left_count ?&amp;gt; times left &amp;lt;/h1&amp;gt;
 &amp;lt;div class=&amp;quot;inset&amp;quot;&amp;gt;
 &amp;lt;p&amp;gt;
 &amp;lt;label for=&amp;quot;password&amp;quot;&amp;gt;PASSWORD&amp;lt;/label&amp;gt;
 &amp;lt;input type=&amp;quot;password&amp;quot; name=&amp;quot;password&amp;quot; id=&amp;quot;password&amp;quot; &amp;gt;
 &amp;lt;/p&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;p class=&amp;quot;p-container&amp;quot;&amp;gt;
 &amp;lt;span onclick=location.href=&amp;quot;auth.php&amp;quot;&amp;gt; Auth &amp;lt;/span&amp;gt;
 &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Check&amp;quot;&amp;gt;
 &amp;lt;/p&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The TL;DR of this code is that it uses your PHP session to store a 30 character lowercase letter token, and a counter of how many tries you&amp;rsquo;ve made against it. You&amp;rsquo;re given 120 total tries, then a new code will be generated, meaning any data you&amp;rsquo;ve been able to glean is useless. For what it&amp;rsquo;s worth, not all letters are equally likely &amp;ndash; the source of the data is Aleph One&amp;rsquo;s &amp;ldquo;Smashing the Stack for Fun and Profit.&amp;rdquo; The code contains a blacklist to protect against certain types of SQL injection, but certainly doesn&amp;rsquo;t cover all SQL injection possibilities.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 2/15/14</title><link>https://systemoverlord.com/2014/02/15/weekly-reading-list-for-21514/</link><pubDate>Sat, 15 Feb 2014 18:20:25 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/02/15/weekly-reading-list-for-21514/</guid><description>&lt;p&gt;I&amp;rsquo;ve been thinking a lot about social engineering lately, so I&amp;rsquo;m going to highlight some of my favorite social engineering resources.&lt;/p&gt;
&lt;h4 id="social-engineering-the-art-of-human-hacking"&gt;Social Engineering: The Art of Human Hacking&lt;/h4&gt;
&lt;p&gt;Chris Hadnagy&amp;rsquo;s book, &lt;a href="http://www.amazon.com/gp/product/0470639539/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0470639539&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;Social Engineering: The Art of Human Hacking&lt;/a&gt; is the authoritative guide on social engineering techniques and counter-measures. Chris describes many of the techniques and approaches used by social engineers, ranging from basic pretexting to full-on neuro-linguistic programming. You can&amp;rsquo;t protect against what you can&amp;rsquo;t recognize, so being able to identify the techniques of social engineering is the first step to protecting yourself and your organization.&lt;/p&gt;</description></item><item><title>printf Format String Exploitation</title><link>https://systemoverlord.com/2014/02/12/printf-format-string-exploitation/</link><pubDate>Wed, 12 Feb 2014 07:16:01 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/02/12/printf-format-string-exploitation/</guid><description>&lt;p&gt;The format string in a printf statement is responsible for significant flow control within the program, and, if attacker-controlled, can be used to exploit the application in various ways. Specifically, an attacker can read and write arbitrary memory.&lt;/p&gt;
&lt;p&gt;Reading memory can be accomplished through the usual operators, and the GNU extension of &lt;code&gt;%&amp;lt;x&amp;gt;$&lt;/code&gt; allows you to jump through the stack to arbitrary positions (as a multiple of the addressing size, anyway). The %n format specifier allows to write to a memory address: the address at that point on the stack is taken as an int *, and the number of bytes output so far will be written to the address. So this allows us to write a value by outputting the number of bytes for the value we want to write.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 2/8/14</title><link>https://systemoverlord.com/2014/02/08/weekly-reading-list-for-2814/</link><pubDate>Sat, 08 Feb 2014 08:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/02/08/weekly-reading-list-for-2814/</guid><description>&lt;h4 id="android-pentesting-guides"&gt;Android Pentesting Guides&lt;/h4&gt;
&lt;p&gt;I&amp;rsquo;ve been reading a lot about Android pentesting this week, so rather than summarizing each one, here&amp;rsquo;s a list of useful reading for Android pentesting.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.symantec.com/connect/blogs/android-application-security-assessments-part-2-setting-your-linux-testing-environment"&gt;Android Application Security Assessments&lt;/a&gt; from Symantec&lt;/li&gt;
&lt;li&gt;&lt;a href="http://penturalabs.wordpress.com/2012/06/07/introduction-to-pen-testing-android-applications-part-1/"&gt;Introduction to Pentesting Android Applications&lt;/a&gt; from Pentura Labs&lt;/li&gt;
&lt;li&gt;AppSec Labs offers the &lt;a href="https://appsec-labs.com/AppUse"&gt;AppUse Virtual Machine&lt;/a&gt; for Android Pentesting&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="useful-lab-settings"&gt;Useful Lab Settings&lt;/h4&gt;
&lt;p&gt;Maybe you want to test something with an executable stack, ASLR off, or otherwise disable some security feature? &lt;a href="http://www.win.tue.nl/~aeb/linux/hh/protection.html"&gt;This article&lt;/a&gt; describes settings for NX, ASLR, and SSP on Linux boxes. More details &lt;a href="http://raycompstuff.blogspot.com/2010/09/hacks-tutorial-zero.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 2/1/14</title><link>https://systemoverlord.com/2014/02/01/weekly-reading-list-for-2114/</link><pubDate>Sat, 01 Feb 2014 08:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/02/01/weekly-reading-list-for-2114/</guid><description>&lt;h4 id="previews-for-bsides-sf-2014"&gt;Previews for BSides SF 2014&lt;/h4&gt;
&lt;p&gt;A couple of new articles have been posted with previews of this year&amp;rsquo;s BSides San Francisco. Akamai has a &lt;a href="https://blogs.akamai.com/2014/01/a-preview-of-bsidessf.html"&gt;preview of several talks&lt;/a&gt; and Tripwire previews a &lt;a href="http://www.tripwire.com/state-of-security/vulnerability-management/bsidessf-preview-day-life-security-researcher/"&gt;day in the life of an information security researcher&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="application-whitelist-bypass"&gt;Application Whitelist Bypass&lt;/h4&gt;
&lt;p&gt;@infosecsmith2 guest posts over at Room362 about using &lt;a href="http://www.room362.com/blog/2014/01/16/application-whitelist-bypass-using-ieexec-dot-exe/"&gt;IEexec.exe to bypass application whitelisting&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="custom-wordlists"&gt;Custom Wordlists&lt;/h4&gt;
&lt;p&gt;Chief Monkey over at IT Security Toolbox &lt;a href="http://it.toolbox.com/blogs/securitymonkey/from-the-toolkit-create-your-own-wordlists-from-anything-58748"&gt;reports on a tool called SmeegeScrape&lt;/a&gt; that allows you to build a wordlist from the contents of a system. He reports on it in the context of a forensics task, but it seems like it would be a great option for penetration testing as well.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 1/25/14</title><link>https://systemoverlord.com/2014/01/25/weekly-reading-list-for-12514/</link><pubDate>Sat, 25 Jan 2014 08:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/25/weekly-reading-list-for-12514/</guid><description>&lt;p&gt;This week, we&amp;rsquo;re focusing on binary exploitation and reversing. (Thanks to Ghost in the Shellcode for making me feel stupid with all their binary pwning challenges!)&lt;/p&gt;
&lt;h4 id="basic-shellcode-examples"&gt;Basic Shellcode Examples&lt;/h4&gt;
&lt;p&gt;Gal Badishi has a great set of &lt;a href="https://badishi.com/basic-shellcode-example/"&gt;Basic Shellcode Examples&lt;/a&gt;. It&amp;rsquo;s almost two years old, but a good primer into how basic shellcode works. x86 hasn&amp;rsquo;t changed (yes, I&amp;rsquo;m ignoring x64 for now), so still quite a relevant resource for those of us who have leaned on msfvenom/msfpayload for our payload needs.&lt;/p&gt;</description></item><item><title>Ghost in the Shellcode 2014</title><link>https://systemoverlord.com/2014/01/21/ghost-in-the-shellcode-2014/</link><pubDate>Tue, 21 Jan 2014 04:57:33 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/21/ghost-in-the-shellcode-2014/</guid><description>&lt;p&gt;A quick Ghost in the Shellcode 2014 summary. Great CTF, but you better know your binary exploitation. I&amp;rsquo;m pretty happy with the overall 27th finish Shadow Cats managed. Here&amp;rsquo;s a summary of our team writeups, the first 3 by me, the last one by Dan.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-radioactive/"&gt;Radioactive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-lugkist/"&gt;Lugkist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-pillowtalk/"&gt;Pillowtalk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lockboxx.blogspot.com/2014/01/ghost-in-shellcode-2014-ctf-writeup.html"&gt;Unbearable&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Ghost in the Shellcode 2014: Radioactive</title><link>https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-radioactive/</link><pubDate>Sun, 19 Jan 2014 20:21:46 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-radioactive/</guid><description>&lt;p&gt;Radioactive was a crypto challenge that executed arbitrary python code, if you could apply a correct cryptographic tag. Source was provided, and the handler is below:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!python
class RadioactiveHandler(SocketServer.BaseRequestHandler):
 def handle(self):
 key = open(&amp;quot;secret&amp;quot;, &amp;quot;rb&amp;quot;).read()
 cipher = AES.new(key, AES.MODE_ECB)

 self.request.send(&amp;quot;Waiting for command:\n&amp;quot;)
 tag, command = self.request.recv(1024).strip().split(':')
 command = binascii.a2b_base64(command)
 pad = &amp;quot;\x00&amp;quot; * (16 - (len(command) % 16))
 command += pad

 blocks = [command[x:x+16] for x in xrange(0, len(command), 16)]
 cts = [str_to_bytes(cipher.encrypt(block)) for block in blocks]
 for block in cts:
 print ''.join(chr(x) for x in block).encode('hex')

 command = command[:-len(pad)]

 t = reduce(lambda x, y: [xx^yy for xx, yy in zip(x, y)], cts)
 t = ''.join([chr(x) for x in t]).encode('hex')

 match = True
 print tag, t
 for i, j in zip(tag, t):
 if i != j:
 match = False

 del key
 del cipher

 if not match:
 self.request.send(&amp;quot;Checks failed!\n&amp;quot;)
 eval(compile(command, &amp;quot;script&amp;quot;, &amp;quot;exec&amp;quot;))

 return
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So, it looks for a tag:command pair, where the tag is hex-encoded and the command is base64 encode. The command must be valid python, passed through compile and eval, so you&amp;rsquo;ll need to send a response back to yourself via self.request.send.&lt;/p&gt;</description></item><item><title>Ghost in the Shellcode 2014: Lugkist</title><link>https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-lugkist/</link><pubDate>Sun, 19 Jan 2014 19:43:56 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-lugkist/</guid><description>&lt;p&gt;Lugkist was an interesting &amp;ldquo;trivia&amp;rdquo; challenge. We were told &amp;ldquo;it&amp;rsquo;s not crypto&amp;rdquo;, but it sure looked like a crypto challenge. We had a file like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Find the key.&lt;/p&gt;
&lt;p&gt;GVZSNG&lt;br&gt;
AXZIOG&lt;br&gt;
YNAISG&lt;br&gt;
ASAIUG&lt;br&gt;
IVPIOK&lt;br&gt;
AXPIVG&lt;br&gt;
PVZIUG&lt;br&gt;
AXLIEG&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Always 6 letters, but no other obvious pattern. I did notice that the 4th character always was S or I and the final character G or K, but couldn&amp;rsquo;t make anything of that. I realized the full character set was &amp;lsquo;AEGIKLONPSUTVYXZ&amp;rsquo;. Searching for this string revealed nothing, but searching for the characters space separated revealed that this was the same character set as used by the codes for the original Game Genie. And Game Genie codes were 6 characters long.&lt;/p&gt;</description></item><item><title>Ghost in the Shellcode 2014: Pillowtalk</title><link>https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-pillowtalk/</link><pubDate>Sun, 19 Jan 2014 19:11:27 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/19/ghost-in-the-shellcode-2014-pillowtalk/</guid><description>&lt;p&gt;Pillowtalk was a 200 point crypto challenge. Provided was a stripped 64-bit binary along with a pcap file. I started off by exercising the behavior of the binary, looking at system calls/library calls to see what it was doing.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Client connects to server&lt;/li&gt;
&lt;li&gt;Server reads 32 bytes from /dev/urandom&lt;/li&gt;
&lt;li&gt;Server sends 32 bytes on the wire (not same bytes as read from /dev/urandom)&lt;/li&gt;
&lt;li&gt;Client does same 32 byte read/send&lt;/li&gt;
&lt;li&gt;Loop:
&lt;ul&gt;
&lt;li&gt;Server reads a line from stdin&lt;/li&gt;
&lt;li&gt;Server sends 4 byte length&lt;/li&gt;
&lt;li&gt;Server sends encrypted line&lt;/li&gt;
&lt;li&gt;Client does the same steps&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My first approach was by trying to use scapy to replay the pcap to the server, but this only gave complete noise, so I decided the two 32 byte values must be significant. I even tried controlling /dev/urandom (via LD_PRELOAD) to see if putting in the 32 bytes from the pcap would get to the right key. It didn&amp;rsquo;t.&lt;/p&gt;</description></item><item><title>Weekly Reading List for 1/18/14</title><link>https://systemoverlord.com/2014/01/18/weekly-reading-list-for-11714/</link><pubDate>Sat, 18 Jan 2014 05:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/18/weekly-reading-list-for-11714/</guid><description>&lt;p&gt;I&amp;rsquo;ve decided to start posting a weekly reading list of interesting security-related articles I&amp;rsquo;ve come across in the past week. They&amp;rsquo;re not guaranteed to be new, but should at least still be relevant.&lt;/p&gt;
&lt;h4 id="using-a-beaglebone-to-bypass-8021x"&gt;Using a BeagleBone to bypass 802.1x&lt;/h4&gt;
&lt;p&gt;Most security practitioners are already aware that NAC doesn&amp;rsquo;t provide meaningful security. While it&amp;rsquo;ll keep some random guy from plugging in to an exposed ethernet port in the lobby (shouldn&amp;rsquo;t that be turned off?), it won&amp;rsquo;t stop a determined attacker. You can just MITM the legitimate device, let it perform the 802.1x handshake, then send packets appearing to be from the legitimate device. To make it easier, &lt;a href="http://shellsherpa.nl/nac-bypass-8021x-or-beagle-in-the-middle"&gt;ShellSherpa has put together a BeagleBone-based device to automatically MITM the NAC connection&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>LD_PRELOAD for Binary Analysis</title><link>https://systemoverlord.com/2014/01/13/ld_preload-for-binary-analysis/</link><pubDate>Mon, 13 Jan 2014 02:18:16 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/13/ld_preload-for-binary-analysis/</guid><description>&lt;p&gt;During the BreakIn CTF, there were a few challenges that depended on the return value of of libc functions like &lt;code&gt;time()&lt;/code&gt; or &lt;code&gt;rand()&lt;/code&gt;, and had differing behavior depending on those return values. In order to more easily reverse those binaries, it can be nice to control the return values of those functions. In other cases, you have binaries that may call functions like &lt;code&gt;unlink()&lt;/code&gt;, &lt;code&gt;system()&lt;/code&gt;, etc., where you prefer not to have those functions really called. (Though you are running these untrusted binaries in a VM, right?)&lt;/p&gt;</description></item><item><title>BreakIn CTF 2014</title><link>https://systemoverlord.com/2014/01/13/breakin-ctf-2014/</link><pubDate>Mon, 13 Jan 2014 01:20:08 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/13/breakin-ctf-2014/</guid><description>&lt;p&gt;The &lt;a href="http://felicity.iiit.ac.in/threads/breakin"&gt;Threads BreakIn CTF&lt;/a&gt; hosted by IIIT Hyderabad has just wrapped up. Shadow Cats did pretty well, placing 16th overall, completing 22/33 challenges, especially considering we only had 2 guys playing this CTF. Mad props goes out to &lt;a href="http://lockboxx.blogspot.com/"&gt;Dan&lt;/a&gt;, and here&amp;rsquo;s hoping for a bigger team turnout next week for &lt;a href="http://ghostintheshellcode.com/"&gt;Ghost in the Shellcode&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to be doing some writeups of a couple of the challenges I thought were particularly interesting, as well as some topical information inspired by the CTF. I&amp;rsquo;ll be linking to the writeups below as they get published.&lt;/p&gt;</description></item><item><title>2014 OKRs</title><link>https://systemoverlord.com/2014/01/05/2014-okrs/</link><pubDate>Sun, 05 Jan 2014 18:15:30 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2014/01/05/2014-okrs/</guid><description>&lt;p&gt;At work, we use the &lt;a href="https://en.wikipedia.org/wiki/OKR"&gt;OKR&lt;/a&gt; system for managing our objectives. I&amp;rsquo;ve decided to set myself some annual objectives and list out their key results here. At the end of the year, I&amp;rsquo;ll grade myself on my OKRs and we&amp;rsquo;ll see how I&amp;rsquo;m doing.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Get better at reversing
&lt;ul&gt;
&lt;li&gt;Complete OpenSecurityTraining.info x86 class&lt;/li&gt;
&lt;li&gt;Complete 3 reversing challenges from WeChall&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Play CTFs
&lt;ul&gt;
&lt;li&gt;Compete in at least 3 CTFs&lt;/li&gt;
&lt;li&gt;(Stretch Goal) Top 10% Finish&lt;/li&gt;
&lt;li&gt;Complete the challenges on OverTheWire.org&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Blogging
&lt;ul&gt;
&lt;li&gt;At least 1 Blog Post/week&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Lose Weight &amp;amp; Exercise
&lt;ul&gt;
&lt;li&gt;Lose 25 lbs.&lt;/li&gt;
&lt;li&gt;Get at least 60 minutes aerobic exercise a week&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Become a more powerful vim/zsh user
&lt;ul&gt;
&lt;li&gt;Use vim keybindings in zsh&lt;/li&gt;
&lt;li&gt;Read full zsh guide&lt;/li&gt;
&lt;li&gt;Learn 6 new vim commands&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>DerbyCon CTF</title><link>https://systemoverlord.com/2013/09/29/derbycon-ctf/</link><pubDate>Sun, 29 Sep 2013 22:38:19 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/09/29/derbycon-ctf/</guid><description>&lt;p&gt;While at Derbycon last weekend, I played in the Derbycon Capture the Flag (CTF). I played with some people from the DefCon Group back in Atlanta (DC404) &amp;ndash; and we had a great team and that lead to a 5th place finish out of more than 80 teams with points on the board. Big shout out to Michael (@decreasedsales), Aaron (@aaronmelton), Dan (@alltrueic), and all the others who helped out.&lt;/p&gt;</description></item><item><title>CTF Practice</title><link>https://systemoverlord.com/2013/09/08/ctf-practice/</link><pubDate>Sun, 08 Sep 2013 23:45:22 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/09/08/ctf-practice/</guid><description>&lt;p&gt;Those who know me know that I might play in the occasional CTF competition. It's a good way to improve my skills, keep my mind sharp, and it's just plain fun. From a defensive security perspective, it's quite amazing to see how code that looks perfectly reasonable is, in fact, quite often very broken.  If you've never done a CTF, you should watch @rogueclown's "&lt;a href="http://www.rogueclown.net/if-you-can-open-the-terminal-you-can-capture-the-flag/"&gt;If You Can Open A Terminal, You Can Capture the Flag.&lt;/a&gt;"&lt;/p&gt;</description></item><item><title>Thoughts on NSA Surveillance</title><link>https://systemoverlord.com/2013/09/06/thoughts-on-nsa-surveillance/</link><pubDate>Fri, 06 Sep 2013 01:17:36 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/09/06/thoughts-on-nsa-surveillance/</guid><description>&lt;p&gt;I'm going to make this quick -- trying to distill all my thoughts on the NSA into a blog post is impossible, but I feel the need to post something. I believe the actions of the NSA violate my privacy, violate the 4th amendment, and violate the rights of every person on the Internet.  &lt;a href="http://www.theguardian.com/commentisfree/2013/sep/05/government-betrayed-internet-nsa-spying"&gt;The US Government has Betrayed the Internet, and We Need to Take It Back&lt;/a&gt;.  While I don't want to give free reign to terrorists, we have been talking about how our Constitution is what makes America great, and yet we have shredded that very document.  I lose sleep over this not because of the ways the government claims its being used, but over the ways it could be misused -- the next Hoover, the next Nixon, the next McCarthy.  It's time for us to return to a government that respects our rights and our constitution; It's time to return to checks and balances; It's time for America to be free again.  I've been a member of the &lt;a href="https://www.eff.org"&gt;EFF&lt;/a&gt; for several years now, and it (along with organizations like the ACLU and other civil liberties organizations) is the only hope I have left for our country.&lt;/p&gt;</description></item><item><title>Setting Up Kali Linux</title><link>https://systemoverlord.com/2013/07/26/setting-up-kali-linux/</link><pubDate>Fri, 26 Jul 2013 03:55:12 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/07/26/setting-up-kali-linux/</guid><description>&lt;p&gt;I've been meaning to write this up for a while, and it's as much a reminder to me as it's meant to be useful to anyone else, but with DEFCON around the corner, I'm reformatting my laptop for the trip, so now's the best time.  I'm sure everyone has their own "routine" when setting up a new system.  This is my checklist for Kali Linux, which I use for security cons &amp;amp; ctfs, and is separate from my everyday OS installs.&lt;/p&gt;</description></item><item><title>Boston Key Party -- MITM</title><link>https://systemoverlord.com/2013/06/10/boston-key-party-mitm/</link><pubDate>Mon, 10 Jun 2013 00:54:54 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/06/10/boston-key-party-mitm/</guid><description>&lt;p&gt;Boston Key Party is the latest CTF I've played in (this time playing with some local friends as part of our team 'Shadow Cats'). The first challenge we cleared (actually, first blood in the CTF) was MITM.&lt;/p&gt;
&lt;p&gt;Now, you might think a challenge named "MITM" was some sort of Man-In-The-Middle exercise, but it's actually crypto! We're given five base-64 encoded messages: two plaintext/ciphertext pairs, and a ciphertext (which we're presumably supposed to decrypt).&lt;/p&gt;</description></item><item><title>PlaidCTF Compression</title><link>https://systemoverlord.com/2013/04/30/plaidctf-compression/</link><pubDate>Tue, 30 Apr 2013 05:26:20 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/04/30/plaidctf-compression/</guid><description>&lt;p&gt;PlaidCTF 2013 had a level called "Compression". Here's the provided code for
this level:&lt;/p&gt;
&lt;div class="geshifilter"&gt;&lt;div class="python geshifilter-python" style="font-family:monospace;"&gt;&lt;pre style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #808080; font-style: italic;"&gt;#!/usr/bin/python&lt;/span&gt;
&lt;span style="color: #ff7700;font-weight:bold;"&gt;import&lt;/span&gt; &lt;span style="color: #dc143c;"&gt;os&lt;/span&gt;
&lt;span style="color: #ff7700;font-weight:bold;"&gt;import&lt;/span&gt; &lt;span style="color: #dc143c;"&gt;struct&lt;/span&gt;
&lt;span style="color: #ff7700;font-weight:bold;"&gt;import&lt;/span&gt; &lt;span style="color: #dc143c;"&gt;SocketServer&lt;/span&gt;
&lt;span style="color: #ff7700;font-weight:bold;"&gt;import&lt;/span&gt; &lt;span style="color: #dc143c;"&gt;zlib&lt;/span&gt;
&lt;span style="color: #ff7700;font-weight:bold;"&gt;from&lt;/span&gt; Crypto.&lt;span style="color: black;"&gt;Cipher&lt;/span&gt; &lt;span style="color: #ff7700;font-weight:bold;"&gt;import&lt;/span&gt; AES
&lt;span style="color: #ff7700;font-weight:bold;"&gt;from&lt;/span&gt; Crypto.&lt;span style="color: black;"&gt;Util&lt;/span&gt; &lt;span style="color: #ff7700;font-weight:bold;"&gt;import&lt;/span&gt; Counter
 
&lt;span style="color: #808080; font-style: italic;"&gt;# Not the real keys!&lt;/span&gt;
ENCRYPT_KEY &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #483d8b;"&gt;'0000000000000000000000000000000000000000000000000000000000000000'&lt;/span&gt;.&lt;span style="color: black;"&gt;decode&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #483d8b;"&gt;'hex'&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;
&lt;span style="color: #808080; font-style: italic;"&gt;# Determine this key.&lt;/span&gt;
&lt;span style="color: #808080; font-style: italic;"&gt;# Character set: lowercase letters and underscore&lt;/span&gt;
PROBLEM_KEY &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #483d8b;"&gt;'XXXXXXXXXXXXXXXXXXXX'&lt;/span&gt;
 
&lt;span style="color: #ff7700;font-weight:bold;"&gt;def&lt;/span&gt; encrypt&lt;span style="color: black;"&gt;(&lt;/span&gt;data&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; ctr&lt;span style="color: black;"&gt;)&lt;/span&gt;:
    aes &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; AES.&lt;span style="color: #dc143c;"&gt;new&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;ENCRYPT_KEY&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; AES.&lt;span style="color: black;"&gt;MODE_CTR&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; counter&lt;span style="color: #66cc66;"&gt;=&lt;/span&gt;ctr&lt;span style="color: black;"&gt;)&lt;/span&gt;
    &lt;span style="color: #ff7700;font-weight:bold;"&gt;return&lt;/span&gt; aes.&lt;span style="color: black;"&gt;encrypt&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #dc143c;"&gt;zlib&lt;/span&gt;.&lt;span style="color: black;"&gt;compress&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;data&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;
 
&lt;span style="color: #ff7700;font-weight:bold;"&gt;class&lt;/span&gt; ProblemHandler&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #dc143c;"&gt;SocketServer&lt;/span&gt;.&lt;span style="color: black;"&gt;StreamRequestHandler&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;:
    &lt;span style="color: #ff7700;font-weight:bold;"&gt;def&lt;/span&gt; handle&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #008000;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;:
        nonce &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #dc143c;"&gt;os&lt;/span&gt;.&lt;span style="color: black;"&gt;urandom&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500;"&gt;8&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;
        &lt;span style="color: #008000;"&gt;self&lt;/span&gt;.&lt;span style="color: black;"&gt;wfile&lt;/span&gt;.&lt;span style="color: black;"&gt;write&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;nonce&lt;span style="color: black;"&gt;)&lt;/span&gt;
        ctr &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; Counter.&lt;span style="color: #dc143c;"&gt;new&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500;"&gt;64&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; prefix&lt;span style="color: #66cc66;"&gt;=&lt;/span&gt;nonce&lt;span style="color: black;"&gt;)&lt;/span&gt;
        &lt;span style="color: #ff7700;font-weight:bold;"&gt;while&lt;/span&gt; &lt;span style="color: #008000;"&gt;True&lt;/span&gt;:
            data &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #008000;"&gt;self&lt;/span&gt;.&lt;span style="color: black;"&gt;rfile&lt;/span&gt;.&lt;span style="color: black;"&gt;read&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500;"&gt;4&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;
            &lt;span style="color: #ff7700;font-weight:bold;"&gt;if&lt;/span&gt; &lt;span style="color: #ff7700;font-weight:bold;"&gt;not&lt;/span&gt; data:
                &lt;span style="color: #ff7700;font-weight:bold;"&gt;break&lt;/span&gt;
 
            &lt;span style="color: #ff7700;font-weight:bold;"&gt;try&lt;/span&gt;:
                length &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #dc143c;"&gt;struct&lt;/span&gt;.&lt;span style="color: black;"&gt;unpack&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #483d8b;"&gt;'I'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; data&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: black;"&gt;[&lt;/span&gt;&lt;span style="color: #ff4500;"&gt;0&lt;/span&gt;&lt;span style="color: black;"&gt;]&lt;/span&gt;
                &lt;span style="color: #ff7700;font-weight:bold;"&gt;if&lt;/span&gt; length &lt;span style="color: #66cc66;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #ff4500;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="color: #ff4500;"&gt;20&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;:
                    &lt;span style="color: #ff7700;font-weight:bold;"&gt;break&lt;/span&gt;
                data &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #008000;"&gt;self&lt;/span&gt;.&lt;span style="color: black;"&gt;rfile&lt;/span&gt;.&lt;span style="color: black;"&gt;read&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;length&lt;span style="color: black;"&gt;)&lt;/span&gt;
                data +&lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; PROBLEM_KEY
                ciphertext &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; encrypt&lt;span style="color: black;"&gt;(&lt;/span&gt;data&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; ctr&lt;span style="color: black;"&gt;)&lt;/span&gt;
                &lt;span style="color: #008000;"&gt;self&lt;/span&gt;.&lt;span style="color: black;"&gt;wfile&lt;/span&gt;.&lt;span style="color: black;"&gt;write&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #dc143c;"&gt;struct&lt;/span&gt;.&lt;span style="color: black;"&gt;pack&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #483d8b;"&gt;'I'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; &lt;span style="color: #008000;"&gt;len&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;ciphertext&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;
                &lt;span style="color: #008000;"&gt;self&lt;/span&gt;.&lt;span style="color: black;"&gt;wfile&lt;/span&gt;.&lt;span style="color: black;"&gt;write&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;ciphertext&lt;span style="color: black;"&gt;)&lt;/span&gt;
            &lt;span style="color: #ff7700;font-weight:bold;"&gt;except&lt;/span&gt;:
                &lt;span style="color: #ff7700;font-weight:bold;"&gt;break&lt;/span&gt;
 
&lt;span style="color: #ff7700;font-weight:bold;"&gt;class&lt;/span&gt; ReusableTCPServer&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #dc143c;"&gt;SocketServer&lt;/span&gt;.&lt;span style="color: black;"&gt;ForkingMixIn&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; &lt;span style="color: #dc143c;"&gt;SocketServer&lt;/span&gt;.&lt;span style="color: black;"&gt;TCPServer&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;:
    allow_reuse_address &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #008000;"&gt;True&lt;/span&gt;
 
&lt;span style="color: #ff7700;font-weight:bold;"&gt;if&lt;/span&gt; __name__ &lt;span style="color: #66cc66;"&gt;==&lt;/span&gt; &lt;span style="color: #483d8b;"&gt;'__main__'&lt;/span&gt;:
    HOST &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #483d8b;"&gt;'0.0.0.0'&lt;/span&gt;
    PORT &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #ff4500;"&gt;4433&lt;/span&gt;
    &lt;span style="color: #dc143c;"&gt;SocketServer&lt;/span&gt;.&lt;span style="color: black;"&gt;TCPServer&lt;/span&gt;.&lt;span style="color: black;"&gt;allow_reuse_address&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; &lt;span style="color: #008000;"&gt;True&lt;/span&gt;
    server &lt;span style="color: #66cc66;"&gt;=&lt;/span&gt; ReusableTCPServer&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;HOST&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; PORT&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; ProblemHandler&lt;span style="color: black;"&gt;)&lt;/span&gt;
    server.&lt;span style="color: black;"&gt;serve_forever&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; So there's a few interesting things of note here:
&lt;/p&gt;</description></item><item><title>Booting Raw Partitions in VirtualBox with Grub2</title><link>https://systemoverlord.com/2013/04/04/booting-raw-partitions-in-virtualbox-with-grub2/</link><pubDate>Thu, 04 Apr 2013 06:44:27 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/04/04/booting-raw-partitions-in-virtualbox-with-grub2/</guid><description>&lt;p&gt;&lt;b&gt;Background:&lt;/b&gt; I dual-boot my laptop between two different Linux distributions: one for normal/desktop use (currently Mint), and one for "security" uses: mostly CTFs or otherwise hostile networks (currently Kali Linux). I also kept a Kali installation in a VM for use from within my desktop environment, but I was getting tired of having two Kali installations on the one laptop. I'd discover irritation at different configurations, not easily having data between the two, etc. Suffice it to say that fewer installations to maintain is a good thing. So I wondered: can I boot my raw hard disk install from VirtualBox?&lt;/p&gt;</description></item><item><title>Lessons From the Nebula</title><link>https://systemoverlord.com/2013/03/24/lessons-from-the-nebula/</link><pubDate>Sun, 24 Mar 2013 00:46:59 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/03/24/lessons-from-the-nebula/</guid><description>&lt;p&gt;&lt;a href="http://exploit-exercises.com/nebula"&gt;Exploit-Exercises.com's Nebula&lt;/a&gt;, that is.  I just spent a good 8 hours or so working through the levels there, and I'm pretty sure I took much longer than I should have.  In any case, there were a couple of things I was disappointed by: running "getflag" to get a flag (or otherwise being delivered a token) didn't provide you with anything to really validate what you were doing.  You can actually jump directly to any level (which is good when you reset your VM) but not so interesting for "progression" or the sense of accomplishment -- at least for me.&lt;/p&gt;</description></item><item><title>BSides SF CTF by MAD Security, Conclusion</title><link>https://systemoverlord.com/2013/03/06/bsides-sf-ctf-by-mad-security-conclusion/</link><pubDate>Wed, 06 Mar 2013 05:51:21 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/03/06/bsides-sf-ctf-by-mad-security-conclusion/</guid><description>&lt;p&gt;This is the conclusion to my write-up of the awesome BSides SF CTF by &lt;a href="http://madsecurity.com"&gt;MAD Security&lt;/a&gt;/&lt;a href="http://thehackeracademy.com"&gt;The Hacker Academy&lt;/a&gt;.  You can find the other parts here: &lt;a href="https://systemoverlord.com/2013/03/02/bsides-sf-ctf-by-mad-security-part-1"&gt;Levels 1-2&lt;/a&gt;, &lt;a href="https://systemoverlord.com/2013/03/03/bsides-sf-ctf-by-mad-security-part-2"&gt;Levels 3-4&lt;/a&gt;, &lt;a href="https://systemoverlord.com/2013/03/03/bsides-sf-ctf-by-mad-security-part-3"&gt;Levels 5-7&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
		Don't overthink things -- work from the simplest case.&lt;/li&gt;
&lt;li&gt;
		Internet access during a CTF may be spotty (or nonexistent) -- be prepared to work fully offline.  (Download a copy of exploit-db, etc.)&lt;/li&gt;
&lt;li&gt;
		Keep meticulous notes -- otherwise you'll find yourself revisiting avenues you've exhausted, forgetting things, etc.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;What I Wish I'd Done&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>BSides SF CTF by MAD Security, Part 3</title><link>https://systemoverlord.com/2013/03/03/bsides-sf-ctf-by-mad-security-part-3/</link><pubDate>Sun, 03 Mar 2013 19:41:47 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/03/03/bsides-sf-ctf-by-mad-security-part-3/</guid><description>&lt;p&gt;This is a continuation of my &lt;a href="https://systemoverlord.com/2013/03/02/bsides-sf-ctf-by-mad-security-part-1" style="outline: none; color: rgb(26, 150, 212); font-family: Arial, Verdana, Helvetica, sans-serif;"&gt;write-up of the BSides SF 2013 CTF&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Level 5: Phone Work&lt;/strong&gt;&lt;br /&gt;
	This level required that we find a phone number on the Absurdistani snoop's computer and gain access to the voicemail box associated with the number.  Finding the number was straightforward -- there was an email draft that contained the signature of the snoop, and in that signature was his phone number and voice mail box number.  (This also lets us know his name is Marco.)  Calling the phone number and entering the VM box number, we're asked for the PIN of the voicemail box.  After trying some obvious things (the VM box number, the last 4 digits of the phone number, 1234, 0000, etc.) I started looking through his machine for any clues, but his machine was very sparsely populated with files.  So, off to the internet for &lt;a href="http://mashable.com/2012/09/24/pin-number-top-20/"&gt;a list of the most common pins&lt;/a&gt;.  Yeah, humans are predictable... the top 20 PINs (20/10000 =~ 0.2% of pins) represent a whopping 27% of PINs in use.  Turns out Marco was that predictable too.  One of the top 10 and we're in!  The voicemail tells Marco that his new secure key is available on the secure keyserver, which he can retrieve using the 15 digit project access code.&lt;/p&gt;</description></item><item><title>BSides SF CTF by MAD Security, Part 2</title><link>https://systemoverlord.com/2013/03/03/bsides-sf-ctf-by-mad-security-part-2/</link><pubDate>Sun, 03 Mar 2013 00:43:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/03/03/bsides-sf-ctf-by-mad-security-part-2/</guid><description>&lt;p&gt;This is a continuation of my &lt;a href="https://systemoverlord.com/2013/03/02/bsides-sf-ctf-by-mad-security-part-1"&gt;write-up of the BSides SF 2013 CTF&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Level 3: Disk Forensics&lt;/strong&gt;&lt;br /&gt;
	A professional cleaner who has done some work for Nick provides you with an image of a flash drive, and you're to find the most "interesting file" on the drive and provide its md5sum.  The first thing I do is run &lt;tt&gt;file&lt;/tt&gt; on the image to get an idea of what we're working with:&lt;/p&gt;</description></item><item><title>BSides SF CTF by MAD Security, Part 1</title><link>https://systemoverlord.com/2013/03/02/bsides-sf-ctf-by-mad-security-part-1/</link><pubDate>Sat, 02 Mar 2013 07:47:38 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/03/02/bsides-sf-ctf-by-mad-security-part-1/</guid><description>&lt;p&gt;Last weekend I was at BSides SF and had the opportunity to participate in the Capture the Flag competition run by MAD Security/The Hacker Academy. I was able to clear 6 of the levels, and thought I'd write them up here to share my experience. Most of this is from my memory, so there might be a few inaccuracies, but the intent is to share the general concepts, not the specifics.&lt;/p&gt;</description></item><item><title>Homeland by Cory Doctorow</title><link>https://systemoverlord.com/2013/02/06/homeland-by-cory-doctorow/</link><pubDate>Wed, 06 Feb 2013 10:12:50 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/02/06/homeland-by-cory-doctorow/</guid><description>&lt;p&gt;Those who know me will not be surprised to learn that I have stayed up until 1:45 AM reading Cory Doctorow's new book, &lt;a href="http://www.amazon.com/gp/product/0765333694/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0765333694&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;&lt;i&gt;Homeland&lt;/i&gt;&lt;/a&gt;. &lt;i&gt;Homeland&lt;/i&gt; is the sequel to &lt;a href="http://www.amazon.com/gp/product/0765323117/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0765323117&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;&lt;i&gt;Little Brother&lt;/i&gt;&lt;/a&gt;, Cory's first novel about a dystopian near-future/present of the American Surveillance State, which was one of my favorite novels of all time. &lt;i&gt;Homeland&lt;/i&gt; doesn't disappoint -- it's realistic enough to be scary, but sufficiently fictional to not be downright terrifying. &lt;i&gt;Little Brother&lt;/i&gt; and &lt;i&gt;Homeland&lt;/i&gt; are the &lt;i&gt;Nineteen Eighty-Four&lt;/i&gt; of the 21&lt;sup&gt;st&lt;/sup&gt; century -- a warning of an issue that society is largely ignoring, and that will affect every one of us.&lt;/p&gt;</description></item><item><title>Playing with the Patriot Gauntlet Node (Part 1)</title><link>https://systemoverlord.com/2013/02/05/playing-with-the-patriot-gauntlet-node-part-1/</link><pubDate>Tue, 05 Feb 2013 07:54:05 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2013/02/05/playing-with-the-patriot-gauntlet-node-part-1/</guid><description>&lt;p&gt;I recently picked up a &lt;a href="http://www.amazon.com/gp/product/B008KW61XK/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B008KW61XK&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;Patriot Gauntlet Node&lt;/a&gt; just to take a look at it. Playing with the device, it seemed to be a pretty straightforward wireless SoC with a hard drive interface. Many, if not most, of these embedded SoCs use Linux as their operating system, so I decided to go a bit further and see what was going on.&lt;/p&gt;
&lt;p&gt;I headed over to the Patriot website and downloaded the firmware for the
Gauntlet Node, unzipped the file, and ran &lt;a
href="https://github.com/ReFirmLabs/binwalk"&gt;binwalk&lt;/a&gt; against it. (Binwalk is an awesome tool that essentially runs 'file' with a special magic file against every possible byte offset to find the parts of a firmware image.)&lt;/p&gt;</description></item><item><title>Social Engineering: The Art of Human Hacking</title><link>https://systemoverlord.com/2012/12/02/social-engineering-the-art-of-human-hacking/</link><pubDate>Sun, 02 Dec 2012 21:49:25 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2012/12/02/social-engineering-the-art-of-human-hacking/</guid><description>&lt;p&gt;I just got done reading Christopher Hadnagy's &lt;a href="http://www.amazon.com/gp/product/0470639539/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0470639539&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;Social Engineering: The Art of Human Hacking&lt;/a&gt;. If you are interested in the social aspects of information security, this provides an in-depth view of the actual techniques and science behind social engineering. While books like Kevin Mitnick's &lt;a href="http://www.amazon.com/gp/product/076454280X/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=076454280X&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;The Art of Deception&lt;/a&gt; and &lt;a href="http://www.amazon.com/gp/product/0471782661/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0471782661&amp;amp;linkCode=as2&amp;amp;tag=systemovecom-20"&gt;The Art of Intrusion&lt;/a&gt; tell amusing and noteworthy stories of social engineering hacking, Hadnagy's book tells you &lt;b&gt;why&lt;/b&gt; and &lt;b&gt;how&lt;/b&gt; it works. Hadnagy's exposure all reveals the most important lesson -- how to defend against the attacks.&lt;/p&gt;</description></item><item><title>The segmentation fault occurred where?!?</title><link>https://systemoverlord.com/2012/11/19/the-segmentation-fault-occurred-where/</link><pubDate>Mon, 19 Nov 2012 01:36:17 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2012/11/19/the-segmentation-fault-occurred-where/</guid><description>&lt;p&gt;I recently ran into a C++ problem where a segfault was occurring in code in a stable library that hadn't been changed in a while. For a while, I couldn't figure out what would have broken in that library, and the call site looked perfectly fine. Before I give away the answer, let's take a quick quiz. What does the following code output? (And yes, this is somewhat compiler dependent, so let's pretend we're talking about how g++ works.)&lt;/p&gt;</description></item><item><title>MITM on KVM Guests</title><link>https://systemoverlord.com/2012/11/11/mitm-on-kvm-guests/</link><pubDate>Sun, 11 Nov 2012 02:47:43 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2012/11/11/mitm-on-kvm-guests/</guid><description>&lt;p&gt;I run a KVM virtualization system as part of my test lab.  I often want to redirect traffic to an intermediate application (such as sslsniff) on the host.  Supposing I have a guest on interface vnet7, bridged to br10, with the host running on 192.168.1.10 the following ebtables &amp;amp; iptables magic gets the job done:&lt;/p&gt;
&lt;div class="geshifilter"&gt;
&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;
&lt;pre style="font-family: monospace; font-weight: normal; font-style: normal"&gt;ebtables -t broute -A BROUTING -p IPv4 -i vnet7 --ip-proto tcp --ip-dport 443 -j redirect --redirect-target DROP
iptables -t nat -A PREROUTING -i vnet7 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.10:9999&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note that you can't use -j REDIRECT, as that's (roughly) equivalent to DNAT to the IP of the incoming interface, but bridged virtual network interfaces (vnet7) have no IP address.&lt;/p&gt;</description></item><item><title>Presentation: The Keys to SSH</title><link>https://systemoverlord.com/projects/ssh_presentation.html</link><pubDate>Sun, 01 Apr 2012 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/ssh_presentation.html</guid><description>&lt;p&gt;The Secure Shell, or SSH, is a powerful communications tool most often used for securely accessing a command-line session on a remote system. As essential as that functionality is, there is much more to SSH than that. This talk will introduce SSH, and discuss integral applications including secure file transfer, accessing services behind a firewall, and running graphical applications software remotely. Specific topics include:&lt;/p&gt;
&lt;p&gt;Starting with SSH
SSH Keys
Secure File Copying (SCP)
Port Forwarding
X11 Forwarding
Advanced SSH options and functions&lt;/p&gt;</description></item><item><title>2 Weeks at Google</title><link>https://systemoverlord.com/2012/03/12/2-weeks-at-google/</link><pubDate>Mon, 12 Mar 2012 05:08:01 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2012/03/12/2-weeks-at-google/</guid><description>&lt;p&gt;
	Two weeks at Google have been... amazing.  There's a lot that I can't talk about, but I can feel comfortable in confirming some of the things you hear about Google:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
		The people are insanely smart.&lt;/li&gt;
&lt;li&gt;
		The scale blows your mind as a Noogler (new Googler).&lt;/li&gt;
&lt;li&gt;
		The food is great.&lt;/li&gt;
&lt;li&gt;
		It has culture.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
	I'm a "Site Reliability Engineer" which is a job title that may not exist anywhere else.  It's basically production-oriented operational engineering: keeping production systems running and making them run better.&lt;/p&gt;</description></item><item><title>The End of a Chapter</title><link>https://systemoverlord.com/2012/02/16/the-end-of-a-chapter/</link><pubDate>Thu, 16 Feb 2012 04:59:59 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2012/02/16/the-end-of-a-chapter/</guid><description>&lt;p&gt;
	I'm not usually one for reflective personal blog entries, but some events require a brief mention: today was my last day at KSU, and it was an incredibly surreal day.  Though I've known this day was coming for over a month, it is still hard to believe that it got here.  In many ways, today felt like any other day: the work was similar, things needed to get done.  In other ways, there was an 800 pound gorilla in the room: everyone knew that tomorrow I wouldn't be coming to work.  When I finally cleared out my office, the finality of what was going on really hit me.&lt;/p&gt;</description></item><item><title>My Time at KSU</title><link>https://systemoverlord.com/2012/02/03/my-time-at-ksu/</link><pubDate>Fri, 03 Feb 2012 04:24:58 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2012/02/03/my-time-at-ksu/</guid><description>&lt;p&gt;
	As you might have seen, I'm leaving my position at Kennesaw State University to take a position as a Site Reliability Engineer at Google.  This is something I'm very excited about, but I thought I'd take a look back at my time at KSU as I approach the end.  It's worth mentioning that I'm not leaving KSU because of KSU, but because this is an opportunity I just could not turn down.  For the most part, I like my position at KSU, and I really like most of the people that I work with.  There's a particular group that's become three of my closest friends and one treasured acquaintance.&lt;/p&gt;</description></item><item><title>Big Changes</title><link>https://systemoverlord.com/2012/01/05/big-changes/</link><pubDate>Thu, 05 Jan 2012 00:54:46 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2012/01/05/big-changes/</guid><description>&lt;p&gt;
	Today I did one of the hardest things I have had to do: I turned in my notice that I would be leaving Kennesaw State University in February.  It was hard because I consider my management and many of my coworkers to be friends and I genuinely do enjoy my job, but I now have the opportunity to start the next chapter of my life.  At the end of February, I'll be moving to California and starting at Google as a Site Reliability Engineer!&lt;/p&gt;</description></item><item><title>Recruiters!</title><link>https://systemoverlord.com/2011/12/13/recruiters/</link><pubDate>Tue, 13 Dec 2011 14:26:06 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/12/13/recruiters/</guid><description>&lt;p&gt;
	There hasn't been a lot of updates lately, and I apologize... between contract work, end of the semester, and other personal issues, writing blog posts has slipped into the cracks.  Hopefully that'll be fixed as I've finally completed my 2nd 1st semester of grad school.&lt;/p&gt;
&lt;hr /&gt;&lt;p&gt;
	I am occasionally contacted by recruiters of various sorts.  Most of them I just ignore, particularly those that provide no details on who the employer is, what the compensation package might be, etc.  As a rule, I find 3rd party recruiters who contact me out of the blue are probably contacting anyone whose website includes the word "Linux".  (Although I've received more than one recruiter looking for Windows/.NET software development...)  The most recent one was a real gem though.  No names -- I'm not trying to call him/her out individually, just to shed some light on the vagueness that is the world of recruiting.  I've trimmed the email down to the salient parts:&lt;/p&gt;</description></item><item><title>A Career Plan</title><link>https://systemoverlord.com/2011/11/07/a-career-plan/</link><pubDate>Mon, 07 Nov 2011 05:01:17 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/11/07/a-career-plan/</guid><description>&lt;p&gt;
	I've made several career plans for myself before, but I don't think I've ever done it in a formal manner.  I've never said to myself "I should make a career plan" until I was sitting in Martin Fisher's "How to Hack the Career Development Life Cycle" at B-Sides Atlanta.  It had always been more of a "I want to do this, so first I need to learn this technology" kind of mentality.  However, Martin's talk really made me think.  In some ways, it was sort of unsettling, but I think it can be unsettling anytime you start to really think about the direction your life is going.  I had a sort of "life passing me by" feeling by the end of the presentation (through no fault of his -- it was a great presentation, with some great takeaways.)  I'm hoping making myself this transparent doesn't come back to bite me later, but I'm also hoping that this transparency might get me some feedback from my more experienced readers.  (Insert "what readers?" joke here.)&lt;/p&gt;</description></item><item><title>Martian Packet Messages</title><link>https://systemoverlord.com/2011/11/06/martian-packet-messages/</link><pubDate>Sun, 06 Nov 2011 02:36:13 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/11/06/martian-packet-messages/</guid><description>&lt;p&gt;
	Occasionally, you might see messages like the following in your Linux kernel messages:&lt;/p&gt;
&lt;blockquote&gt;&lt;div class="geshifilter"&gt;
&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;
&lt;pre style="font-family: monospace; font-weight: normal; font-style: normal"&gt;martian source 192.168.1.1 from 127.0.0.1, on dev eth1&amp;lt;br /&amp;gt;
        ll header: 52:54:00:98:99:d0:52:54:00:de:d8:10:08:00 &lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	There's a lot of discussion out there about what this means, but not a lot about how to trace down the source.  Hopefully this will provide some insight into what the messages actually mean, and how to understand them.&lt;/p&gt;</description></item><item><title>VPS.net Review</title><link>https://systemoverlord.com/2011/11/01/vpsnet-review/</link><pubDate>Tue, 01 Nov 2011 14:55:37 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/11/01/vpsnet-review/</guid><description>&lt;p&gt;
	I first heard about &lt;a href="http://vps.net" rel="nofollow"&gt;VPS.net&lt;/a&gt; last March at Drupalcon Chicago.  Having been a Linode customer for a couple of years, I was skeptical at first, but 7 months later, I'm very happy with the level of service vps.net provides.  When I've been working on projects for demanding clients, I've been able to scale my VPS up by adding additional nodes -- either daily or monthly.  After the project was done, I could have scaled back down -- but there's always another project on the horizon!  (One of these days, I'll have to make "sleep" a project to make sure it gets done too.)  While there has been a couple of small downtimes, VPS.net has always been great about providing status updates and letting customers know where they stand.  Additionally, their service people are great and respond quickly via email or twitter. &lt;/p&gt;</description></item><item><title>(Virtually) Setting Up A Test Lab (Part 1)</title><link>https://systemoverlord.com/2011/10/31/virtually-setting-up-a-test-lab-part-1/</link><pubDate>Mon, 31 Oct 2011 04:43:30 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/10/31/virtually-setting-up-a-test-lab-part-1/</guid><description>&lt;p&gt;
	I've spent a little bit of time today doing something that was long overdue.  I've transitioned most of my day-to-day data to my laptop, so I decided it was time to put my desktop to use as a "virtual lab."&lt;/p&gt;
&lt;p&gt;
	I've set up KVM on my desktop with two virtual machines (so far) in it.  The first one I call "LabManager" -- it's effectively a head node from the "Lab" network out to the real world.&lt;/p&gt;</description></item><item><title>KSU Cyber Security Awareness Day 2011</title><link>https://systemoverlord.com/2011/10/26/ksu-cyber-security-awareness-day-2011/</link><pubDate>Wed, 26 Oct 2011 22:25:19 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/10/26/ksu-cyber-security-awareness-day-2011/</guid><description>&lt;p&gt;
	Today was the KSU Cyber Security Awareness Day, presented by KSU's Information Technology Services (a sister department to the department I work in), and it was a resounding success!  There were several presentations that had standing-room only attendance, and for good reason.&lt;/p&gt;
&lt;p&gt;
	My personal favorites:&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Mike Rothman from Securosis&lt;/strong&gt; on finding happiness in information security.  Mike's presentation was as much about being happy in your job and in your life as it was about cyber security, but he asked a number of very pointed questions.  Questions about pay/salary, job satisfaction, and life priorities.  I found the questions unsettling, not because of the actual question, but because I realized that I'd been subconsciously thinking those same things for quite a while now.  The take away from his presentation can probably be summed up as "Is what you're doing today getting you where you want to go?"&lt;/p&gt;</description></item><item><title>Things I Wish Undergrad Had Taught Me</title><link>https://systemoverlord.com/2011/10/24/things-i-wish-undergrad-had-taught-me/</link><pubDate>Mon, 24 Oct 2011 17:32:35 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/10/24/things-i-wish-undergrad-had-taught-me/</guid><description>&lt;p&gt;
	This is &lt;em&gt;not&lt;/em&gt; an attempt to knock any particular program, professor, or course of study.  It's just some things that I think should be included in an undergrad CS program that I don't feel like I got.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;
		&lt;strong&gt;Serious study of data structures and algorithms.&lt;/strong&gt;  While I know how to implement a linked list, structs, classes, vectors, and other data structures, not a whole lot was said about the best use cases for each.  That's something I've had to discover on my own.  And the most complex tree we discussed was the Binary tree.  We never talked about balanced binary trees, red-black trees, or generic n-ary trees.  Although I was taught the general idea behind Djikstra's algorithm, and can tell you the big-O runtime for about a half-dozen sorts, practice implementing them and discussion of their comparative strengths and weaknesses is not something I remember from my undergrad.  Also, there was &lt;strong&gt;NO&lt;/strong&gt; discussion of time-memory tradeoffs involved in implementing some of the algorithms.  In fact, (and I'm embarassed to admit this) I only recently found out about the in-place implementation of quicksort!&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;How to find your focus.&lt;/strong&gt;  If there's ever been a real-world example of an NP-complete problem, it's finding your niche.  I'm still searching, and as I get into more things, I'm finding more interests than I am able to exclude.  IT/Computers/Technology is a massive field and even narrowing it a little is hard.  About the only things I've narrowed down are that I don't want to do end-user support, that I don't want to manage people, and that I want to work with/develop Open Source.  Oh, and that I like not doing the same thing every day.  (As it is, my current job is getting on the monotonous end of things.)  I hope I'll find my focus before its too late.&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;How to develop with others.  &lt;/strong&gt;This is a skill I've developed over the past few years of the "real world", but I'm not sure everyone I've worked with has gotten it down.  There were too few group projects in my undergrad, and those that I had were comparatively small.  We never had the big software engineering problems, and never really had to develop good APIs for others to depend on.  The division of work never seemed to be "you do the UI, I'll do the database components, and he'll do the business logic."  It was always "you do the UML diagram, I'll do all the code, and you do the final report."  That's not how it works in the real world (ok, well, sometimes it is, but it's not how its supposed to work).&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;How to effectively use source code management.&lt;/strong&gt;  Using SCM is critical to any serious development.  Not &lt;strong&gt;once&lt;/strong&gt; in my entire undergrad career was that discussed.  No mention of any SCM.  While my experience in open source had led to me using and understanding SCM, I can say that I've seen how well prepared others are to use it -- and it's pretty scary.&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;How to do requirements definitions and other software engineering tasks.&lt;/strong&gt;  When I started my undergrad, there weren't really any dedicated software engineering programs -- everyone did CS or IS.  In the CS side of things, there was &lt;strong&gt;one&lt;/strong&gt; software engineering class.  You can't learn to estimate time, do requirements definitions, manage deliverables, and all the other tasks that go into a software lifecycle in one class.  While I realize not every CS student will end up doing software engineering, the software engineering class should be early in the program (in my program, it was nearly at the end) and those concepts should be incorporated into every major project you do for the rest of your degree.  You've gotta do things more than once to really understand it.&lt;/li&gt;
&lt;li&gt;
		&lt;strong&gt;How to do dev/test/prod.&lt;/strong&gt;  Much like #5, the words "unit testing" never came up in my undergrad program.  There also wasn't really any discussion of maintaining existing software, and of the different environments.  I knew about them, but not from my undergrad, and I've had to learn a lot about them "on my feet."  I'm still trying to get some of our practices at my job into this lifecycle in a sane manner, but it turns out: doing things the right way requires more work &lt;strong&gt;up front.&lt;/strong&gt;  It'll save you in the long run, but it's hard to get that initial investment when it looks cheaper to "fix things later."  (It's not, by the way.  Doing it right the first time is &lt;strong&gt;always&lt;/strong&gt; cheaper.)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;
	I'm still learning a lot -- but if you're not learning, you're stagnant.  There are just some things that make you slap your forehead when you realize how nice it would have been to know those skills 5 years ago.&lt;/p&gt;</description></item><item><title>A Hard Lesson Learned</title><link>https://systemoverlord.com/2011/10/17/a-hard-lesson-learned/</link><pubDate>Mon, 17 Oct 2011 15:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/10/17/a-hard-lesson-learned/</guid><description>&lt;p&gt;
	For a few months now, I've been working on a side project for a local girl's volleyball club.  While the people I'm working with are very nice, this whole project has been a lesson in how bad of a businessman/project manager I am.  I'm struggling with whether this is a sign I should stop taking on these side projects, or if its a sign that I really need to pay more attention to the business side of things.  If nothing else, I hope this will serve as a warning to others on what not to do.&lt;/p&gt;</description></item><item><title>What I learned from Steve Jobs</title><link>https://systemoverlord.com/2011/10/06/what-i-learned-from-steve-jobs/</link><pubDate>Thu, 06 Oct 2011 04:19:23 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/10/06/what-i-learned-from-steve-jobs/</guid><description>&lt;p&gt;
	Unless you've just awoken from a coma, you're probably well aware that Steve Jobs passed away a few hours ago.  It might be the very first time that the death of a "celebrity" has saddned me.  Steve was more than a celebrity, he was visionary like none other.&lt;/p&gt;
&lt;p&gt;
	Steve had a vision that was unmatched by anyone else, even his Apple cofounder Steve Wozniak.  The Woz and I are much more on the same wavelength -- fascinated by the technology, fascinated by doing things just to see them done.  Jobs, on the other hand, saw the bigger picture instantly.  He saw how the technology would change the world, and he got there first (most of the time).  &lt;strong&gt;Lesson one:&lt;/strong&gt; See the big picture.  Even if you don't control the big picture, see how your part fits into the big picture, and make it better.&lt;/p&gt;</description></item><item><title>Coming Drupal Trends</title><link>https://systemoverlord.com/2011/10/05/coming-drupal-trends/</link><pubDate>Wed, 05 Oct 2011 23:01:59 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/10/05/coming-drupal-trends/</guid><description>&lt;p&gt;
	Based on Drupalcon last March and Drupalcamp Atlanta this weekend, I've seen some growing trends in Drupal.  While some of them might "already be here" I don't think everyone's doing them yet.  Some of them apply to web development in general, while others are more specific to Drupal.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Adaptive Web Design&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	We all know mobile is here and is going to stay.  However, the days of 23-30 inch monitors aren't over.  Making something that is highly usable on both ends requires adapting to the user's platform (hence adaptive design).  Themes like Omega, AdaptiveTheme, and their derivities are probably going to replace base themes like Zen in order to make things more "adaptive."  It's worth noting that Zen can be adaptive with media queries, but it's not designed for it from the ground up.&lt;/p&gt;</description></item><item><title>I have the coolest wife...</title><link>https://systemoverlord.com/2011/10/01/i-have-the-coolest-wife/</link><pubDate>Sat, 01 Oct 2011 18:12:45 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/10/01/i-have-the-coolest-wife/</guid><description>&lt;p&gt;
	I have the coolest &lt;a href="https://simplepapercrafting.wordpress.com"&gt;wife&lt;/a&gt; because, although today is our first anniversary, she not only allowed, but encouraged, me to attend DrupalCamp Atlanta.  Hopefully I learn something useful.  :)&lt;/p&gt;
&lt;p&gt;
	I love her very much... and I'm not just saying that because she reads this blog.&lt;/p&gt;
&lt;p&gt;
	(Oh, and don't worry, we'll be spending the evening together.)&lt;/p&gt;</description></item><item><title>Customizing Built-in Strings in Drupal</title><link>https://systemoverlord.com/2011/09/29/customizing-built-in-strings-in-drupal/</link><pubDate>Thu, 29 Sep 2011 04:15:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/29/customizing-built-in-strings-in-drupal/</guid><description>&lt;p&gt;
	At work, we had a situation where one of the strings built in to the Drupal User Interface made things somewhat confusing.  By default, 'Enter your &lt;strong&gt;sitename&lt;/strong&gt; username.' is displayed beneath the username box on the login form.  However, we use a centralized authentication system called 'NetID', so this prompt was confusing to some users.&lt;/p&gt;
&lt;p&gt;
	One of my coworkers had received the request from the user to change this text to "Please enter your KSU NetID."  His first thought was to create a subtheme of our base theme and modify a .tpl.php.  (It turns out this isn't even directly possible, you have to register a special .tpl.php handler first.)  My first thought was hook_form_alter, but after a moment, I realized that was overkill for the task of changing a single string.  I recalled that before we had used locale settings to modify strings being output, so I wondered if we couldn't do that here as well.  The first step was to find the raw string, before any processing.&lt;/p&gt;</description></item><item><title>I did it for the data...</title><link>https://systemoverlord.com/2011/09/28/i-did-it-for-the-data/</link><pubDate>Wed, 28 Sep 2011 14:34:04 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/28/i-did-it-for-the-data/</guid><description>&lt;p&gt;
	Prior to about 2005, if you had something to say online, you built your own website and said it there.  And so the web was like a chain of small islands, each led by their own leader (the owner of the site), with browsers hopping from island to island.  Sure, there were travel agents (search engines) to help you find which island (website) you wanted to visit, but for the most part, each site was run independently and had its own way of doing things.&lt;/p&gt;</description></item><item><title>The US Day of Rage</title><link>https://systemoverlord.com/2011/09/27/the-us-day-of-rage/</link><pubDate>Tue, 27 Sep 2011 00:48:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/27/the-us-day-of-rage/</guid><description>&lt;p&gt;For those who have missed it, (and since the mainstream media is more or less ignoring it, you probably have) there's currently a large number of people protesting against the increasing social inequality in the United States. There are thousands of people protesting on Wall Street and the rest of Manhattan, protesters in Chicago, and protesters in other major cities.&lt;/p&gt;
&lt;p&gt;Much of the movement was spawned by a movement for the "US Day of Range". Some of this movement was spawned by a group called US Uncut, whose primary goal was to highlight that the largest banks in the country pay less in income taxes than most of the individual taxpayers in this country. Some of this movement has spawned out of the group "Anonymous", which seems to be a loose-knit group of individuals that may have some common foundations. Others seem to have just joined as the movement reached critical mass, identifying only with the core views of the Occupy Wall Street movement.&lt;/p&gt;</description></item><item><title>Lying to Google (a.k.a. SEO)</title><link>https://systemoverlord.com/2011/09/23/lying-to-google-aka-seo/</link><pubDate>Fri, 23 Sep 2011 23:51:43 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/23/lying-to-google-aka-seo/</guid><description>&lt;p&gt;
	Search Engine Optimization (SEO) comes in two basic forms.  The first really is optimization: ensuring that your site has good links, that the content is relevant, and that the site adheres to good structural practices all fit into true optimization.  With the ever-growing complexity of websites, taking steps to help search engines understand your content and the structure of your site makes good sense.  With the new notion of a "semantic web", this will grow to a new level and become a key part of web development best practices.&lt;/p&gt;</description></item><item><title>Tablets, Free Software, and You</title><link>https://systemoverlord.com/2011/09/23/tablets-free-software-and-you/</link><pubDate>Fri, 23 Sep 2011 01:38:56 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/23/tablets-free-software-and-you/</guid><description>&lt;p&gt;
	Tablets are the current 'big thing' in computing devices -- so much so, in fact, that many believe tablets will replace most of the uses of laptops and desktops.  This aligns closely with the trend to put "everything" on the web.  While making everything browser-based certainly has its conveniences, it also has risks.&lt;/p&gt;
&lt;p&gt;
	Users are continually placing their privacy and their data in the hands of others, while ignoring the risks posed by these actions.  Look, for example, at the terms of service and software licenses associated with the iPad.  Apple can remotely "kill" software on your iPad.  If that software was storing your data, too bad, it's gone.&lt;/p&gt;</description></item><item><title>Migrating an Access Database to MySQL</title><link>https://systemoverlord.com/2011/09/21/migrating-an-access-database-to-mysql/</link><pubDate>Wed, 21 Sep 2011 22:32:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/21/migrating-an-access-database-to-mysql/</guid><description>&lt;p&gt;I'm currently taking a Database class as part of my requirements for my M.S. in Computer Science. Several of our assignments are based on a database provided to us as a Microsoft Access Database. While I have a Windows 7 Virtual Machine, and could install Office in it, I prefer to use free software whenever possible, so I looked for a way to use this database with free software.&lt;/p&gt;
&lt;p&gt;Fortunately, the database is in the earlier .mdb format, and not the newer .accdb format. I first found a glimmer of hope in an &lt;a href="http://nialldonegan.me/2007/03/10/converting-microsoft-access-mdb-into-csv-or-mysql-in-linux/"&gt;article&lt;/a&gt; by Niall Donegan describing the use of the &lt;a href="http://mdbtools.sourceforge.net/"&gt;MDB Tools&lt;/a&gt; package.&lt;/p&gt;</description></item><item><title>Using an SSH Connection to Provide Remote Support (Part I)</title><link>https://systemoverlord.com/2011/09/20/using-an-ssh-connection-to-provide-remote-support-part-i/</link><pubDate>Tue, 20 Sep 2011 15:37:46 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/20/using-an-ssh-connection-to-provide-remote-support-part-i/</guid><description>&lt;p&gt;
	Last week, at the ALE meeting, a question came up about using SSH to provide remote support for someone who is not especially Linux-literate.  I suggested using an SSH reverse tunnel so the end-user wouldn't need to worry about firewalls, NAT, etc.&lt;/p&gt;
&lt;p&gt;
	Thinking about the problem, I realize that it's a little more complicated than that.  So in part 1, I'm going to discuss the general solution and the approach to the problem.  In Part II, I'll present a more comprehensive solution that will (I think) scale better.&lt;/p&gt;</description></item><item><title>Boost, RSS Feeds, and Google Reader</title><link>https://systemoverlord.com/2011/09/19/boost-rss-feeds-and-google-reader/</link><pubDate>Mon, 19 Sep 2011 22:30:27 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/19/boost-rss-feeds-and-google-reader/</guid><description>&lt;p&gt;
	For a while now, I've struggled with an issue on this site.  Google Reader would sometimes show items that had already been displayed in the reader.  They would be shown as new unread items, regardless of whether the "original" copy of that item had been read.  I'm sure this irritated many readers, and I tried several times to fix the issue.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
		The feed was successfully validated by the &lt;a href="http://validator.w3.org/feed/"&gt;W3C Validator&lt;/a&gt;.  Multiple times.&lt;/li&gt;
&lt;li&gt;
		Adding the feed freshly worked fine.&lt;/li&gt;
&lt;li&gt;
		Adding the feed to other RSS readers showed only 1 per item.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
	I set up a cron job to pull a copy of my RSS feed regularly and save copies.  I figured I could see if anything changed between versions.  At first, the differing versions showed no significant changes.  (Other than new posts where expected.)&lt;/p&gt;</description></item><item><title>Where My Goals Lie</title><link>https://systemoverlord.com/2011/09/15/where-my-goals-lie/</link><pubDate>Thu, 15 Sep 2011 00:21:59 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/09/15/where-my-goals-lie/</guid><description>&lt;p&gt;
	Lately, I've been doing a lot of thinking about my life goals.  While I realize that 26 is still comparatively young, I really feel like I'm not making enough progress towards where I want to be.  Rather than moping on about it, as I have for quite some time, I've been inspired by &lt;a href="http://sachachua.com/blog/"&gt;Sacha Chua&lt;/a&gt; to actually do something about it.  Sacha is all about getting things done and making the most out of life, or, to quote her blog title, "Living an Awesome Life."  Whining is &lt;strong&gt;not&lt;/strong&gt; living an awesome life.&lt;/p&gt;</description></item><item><title>Git On Your Web Server: A Security Reminder</title><link>https://systemoverlord.com/2011/08/31/git-on-your-web-server-a-security-reminder/</link><pubDate>Wed, 31 Aug 2011 22:53:21 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/08/31/git-on-your-web-server-a-security-reminder/</guid><description>&lt;p&gt;
	Earlier this month, I wrote about &lt;a href="https://systemoverlord.com/2011/08/04/managing-drupal-with-git"&gt;managing a Drupal site with git&lt;/a&gt;.  What I neglected to remember, of course, is this places a full copy of your git repository within your web server's document root.  This has the potential to expose any data in your git repository -- a malicious attacker could (depending on your configuration) clone the entire repository, thus exposing source code, configuration files, database dumps, and other sensitive data.&lt;/p&gt;</description></item><item><title>Managing Drupal with Git</title><link>https://systemoverlord.com/2011/08/04/managing-drupal-with-git/</link><pubDate>Thu, 04 Aug 2011 23:40:56 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/08/04/managing-drupal-with-git/</guid><description>&lt;p&gt;
	For a while now, I've been meaning to manage my Drupal site (and the modules and features on it) with git.  The release of Drupal 7.7 provided a perfect opportunity to make this transition.  I've now cloned the main Drupal.org git repository, added my features (as submodules) and added the modules I use (also as submodules).  I'm still getting used to working with git, and I wish there was a way to push parts of my configuration remotely, but I understand why you can't.&lt;/p&gt;</description></item><item><title>Automatically Creating Archives from Git Tags</title><link>https://systemoverlord.com/2011/07/16/automatically-creating-archives-from-git-tags/</link><pubDate>Sat, 16 Jul 2011 13:33:05 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/07/16/automatically-creating-archives-from-git-tags/</guid><description>&lt;p&gt;At work, we've been moving all of our development processes to git. As part of that, I've encouraged that alphas, betas, and releases be tagged in git -- it's important to know which versions are in use where. Additionally, my director wanted archives (zips/tars) of each of these versions to make it easier to install the releases, particularly for the members of our department who are not git-friendly. I realized that with git hooks and our use of gitolite, we could produce automated archives when tags with the words alpha/beta/release are pushed to the gitolite server. The script below is placed in the $GL_PACKAGE_HOOKS/common directory. It uses the name of the repository to decide if it should be archived (matches $ALLOW_ARCHIVE) and where the archive should be put (within $ARCHIVE_DIR).
&lt;/p&gt;</description></item><item><title>Presentation: Drupal: Open Source Content Management</title><link>https://systemoverlord.com/projects/drupal_cms.html</link><pubDate>Fri, 01 Jul 2011 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/drupal_cms.html</guid><description>&lt;p&gt;These are the slides associated with my &amp;ldquo;Drupal: Open Source Content Management&amp;rdquo; presentation at the July 2011 ALE meeting. Video will be posted when it becomes available.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://systemoverlord.com/static/attachments/drupal_slides.pdf"&gt;Slides&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Presentation: GnuPG: Open Encryption, Signing and Authentication</title><link>https://systemoverlord.com/projects/gnupg.html</link><pubDate>Fri, 01 Jul 2011 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/gnupg.html</guid><description>&lt;p&gt;GnuPG is a GPL-licensed implementation of the OpenPGP standard, first popularized by free (as in beer) and commercial implementations known as PGP. GPG is used in encrypted e-mail, signed documents, software package management, and even for SSH authentication. If you are interested in protecting your privacy, your identity, your software downloads, or in using one tool to manage SSH keys and digital signatures, come and see how GPG can help you meet your goals. We&amp;rsquo;ll also talk about best practices and options for using hardware smartcards to protect your keys in your GPG usage.&lt;/p&gt;</description></item><item><title>Avenue Q</title><link>https://systemoverlord.com/2011/06/19/avenue-q/</link><pubDate>Sun, 19 Jun 2011 22:18:07 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/06/19/avenue-q/</guid><description>&lt;p&gt;
	Last night, Ann and I attended a local performance of "Avenue Q" at the &lt;a href="http://www.horizontheatre.com/"&gt;Horizon Theatre Company&lt;/a&gt; with some people from my work.  I wasn't sure what it would be like, but the 175-seat theater is a perfect setting.  We got there just before showtime, so got seats in the very back, but even those seats have a great view.  The entire theater can only be described as an intimate setting.&lt;/p&gt;</description></item><item><title>Southeast Linuxfest 2011</title><link>https://systemoverlord.com/2011/06/13/southeast-linuxfest-2011/</link><pubDate>Mon, 13 Jun 2011 18:08:18 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/06/13/southeast-linuxfest-2011/</guid><description>&lt;p&gt;
	This year was my 2nd Southeast Linuxfest (I'd previously attended the inaugural SELF at Clemson in 2009) and I was blown away by how it has grown.  As a former organizer for the Atlanta Linux Fest (which I terribly miss) I know how hard it is to make an event like this a success.  I have to applaud the organizers of SELF, even if I'm not sure who all of them are!  The conference retained a great "local" feel while still attracting a diverse group of people.&lt;/p&gt;</description></item><item><title>Software Patent Trolls Should Die</title><link>https://systemoverlord.com/2011/05/27/software-patent-trolls-should-die/</link><pubDate>Fri, 27 May 2011 14:34:05 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/05/27/software-patent-trolls-should-die/</guid><description>&lt;p&gt;
	Software patent trolls -- companies whose primary source of revenue is derived from suing others over their patent portfolion -- pose a significant risk to continuing innovation in the United States.  In order to promote future development and innovation, we need to eliminate software patents. &lt;/p&gt;
&lt;p&gt;
	At a minimum, companies should not be allowed to retain rights to a patent unless they continously produce a product that utilizes their patent.  Much like a trademark, patents not being used should fall into the public domain.&lt;/p&gt;</description></item><item><title>Linode Rocks!</title><link>https://systemoverlord.com/2011/05/18/linode-rocks/</link><pubDate>Wed, 18 May 2011 03:13:28 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/05/18/linode-rocks/</guid><description>&lt;p&gt;
	As you may know, my site is hosted by &lt;a href="http://www.linode.com/?r=680a893e24df3597d32f58cd41930e969027dc06"&gt;Linode&lt;/a&gt;, one of the older Linux VPS providers.  I was excited when Linode &lt;a href="http://blog.linode.com/2011/05/03/linode-launches-native-ipv6-support/"&gt;announced native IPv6 support&lt;/a&gt; in some of their data centers, but then disappointed when I saw "No ETA" for the Atlanta datacenter where my site was hosted.  I had been running my node with Hurricane Electric's IPv6 tunnel service, but I prefer a native solution when I can get it.&lt;/p&gt;</description></item><item><title>Welcome (back) to Drupal!</title><link>https://systemoverlord.com/2011/03/23/welcome-back-to-drupal/</link><pubDate>Wed, 23 Mar 2011 01:21:23 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/03/23/welcome-back-to-drupal/</guid><description>&lt;p&gt;
	Regular readers of my blog may have noticed a significant change.  As of about midnight last night, I had completed the migration of my site from Wordpress 3.1 to Drupal 7.  A few features are not yet implemented, including automatically posting my blog entries to Twitter, but the RSS feeds do work.  Additionally, some of the RSS feed URLs have changed, so please check your feed readers.&lt;/p&gt;</description></item><item><title>Drupalcon 2011: Introduction to Module Development</title><link>https://systemoverlord.com/2011/03/10/drupalcon-2011-introduction-to-module-development/</link><pubDate>Thu, 10 Mar 2011 04:52:32 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/03/10/drupalcon-2011-introduction-to-module-development/</guid><description>&lt;p&gt;&lt;a href="http://ezra-g.com"&gt;Ezra B. Gildesgame&lt;/a&gt; from &lt;a href="http://growingventuresolutions.com/"&gt;Growing Venture Solutions&lt;/a&gt; presented an Introduction to Module Development.  (&lt;a href="http://growingventuresolutions.com/gvsfiles/Introduction_to_Module_Development_Ezra_B_G_drupalon_chicago_0.pdf"&gt;Slides&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;While I was already fairly familiar with the basics of Drupal module development, it provided a nice refresher and some insight into how they handle things.  It was also interesting to see Ezra using Eclipse for module development -- I've always had mixed feelings about Eclipse and PHP.&lt;/p&gt;
&lt;p&gt;A couple of new things I learned:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;In devel views, you may now see "und" as an array index: this indicates undefined localization, as given by the Drupal constant LANGUAGE_NONE.&lt;/li&gt;
&lt;li&gt;Remember to clear the cache when defining new hooks (not really new, but worth repeating)&lt;/li&gt;
&lt;li&gt;func_get_args() and debug_backtrace() are both very useful PHP functions for debugging, especially when combined with dpm()&lt;/li&gt;
&lt;li&gt;dpm() uses Krumo, which is a pretty awesome PHP library&lt;/li&gt;
&lt;li&gt;Like so many other things in Drupal, modules have weights in the system table -&amp;gt; weights define execution order (Though well-developed modules should work under any order.)&lt;/li&gt;
&lt;li&gt;Use proper APIs rather than querying the DB directly if you can.  Some modules add extra information to entities, etc., that you will miss by querying the DB directly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Don't hack core.&lt;/strong&gt; (Also not new, but also worth repeating)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;All in all, Ezra put together a great presentation that was perfect for my first "regular" session of Drupalcon Chicago.&lt;/p&gt;</description></item><item><title>Drupalcon 2011: Keynote by Dries</title><link>https://systemoverlord.com/2011/03/09/drupalcon-2011-keynote-by-dries/</link><pubDate>Wed, 09 Mar 2011 06:10:21 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/03/09/drupalcon-2011-keynote-by-dries/</guid><description>&lt;p&gt;
	[NB: Video of Dries' keynote has been posted here: &lt;a href="http://chicago2011.drupal.org/live"&gt;http://chicago2011.drupal.org/live&lt;/a&gt;] Dries opened Drupalcon with an inspiring keynote, discussing the successes and failures of the Drupal 7 development cycle, and the proposed changes for the Drupal 8 development cycle.  (Yes, we're already talking Drupal 8.) He started off with some statistics:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
		This Drupalcon has 3000 attendees.&lt;/li&gt;
&lt;li&gt;
		The attendees will consume $100,000 in coffee.&lt;/li&gt;
&lt;li&gt;
		Every major government uses Drupal in some fashion.&lt;/li&gt;
&lt;li&gt;
		1.7% of websites run on Drupal.&lt;/li&gt;
&lt;li&gt;
		Drupal.org has 551,392 community members&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
	He noted that he would open the Drupal 8 branch today, as soon as one of the git masters shows him how to: "I'm not quite sure how to do branches yet in git." In Drupal 8, we will see a cap in the number of outstanding critical bugs at a time at 15 (any more than that and new features will not be accepted).  We will see feature maintainers as different aspects are developed, adopting a Linux-kernel like development model, and there will be several quality checks on each feature before it is committed into the D8 mainline. Check out the video of Dries's keynote if you want to hear more, and ask yourself: "What have you done today to make you feel proud?"&lt;/p&gt;</description></item><item><title>Drupalcon 2011: Code-Driven Development: Using Features Effectively</title><link>https://systemoverlord.com/2011/03/07/drupalcon-2011-code-driven-development-using-features-effectively/</link><pubDate>Mon, 07 Mar 2011 23:44:47 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/03/07/drupalcon-2011-code-driven-development-using-features-effectively/</guid><description>&lt;div&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;One of the biggest barriers to using Drupal effectively is managing the Dev-&amp;gt;Test-&amp;gt;Production-&amp;gt;Update lifecycle.  Most problematic is making structural changes to a site already in production.  You don't want to break/modify production while live, you don't want to blow away data by copying data from Dev to Prod, and you don't want to try to make the changes in two places.  Based on my readings, I had decided that Features would play a major role in solving this problem.  The training class presented by &lt;a title="Nuvole" href="http://nuvole.org" target="_blank"&gt;Nuvole&lt;/a&gt; today showed that Features can make life-cycle management much, much, easier.  In fact, as best as I can tell, code-driven development is &lt;strong&gt;the&lt;/strong&gt; way to produce, manage, and deploy enterprise-quality sites.&lt;/div&gt;
&lt;div&gt;Nuvole has &lt;a href="http://www.slideshare.net/nuvoleweb/code-driven-development-using-features-effectively-in-drupal-6-and-7"&gt;posted slides on SlideShare&lt;/a&gt;.  (These may not be the exact slides used at Drupalcon, as they seem to be a few weeks old, but look very similar to what I'm seeing on the screen.)&lt;/div&gt;
&lt;div&gt;Thanks to Antonio and Andrea for a great presentation -- it was really content-rich, and they managed to work through the technical glitches of student laptops quite smoothly.&lt;/div&gt;
&lt;div&gt;</description></item><item><title>Drupalcon 2011</title><link>https://systemoverlord.com/2011/03/07/drupalcon-2011/</link><pubDate>Mon, 07 Mar 2011 18:14:15 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/03/07/drupalcon-2011/</guid><description>&lt;p&gt;Tom (my boss) and I arrived in Chicago last night for Drupalcon 2011.  I will be blogging my notes from training classes &amp;amp; sessions, but I will not be placing them in the "planet" category, so they will not be syndicated on Planet Ubuntu &amp;amp; Planet Georgia, unless there is content significantly relevant to the Ubuntu community.  (If you're interested in my Drupalcon 2011 coverage, please check my site or subscribe to its feed.)&lt;/p&gt;</description></item><item><title>Memo to Self when Moving Databases</title><link>https://systemoverlord.com/2011/03/05/memo-to-self-when-moving-databases/</link><pubDate>Sat, 05 Mar 2011 23:50:32 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/03/05/memo-to-self-when-moving-databases/</guid><description>&lt;p&gt;As a memo to myself, and in case others aren't aware of this:&lt;/p&gt;
&lt;p&gt;If you move the entirety of a mysql server (e.g., all databases, especially the "mysql" database) to a new Debian-based (Debian, Ubuntu, etc.) server, you need to make sure the debian-sys-maint user is created or updated.&lt;/p&gt;
&lt;p&gt;If moving from a non-Debian-ish environment, try: &lt;/p&gt;
&lt;pre&gt;GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '--password--' WITH GRANT OPTION;&lt;/pre&gt;&lt;p&gt; where "--password--" comes from /etc/mysql/debian.cnf.&lt;/p&gt;</description></item><item><title>Password Generating Webpages</title><link>https://systemoverlord.com/2011/03/03/password-generating-webpages/</link><pubDate>Thu, 03 Mar 2011 05:07:41 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/03/03/password-generating-webpages/</guid><description>&lt;p&gt;First off, let me say that I commend Steve Gibson's attempts to bring information security to the masses.  I think it's important to educate the user base, and most of the time, he does a great job of it.  Unfortunately, a lot of his advice also seems to be filled with either "marketing speak", or (worse) just plain incorrect information.&lt;/p&gt;
&lt;p&gt;In February, the &lt;a href="http://ale.org"&gt;Atlanta Linux Enthusiasts&lt;/a&gt; mailing list had a &lt;a href="http://www.ale.org/pipermail/ale/2011-February/126173.html"&gt;long discussion&lt;/a&gt; about the merits of "CLOSED" vs "STEALTHED" ports as advocated by Steve Gibson of grc.com.  I, for one, love spirited discussion, and thought it was good to discuss a variety of viewpoints and issues.  I believe that &amp;gt;90% of the discussion was very professional and mature discussion, which is something I attribute largely to the membership of the ALE mailing list.  Many other mailing lists would have resulted in a very quick flame war.  During that discussion, I stated that I felt that much of his advice (though overall sound advice) was misleading to users, and I still believe that.  Even if the end result is users taking corrective action, misleading them is not helpful in the long run.&lt;/p&gt;
&lt;p&gt;Today, I saw a link to Steve's page &lt;a href="https://www.grc.com/passwords.htm"&gt;password generation page&lt;/a&gt;.  Looking at it, I had several concerns about the page.&lt;/p&gt;</description></item><item><title>GnuPG: The What and the Why (For Me, Anyway)</title><link>https://systemoverlord.com/2011/02/28/gnupg-the-what-and-the-why-for-me-anyway/</link><pubDate>Mon, 28 Feb 2011 07:05:11 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/02/28/gnupg-the-what-and-the-why-for-me-anyway/</guid><description>&lt;p&gt;I'm a big advocate of &lt;a href="http://gnupg.org/"&gt;GnuPG&lt;/a&gt;, the Free implementation of the OpenPGP standard.  I've even recently begun to use a smart card for storing my keys.  I've also answered some questions about why I do this, so I thought I'd write about it here.  Put simply: the Bill of Rights is important to me.  My privacy is important to me.  Security is important to me.  OpenPGP can help me protect the things that are important to me.&lt;/p&gt;</description></item><item><title>SSH across a Layer 7 Filter</title><link>https://systemoverlord.com/2011/02/19/ssh-across-a-layer-7-filter/</link><pubDate>Sat, 19 Feb 2011 03:14:50 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/02/19/ssh-across-a-layer-7-filter/</guid><description>&lt;p&gt;Every once in a while, I find myself in a situation behind some sort of device that filters a lot of traffic.  Most often, it's on my laptop at some facility (e.g., coffee shop) that only allows HTTP/HTTPS out.  For a while, I just listened for SSH traffic on port 443 (HTTPS) to connect through port-based firewalls.  However, a few times now I've seen a connection reset immediately after the SSH handshake started (during the protocol&amp;amp;cipher negotation).  Looking at them through WireShark made it obvious it wasn't a server or client problem, but some intermediate device sending a RST.&lt;/p&gt;</description></item><item><title>Happy Valentines Day</title><link>https://systemoverlord.com/2011/02/14/happy-valentines-day/</link><pubDate>Mon, 14 Feb 2011 06:00:19 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/02/14/happy-valentines-day/</guid><description>&lt;p&gt;This post is dedicated to my wife, Ann.  Happy Valentine's Day, and I love you very much.&lt;/p&gt;</description></item><item><title>What happens when your credit card is out of your sight?</title><link>https://systemoverlord.com/2011/02/14/what-happens-when-your-credit-card-is-out-of-your-sight/</link><pubDate>Mon, 14 Feb 2011 05:12:51 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/02/14/what-happens-when-your-credit-card-is-out-of-your-sight/</guid><description>&lt;p&gt;We've all done it, and it seems so normal: hand a credit card to a server at a restaurant to pay the bill.  It's an everyday activity, occurring millions of times a day around the world.  However, this comes with risks, as the media shows us:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cbsnews.com/stories/2007/04/21/national/main2713680.shtml"&gt;Waiters Arrested In $3M Credit Card Fraud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.protectmyid.com/2010/12/20/the-waiter-took-more-than-his-tip-restaurant-skimming/"&gt;The Waiter Took More Than His Tip – Restaurant Skimming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.kmbc.com/news/18256723/detail.html"&gt;Ex-Waiter Charged With Credit Card Theft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.givemebackmycredit.com/blog/2010/10/waiter-busted-for-skimming-customer-credit-card-numbers.html"&gt;Waiter Busted for Skimming Customer Credit Card Numbers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;With devices like &lt;a href="http://cgi.ebay.com/Portable-Mini-400-Magnetic-Magstripe-Data-Card-Reader-/270632979258"&gt;Portable Mini 400 Magnetic Magstripe Data Card Reader&lt;/a&gt;, it's a wonder that more credit cards aren't stolen in that fashion.  (I guess we're just protected by either a sense of right or the risk of being caught.)  While the $230 pricetag might seem a little high at first, consider the number of credit cards a single waiter might handle in a night.  Even placing a relatively small transaction on each of those cards, a single night would be enough to make up the price of the reader.&lt;/p&gt;</description></item><item><title>apc.stat=0 and Updating Software</title><link>https://systemoverlord.com/2011/02/08/apcstat0-and-updating-software/</link><pubDate>Tue, 08 Feb 2011 04:36:41 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/02/08/apcstat0-and-updating-software/</guid><description>&lt;p&gt;When you're running APC on PHP and you have apc.stat=0, it's sometimes easy to forget that when you update software (WordPress) the &lt;strong&gt;code running on your server remains unchanged until you flush the APC cache.&lt;/strong&gt; So, when you go to update WordPress to 3.0.5, you should flush your APC cache after running the update.  If you don't, you'll be very confused when WordPress repeatedly tells you to upgrade to the version you just installed!&lt;/p&gt;</description></item><item><title>My Life in Big Bang Theory</title><link>https://systemoverlord.com/2011/02/06/my-life-in-big-bang-theory/</link><pubDate>Sun, 06 Feb 2011 05:21:14 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/02/06/my-life-in-big-bang-theory/</guid><description>&lt;p&gt;I was thinking this evening about how being a generalist kindof sucks.  I don't feel like I've found my niche yet, and I'm fairly disappointed by that.  I've also been watching Big Bang Theory and realized why the show appeals to me as much as it does.  While my life is (unfortunately) not like that of the characters in the show, I see some similarities between myself and the characters:&lt;/p&gt;</description></item><item><title>The Importance of Verifiable Security</title><link>https://systemoverlord.com/2011/01/26/the-importance-of-verifiable-security/</link><pubDate>Wed, 26 Jan 2011 03:58:06 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/26/the-importance-of-verifiable-security/</guid><description>&lt;p&gt;A number of services online claim to store data securely.  Often, this claim is attached to comparatively unimportant data.  A claim that, for example, your microblogging "direct" messages are stored securely generally results in little risk.  (Hopefully, you're not sending secret data in those sort of messages.)  However, solutions like Dropbox and LastPass (among many others) claim to store and transmit your personal data in an encrypted form.&lt;/p&gt;
&lt;p&gt;Given that both use a closed-source binary and that neither solution has offered third-party verification, I can't quite see using them for anything involving data I want kept secret.  I certainly wouldn't use LastPass (or any other password sync solution) without being able to see that the data is really encrypted locally before being sent to a server, and that the server doesn't have access to my passphrase.  Firefox Sync, on the other hand, is included with the Firefox source, which at least allows verification.  (I haven't done so yet, but I might do so at some point.  If so, details will be posted here.)  Anything sensitive that goes into my Dropbox goes in encrypted, generally using GnuPG.&lt;/p&gt;</description></item><item><title>Major Sites that a 'tiered' Internet Would Have Killed</title><link>https://systemoverlord.com/2011/01/24/major-sites-that-a-tiered-internet-would-have-killed/</link><pubDate>Mon, 24 Jan 2011 03:08:02 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/24/major-sites-that-a-tiered-internet-would-have-killed/</guid><description>&lt;p&gt;Again and again, we hear about the idea of a "tiered" Internet, containing 1st and 2nd class citizens.  In some variants, entire sites would be cut off by ISPs.  Let's take a look at sites that probably would not have been able to get started with the notion of a "tiered" Internet.  In this list, I'm including major sites that were started without major commercial backing, whose success only came after making it big -- something that takes users being able to access the site, of course.  Let's assume that a tiered Internet came out about a decade ago, right after the fall of the dot-com era.&lt;/p&gt;</description></item><item><title>Welcome to Nginx!</title><link>https://systemoverlord.com/2011/01/23/welcome-to-nginx/</link><pubDate>Sun, 23 Jan 2011 17:49:21 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/23/welcome-to-nginx/</guid><description>&lt;p&gt;If you're reading this, it's thanks to Nginx.  As of about midnight last night, all content on SystemOverlord.com is being served up by Nginx.  I did this for two reasons: Nginx has a much smaller memory profile than Apache, which is important when running on a 512MB VPS, and Nginx's preferred PHP path is through a FastCGI interface, which allows me to run separate PHP FastCGIs under different users for each application on my server.  Privilege separation for different webapps has always been a big thing security-wise, and I'm glad I was able to get it going with a minimum of fuss.  &lt;a href="http://wordpress.org"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://nginx.org"&gt;Nginx&lt;/a&gt;, &lt;a href="http://mysql.com"&gt;MySQL&lt;/a&gt;, and &lt;a href="http://ubuntu.com"&gt;Ubuntu Server&lt;/a&gt; powered, all on a &lt;a href="http://www.linode.com/?r=680a893e24df3597d32f58cd41930e969027dc06"&gt;Linode VPS&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Announcing NetStatUI: A PyGTK interface for network statistics</title><link>https://systemoverlord.com/2011/01/22/announcing-netstatui-a-pygtk-interface-for-network-statistics/</link><pubDate>Sat, 22 Jan 2011 18:06:48 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/22/announcing-netstatui-a-pygtk-interface-for-network-statistics/</guid><description>&lt;p&gt;NetStatUI is my first significant FOSS release. It&amp;rsquo;s also my first significant Python project and my first use of GTK+. Yes, that&amp;rsquo;s a lot of firsts all at once, so I apologize if I&amp;rsquo;ve done things sub-optimally. I&amp;rsquo;m still learning some of the wonderful niceties of Python (a subject of a later post) and so I may have done some things &amp;ldquo;the other way.&amp;rdquo; NetStatUI is a program to display statistics and information about the IP connections currently on your system. It is an attempt to provide a usable NetStat work-alike for the desktop user. Many new users are shy of the command line, and having a graphical version may be useful.&lt;/p&gt;</description></item><item><title>IPv6: On my Linode, and at Home</title><link>https://systemoverlord.com/2011/01/21/ipv6-on-my-linode-and-at-home/</link><pubDate>Fri, 21 Jan 2011 02:07:32 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/21/ipv6-on-my-linode-and-at-home/</guid><description>&lt;p&gt;Hurricane Electric, ARIN, and others, &lt;a href="http://ipv6.he.net/statistics/"&gt;report&lt;/a&gt; that we may be as close as 12 days to exhaustion of the main IPv4 pool.  Accordingly, I decided it was time to get both my VPS and my home network IPv6-ready.  It wasn't as painful as I feared, though doing it in DD-WRT is a bigger pain than it should be.  If I had an OpenWRT router, it looks like it would be easier.&lt;/p&gt;</description></item><item><title>Is 25 Old?</title><link>https://systemoverlord.com/2011/01/19/is-25-old/</link><pubDate>Wed, 19 Jan 2011 06:33:01 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/19/is-25-old/</guid><description>&lt;p&gt;I&amp;rsquo;ve begun to feel&amp;hellip; restless. Periodically, I feel that I haven&amp;rsquo;t done anything significant, made contributions, achieved anything. Tonight I couldn&amp;rsquo;t sleep, so I decided to do a little browsing to see who how old some notable figures were at the time they started or achieved something significant. This list includes many of the people who inspire me, and some who are just well known and have made large achievements. It&amp;rsquo;s notable that the average achievement age is 23.&lt;/p&gt;</description></item><item><title>Learn Regular Expressions. Seriously.</title><link>https://systemoverlord.com/2011/01/15/learn-regular-expressions-seriously/</link><pubDate>Sat, 15 Jan 2011 21:30:23 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/15/learn-regular-expressions-seriously/</guid><description>&lt;p&gt;I can't tell you the number of IT Professionals (whether developers, sys admins, etc.) who have told me that it's not worth their time to learn regular expressions. I thought that way at one point, but now I'm astounded at that thought. Regular Expressions are one of the most powerful tools available for working with data.&lt;/p&gt;
&lt;p&gt;I'm currently working on a tool that reads /proc/net/tcp.  Trying to parse that without regular expressions would be dozens of lines of code.  With regular expressions (in Python) I have a one-liner to parse each line of the file.  And that's for a file that's intended to be machine-readable.  (Though, admittedly, /proc/net/tcp is a lot less machine-readable than, say, /etc/passwd.)&lt;/p&gt;</description></item><item><title>Wordpress and APC 3.1.3p1</title><link>https://systemoverlord.com/2011/01/14/wordpress-and-apc-313p1/</link><pubDate>Fri, 14 Jan 2011 02:53:14 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/14/wordpress-and-apc-313p1/</guid><description>&lt;p&gt;In order to improve performance on my blog (it is on a light-weight Linode after all), I use APC as both an opcode cache and an object cache.  On Ubuntu Server 10.04, you get APC 3.1.3p1 if you install the php-apc package.  Unfortunately, this version of APC has an &lt;a href="http://pecl.php.net/bugs/bug.php?id=16814"&gt;issue&lt;/a&gt; with the same script execution inserting 2 values for the same key, which is apparently something several of Wordpress's configuration pages does.  If you run into this issue, you'll see lots of messages like:&lt;/p&gt;</description></item><item><title>Net Neutrality: Why It Matters</title><link>https://systemoverlord.com/2011/01/13/net-neutrality-why-it-matters/</link><pubDate>Thu, 13 Jan 2011 21:03:20 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/13/net-neutrality-why-it-matters/</guid><description>&lt;p&gt;The discussion about Net Neutrality continues to heat up.  Over at LifeHacker, they asked "&lt;a href="http://lifehacker.com/5732436/what-would-you-miss-most-if-the-net-wasnt-neutral-anymore"&gt;What Would You Miss Most if the Net Wasn't Neutral Anymore?&lt;/a&gt;"  One user responded with a &lt;a href="http://lifehacker.com/comment/35452089"&gt;comment&lt;/a&gt; that compared Cable TV to the Internet.  Either I failed to understand his sarcasm, or he's totally missing the point.&lt;/p&gt;
&lt;p&gt;Until recently, your cable company was just a transporter of someone else's data -- the TV networks.  You paid extra for extra channels, which is fine with me, as your cable company is then paying the TV producers for the content.  If paying my ISP meant all sites were then free to access, that might even be fine.  But it won't be, I'll still be paying Netflix and my ISP.&lt;/p&gt;</description></item><item><title>Apology to the LoCo</title><link>https://systemoverlord.com/2011/01/12/apology-to-the-loco/</link><pubDate>Wed, 12 Jan 2011 05:23:29 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2011/01/12/apology-to-the-loco/</guid><description>&lt;p&gt;To the Ubuntu Georgia Local Community:&lt;/p&gt;
&lt;p&gt;Around September of last year, I began to take over from Nick Ali and others in coordinating the activities of the Georgia LoCo.  Unfortunately, I haven't done very well at that.  I have not set up any events or otherwise taken steps to help the LoCo grow.  However, it's a new year and it's time for a new tack.  It's time for the LoCo to get out there and get active.  I have a large stash of 10.10 CDs for us to distribute and I'd like to try to get events scheduled at least every 2-3 months.  I'd also like to start new partnerships with other like-minded organizations.  Hopefully, I'll be able to turn a new leaf and jump-start activity in the organization. I'd like to invite anyone with thoughts on the future of the LoCo to contribute their ideas, and I'll do what I can to get them rolling.&lt;/p&gt;</description></item><item><title>Merry Christmas, and Thank You!</title><link>https://systemoverlord.com/2010/12/25/merry-christmas-and-thank-you/</link><pubDate>Sat, 25 Dec 2010 18:38:46 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/12/25/merry-christmas-and-thank-you/</guid><description>&lt;p&gt;A big Merry Christmas to all my readers, and a big Christmas thank you to my favorite groups &amp;amp; organizations:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://ubuntu.com"&gt;The Ubuntu Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://aclu.org"&gt;The ACLU&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://eff.org"&gt;The Electronic Frontier Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fsf.org"&gt;The Free Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://linode.com"&gt;Linode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://debian.org"&gt;Debian Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://linuxquestions.org"&gt;LinuxQuestions.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.gnupg.org/"&gt;GnuPG Developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Also, of course, Merry Christmas to my friends and coworkers at Kennesaw State University, to my family, and especially to the love of my life (and wife), Ann.&lt;/p&gt;</description></item><item><title>Backupninja!</title><link>https://systemoverlord.com/2010/12/24/backupninja/</link><pubDate>Fri, 24 Dec 2010 21:14:51 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/12/24/backupninja/</guid><description>&lt;p&gt;I don't know how I missed it before, but I found a great backup tool today.  It's &lt;a href="https://labs.riseup.net/code/projects/backupninja"&gt;BackupNinja&lt;/a&gt;.  It's stupidly simple to set up to back up a small number of machines.  It's no centralized backup system like bacula, but for a single server or two (like I have) it seems far better than a "roll your own" solution.&lt;/p&gt;
&lt;p&gt;So, a big Christmas thank you to the BackupNinja devs.&lt;/p&gt;</description></item><item><title>WikkaWiki: My new PIM</title><link>https://systemoverlord.com/2010/12/21/wikkawiki-my-new-pim/</link><pubDate>Tue, 21 Dec 2010 09:00:24 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/12/21/wikkawiki-my-new-pim/</guid><description>&lt;p&gt;For a while now, I've found myself finding tidbits of information that I think would be useful again in the future, or more commonly, having to look up things where I know I've looked it up before.  In both cases, I keep thinking that I need somewhere to document this.  For a short while, I just threw this information into a file called "TIPS" that I edited with vim.  Sounds great, except I use a lot of computers, and keeping it on a flash drive meant pulling out the flash drive a lot.  Not only was that slightly inconvenient, but even worse, the file was becoming unwieldy, and there was no good way to link to web-based resources for finding more information.&lt;/p&gt;</description></item><item><title>Working 21 Hours... I Love This!</title><link>https://systemoverlord.com/2010/12/19/working-21-hours-i-love-this/</link><pubDate>Sun, 19 Dec 2010 18:29:05 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/12/19/working-21-hours-i-love-this/</guid><description>&lt;p&gt;On Friday (and Saturday morning) I had the opportunity to spend 21 hours at work.  If this were a regular occurrence, it would probably be a nuisance, but doing this every once in a while has a certain excitement to it.  Working late at night is a unique opportunity to Get Things Done.  When it happens, it usually means we're putting some project that's been planned for months into production, and that's just an amazing feeling, if things go well.&lt;/p&gt;</description></item><item><title>Firefox Extensions</title><link>https://systemoverlord.com/2010/11/30/firefox-extensions/</link><pubDate>Tue, 30 Nov 2010 07:38:32 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/11/30/firefox-extensions/</guid><description>&lt;p&gt;I currently use Firefox as my primary browser predominantly because of the number of extensions I regularly use in my work in Information Security &amp;amp; Web Development.  I also like Chrome and am hoping to find parallel functionality in Chrome to all of my Firefox extensions to have 2 viable browsers.  My Firefox extensions are:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Adblock Plus&lt;/li&gt;
&lt;li&gt;Certificate Patrol&lt;/li&gt;
&lt;li&gt;Domain Details&lt;/li&gt;
&lt;li&gt;Download Statusbar [In Chrome core]&lt;/li&gt;
&lt;li&gt;Firebug&lt;/li&gt;
&lt;li&gt;Firefox Sync [In Chrome core]&lt;/li&gt;
&lt;li&gt;Greasemonkey&lt;/li&gt;
&lt;li&gt;HTTPS Everywhere&lt;/li&gt;
&lt;li&gt;Live HTTP Headers&lt;/li&gt;
&lt;li&gt;Long URL Please&lt;/li&gt;
&lt;li&gt;NoScript&lt;/li&gt;
&lt;li&gt;Page Speed&lt;/li&gt;
&lt;li&gt;Read It Later&lt;/li&gt;
&lt;li&gt;RetailMeNot&lt;/li&gt;
&lt;li&gt;View Cookies&lt;/li&gt;
&lt;li&gt;Web Developer&lt;/li&gt;
&lt;li&gt;YSlow&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I'd appreciate insight into comparable functionality in Google Chrome.  Thanks!&lt;/p&gt;</description></item><item><title>1 OS, 2 Servers, 5... days?</title><link>https://systemoverlord.com/2010/11/18/1-os-2-servers-5-days/</link><pubDate>Thu, 18 Nov 2010 05:34:09 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/11/18/1-os-2-servers-5-days/</guid><description>&lt;p&gt;At work, we're switching a number of our LAMP stack applications to be hosted on &lt;a href="http://ubuntu.com"&gt;Ubuntu Server&lt;/a&gt;.  Because of its increased stability, we generally run the LTS editions, so we're currently on Lucid Lynx (10.04).  In this particular case, we're moving our &lt;a href="http://drupal.org"&gt;Drupal&lt;/a&gt; CMS hosting over from RHEL 5.4 to Ubuntu Server on two new servers to be configured for high availability.  Turns out it took 5 days to do what would normally be done in a half a day.&lt;/p&gt;</description></item><item><title>Back in action</title><link>https://systemoverlord.com/2010/11/18/back-in-action/</link><pubDate>Thu, 18 Nov 2010 04:48:13 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/11/18/back-in-action/</guid><description>&lt;p&gt;For those who know me personally, this is probably non-news, but I thought I&amp;rsquo;d post it anyway. I&amp;rsquo;ve been remiss in my updating duties for quite a while now because of three major real-life factors.&lt;/p&gt;
&lt;p&gt;First, on the 1st of October, I got married to Ann, the love of my life. We were married at the Tennessee Aquarium, and we&amp;rsquo;re told our guests had a great time, which is what we were going for. We know we had a great time and loved having friends and family there at the wedding. The food was excellent (catering by Bluewater Grille) and we have some great pictures to remember the day thanks to our awesome photographer, Matt Nicholson, at Dim Horizon Studio.&lt;/p&gt;</description></item><item><title>Code Audit: KeePassX</title><link>https://systemoverlord.com/projects/code_audit_keepassx.html</link><pubDate>Mon, 01 Nov 2010 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/code_audit_keepassx.html</guid><description>&lt;p&gt;This was my final project for my CS8803 class at Georgia Tech. This was my first code audit, and was performed in the Fall of 2010, so may not apply to current versions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;KeePassX is a robust and feature-rich program that has thwarted my efforts to discover any
major weaknesses. When used on a single-user system, particularly with encrypted swap, it is highly
unlikely that any sensitive data will be leaked. The most likely way for a determined adversary to gain
access to a user&amp;rsquo;s accounts will be through service weaknesses, predictable password reset options, or
the ever-popular $5 wrench. It&amp;rsquo;s highly unlikely that KeePassX will be the source of a compromise without
malware on the user&amp;rsquo;s workstation, and with continued development, that risk will be mitigated even further.&lt;/p&gt;</description></item><item><title>COICA: The Great Firewall of America</title><link>https://systemoverlord.com/2010/09/29/coica-the-great-firewall-of-america/</link><pubDate>Wed, 29 Sep 2010 03:40:22 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/09/29/coica-the-great-firewall-of-america/</guid><description>&lt;p&gt;S. 3804 is the latest opportunity for the government to use "Copyright" to control the Internet.  The DoJ, without a trial, could blacklist websites for "supporting" infringing practices.  Could Linux, Ubuntu, etc. be targeted by proprietary software for infringing on their IP?  Could Dropbox, Ubuntu One, etc. be targeted for allowing users to share files?  Could attackers use it to use the government to knock legitimate sites offline by filing false complaints against sites?  Should the US government really control the Internet?  I think this will just lead to a 2nd DNS infrastructure and fragment the Internet.  The underground will just go deeper and evade the government, but legitimate organizations and people will be hurt the most.&lt;/p&gt;</description></item><item><title>Big Picture Problems</title><link>https://systemoverlord.com/2010/09/12/big-picture-problems/</link><pubDate>Sun, 12 Sep 2010 03:56:12 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/09/12/big-picture-problems/</guid><description>&lt;p&gt;In no particular order, and certainly not a conclusive list, but there are some things that really bother me that I'll call Big Picture Problems:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Federal Defecit Spending and the growth of the national debt&lt;/li&gt;
&lt;li&gt;The continued plundering of limited resources and other environmental issues&lt;/li&gt;
&lt;li&gt;Politicians&lt;/li&gt;
&lt;li&gt;Overpopulation&lt;/li&gt;
&lt;li&gt;Nuclear proliferation&lt;/li&gt;
&lt;li&gt;The continued abatement of freedoms in the name of "security"&lt;/li&gt;
&lt;li&gt;The ever-increasing power of corporations over people&lt;/li&gt;
&lt;li&gt;Lack of universal healthcare&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Accordingly, I'd like to say thanks to the hard-working individuals and organizations who work to improve things, including:&lt;/p&gt;</description></item><item><title>Why I will never be a Verizon Customer</title><link>https://systemoverlord.com/2010/09/11/why-i-will-never-be-a-verizon-customer/</link><pubDate>Sat, 11 Sep 2010 02:04:34 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/09/11/why-i-will-never-be-a-verizon-customer/</guid><description>&lt;p&gt;Verizon has proven that they have no interest in serving consumers: &lt;a href="http://www.dslreports.com/shownews/Verizon-Now-Crippling-Androids-Like-ATT-110276"&gt;http://www.dslreports.com/shownews/Verizon-Now-Crippling-Androids-Like-ATT-110276&lt;/a&gt; Essentially, they're shipping Bing as the default search engine on Android phones (which I'm fine with) but making it impossible to change it back (which is enough to prevent me from doing business with them).  Additionally, they're forcing you into their inferior paid mapping service rather than allowing you to use Google Maps/Navigate.&lt;/p&gt;
&lt;p&gt;Thanks, Verizon -- you've simplified my choice next time I'm shopping for a cell phone provider.  You're out.&lt;/p&gt;</description></item><item><title>Broadcom does the Right Thing</title><link>https://systemoverlord.com/2010/09/10/broadcom-does-the-right-thing/</link><pubDate>Fri, 10 Sep 2010 12:57:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/09/10/broadcom-does-the-right-thing/</guid><description>&lt;p&gt;Looks like Broadcom is doing the right thing: &lt;a href="http://arstechnica.com/open-source/news/2010/09/broadcom-announces-official-open-source-drivers-for-linux.ars"&gt;http://arstechnica.com/open-source/news/2010/09/broadcom-announces-official-open-source-drivers-for-linux.ars&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;They've released fully-open drivers for 3 of their 802.11n chipsets.  I hope this'll spread to more of their hardware, but regardless, it's a great move.  No longer will Broadcom be an absolute contraindication to my buying hardware.  Thanks Broadcom!&lt;/p&gt;</description></item><item><title>Using Ubuntu to save at-risk youth</title><link>https://systemoverlord.com/2010/08/13/using-ubuntu-to-save-at-risk-youth/</link><pubDate>Fri, 13 Aug 2010 02:16:53 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/08/13/using-ubuntu-to-save-at-risk-youth/</guid><description>&lt;p&gt;Nick Ali (boredandblogging) asked me to forward this on to the planets, and it's really quite worth it.  Murray Wilson has a video about refurbing older hardware through the use of Linux.  Take a look: &lt;a href="http://ubuntuforums.org/showthread.php?t=1551472"&gt;http://ubuntuforums.org/showthread.php?t=1551472&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Apple Silo in Education</title><link>https://systemoverlord.com/2010/08/12/the-apple-silo-in-education/</link><pubDate>Thu, 12 Aug 2010 12:00:36 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/08/12/the-apple-silo-in-education/</guid><description>&lt;p&gt;The other day at work, I was talking with our department's Drupal Developer and our campus's webmaster.  The question came up as to whether or not I saw a role for the iPad in a classroom environment, either at the University or K-12 level.  My initial answer was yes, but my longer answer was no, not the iPad.  A device similar to the iPad, but not it.&lt;/p&gt;
&lt;p&gt;The iPad is a fully-integrated portion of the Apple silo: without violating the warranty and EULA, you cannot install any software not approved by Apple.  "Jailbreaking" your device violates those agreements, and could never be done in the education setting.  Accordingly, Apple has full control over the software you run on your device.  For example, if they &lt;a href="http://gizmodo.com/5611169/"&gt;don't like a camera application&lt;/a&gt; that lets you use the volume button to take a picture, it's gone.  Hopefully you don't want an App that helps you find wifi hotspots:  &lt;a href="http://news.cnet.com/8301-13579_3-10464021-37.html"&gt;the entire category has been banned&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>My Favorite Web Comics</title><link>https://systemoverlord.com/2010/08/02/my-favorite-web-comics/</link><pubDate>Mon, 02 Aug 2010 04:01:06 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/08/02/my-favorite-web-comics/</guid><description>&lt;p&gt;Only yesterday I discovered the amazing webcomic &lt;a href="http://questionablecontent.net"&gt;Questionable Content&lt;/a&gt;. I don't know where I've been that I've missed the superior wit of Jeph Jacques, but it's worth a read for just about anyone. He's got over 1700 strips there, and I've read through the first ~900 in the past two days. Yes, it's that good. I've literally LOLed, which has led to Ann giving me several strange looks. But it's well worth it.&lt;/p&gt;</description></item><item><title>Why the risk of running as root is overblown</title><link>https://systemoverlord.com/2010/07/31/why-the-risk-of-running-as-root-is-overblown/</link><pubDate>Sat, 31 Jul 2010 01:37:46 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/07/31/why-the-risk-of-running-as-root-is-overblown/</guid><description>&lt;p&gt;&lt;strong&gt;Please Note: This is only relevant to single-user desktop installations of Linux. The issues I will discuss here don't apply to servers. In fact, the exact opposite applies there.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;"Don't run as root" is an oft-repeated mantra of *nix security. While I agree &lt;strong&gt;100%&lt;/strong&gt;, it's not as big on the desktop as some would think. I'd like to point out why here. I still believe you shouldn't login as root, but I also believe that it's up to each user to make their own decision.&lt;/p&gt;</description></item><item><title>Ubuntu Server Features that need better integration</title><link>https://systemoverlord.com/2010/07/08/ubuntu-server-features-that-need-better-integration/</link><pubDate>Thu, 08 Jul 2010 02:24:01 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/07/08/ubuntu-server-features-that-need-better-integration/</guid><description>&lt;p&gt;There are two substantial features present in Ubuntu Server (and desktop, though less often used) that are significant, but under-utilized. The first of these is the AppArmor framework. For example, on my LAMP server, only dhclient3, mysqld, and tcpdump have apparmor profiles. OpenSSH and Apache are obvious candidates for AppArmor, as they are commonly exposed to public networks, and compromise of them could have a significant impact on a server. &lt;strong&gt;Edit:&lt;/strong&gt; I missed some profiles here, but there is still no comprehensive profile for Apache or OpenSSH. Installing apparmor-profiles does improve things somewhat, but there is still much to be done.&lt;/p&gt;</description></item><item><title>Canonical Store Issues</title><link>https://systemoverlord.com/2010/07/05/canonical-store-issues/</link><pubDate>Mon, 05 Jul 2010 02:21:06 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/07/05/canonical-store-issues/</guid><description>&lt;p&gt;I hate to use this as a venue to address issues I'm having with the Canonical Store, but I'm somewhat disappointed in it.  On the 21st of June, I ordered the "Ubuntu Certified Professional - Exam Bundle." As of today, I still have not been able to get the codes to register for my exams with Pearson VUE. Last week, I contacted Merchandise Mania (the operators of the Canonical Store) and they said they would pass my concerns on to Canonical and someone would contact me "if they can help." I still haven't heard anything. So if anyone involved with this at Canonical reads this, I'd greatly appreciate an update.&lt;/p&gt;</description></item><item><title>Who's screwed up worst?</title><link>https://systemoverlord.com/2010/06/27/whos-screwed-up-worst/</link><pubDate>Sun, 27 Jun 2010 19:22:32 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/27/whos-screwed-up-worst/</guid><description>&lt;p&gt;Several organizations, including parts of the US government, have successfully screwed things up, or promised to screw things up, this week:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The USPTO &lt;a href="http://yro.slashdot.org/story/10/06/26/2020237/USPTO-Grants-Bezos-Patent-On-60s-Era-Chargebacks"&gt;granted a patent to Amazon.com for charging for computing resources on an as-used basis&lt;/a&gt;.  This is similar to the chargebacks of mainframe computers beginning in the 1960s.  Apparently patent examiners are not familiar with the term "prior art" or "obviousness."&lt;/li&gt;
&lt;li&gt;White House cyber-security czar Peter Schmidt is &lt;a href="http://www.zdnet.com.au/us-interested-in-aussie-zombie-code-339304063.htm"&gt;considering rules&lt;/a&gt; that would put computers with viruses into a "walled garden."  There is, of course, no discussion of how this will work -- agents on your computer?  IDS?  Either way, false positives, SSL, and public wifi hotspots are sure to only make this a headache for legitimate users.&lt;/li&gt;
&lt;li&gt;ASCAP has &lt;a href="http://www.boingboing.net/2010/06/23/ascap-raising-money.html"&gt;shown themselves to be ass-hats&lt;/a&gt;.  Not only do they want to charge royalties that are crippling to non-profit organizations, but now they want to prohibit artists from using their choice of license for the media they produce.  They won't be happy until they have control over the entire music market.  Apparently choice and freedom aren't options for musical artists.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Attack of the Cosmic Rays!</title><link>https://systemoverlord.com/2010/06/25/attack-of-the-cosmic-rays/</link><pubDate>Fri, 25 Jun 2010 03:38:36 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/25/attack-of-the-cosmic-rays/</guid><description>&lt;p&gt;KSplice has posted &lt;a href="http://blog.ksplice.com/2010/06/attack-of-the-cosmic-rays/"&gt;an interesting article&lt;/a&gt; regarding the consequences of a single flipped erroneous bit in RAM.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;It’s a &lt;a onclick="javascript:pageTracker._trackPageview('/outbound/article/www.zdnet.com');" href="http://www.zdnet.com/blog/storage/dram-error-rates-nightmare-on-dimm-street/638"&gt; well-documented&lt;/a&gt; fact that RAM in modern computers is susceptible to occasional random bit flips due to various sources of noise, most commonly high-energy cosmic rays. By &lt;a onclick="javascript:pageTracker._trackPageview('/outbound/article/lambda-diode.com');" href="http://lambda-diode.com/opinion/ecc-memory"&gt;some estimates&lt;/a&gt;, you can even expect error rates as high as one error per 4GB of RAM per &lt;strong&gt;day&lt;/strong&gt;! Many servers these days have ECC RAM, which uses extra bits to store error-correcting codes that let them correct most bit errors, but ECC RAM is still fairly rare in desktops, and unheard-of in laptops.&lt;/p&gt;</description></item><item><title>Twitter banned from misleading consumers 'for 20 years'</title><link>https://systemoverlord.com/2010/06/25/twitter-banned-from-misleading-consumers-for-20-years/</link><pubDate>Fri, 25 Jun 2010 03:25:50 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/25/twitter-banned-from-misleading-consumers-for-20-years/</guid><description>&lt;p&gt;Twitter has been, among other things, "&lt;a href="http://www.net-security.org/secworld.php?id=9476"&gt;barred for 20 years from misleading consumers about the extent to which it maintains and protects the security, privacy, and confidentiality of nonpublic consumer information&lt;/a&gt;..."  I believe that Twitter should not be misleading consumers about any aspect of their security, but it almost seems that a specific bar of this nature, and with a specific duration, seems like an implicit permission for other companies to mislead consumers (as they have not been so barred) and that, after 20 years, Twitter can mislead consumers all they want.  Seems like a bit of common sense that the FTC has felt the need to spell out...&lt;/p&gt;</description></item><item><title>AOL prevents use of Shoutcast</title><link>https://systemoverlord.com/2010/06/24/aol-prevents-use-of-shoutcast/</link><pubDate>Thu, 24 Jun 2010 04:16:35 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/24/aol-prevents-use-of-shoutcast/</guid><description>&lt;p&gt;AOL has apparently &lt;a href="http://www.videolan.org/press/2010-1.html"&gt;served the VideoLAN developers with an injunction&lt;/a&gt; preventing any ShoutCAST functionality from being included in VLC, or any other application that uses Open Source components or software.  I appreciate this greatly, as the next time I'm tasked with exploring streaming media solutions at work, I'll have one less contender that I will consider.  To be specific, as far as I'm concerned, ShoutCAST is not a viable solution for any form of streaming media, and must be avoided like the proprietary plague it is.&lt;/p&gt;</description></item><item><title>Needing more focus...</title><link>https://systemoverlord.com/2010/06/20/needing-more-focus/</link><pubDate>Sun, 20 Jun 2010 03:40:51 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/20/needing-more-focus/</guid><description>&lt;p&gt;I've come to the conclusion that I need to become more focused in some areas of my life.  I want to be able to contribute to open-source projects, including Ubuntu, but I realized that I don't know enough about any single project to really dive in and work on the code.  I need to find a single project to contribute (codewise) to.&lt;/p&gt;
&lt;p&gt;I sometimes feel that there's this technological void in my life, with a desire to work on a project of some sort.  The big problem is that I have diverse interests: user experience, information security, embedded systems/robotics, etc.  I know it's a ridiculous statement to make, but even at 25, I feel like I'm behind where I'd like to be in my life.&lt;/p&gt;</description></item><item><title>Binary Heaps are Slow</title><link>https://systemoverlord.com/2010/06/16/binary-heaps-are-slow/</link><pubDate>Wed, 16 Jun 2010 02:01:24 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/16/binary-heaps-are-slow/</guid><description>&lt;p&gt;Most CS professors would probably take a look at the title of this post and assume it's a senseless rant or otherwise misdirected, but it turns out it's true: binary heaps are slow on real computers (not the theoretical systems often discussed in CS classrooms).  Poul-Henning Kamp, author of the Varnish HTTP Accelerator, &lt;a href="http://queue.acm.org/detail.cfm?id=1814327"&gt;discovered and wrote about this for the ACM&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Android Development on Ubuntu 10.04</title><link>https://systemoverlord.com/2010/06/15/android-development-on-ubuntu-1004/</link><pubDate>Tue, 15 Jun 2010 03:56:26 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/15/android-development-on-ubuntu-1004/</guid><description>&lt;blockquote&gt;&lt;p&gt;If you've been trying to use the Android SDK on Ubuntu 10.04, you might be getting an error like:&lt;/p&gt;
&lt;p&gt;No command line parameters provided, launching UI.&lt;br /&gt;
See 'android --help' for operations from the command line.&lt;br /&gt;
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-gtk-3550 or swt-gtk in swt.library.path, java.library.path or the jar file&lt;br /&gt;
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)&lt;br /&gt;
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)&lt;br /&gt;
at org.eclipse.swt.internal.C.&amp;lt;clinit&amp;gt;(Unknown Source)&lt;br /&gt;
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)&lt;br /&gt;
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)&lt;br /&gt;
at org.eclipse.swt.widgets.Display.&amp;lt;clinit&amp;gt;(Unknown Source)&lt;br /&gt;
at com.android.sdkmanager.Main.showMainWindow(Main.java:265)&lt;br /&gt;
at com.android.sdkmanager.Main.doAction(Main.java:249)&lt;br /&gt;
at com.android.sdkmanager.Main.run(Main.java:94)&lt;br /&gt;
at com.android.sdkmanager.Main.main(Main.java:83)&lt;/p&gt;</description></item><item><title>The expectations of new users of FOSS</title><link>https://systemoverlord.com/2010/06/03/the-expectations-of-new-users-of-foss/</link><pubDate>Thu, 03 Jun 2010 21:13:18 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/06/03/the-expectations-of-new-users-of-foss/</guid><description>&lt;p&gt;Many new users of Free/Open Source Software come with one of two (if not more) unrealistic expectations: either an expectation for support despite not having paid anything for the software or support, or an idea that Open Source = Public Domain.&lt;/p&gt;
&lt;p&gt;Community-based support is not the same as commercial support.  Community-based support is a purely volunteer effort, and should not have particular expectations of response times.  For example, telling the community that a particular issue is "Urgent!" does not generally make it more urgent for the community.  Making no effort to solve the problem yourself generally leads to even less urgency from the community.  If you want a commercial level of support, pay for it.  For example, Canonical offers commercial support for Ubuntu.  There are many support vendors out there.&lt;/p&gt;</description></item><item><title>Ubuntu Membership</title><link>https://systemoverlord.com/2010/05/02/ubuntu-membership/</link><pubDate>Sun, 02 May 2010 02:40:19 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/05/02/ubuntu-membership/</guid><description>&lt;p&gt;For a while now, I've considered going for Ubuntu Membership, and I've decided now is the time.  I feel that my contributions to the community are significant and that Ubuntu has become a significant part of my life.  I'd like to ask anyone who feels comfortable supporting me to post on my Ubuntu wiki page at &lt;a href="https://wiki.ubuntu.com/Matir"&gt;https://wiki.ubuntu.com/Matir&lt;/a&gt;.  I appreciate your support in the community.&lt;/p&gt;</description></item><item><title>AXIS IP Cameras = Fail</title><link>https://systemoverlord.com/2010/02/21/axis-ip-cameras-fail/</link><pubDate>Sun, 21 Feb 2010 04:42:40 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/02/21/axis-ip-cameras-fail/</guid><description>&lt;p&gt;At work, we've been developing a custom camera recording solution for the past 4 months. Essentially, it's a system to provide a web-based interface to record a number of IP cameras, transcode the videos, and output the videos to a variety of the web applications we use (Moodle, Drupal, etc.) The cameras in question are Axis Q1755 cameras, which are really intended for use as HD security cameras and not in the studio-type environment we have here. (Neither I nor my department was involved in camera selection, and those who were have serious second thoughts.) In any case, these cameras are a continuous source of frustration for us.&lt;/p&gt;</description></item><item><title>Ubuntu Women Leadership Candidates</title><link>https://systemoverlord.com/2010/01/08/ubuntu-women-leadership-candidates/</link><pubDate>Fri, 08 Jan 2010 02:57:21 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2010/01/08/ubuntu-women-leadership-candidates/</guid><description>&lt;p&gt;The Ubuntu Women group is in the process of selecting a new leader.  Currently, testimonials are being accepted for the 3 candidates (Amber Graner, Melissa Draper, and Penelope Stowe).  Check out these talented women who seek to break some of the gender barriers in the Ubuntu community: &lt;a href="http://wiki.ubuntu-women.org/UbuntuWomen/LeadershipNominations/January2010/"&gt;http://wiki.ubuntu-women.org/UbuntuWomen/LeadershipNominations/January2010/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>RHCE</title><link>https://systemoverlord.com/2009/12/07/rhce/</link><pubDate>Mon, 07 Dec 2009 06:33:57 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/12/07/rhce/</guid><description>&lt;p&gt;Generally speaking, I try not to push my ego on here too much. It's big enough on its own. However, I feel like this is a pretty major accomplishment for myself, and I haven't posted in a while, so I thought I'd throw it up there. As of this past Friday, I am now a Red Hat Certified Engineer (RHCE)™! This is without a doubt the hardest test I've taken, as a "practical" (hands-on) exam. No multiple-choice guessing here.&lt;/p&gt;</description></item><item><title>Review: The Art of Community (Jono Bacon)</title><link>https://systemoverlord.com/2009/10/06/review-the-art-of-community-jono-bacon/</link><pubDate>Tue, 06 Oct 2009 21:55:24 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/10/06/review-the-art-of-community-jono-bacon/</guid><description>&lt;p&gt;I had the privilege of receiving an early copy of &lt;a href="http://www.artofcommunityonline.org"&gt;The Art of Community&lt;/a&gt; by Jono Bacon for review.  It's taken a little longer than I had hoped to get through it, but that's by no means a reflection of the book.&lt;/p&gt;
&lt;p&gt;"The Art of Community" tackles a very difficult question in the Open Source world: how do you build a strong community around your project?  Jono addresses this by using anecdotal evidence of good community organization, and discussing the facets that apply to community development.  Jono's varied experiences are shown through anecdotes about the Ubuntu community and other communities he has participated in.  The stories he shares are concise and clear, but demonstrate their points effectively and thoughtfully.  Jono's writing skills are first-rate, with strong points made clearly.  He builds the community idea from grassroots to the enterprise and shows how community participation can help -- and harm -- at each step along the way.  It's obvious that Jono knows what he's talking about, and he communicates it well.  I highly recommend this book for anyone interested in the dynamics of a community or any project leader looking to build from the ground up.&lt;/p&gt;</description></item><item><title>Free IT Atlanta</title><link>https://systemoverlord.com/2009/10/06/free-it-atlanta/</link><pubDate>Tue, 06 Oct 2009 20:26:55 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/10/06/free-it-atlanta/</guid><description>&lt;p&gt;I'm very much inspired by the work that's been done out in Athens by &lt;a href="http://www.freeitathens.org/"&gt;Free IT Athens&lt;/a&gt;.  They provide free/low-cost IT services to low-income families and community organizations in the city of Athens, GA.  In their words:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: georgia,serif;"&gt;&lt;strong&gt;Free IT Athens is a group of like-minded citizens who realize that computers are a necessary component of everyday life. We believe that everyone deserves access to low-cost computer equipment and computer-related services. Our goal is to provide access to information technology resources to Athens-Clarke County residents and organizations. We also aim to create well informed advocates in free software and open information technology.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Sexism in the FLOSS Community</title><link>https://systemoverlord.com/2009/10/06/sexism-in-the-floss-community/</link><pubDate>Tue, 06 Oct 2009 17:24:28 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/10/06/sexism-in-the-floss-community/</guid><description>&lt;p&gt;[NB: Obviously I am a man, but if anyone believes I can't comment on sexism because I am not female, well, look up the definition of sexism.]&lt;/p&gt;
&lt;p&gt;Mackenzie over at Ubuntu Linux Tips &amp;amp; Tricks has called attention to &lt;a href="http://ubuntulinuxtipstricks.blogspot.com/2009/10/attention-folks.html"&gt;the greatest dark spot on the face of the FLOSS Community&lt;/a&gt;: a man who calls himself MikeeUSA.&lt;/p&gt;
&lt;p&gt;This "man" has been posting sexist, misogynist, and violent comments on blogs in the FLOSS Community advocating rape and violence towards women.  His behavior is, to say the least, nauseating and despicable.  Worse, the "man" is a coward who hides behind pseudonyms and tor in protecting his identity.  Whether he really feels the way he does or he gets his jollies on trolling in this dirty manner, he is no better than the likes of Hitler and Stalin.  Needless to say, comments by him on my blog or any site I work with (e.g., &lt;a href="http://linuxquestions.org"&gt;LinuxQuestions.org&lt;/a&gt;) will not be tolerated.&lt;/p&gt;</description></item><item><title>Depth of Knowledge vs. Breadth of Knowledge</title><link>https://systemoverlord.com/2009/10/05/depth-of-knowledge-vs-breadth-of-knowledge/</link><pubDate>Mon, 05 Oct 2009 21:40:08 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/10/05/depth-of-knowledge-vs-breadth-of-knowledge/</guid><description>&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; I wrote this long ago, and since then, I have come to terms
and even begun to appreciate being a generalist. There's a wonderful book
called &lt;a href='https://amzn.to/3ftMj81'&gt;Range: Why Generalists Triumph in a
Specialized World&lt;/a&gt; that explains the value in having a breadth of
knowledge even in an increasingly specialized world.&lt;/p&gt;
&lt;p&gt;In a lot of circumstances, it can be useful to have a wide breadth of
knowledge: that is, to know a little about a lot of things.  It's useful in my
job, where I am the System Administrator/DBA/developer/etc.&lt;/p&gt;</description></item><item><title>OfficeMax Cancels Orders Due to 'Typographical Error'</title><link>https://systemoverlord.com/2009/09/29/officemax-cancels-orders-due-to-typographical-error/</link><pubDate>Tue, 29 Sep 2009 19:02:43 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/09/29/officemax-cancels-orders-due-to-typographical-error/</guid><description>&lt;p&gt;OfficeMax had listed a mediocre 19" widescreen LCD from AOC for a "Clearance" price of $53.74.  A friend of mine ordered one yesterday, but has since received a notice that his order was being canceled as that price was an "obvious typographical error."  For one, that price is not THAT exciting for a generic 19" monitor, and secondly, they did list it as clearance.  I do not believe that a company should be able to arbitrarily cancel orders because they decide that a price THEY set is no longer the price they wish to sell them for.  Essentially, they saw a number of customers rush to buy these and decided "hey, we could have made the price point higher -- let's cancel the orders and jack up the price!"&lt;/p&gt;</description></item><item><title>Move Back to Wordpress</title><link>https://systemoverlord.com/2009/09/26/move-back-to-wordpress/</link><pubDate>Sat, 26 Sep 2009 15:07:30 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/09/26/move-back-to-wordpress/</guid><description>&lt;p&gt;As you may have noticed, my site (Tuxteam.com) has moved back to Wordpress.  While I still support Drupal (and use it at work), it did not meet my needs for my site.  Specifically, the ability to create per-tag feeds was lacking, and it used a LOT of RAM for such a simple site.  (This site runs on a Linode-360.)  The theme is a stock community theme, but I hope to be switching that around some in the near future.  I'm also going to be starting a couple of new things on here, but we'll see how those work out.&lt;/p&gt;</description></item><item><title>Google Suffocates Android Development Community</title><link>https://systemoverlord.com/2009/09/26/google-suffocates-android-development-community/</link><pubDate>Sat, 26 Sep 2009 00:25:19 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/09/26/google-suffocates-android-development-community/</guid><description>&lt;p&gt;Today, Google sent a C&amp;amp;D to Cyanogen, the maker of one of the most popular replacement firmwares for the Android platform. His firmware is based on the official Android firmware, but provides a few new features, like direct-dial shortcuts on the home screen, more home screens (5 by default) and root access.&lt;/p&gt;
&lt;p&gt;The root access allows tethering from a notebook computer, so I can get 3G internet on something where I can actually read most of the sites. Looks like I might have to consider another platform.&lt;/p&gt;</description></item><item><title>ALF 2009: A Success!</title><link>https://systemoverlord.com/2009/09/21/alf-2009-a-success/</link><pubDate>Mon, 21 Sep 2009 16:50:43 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/09/21/alf-2009-a-success/</guid><description>&lt;p&gt;Atlanta Linux Fest 2009 was a huge success! We probably had 600+ people come through the door, which is just amazing for the 2nd year of an event that was only 125 people last year! 22 successful presentations, many of which were standing room only. Planning for next year is just around the corner, so stay tuned to &lt;a title="http://atlantalinuxfest.org" href="http://atlantalinuxfest.org"&gt;http://atlantalinuxfest.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Big thanks go out to fellow planners Nick Ali, Jim Popovitch, Joshua Chase, and Amber Graner! If any one of us had been missing, I doubt things would have worked out. Also a big thanks to the spawn of akgraner for filling in the gaps and keeping us rolling in stitches!&lt;/p&gt;</description></item><item><title>Bozeman, Montana uses the Constitution for Toilet Paper</title><link>https://systemoverlord.com/2009/06/19/bozeman-montana-uses-the-constitution-for-toilet-paper/</link><pubDate>Fri, 19 Jun 2009 02:19:30 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/06/19/bozeman-montana-uses-the-constitution-for-toilet-paper/</guid><description>&lt;p&gt;The city of Bozeman, Montana has decided that all applicants for city jobs must provide them with the usernames and passwords for social networking sites, forums, and chatrooms that the applicant participates in. This fits into the category of things I think are hoaxes until I read it a few times over.&lt;/p&gt;
&lt;p&gt;From NetworkWorld: &lt;a title="http://www.networkworld.com/community/node/42819" href="http://www.networkworld.com/community/node/42819"&gt;http://www.networkworld.com/community/node/42819&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SELF - Community-Based Technology Centers</title><link>https://systemoverlord.com/2009/06/13/self-community-based-technology-centers/</link><pubDate>Sat, 13 Jun 2009 21:34:23 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/06/13/self-community-based-technology-centers/</guid><description>&lt;p&gt;This presentation discussed the benefits and future of Free IT Athens and other community-oriented technology centers.&lt;/p&gt;
&lt;p&gt;They provide free/low-cost computers, computer training, and other technology support for underprivileged and low-income citizens in Athens. They refurbish computers to both prevent them from ending up in a landfill and to enable children and adults to gain knowledge and the benefits of the use of the Internet and computers in general.&lt;/p&gt;
&lt;p&gt;On July 18, ALE, the Ubuntu GA Loco, and Free IT Athens will be holding a joint event to visit the Free IT Athens venue and donate equipment for refurbishment. I hope to be able to join them and help in these goals. I may, by then, have a couple of machines that could be used for this purpose, which is good for the environment and for the community.&lt;/p&gt;</description></item><item><title>SELF - Vendor Booths and BoF: GPG</title><link>https://systemoverlord.com/2009/06/13/self-vendor-booths-and-bof-gpg/</link><pubDate>Sat, 13 Jun 2009 21:24:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/06/13/self-vendor-booths-and-bof-gpg/</guid><description>&lt;p&gt;I missed a couple of hours of speakers, but hopefully they'll post the videos of it online. During that time, I visited the booths a bit more, and got into some interesting discussions. I found out about &lt;a href="http://tllts.org"&gt;The Linux Link Tech Show&lt;/a&gt;, a weekly live podcast talking about Linux related issues. I talked with int eighty from &lt;a href="http://dualcoremusic.com"&gt;Dual Core&lt;/a&gt; about their music, and his appearance on &lt;a href="http://hak5.org"&gt;Hak.5&lt;/a&gt;. I also spent a bit of time talking with the Zenoss Community Manager, and I'm going to propose switching our monitoring at work from Nagios to Zenoss. It's significantly more powerful and robust, and I'm sure I'll have more to say after giving it a try. On top of all this, I talked with the guys from &lt;a href="http://freeitathens.org"&gt;Free IT Athens&lt;/a&gt;. They refurbish computers for, and provide training to, the underprivileged citizens of Athens, GA.&lt;/p&gt;</description></item><item><title>SELF - DMCA and Copyright Law</title><link>https://systemoverlord.com/2009/06/13/self-dmca-and-copyright-law/</link><pubDate>Sat, 13 Jun 2009 15:43:25 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/06/13/self-dmca-and-copyright-law/</guid><description>&lt;p&gt;Presentation by Wendy Seltzer &amp;lt;&lt;a href="mailto:firstname@lastname.org"&gt;firstname@lastname.org&lt;/a&gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;DMCA&lt;br /&gt;
-Section 512 (ISP Safe Harbor, Notice, Takedown)&lt;br /&gt;
-Section 1201 (Anticircumvention)&lt;br /&gt;
1998 Sonny Bono Copyright Term Extension Act&lt;br /&gt;
- +20 years to all copyright terms (existing and future)&lt;/p&gt;
&lt;p&gt;Betamax exception: Technology used primarily for non-infringing purposes should not be seen as infringing even if some infringing use occurs.&lt;/p&gt;
&lt;p&gt;McCain posted clips of interviews on YouTube, networks of original videos filed DMCA takedown notices, resulting in removal of his clips. Lawsuits under 512(f) to remedy false takedown claims.&lt;/p&gt;</description></item><item><title>SELF - Initial Impressions</title><link>https://systemoverlord.com/2009/06/13/self-initial-impressions/</link><pubDate>Sat, 13 Jun 2009 14:40:51 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/06/13/self-initial-impressions/</guid><description>&lt;p&gt;I'm currently at the first annual South East Linux Fest (in the opening keynote) and I'm really impressed with what they put together. It's not huge, but it's really impressive and really professional. I'm very impressed by the conference badges, the bags, the turnout, and the arrangements. I think there's a lot from this we can take away for the Atlanta Linux Fest, especially promotion-wise. ALF is in about 3 months, but that doesn't mean we can't get some things together.&lt;/p&gt;</description></item><item><title>Automatic PPA Key Installation</title><link>https://systemoverlord.com/2009/06/07/automatic-ppa-key-installation/</link><pubDate>Sun, 07 Jun 2009 19:47:31 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/06/07/automatic-ppa-key-installation/</guid><description>&lt;p&gt;I often use a number of PPAs on one or more of my systems, such as FreeNX, Firefox dailies, Chromium dailies, etc. I do like to use signed packages, even if they're automatically signed, but manually installing the PPA keys is a bit of a pain. The Source Guru has a &lt;a href="http://www.sourceguru.net/archives/212"&gt;solution&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>New Site!</title><link>https://systemoverlord.com/2009/05/16/new-site/</link><pubDate>Sat, 16 May 2009 23:03:17 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/05/16/new-site/</guid><description>&lt;p&gt;Things have been very busy since I started my job at Kennesaw State University. Because my department uses Drupal extensively for producing dynamic websites, I decided it was time to migrate my own content to Drupal. So my intent is that this replaces my old WordPress blog and also provides a place to host projects and other work.&lt;/p&gt;</description></item><item><title>Life Changes</title><link>https://systemoverlord.com/2009/02/22/life-changes/</link><pubDate>Sun, 22 Feb 2009 02:23:14 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/02/22/life-changes/</guid><description>&lt;p&gt;A couple of updates, since it's been a while since I've posted anything meaningful.&lt;/p&gt;
&lt;p&gt;On March 2nd, I will be starting a new job as an IT System Support Specialist III at Kennesaw State University.  Typical of a government job, the title is rather meaningless.  To be specific, I will be supporting a variety of Linux and Mac OS X servers for the university and the platforms running on them (Drupal, Moodle, and other technologies.)  The production servers are RHEL and the development is on CentOS.&lt;/p&gt;
&lt;p&gt;Of course, every good turn comes with a down turn.  &lt;/p&gt;</description></item><item><title>Website</title><link>https://systemoverlord.com/2009/02/04/website/</link><pubDate>Wed, 04 Feb 2009 04:53:29 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2009/02/04/website/</guid><description>&lt;p&gt;I haven't had a real personal website up in a long time, but I'm trying to get back on the ball.  Not a whole lot of content yet, but it's coming along.  Take a look at &lt;a href="http://www.tuxteam.com"&gt;http://www.tuxteam.com&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Kubuntu Issues</title><link>https://systemoverlord.com/2008/10/09/kubuntu-issues/</link><pubDate>Thu, 09 Oct 2008 19:32:29 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/10/09/kubuntu-issues/</guid><description>&lt;p&gt;I was inspired by Jono Bacon's post &lt;a href="http://jtechinda.blogspot.com/2008/10/kubuntu-blue-headed-stepchild.html"&gt;here&lt;/a&gt; and "&lt;a href="http://jtechinda.blogspot.com/2008/10/kubuntu-blue-headed-stepchild.html"&gt;Kubuntu, the Blue-Headed stepchild&lt;/a&gt;".  This started as a response to the latter, but I decided this is a better venue.&lt;/p&gt;
&lt;p&gt;My experience with Kubuntu has been frustrating, to say the least, and I doubt it has much to do with the Ubuntu team.  Firstly, the insistence on making everything "big" drives me crazy.  How can I use KDE when it won't let me resize panels?  I also can't find a way to create custom launcher icons on the panels (in gnome, I have a few set up to open ssh connections I use very often).&lt;/p&gt;</description></item><item><title>OOXML Debacle</title><link>https://systemoverlord.com/2008/10/09/ooxml-debacle/</link><pubDate>Thu, 09 Oct 2008 15:37:36 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/10/09/ooxml-debacle/</guid><description>&lt;p&gt;There's a lot of issues going on around OOXML these days.  Specifically, there's &lt;a href="http://www.linuxpromagazine.com/online/news/ooxml_documentation_iso_concerned"&gt;alledged copyright violations&lt;/a&gt; by posting the OOXML specs by members of the Boycott Novell group.  I want to address a specific issue: why is something applying for ISO standardization so secret?&lt;/p&gt;
&lt;p&gt;International standards (e.g., ISO) should be open and royalty-free.  It's ridiculous if there's a "standard" that's locked in to a single vendor.  Can someone explain any sanity to this situation?&lt;/p&gt;</description></item><item><title>File System Organization</title><link>https://systemoverlord.com/2008/10/08/file-system-organization/</link><pubDate>Wed, 08 Oct 2008 20:45:28 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/10/08/file-system-organization/</guid><description>&lt;p&gt;For some reason, I have a habit of placing all kinds of random files throughout my home directory on my laptop.  Sometimes things end up in ~/Documents, other times ~/Desktop, and still others just in ~.  &lt;strong&gt;This is bad.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My desktop, on the other hand, I keep squeaky clean.  On the other hand, I sometimes have related files on my laptop and desktop... so even more filesystem mayhem.&lt;/p&gt;
&lt;p&gt;So I think I need a good way to manage my laptop files.  First off, more self discipline.  :)  Secondly, I'm thinking of a small utility to merge files between two systems.  Perhaps some sort of bi-directional rsync based on modified dates?  Maybe also a method for mapping particular files/directories on one system to the other.  From the days of Windows 9x, I remember something like Windows Briefcase (if that's what it was called) and it now seems like a decent idea.  Anyone know of this?  If not, maybe it's time to learn some Glade and pyGTK.&lt;/p&gt;</description></item><item><title>ALF 2008: SSH &amp; GPG (Part 1: OpenSSH)</title><link>https://systemoverlord.com/2008/09/21/alf-2008-ssh-gpg-part-1-openssh/</link><pubDate>Sun, 21 Sep 2008 23:30:27 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/09/21/alf-2008-ssh-gpg-part-1-openssh/</guid><description>&lt;p&gt;Yesterday I gave a talk at Atlanta Linux Fest 2008 on SSH and GPG.  I quickly received requests to post notes from my talk, so I'm going to try to write it up here.  If I miss anything, I'll try to keep it updated.&lt;/p&gt;
&lt;p&gt;Slides are available here: &lt;a href="http://matir.files.wordpress.com/2008/09/ssh_gpg.pdf"&gt;SSH &amp;amp; GPG.&lt;/a&gt; They don't show everything, as a lot of it was Demo and Q&amp;amp;A, documented below.&lt;/p&gt;
&lt;p&gt;This is Part 1 of a two part series.  I got far more questions about the OpenSSH content, so I'll be focusing on that here.  I'll add GnuPG content shortly, time permitting.&lt;/p&gt;</description></item><item><title>Mozilla Firefox EULA</title><link>https://systemoverlord.com/2008/09/16/mozilla-firefox-eula/</link><pubDate>Tue, 16 Sep 2008 14:19:24 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/09/16/mozilla-firefox-eula/</guid><description>&lt;p&gt;&lt;a href="http://news.zdnet.com/2424-9595_22-221426.html"&gt;There's been&lt;/a&gt; a &lt;a href="http://blog.lizardwrangler.com/2008/09/15/ubuntu-firefox-and-license-issues/"&gt;lot of talk&lt;/a&gt; &lt;a href="http://arstechnica.com/news.ars/post/20080915-ubuntu-firefox-eula-dustup-reignites-oss-licensing-debate.html"&gt;lately about&lt;/a&gt; Mozilla asking that &lt;a href="https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/269656"&gt;Ubuntu display the Firefox EULA&lt;/a&gt; to protect their trademarks.&lt;/p&gt;
&lt;p&gt;Mark Shuttleworth, the founder of Ubuntu, wrote:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Mozilla Corp asked that this be added in order for us to continue to call the browser Firefox. Since Firefox is their trademark, which we intend to respect, we have the choice of working with Mozilla to meet their requirements, or switching to an unbranded browser. [...]&lt;/p&gt;</description></item><item><title>SSH and GPG</title><link>https://systemoverlord.com/2008/09/16/ssh-and-gpg/</link><pubDate>Tue, 16 Sep 2008 04:43:58 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/09/16/ssh-and-gpg/</guid><description>&lt;p&gt;This weekend I'm going to be presenting a demo on ssh/gpg (e.g., cryptography and secure communications on Linux) at the &lt;a href="http://atlantalinuxfest.org/"&gt;Atlanta Linux Festival&lt;/a&gt;.  Some of the things I intend to cover include:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Basic SSH usage.&lt;/li&gt;
&lt;li&gt;Public Key Authentication&lt;/li&gt;
&lt;li&gt;SSH Tunneling&lt;/li&gt;
&lt;li&gt;SSH Socks Emulation&lt;/li&gt;
&lt;li&gt;GPG key generation&lt;/li&gt;
&lt;li&gt;GPG signing and encryption (command-line)&lt;/li&gt;
&lt;li&gt;Thunderbird integration (enigmail)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;If anyone has any input on additional points to be covered or anything of that nature, please drop me a comment here or send me an email at david -at- webgroup -dot- org.&lt;/p&gt;</description></item><item><title>Cross-Platform Photo Tagger</title><link>https://systemoverlord.com/2008/09/11/cross-platform-photo-tagger/</link><pubDate>Thu, 11 Sep 2008 17:37:45 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/09/11/cross-platform-photo-tagger/</guid><description>&lt;p&gt;I'm apparently looking for the impossible.  I want a cross-platform photo manager/tagger that can support concurrent access to a network share.&lt;/p&gt;
&lt;p&gt;Here's the backstory:&lt;br /&gt;
My girlfriend and I occasionally travel and we take a LOT of pictures.  (Hey, digital cameras make it so easy, right?)  In the 4 years we've been together, I would say we have ca. 10,000 images.  And they're all sitting on a shared drive off my desktop.  They're in directories on a per-trip basis, but not really organized beyond that, so finding a photo involves scrolling through thumbnails: sometimes as many as 1000.  What I'd like to be able to do is access this share and tag the photos and be able to search through the tags.  Seems relatively straightforward, but since my girlfriend uses Windows, it needs to be cross-platform.  And I'd like it if it was (semi) stable if both of us access it at the same time.  I don't need photo editing, though I'd like to be able to directly open a local photo editor for cropping/other work.&lt;/p&gt;</description></item><item><title>What Civil Liberties do we have left?</title><link>https://systemoverlord.com/2008/07/10/what-civil-liberties-do-we-have-left/</link><pubDate>Thu, 10 Jul 2008 16:04:57 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/07/10/what-civil-liberties-do-we-have-left/</guid><description>&lt;p&gt;I know my blog is long overdue for an update, so this issue really got me started again.&lt;/p&gt;
&lt;p&gt;After the Senate's complete ignorance of anything remotely resembling the American Constitution, they voted 69-28 to &lt;a href="http://www.politico.com/static/PPM104_080619_fisapromise.htm"&gt;grant telecom companies immunity&lt;/a&gt; for their role in illegal and unethical wiretaps.  Looks like it's now okay to monitor communications without a proper warrant.  (The lack of warrant, admittedly, has more to do with the USA Patriot act than the FISA amendment.)&lt;/p&gt;</description></item><item><title>British Police Don't Know Difference Between MP3 Player and Gun</title><link>https://systemoverlord.com/2008/02/13/british-police-dont-know-difference-between-mp3-player-and-gun/</link><pubDate>Wed, 13 Feb 2008 19:27:28 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/02/13/british-police-dont-know-difference-between-mp3-player-and-gun/</guid><description>&lt;p&gt;[Normally, I stay away from politics on this blog, but this one is just over the top]&lt;/p&gt;
&lt;p&gt;It seems that the British were taking notes when they invaded Germany in the 1940s -- it's time to throw civil liberties to the wind and throw people in jail for nothing, just &lt;i&gt;in case&lt;/i&gt; they might try something later.  A &lt;a href="http://www.dailymail.co.uk/pages/live/articles/news/news.html?in_article_id=513875&amp;amp;in_page_id=1770"&gt;man was arrested&lt;/a&gt;, fingerprinted, and DNA tested because the police are too blind to tell the difference between a gun and an MP3 player.  Additionally, once they realized they had made fools of themselves, they couldn't even offer a proper apology.  Oh, and in case anyone was missing it, they tracked him on CCTV cameras the whole way.  It wouldn't quite be a police state if we couldn't watch everyone at every second, now would it?&lt;/p&gt;</description></item><item><title>A Case of the Mondays</title><link>https://systemoverlord.com/2008/02/04/a-case-of-the-mondays/</link><pubDate>Mon, 04 Feb 2008 20:28:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/02/04/a-case-of-the-mondays/</guid><description>&lt;p&gt;It seems like I have been hit with &lt;a href="http://www.imdb.com/title/tt0151804/"&gt;a case of the mondays.&lt;/a&gt;  My job (end user tech support at my school) sucks.  I don't mind helping people -- I love it in fact -- but I feel like a trained monkey sometimes.  90% of my time is spent resetting passwords.&lt;/p&gt;
&lt;p&gt;In any case,  I am usually able to combat this with some of my entertainment sites (see below for the curious), but lately I've been looking more for a project to work on.  My learning process is heavily tied to getting something done -- I can read a book on Python (or whatever), but for me to understand it, I need a real-world project using it to work on.  No "hello world" application can grab my interest enough.  Perhaps it's some form of ADD.&lt;/p&gt;
&lt;p&gt;So what does this all mean?  I'm becoming restless.  I need a project.  I've tried looking into becoming a MOTU, but I'm not sure I fully understand the process (and it's hard to fix bugs in apps I don't even use).  Something practical and useful, but not so large as to stretch into months or years.  (At least, I'd like something I can make progress on before months or years.)&lt;/p&gt;
&lt;p&gt;Any ideas on ways to combat this crappy boredom?&lt;/p&gt;</description></item><item><title>Mythbusters: Yes to Ubuntu, No to Vista</title><link>https://systemoverlord.com/2008/01/29/mythbusters-yes-to-ubuntu-no-to-vista/</link><pubDate>Tue, 29 Jan 2008 18:43:19 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/01/29/mythbusters-yes-to-ubuntu-no-to-vista/</guid><description>&lt;p&gt;Jamie Hyneman of Discovery Channel's Mythbusters (an awesome show) occasionally writes a bit for Popular Mechanics.  This time he's talking about Technology Headaches.  One of those headaches, as most of the IT world has seen, is Windows Vista.  His solution? Ubuntu Linux.  Pretty awesome that one of the guys that can build ANYTHING chooses Ubuntu.  Now if only we could get a Ubuntu-powered robot out of him.  :)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.popularmechanics.com/technology/upgrade/4243994.html?page=1"&gt;http://www.popularmechanics.com/technology/upgrade/4243994.html?page=1&lt;/a&gt;&lt;/p&gt;</description></item><item><title>FCC Comments on Network Neutrality</title><link>https://systemoverlord.com/2008/01/17/fcc-comments-on-network-neutrality/</link><pubDate>Thu, 17 Jan 2008 17:08:59 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/01/17/fcc-comments-on-network-neutrality/</guid><description>&lt;p&gt;I just wanted to reiterate &lt;a href="http://www.trausch.us/2008/01/17/network-neutrality/"&gt;Michael Trausch's&lt;/a&gt; request that anyone concerned with their ability to use the internet freely should file a comment with the FCC on Network Neutrality (and Comcast's filtering, etc.)  See his post for directions on submitting a comment.&lt;/p&gt;
&lt;p&gt;Here's what I had to say to the FCC:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt; 	 	&lt;/p&gt;&lt;title&gt;&lt;/title&gt;&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt;&lt;p style="margin-bottom:0;"&gt;Comments on FCC Docket 07-52:&lt;/p&gt;</description></item><item><title>Insulting Microsoft: Why we're just insulting ourselves.</title><link>https://systemoverlord.com/2008/01/14/insulting-microsoft-why-were-just-insulting-ourselves/</link><pubDate>Mon, 14 Jan 2008 15:55:51 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/01/14/insulting-microsoft-why-were-just-insulting-ourselves/</guid><description>&lt;p&gt;Melissa Draper has &lt;a href="http://www.geekosophical.net/?p=173"&gt;recently posted&lt;/a&gt; about the damage done to the FOSS community by the use of terms such as "Micro$oft" and "MicroShaft".  I've probably been guilty of this a time or two, but I have tried to avoid it in recent use, as it does make the Open Source Community look, well, stupid.&lt;/p&gt;
&lt;p&gt;The community needs to put on a better image.  We should not sink to the FUD levels that Microsoft uses, and should certainly not draw more attention to Microsoft with "clever" names.  Just think about the reaction from the open source community if a Microsoft blogger called Linux "Lusernux" or something similar.&lt;/p&gt;</description></item><item><title>January LoCo F2F: Success!</title><link>https://systemoverlord.com/2008/01/13/january-loco-f2f-success/</link><pubDate>Sun, 13 Jan 2008 19:27:41 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/01/13/january-loco-f2f-success/</guid><description>&lt;p&gt;Well, I was finally able to make it to the LoCo (Local Community) F2F (Face to Face) meeting yesterday.  To me, it seemed to be a quite successful event.  About 16-18 people made it, which meant that we pretty much took over that entire wing of Mellow Mushroom.  The food was definitely top notch as well -- I had a great calzone.  It was really great to get a chance to know some of the people from the IRC, even if I didn't get a match between name and IRC nick in all cases.&lt;/p&gt;</description></item><item><title>Linux wins at CES</title><link>https://systemoverlord.com/2008/01/10/linux-wins-at-ces/</link><pubDate>Thu, 10 Jan 2008 05:54:20 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/01/10/linux-wins-at-ces/</guid><description>&lt;p&gt;In case anyone missed it, &lt;a href="http://www.engadget.com/2008/01/07/live-from-the-intel-sprint-asus-xohm-wimax-press-event/"&gt;Engadget is reporting&lt;/a&gt; that the EeePC is Asus's most successful product ever. This comes along with &lt;a href="http://www.reuters.com/article/pressRelease/idUS49987+09-Jan-2008+PRN20080109"&gt;Everex's announcement&lt;/a&gt; of their EeePC competitor, the CloudBook, which will run a Ubuntu-based distribution. That's the same Everex that has been producing sub-$200 computers running gOS (Ubuntu-based) that &lt;a href="http://www.gadgetell.com/tech/comment/wal-mart-selling-out-of-the-everex-gos-pc/"&gt;sell out at Wal-Mart&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;CES also brings us Linux's foray into the handheld gaming market in the form of the &lt;a href="http://blog.wired.com/gadgets/2008/01/ces-2008-gp2x-l.html"&gt;GP2X&lt;/a&gt;. As &lt;a href="http://www.linuxjournal.com/node/1006013"&gt;LinuxJournal predicted&lt;/a&gt;, this year's CES is turning out to be a big one for Linux.&lt;/p&gt;</description></item><item><title>Curing Boredom</title><link>https://systemoverlord.com/2008/01/09/curing-boredom/</link><pubDate>Wed, 09 Jan 2008 00:07:06 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/01/09/curing-boredom/</guid><description>&lt;p&gt;Lately I've been rather bored and looking for a project of some sort to work on.  Anyone have any suggestions/ideas/input?  I'd love to find some small utility I could put together and GPL, if there's need for it.&lt;/p&gt;</description></item><item><title>Why Windows Vista Content Protection, well, sucks.</title><link>https://systemoverlord.com/2008/01/04/why-windows-vista-content-protection-well-sucks/</link><pubDate>Fri, 04 Jan 2008 18:53:57 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2008/01/04/why-windows-vista-content-protection-well-sucks/</guid><description>&lt;p&gt;Peter Gutmann has done an &lt;a href="http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html"&gt;amazing analysis&lt;/a&gt; of the costs and issues involved with the "Content Protection" scheme in Microsoft's Windows Vista (&lt;a href="http://www.cypherpunks.to/~peter/vista.pdf"&gt;slides&lt;/a&gt;).  Essentially, if you want to use multimedia, you can only use it how the movie industry says you can.  NetFlix &lt;a href="http://yro.slashdot.org/article.pl?sid=08/01/03/2339248"&gt;has given in to that&lt;/a&gt;, producing (along with Microsoft) a tool that effectively strips your fair use rights.  It's amazing how we've all become criminals of the information age.  I guess it's only the information age for those who are willing to spend the money.&lt;/p&gt;</description></item><item><title>A Linux Conference in Atlanta?</title><link>https://systemoverlord.com/2007/12/31/a-linux-conference-in-atlanta/</link><pubDate>Mon, 31 Dec 2007 17:56:52 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/12/31/a-linux-conference-in-atlanta/</guid><description>&lt;p&gt;From 1996 to 2001, Atlanta played home to the Atlanta Linux Showcase.  Linux has certainly gained a substantial following since 2001, and I think it's about time that we bring a conference back to the Southeast.  LinuxWorld Expo has made several appearances in Boston, San Francisco, and elsewhere, but the Southeastern US has been overlooked.  Sure, we have PhreakNIC (Tennessee), CarolinaCon (NC), and others, but none of them focus on Linux or Open Source, and they all miss Atlanta, a hotbed of business and IT in the Southeast.&lt;/p&gt;</description></item><item><title>Gutsy is HERE!</title><link>https://systemoverlord.com/2007/10/18/gutsy-is-here/</link><pubDate>Thu, 18 Oct 2007 15:35:27 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/10/18/gutsy-is-here/</guid><description>&lt;p&gt;Ubuntu Linux 7.10, the "Gutsy Gibbon", has arrived!  The mirrors are being hammered, so please use the torrents if possible.  Downloads are at: &lt;a href="http://www.ubuntu.com/getubuntu/download" title="http://www.ubuntu.com/getubuntu/download"&gt;http://www.ubuntu.com/getubuntu/download&lt;/a&gt;.  This version of Ubuntu Linux comes with several nice features in addition to the stability that Ubuntu is known for.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;3D Desktop Effects&lt;/li&gt;
&lt;li&gt;Tracker Desktop Search&lt;/li&gt;
&lt;li&gt;Fast User Switching&lt;/li&gt;
&lt;li&gt;Dynamic X Configuration (Multi-monitor support, rotation, etc.)&lt;/li&gt;
&lt;li&gt;True Printer Autoconfiguration&lt;/li&gt;
&lt;li&gt;NTFS Write Support&lt;/li&gt;
&lt;li&gt;Encrypted Hard Disk Support&lt;/li&gt;
&lt;li&gt;Major Ubuntu Server Changes&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Gutsy is Coming!</title><link>https://systemoverlord.com/2007/10/09/gutsy-is-coming/</link><pubDate>Tue, 09 Oct 2007 19:49:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/10/09/gutsy-is-coming/</guid><description>&lt;p&gt;/sites/default/files/images/710countdown_default.png&lt;/p&gt;</description></item><item><title>iPhone Lawsuit: What are they thinking?</title><link>https://systemoverlord.com/2007/10/06/iphone-lawsuit-what-are-they-thinking/</link><pubDate>Sat, 06 Oct 2007 23:57:29 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/10/06/iphone-lawsuit-what-are-they-thinking/</guid><description>&lt;p&gt;For anyone who knows me, they know I'm all for Open platforms and open source. So it probably comes as a surprise to hear me supporting Apple when they're being sued over bricked iPhones. But I am.&lt;/p&gt;
&lt;p&gt;When a customer buys an iPhone, they AGREE not to attempt to modify it. The warranty SPECIFICALLY excludes modifications, as does the software EULA. They also agree to a 2-year contract with AT&amp;amp;T.&lt;/p&gt;</description></item><item><title>Comcast's Torrent Filtering: Criminal Acts?</title><link>https://systemoverlord.com/2007/09/04/comcasts-torrent-filtering-criminal-acts/</link><pubDate>Tue, 04 Sep 2007 23:00:48 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/09/04/comcasts-torrent-filtering-criminal-acts/</guid><description>&lt;p&gt;According to &lt;a href="http://www.cnet.com/8301-13739_1-9769645-46.html"&gt;an article on cnet.com&lt;/a&gt;, the manner in which Comcast is filtering BitTorrent traffic may, in fact, be criminal.  Comcast is sending forged RST (reset) packets to the end-user, which may qualify as impersonating with the intent to profit.  (Criminal Impersonation in the 2nd Degree).  Whether or not this plays out in court remains to be seen.&lt;/p&gt;</description></item><item><title>Windows Vista = BSoD</title><link>https://systemoverlord.com/2007/08/22/windows-vista-bsod/</link><pubDate>Wed, 22 Aug 2007 23:56:15 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/22/windows-vista-bsod/</guid><description>&lt;p&gt;My brother just got a new HP notebook computer running (what else) Windows Vista. (Home Premium, if anyone cares.)  He was forced into the purchase after his previous notebook (and only computer) crashed on Sunday.  Within the first 24 hours of use, Windows Vista had already presented him with the infamous Blue Screen of Death.  Despite all of Microsoft's best efforts, it would seem that Windows Vista (running on Vista-certified hardware) still has stability issues.&lt;/p&gt;</description></item><item><title>AOL and KaZaA to blame for file sharing?</title><link>https://systemoverlord.com/2007/08/17/aol-and-kazaa-to-blame-for-file-sharing/</link><pubDate>Fri, 17 Aug 2007 19:02:43 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/17/aol-and-kazaa-to-blame-for-file-sharing/</guid><description>&lt;p&gt;While I think that the RIAA lawsuits over filesharing are downright despicable, I also think that the Santangelo family really needs a reality check here.  According to this arstechnica article, they are alleging that the makers of KaZaA and AOL, their ISP at the time, are partly culpable for their file sharing.  They allege that Sharman Networks failed to warn them that using the application could allow them to violate the law and that AOL did not block the infringement.&lt;/p&gt;</description></item><item><title>Pirated Software -- A problem for Free Software</title><link>https://systemoverlord.com/2007/08/16/pirated-software-a-problem-for-free-software/</link><pubDate>Thu, 16 Aug 2007 18:22:30 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/16/pirated-software-a-problem-for-free-software/</guid><description>&lt;p&gt;&lt;a href="http://blogs.zdnet.com/hardware/?p=420"&gt;According to ZD Net&lt;/a&gt;, Free Software (Linux et al.) may need to be worried about pirated copies of commercial software.  Apparently your average user would prefer to run an illegally obtained copy of a commercial application than run legitimately free software.  There's an interesting discussion on this &lt;a href="http://tlug.jp/articles/Windows_Is_Free"&gt;here&lt;/a&gt;.  My thinking: it doesn't matter.  Linux isn't terribly concerned (yet) about home market share: the business place is where it really excels.  The lack of games and completely legal MP3/DVD/etc. implementations is a bigger hindrance to Linux at home than the availability of pirated copies of Windows.&lt;/p&gt;</description></item><item><title>Linux Forecast</title><link>https://systemoverlord.com/2007/08/16/linux-forecast/</link><pubDate>Thu, 16 Aug 2007 17:56:47 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/16/linux-forecast/</guid><description>&lt;p&gt;The Linux Foundation has started publishing a &lt;a href="http://www.linux-foundation.org/en/Linux_Weather_Forecast"&gt;Linux Weather Forecast&lt;/a&gt; -- a summary of ongoing development in the Linux community and predictions for forthcoming developments and technologies.  It's a very cool snapshot/summary of development, and it's presented in a very understandable manner.&lt;/p&gt;</description></item><item><title>Ubuntu Gutsy Gibbon Tribe 4</title><link>https://systemoverlord.com/2007/08/15/ubuntu-gutsy-gibbon-tribe-4/</link><pubDate>Wed, 15 Aug 2007 16:04:55 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/15/ubuntu-gutsy-gibbon-tribe-4/</guid><description>&lt;p&gt;&lt;strong&gt;Ubuntu 7.10/Gutsy Gibbon is still Alpha Software.&lt;/strong&gt;  That being said, I've been running it on my laptop and run into a few snags.&lt;/p&gt;
&lt;p&gt;The first, and most annoying (partly because it's by design) is the removal of the orinoco_cs driver from the kernel package.  Apparently they thought everyone would move to hostap.  Apparently they didn't do their homework: Lucent Technologies Orinoco cards are NOT supported by ANY driver other than orinoco_cs.  That means my wireless card is effectively useless under the 2.6.22-ubuntu kernel series.&lt;/p&gt;</description></item><item><title>Running as Root: It's really NOT Okay.</title><link>https://systemoverlord.com/2007/08/14/running-as-root-its-really-not-okay/</link><pubDate>Tue, 14 Aug 2007 20:47:22 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/14/running-as-root-its-really-not-okay/</guid><description>&lt;p&gt;LinuxBrainDump.org has an article on the &lt;a href="http://linuxbraindump.org/2007/08/13/the-10-commandments-for-new-linux-users/"&gt;10 Linux Commandments&lt;/a&gt;.  The most controversial of these is "Thou shalt not log in as root".  I'd like to take a moment to point out some of the flaws in the belief that it's okay to run as root -- as well as some of the risks you face by running as root.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Being compromised as a non-root user still leaves your data vulnerable.&lt;/strong&gt;  This is completely TRUE.  Your data is vulnerable either way.  Your data is your most valuable asset: OSs can be reinstalled, data cannot.  This is why we have DVD+Rs, Backup Drives, etc.  Use them: they protect you against attackers, stolen computers, hard drive failures, and (done properly) fires, tornadoes, and floods.  Amazing technology.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A user can still send spam mail and other annoyances.&lt;/strong&gt;  This is true as well.  Unless you have a high security system where no users can have executables (i.e., a noexec /tmp and /home) any user can bring in an executable and run it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Most home computers are single user machines.&lt;/strong&gt;  Probably not anymore.  I know my girlfriend has an account on my machines.  Other people I know have been granted guest accounts, and I've got multiple accounts for testing things.  Root would have access to all of this, a normal user only to their own account.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It's no worse to be compromised as root than as a user.&lt;/strong&gt;  Completely false.  An attacker with root can cover their tracks much better than a user.  A root attacker can create new accounts, modify system binaries, and otherwise damage much more of the system.  And, of course, they can do all of the above.  An attacker with root can also craft custom packets to exploit other systems on your LAN.  Also, a root attacker could run a packet sniffer on your network and read traffic.  A compromise is bad, root access is a nightmare.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Long story short: it still makes sense not to run as root.  Mac OS X, Linux, and Unix have always run this way.  Windows Vista has even moved away from users being given administrative privileges by default.  "Allow or deny?" was not added because it looks cool: running as a non-privileged user is REALLY better.  Don't be fooled into thinking it's okay because it's only a workstation: security is important everywhere, especially around your data.&lt;/p&gt;</description></item><item><title>2007 San Francisco LinuxWorld Expo</title><link>https://systemoverlord.com/2007/08/10/2007-san-francisco-linuxworld-expo/</link><pubDate>Fri, 10 Aug 2007 22:04:53 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/10/2007-san-francisco-linuxworld-expo/</guid><description>&lt;p&gt;I just returned from the 2007 LinuxWorld Expo in San Francisco.  This was my first LWE, and I had a great time.  I was out there on behalf of &lt;a href="http://linuxquestions.org"&gt;LinuxQuestions.org&lt;/a&gt;, the Linux community site I am a moderator on.  Though more business- than community-oriented, it's still a great event to get to know others in the Linux community and marketplace as well as keep up on the latest technology (how anyone keeps up on it ALL is beyond me).&lt;/p&gt;</description></item><item><title>Linux Gaming</title><link>https://systemoverlord.com/2007/08/02/linux-gaming/</link><pubDate>Thu, 02 Aug 2007 14:48:45 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/02/linux-gaming/</guid><description>&lt;p&gt;The Micahville blog has &lt;a href="http://www.micahville.com/2007/07/27/debunking-linux-and-its-relationship-with-gaming/"&gt;an excellent article&lt;/a&gt; on why Linux should not be dismissed as a serious gaming platform.  It lists 17 awesome games for Linux, many of which I have not even heard of.  I'm going to give some of them a try later.  I'd really like to hook up a joystick to my computer again to hit up FlightGear.&lt;/p&gt;</description></item><item><title>Windows Guy tries Ubuntu 7.04 -- Part Deux</title><link>https://systemoverlord.com/2007/08/02/windows-guy-tries-ubuntu-704-part-deux/</link><pubDate>Thu, 02 Aug 2007 14:42:45 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/08/02/windows-guy-tries-ubuntu-704-part-deux/</guid><description>&lt;p&gt;On July 17, I &lt;a href="http://matir.wordpress.com/2007/07/17/windows-guy-tries-ubuntu-704/"&gt;reported on&lt;/a&gt; the self-proclaimed "Windows Guy" giving Ubuntu Linux a try.  Well, it's been two weeks and boy, &lt;a href="http://scitech.teambio.org/2007/07/29/windows-guy-tries-ubuntu-704-part-2-two-weeks-later/"&gt;does he have a lot to say&lt;/a&gt;.  Fortunately for the Linux community, it's almost all good.&lt;/p&gt;
&lt;p&gt;His experiences are summarized nicely:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;"In the end I’ve been very impressed with Ubuntu. After two weeks of banging under the hood and using it as often as I can, it has shown itself to be stable, fast and customizable. Hardware support is solid and application support is good. It is a tweakers paradise. I can work at work and and home. If I had to I could use it as my day-to-day system and not have many regrets. I’m still not as comfortable with it as I am in Windows, but I’m getting there. I may not be a convert yet, but I am a fan."&lt;/p&gt;</description></item><item><title>A wall socket or a computer?</title><link>https://systemoverlord.com/2007/07/17/a-wall-socket-or-a-computer/</link><pubDate>Tue, 17 Jul 2007 19:33:48 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/07/17/a-wall-socket-or-a-computer/</guid><description>&lt;p&gt;Amazingly, very basic computers can now &lt;a href="http://parthsuthar.com/derive/2007/06/20/a-computer-so-small-it-fits-in-a-wall-socket/"&gt;fit in a wall socket&lt;/a&gt;: it looks like a bunch of ports, and it is, but it also computes! Pretty amazing considering that even 30 years ago computers required a dedicated room. No word on price, but looks pretty cool.&lt;/p&gt;</description></item><item><title>Windows Guy tries Ubuntu 7.04</title><link>https://systemoverlord.com/2007/07/17/windows-guy-tries-ubuntu-704/</link><pubDate>Tue, 17 Jul 2007 16:35:08 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/07/17/windows-guy-tries-ubuntu-704/</guid><description>&lt;p&gt;First off: I should've been keeping this updated.  I've just been incredibly busy over the last month or so and haven't really had the time.  That being said, I found a story I had to comment on: &lt;a href="http://scitech.teambio.org/2007/07/14/windows-guy-tries-ubuntu-704/"&gt;Self-proclaimed Windows Guy tries Ubuntu Linux&lt;/a&gt; and likes it!  It looks like Ubuntu is really making a splash on the desktop -- obviously I'm inclined to agree.  Maybe I'll have to give Vista a try at some point when I have a capable machine to spare.  I can write a similar review here.&lt;/p&gt;</description></item><item><title>Linux on Dells: Sales Start Today</title><link>https://systemoverlord.com/2007/05/24/linux-on-dells-sales-start-today/</link><pubDate>Thu, 24 May 2007 18:45:13 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/24/linux-on-dells-sales-start-today/</guid><description>&lt;p&gt;Dell &lt;a href="http://direct2dell.com/one2one/archive/2007/05/24/15994.aspx"&gt;has begun&lt;/a&gt; selling three models shipping with Ubuntu Linux 7.04.  It's really exciting seeing this, and I hope it means we'll see more vendors get in on the Linux action.&lt;/p&gt;</description></item><item><title>Bloggers and Security</title><link>https://systemoverlord.com/2007/05/24/bloggers-and-security/</link><pubDate>Thu, 24 May 2007 18:28:49 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/24/bloggers-and-security/</guid><description>&lt;p&gt;BlogSecurity &lt;a href="http://blogsecurity.net/wordpress/articles/article-230507/"&gt;is reporting&lt;/a&gt; that a recent test showed 98% of Wordpress blogs are running on a version of the software with known vulnerabilities. While the ones here on wordpress.com are certainly kept up to date, how about the thousands running on private servers?&lt;/p&gt;</description></item><item><title>Linux Driver Development Bears Fruit</title><link>https://systemoverlord.com/2007/05/23/linux-driver-development-bears-fruit/</link><pubDate>Wed, 23 May 2007 08:34:33 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/23/linux-driver-development-bears-fruit/</guid><description>&lt;p&gt;Kernel Developer Greg Kroah-Hartman's offer to develop drivers for hardware vendors just from specifications is beginning to pay off.  The offer, first touted as mere marketing hype, has already added a driver to the kernel and has at least five more in progress.  For details: &lt;a href="http://www.linuxworld.com.au/index.php/id;58590129;fp;16;fpid;0"&gt;http://www.linuxworld.com.au/index.php/id;58590129;fp;16;fpid;0&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Details on Dell's Linux Rollout</title><link>https://systemoverlord.com/2007/05/22/details-on-dells-linux-rollout/</link><pubDate>Tue, 22 May 2007 03:42:11 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/22/details-on-dells-linux-rollout/</guid><description>&lt;p&gt;I missed this the other day, but Jeremy over at LinuxQuestions has &lt;a href="http://jeremy.linuxquestions.org/2007/05/18/dell-announces-the-models-for-ubuntu/"&gt;details on the Dell Linux rollout&lt;/a&gt;.  Nothing too surprising, fairly basic machines with well supported hardware.  No proprietary media formats, so it seems like a fairly stock Ubuntu install.  No Linux prices yet.&lt;/p&gt;
&lt;p&gt;The top-end machine that will be in the initial offering is the XPS 410, which is $899+ with Windows on it.   On the value end is the E520, starting at $369 (Windows price). It looks like the E1505 Notebook will also be offered, which is a fairly basic laptop at $699 (Windows price again).&lt;/p&gt;</description></item><item><title>IP Holding Firms: The Real Threat</title><link>https://systemoverlord.com/2007/05/21/ip-holding-firms-the-real-threat/</link><pubDate>Mon, 21 May 2007 18:37:29 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/21/ip-holding-firms-the-real-threat/</guid><description>&lt;p&gt;Mark Shuttleworth (Ubuntu Founder, Software Visionary, etc.) has posted &lt;a href="http://www.markshuttleworth.com/archives/118/"&gt;an interesting piece&lt;/a&gt; on why Microsoft is not a threat to Linux.  He argues that the big threat to Linux (and Microsoft) are the IP holding firms, who essentially exploit the weak IP/patent system we have here in the US.  He makes a clear case why Intellectual Property and Patent Law reforms are necessary to the continued development of software and technology.&lt;/p&gt;</description></item><item><title>3 Things in Linux you should NOT Install</title><link>https://systemoverlord.com/2007/05/21/3-things-in-linux-you-should-not-install/</link><pubDate>Mon, 21 May 2007 17:43:25 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/21/3-things-in-linux-you-should-not-install/</guid><description>&lt;p&gt;While I'm all for promoting the use of Linux and software on Linux, unless you absolutely know what you're doing, there are certain things you should not install. Entirely too often, I see people on &lt;a href="http://linuxquestions.org"&gt;LinuxQuestions.org&lt;/a&gt; asking how to configure one of these or why they will not work. So, in no particular order, 3 Things you should NOT Install:&lt;/p&gt;</description></item><item><title>'Embedded Linux Primer': A Review</title><link>https://systemoverlord.com/2007/05/20/embedded-linux-primer-a-review/</link><pubDate>Sun, 20 May 2007 05:44:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/20/embedded-linux-primer-a-review/</guid><description>&lt;p&gt;A review originally published on LinuxQuestions.org:&lt;/p&gt;
&lt;p&gt;"Embedded Linux Primer" by Christopher Hallinan is an excellent resource for anyone looking to use Linux in an embedded system.  It does not cover basics, so is more targeted to experienced Linux or embedded systems developers looking to move to Linux embedded systems.&lt;/p&gt;
&lt;p&gt;The book covers a variety of topics including the Linux kernel's interaction with hardware, system initialization, design considerations when working with an embedded system, and porting Linux.  The book provides a detailed description of most of these topics, including many step-by-step directions on reference implementations.&lt;/p&gt;</description></item><item><title>Community Colocation Project</title><link>https://systemoverlord.com/2007/05/18/community-colocation-project/</link><pubDate>Fri, 18 May 2007 01:32:36 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/18/community-colocation-project/</guid><description>&lt;p&gt;Several cities have a "community colocation project", such as the &lt;a href="http://www.sfccp.net/"&gt;San Francisco Community Colocation Project&lt;/a&gt;. I feel that Atlanta is in a perfect place to join this movement.&lt;/p&gt;
&lt;p&gt;Community colocation projects (CCPs) are a non-profit datacenter for non-profity entities and individuals. This would be a great opportunity for an advancement of Open source projects and for the community in Atlanta and the metro area. Atlanta is the center of high-tech development for the Southeastern United States, and as such, should become a leader in the Open Source arena.&lt;/p&gt;</description></item><item><title>Microsoft is 'not litigating'</title><link>https://systemoverlord.com/2007/05/15/microsoft-is-not-litigating/</link><pubDate>Tue, 15 May 2007 03:29:18 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/15/microsoft-is-not-litigating/</guid><description>&lt;p&gt;Microsoft's VP for Intellectual Property &lt;a href="http://www.informationweek.com/news/showArticle.jhtml?articleID=199501831"&gt;has announced&lt;/a&gt; that Microsoft has no intent of litigating against Linux users.  So why the recent announcement of the number of patents they feel Linux and Linux distributions infringe on?  They want to spread the usual round of FUD -- fear, uncertainty, and doubt -- to encourage business who might be afraid of litigation to choose Windows over Linux.  Nice marketing strategy, don't you think?&lt;/p&gt;
&lt;p&gt;I just noticed that declanmcgrath has a similar theory over on &lt;a href="http://declanmcgrath.wordpress.com/2007/05/15/microsoft-not-so-sure-on-taking-on-world/"&gt;his blog&lt;/a&gt;.  Guess it's seeming pretty obvious to the Free world.&lt;/p&gt;</description></item><item><title>Linux and Software Patents</title><link>https://systemoverlord.com/2007/05/14/linux-and-software-patents/</link><pubDate>Mon, 14 May 2007 15:05:44 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/14/linux-and-software-patents/</guid><description>&lt;p&gt;Several news outlets are reporting that Microsoft &lt;a href="http://www.informationweek.com/news/showArticle.jhtml?articleID=199501578"&gt;has put a specific number&lt;/a&gt; on the patents they claim Linux infringes upon. To some, this may seem like a move by Microsoft towards some form of legal action, or even a risk to the longevity of Linux. I do not believe this to be the case for a number of reasons, but I must first make the usual disclaimers: I am not a lawyer, I do not play one on TV, and any Linux user concerned about their rights should consult a lawyer.&lt;/p&gt;</description></item><item><title>Why LinuxQuestions.org?</title><link>https://systemoverlord.com/2007/05/12/why-linuxquestionsorg/</link><pubDate>Sat, 12 May 2007 06:53:54 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/12/why-linuxquestionsorg/</guid><description>&lt;p&gt;Sorry for the lack of updates lately, things have been crazy.&lt;/p&gt;
&lt;p&gt;I wanted to take a moment to explain why I have been a member of &lt;a href="http://linuxquestions.org"&gt;LinuxQuestions.org&lt;/a&gt; for several years, and a moderator for about a year, and also what it's all about. &lt;/p&gt;</description></item><item><title>Why the AACS key is not about piracy.</title><link>https://systemoverlord.com/2007/05/08/why-the-aacs-key-is-not-about-piracy/</link><pubDate>Tue, 08 May 2007 19:41:39 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/08/why-the-aacs-key-is-not-about-piracy/</guid><description>&lt;p&gt;The leaking of the AACS key, for many users, is not about piracy or even the ability to make 'backups' of HD-DVD disks. Like the issue surrounding DeCSS, it is about the ability to use content on a variety of platforms. I would like to build a home theater PC running MythTV. Perhaps I'd like that HTPC to be able to play HD-DVDs.&lt;/p&gt;
&lt;p&gt;It is not even a fanatical view of Free software that encourages the distribution of this key. Many Linux users would be satisfied with a HD-DVD and DVD codec that is no-cost and works with existing software.&lt;/p&gt;</description></item><item><title>How the Ubuntu/Dell deal will impact the market</title><link>https://systemoverlord.com/2007/05/08/how-the-ubuntudell-deal-will-impact-the-market/</link><pubDate>Tue, 08 May 2007 03:47:31 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/08/how-the-ubuntudell-deal-will-impact-the-market/</guid><description>&lt;p&gt;Ubuntu founder Mark Shuttleworth has an &lt;a href="http://www.markshuttleworth.com/archives/114/trackback/"&gt;excellent blog entry&lt;/a&gt; describing the way the Ubuntu/Dell deal will impact driver development, Dell's business, and Linux in general. Most notable is his assertion that the "free software approach is a better device driver development model" than the closed-source model.  I wholehartedly agree with this, because once a driver is mainlined in the kernel, the kernel devs maintain the driver interface to the kernel.  The only work left for the hardware vendor is supporting their hardware.&lt;/p&gt;</description></item><item><title>AOL: 8 Character Passwords?</title><link>https://systemoverlord.com/2007/05/07/aol-8-character-passwords/</link><pubDate>Mon, 07 May 2007 04:33:16 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/07/aol-8-character-passwords/</guid><description>&lt;p&gt;A lot of people probably thought that AOL would be a company to keep with the times.  Apparently not, since &lt;a href="http://blog.washingtonpost.com/securityfix/2007/05/aols_password_puzzler.html"&gt;their system only uses the first 8 characters of a password&lt;/a&gt;, silently discarding anything else.  Sounds like a sense of false security to me.&lt;/p&gt;</description></item><item><title>Circuit City: Incompetence or Negligance?</title><link>https://systemoverlord.com/2007/05/05/circuit-city-incompetence-or-negligance/</link><pubDate>Sat, 05 May 2007 21:43:05 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/05/circuit-city-incompetence-or-negligance/</guid><description>&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; While I try to keep entries here technical in nature, I feel that this warrants discussion and is relevant to the technical/Linux community.&lt;/p&gt;
&lt;p&gt;Yesterday, my brother ordered a digital camera (Samsung S730, works great with Linux) package, including a 512MB SD card, from CircuitCity.com using the "in-store pickup" option.  Upon his arrival at the store, the employees attempted to give him only the Camera and not the card.  When he asked them to correct this, they told him him they would reverse the original transaction and process a new one at the original price. Eventually, (after much complaining about how this would screw up their inventory system) they were able to process this, however it was run as a second transaction.  As of today, his credit card shows two $140 charges from Circuit City.  Circuit City online technical support tells him there is nothing they can do, that the refund &lt;em&gt;should&lt;/em&gt; process in 3-5 days.&lt;/p&gt;</description></item><item><title>AACS &amp; DRM</title><link>https://systemoverlord.com/2007/05/04/aacs-drm/</link><pubDate>Fri, 04 May 2007 19:48:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/04/aacs-drm/</guid><description>&lt;p&gt;The AACS (Advanced Access Content System) is the cartel responsible for the DRM (Digital "Rights" Management) behind HD-DVD disks.  Recently, one of their encryption keys was leaked to the internet.  While I applaud the spreading of this key, it has already been revoked, rendering it somewhat useless.  I am personally quite tired of seeing the continued proliferation of software and technology designed to infringe upon my fair use rights.  I don't understand how stupid the entertainment industry execs have become.&lt;/p&gt;</description></item><item><title>Linux Conference Discounts</title><link>https://systemoverlord.com/2007/05/02/linux-conference-discounts/</link><pubDate>Wed, 02 May 2007 21:22:35 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/02/linux-conference-discounts/</guid><description>&lt;p&gt;As many may know, I'm a moderator over at &lt;a href="http://linuxquestions.org"&gt;LinuxQuestions.org&lt;/a&gt;.  We sponsor several conferences, and as a result are able to offer &lt;a href="http://jeremy.linuxquestions.org/2007/04/30/linux-and-open-source-conference-discount-codes/trackback/"&gt;exclusive discounts&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Storage Management</title><link>https://systemoverlord.com/2007/05/02/storage-management/</link><pubDate>Wed, 02 May 2007 00:23:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/02/storage-management/</guid><description>&lt;p&gt;My desktop has a fair amount of storage (~700GB) and a lot of that is in use with multimedia and the like. For example, many of my favorite IPTV shows (&lt;a href="http://hak5.org"&gt;Hak.5&lt;/a&gt;, &lt;a href="http://dl.tv"&gt;DL.TV&lt;/a&gt;, etc.) find their home on my desktop computer.&lt;/p&gt;
&lt;p&gt;In order to manage this flood of multimedia, I have a jfs filesystem mounted as /multimedia. Today I wanted to import about 10GB of music that "escaped" iTunes on my windows laptop. In doing so, I completely filled my existing /multimedia partition. Ordinarily, that would be a problem, wouldn't it? Not with LVM :)&lt;/p&gt;</description></item><item><title>Ubuntu Officially Supported by Dell?</title><link>https://systemoverlord.com/2007/05/01/ubuntu-officially-supported-by-dell/</link><pubDate>Tue, 01 May 2007 00:55:04 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/05/01/ubuntu-officially-supported-by-dell/</guid><description>&lt;p&gt;As an interesting continued note to &lt;a href="http://matir.wordpress.com/2007/04/29/michael-dell-runs-linux/"&gt;my post about Michael Dell&lt;/a&gt;, Fabián Rodríguez, a Senior &lt;a href="http://ubuntu.com"&gt;Ubuntu&lt;/a&gt; Support Analyst at Canonical Ltd, &lt;a href="http://www.fabianrodriguez.com/blog/archives/2007/04/30/its-d-day/trackback/"&gt;is reporting&lt;/a&gt; that Ubuntu Linux will be Officially Supported by Dell Computers. Whether this support comes in the form of Canonical Support or in-house at Dell remains to be seen. My guess would be that Dell will be contracting with Canonical to provide the support.&lt;/p&gt;
&lt;p&gt;Normally, I wouldn't do this, but "dude, I'm getting a Dell."&lt;/p&gt;</description></item><item><title>Microsoft Employee switches to Linux</title><link>https://systemoverlord.com/2007/04/30/microsoft-employee-switches-to-linux/</link><pubDate>Mon, 30 Apr 2007 01:39:10 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/04/30/microsoft-employee-switches-to-linux/</guid><description>&lt;p&gt;A Microsoft employee wondering why he had lost his creativity found a solution: &lt;a href="http://makingtheswitch.wordpress.com/2007/04/28/when-did-i-become-such-a-tool/trackback/"&gt;he switched to Linux&lt;/a&gt;.  I think this is enlightening on both operating systems and on corporate culture in general.&lt;/p&gt;</description></item><item><title>Michael Dell runs Linux!</title><link>https://systemoverlord.com/2007/04/29/michael-dell-runs-linux/</link><pubDate>Sun, 29 Apr 2007 22:22:58 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/04/29/michael-dell-runs-linux/</guid><description>&lt;p&gt;Michael Dell (Chairman of Dell Computer) runs Linux, as evidenced by his &lt;a href="http://www.dell.com/content/topics/global.aspx/corp/biographies/en/msd_computers"&gt;computer profile&lt;/a&gt;. Pretty cool, and might explain the move to increased support for Linux. That being said, it'll probably still be a while before we see pre-installed Ubuntu laptops from Dell. We can only hope. :)&lt;/p&gt;</description></item><item><title>Battery Disappeared</title><link>https://systemoverlord.com/2007/04/28/battery-disappeared/</link><pubDate>Sat, 28 Apr 2007 02:31:16 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/04/28/battery-disappeared/</guid><description>&lt;p&gt;On my Latitude D620 (my work laptop) the battery has "disappeared".  Both Linux and the BIOS show that no battery in installed.  That being said, the battery charge light is on when the battery is in, and the light is off if I remove the battery, so there must be SOMETHING there.  Any thoughts welcome.&lt;/p&gt;</description></item><item><title>OpenWRT on WRT54GL</title><link>https://systemoverlord.com/2007/04/26/openwrt-on-wrt54gl/</link><pubDate>Thu, 26 Apr 2007 07:29:40 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/04/26/openwrt-on-wrt54gl/</guid><description>&lt;p&gt;My WRT54GL arrived today (nice little birthday gift) and I promptly installed OpenWRT on it.  It was an incredibly simple process, just download a file and upload it to the router as a new firmware.  Very straightforward.&lt;/p&gt;
&lt;p&gt;The configuration is amazingly flexible, though you do need to be comfortable with the shell to get the most out of it.  In most cases, you can find a tutorial on the OpenWRT wiki to walk you through the necessary steps.  Most tutorials literally provide you with each command.&lt;/p&gt;</description></item><item><title>Two Feisty Weeks</title><link>https://systemoverlord.com/2007/04/25/two-feisty-weeks/</link><pubDate>Wed, 25 Apr 2007 08:30:16 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/04/25/two-feisty-weeks/</guid><description>&lt;p&gt;I installed the beta version of &lt;a href="http://ubuntu.com"&gt;Ubuntu&lt;/a&gt; 7.04 (Feisty Fawn) about two weeks ago.  It has since gone to stable and been deployed on thousands of computers worldwide.  So what do I think about it?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It's amazing.&lt;/strong&gt;  Everything worked out of the box.  The only thing I had to change was have it mount some of my secondary partitions (I could've done that during the install, but didn't want to mess with them then).   Installing beryl to get a little eye candy was a mere 5 minute process.&lt;/p&gt;</description></item><item><title>DD-WRT licensing issues</title><link>https://systemoverlord.com/2007/04/24/dd-wrt-licensing-issues/</link><pubDate>Tue, 24 Apr 2007 11:45:26 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/04/24/dd-wrt-licensing-issues/</guid><description>&lt;p&gt;My router is scheduled to arrive on Wednesday (my birthday), so I'm pretty excited about that. However, after seeing &lt;a href="http://xwrt.blogspot.com/2007/02/dd-wrt-continues-to-exploit-free-open.html"&gt;this rant&lt;/a&gt;, I'm leaning more towards OpenWRT instead of my original plans for DD-wrt. They seem to support similar feature sets, but I'd like something I can work on and modify to my own needs, without worrying about the mixed licenses. I'd like to see multiple SSID support (with different crypto, vlans, etc.) and a handful of other commercial-grade features. Hopefully I can get involved in some of the development there as well.&lt;/p&gt;</description></item><item><title>Hello world!</title><link>https://systemoverlord.com/2007/04/22/hello-world/</link><pubDate>Sun, 22 Apr 2007 09:35:45 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/2007/04/22/hello-world/</guid><description>&lt;p&gt;This is my first post on my new blog. This blog is to focus on Linux and Open Source software as well as other technology issues of the day.&lt;/p&gt;</description></item><item><title/><link>https://systemoverlord.com/license.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/license.html</guid><description>&lt;h3 id="theme-released-under-mit-license"&gt;Theme Released under MIT License&lt;/h3&gt;
&lt;p&gt;The following license applies to the theme of the blog (Hyde, part of the Poole
project). Content is Copyright (c) 2020 David Tomaschik.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Copyright (c) 2013 Mark Otto.&lt;/p&gt;
&lt;p&gt;Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &amp;ldquo;Software&amp;rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:&lt;/p&gt;</description></item><item><title>403 Forbidden</title><link>https://systemoverlord.com/403.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/403.html</guid><description/></item><item><title>Cheatsheets</title><link>https://systemoverlord.com/tools/cheatsheets.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/tools/cheatsheets.html</guid><description>&lt;p&gt;This is a collection of cheatsheets &amp;amp; guides I find useful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.owasp.org/index.php/Web_Application_Security_Testing_Cheat_Sheet"&gt;OWASP Web Testing Cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.owasp.org/index.php/Android_Testing_Cheat_Sheet"&gt;OWASP Android Testing Cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>GPG Key</title><link>https://systemoverlord.com/gpg.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/gpg.html</guid><description>&lt;p&gt;My GPG key is below or &lt;a href="https://systemoverlord.com/static/5DEA789B.asc"&gt;download here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Resource List</title><link>https://systemoverlord.com/projects/resourcelist.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/projects/resourcelist.html</guid><description>&lt;p&gt;This is a list of (hopefully) useful resources, broken down by category. Feel
free to reach out to me with suggestions.&lt;/p&gt;</description></item><item><title>Search</title><link>https://systemoverlord.com/search.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/search.html</guid><description>&lt;script src="https://systemoverlord.com/assets/js/simple-jekyll-search.js"&gt;&lt;/script&gt;
&lt;script src="https://systemoverlord.com/assets/js/search.js"&gt;&lt;/script&gt;

&lt;h1&gt;Search&lt;/h1&gt;

&lt;input type="text" id="searchQuery"&gt;
&lt;div id="searchResults"&gt;
&lt;/div&gt;</description></item><item><title>Security 101</title><link>https://systemoverlord.com/security-101.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>david@systemoverlord.com (David Tomaschik)</author><guid>https://systemoverlord.com/security-101.html</guid><description>&lt;p&gt;I&amp;rsquo;ve written some articles intended for those outside the security space or
those new to the field. I&amp;rsquo;ve titled these a &amp;ldquo;Security 101&amp;rdquo; series. Here&amp;rsquo;s the
full collection:&lt;/p&gt;</description></item></channel></rss>