<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Wargames on System Overlord</title><link>https://systemoverlord.com/tags/wargames.html</link><description>Recent content in Wargames 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>Tue, 21 Mar 2017 00:00:00 +0000</lastBuildDate><atom:link href="https://systemoverlord.com/tags/wargames/index.xml" rel="self" type="application/rss+xml"/><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>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>(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>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></channel></rss>