Thoughts about security, beer, music and stuff

Configure File and Registry Auditing with PowerShell

13

Posted on April 19, 2014 by

At this year’s Security BSides in Austin, Michael Gough of MI2 Security gave a great workshop on Windows Logging.  One of the points he made was that auditing file and registry creation events on high value folders and keys can provide information critical to the detection and remediation of breaches.  PowerShell should be used to automate and standardize the process of file and registry auditing.  I had some trouble finding information on using PowerShell in this way.  So I created this post to collect what I found.

File auditing has to be configured in 2 steps.

STEP 1: File and Registry auditing should be turned on in the Audit Policy. (more…)

Advanced Security Audit Settings Spreadsheet

0

Posted on February 19, 2014 by

I was recently reviewing the Advanced Security Audit settings available for Windows 2008 and above and decided to create a spreadsheet with all of the details. While Microsoft does have all of the details on their website, the details are spread across multiple pages.  Having it all in one document made it easier to research each setting, compare the defaults to existing settings, and make recommendations for changes.  The spreadsheet can be downloaded off of Google Drive below:

https://drive.google.com/file/d/0B7uH-SwTZjFQNTJVbHNnNFBhV3c/edit?usp=sharing

The spreadsheet contains two worksheets.  The first gives the default for each setting and the volume of logs generated with each setting.

The second worksheet lists every Event ID generated by each setting and the message associated with each Event ID.

Hopefully this will be useful to others.

PowerShell script to alert for changes in NS records

2

Posted on October 17, 2013 by

UPDATE: A newer version of this script is here.

Last week, Johannes Ullrich shared a Bash script that would check for changes in NS records.  This was in a blog post about the google.com.my DNS hijack.  I wanted to create a version of the this script that would be usable on Windows machines.  So I created the PowerShell script below that does pretty much the same thing as the Bash script.  The script runs nslookup.exe instead of DIG and queries the DNS server for all NS records for a domain.  This is saved in file named domain.new and compared with a previous query of the NS records stored in domain.old.  If there are any differences, an email is sent and an entry is made in the Application Event Log. (more…)

Closing the MDM Backdoor

0

Posted on September 26, 2013 by

Many organizations are moving to Mobile Device Management or MDM solutions to manage and control their mobile devices.  The proliferation of Android and Apple devices has almost made this a necessity.

One of the primary controls with an MDM solution is to prevent mobile devices from connecting to company email unless the device is both managed and compliant with company policy.  Almost every MDM vendor accomplishes this by using a gateway.  In order for mobile devices to get email, they must first pass through an MDM gateway that checks to see if (1) the device is managed by the MDM solution and (2) if he device is compliant with company policy.  If it fails either of those tests, it is prevented from retrieving email.

However, there is an issue.  All of the gateways used by MDM vendors only monitor and control the Active Sync protocol.  They do not monitor or control the Outlook Anywhere (RPC over HTTPS) or Outlook Web Access (OWA) protocols.  Modern mobile devices are smart enough to try multiple protocols to connect to email if one of them fails.  So, in certain email domain configurations, a device would still be able to retrieve email even though MDM was preventing an Active Sync connection. (more…)

XenMobile (formerly Zenprise) Variables

1

Posted on March 28, 2013 by

UPDATE 2013-04-18: More variables!

I’ve been playing around with the Mobile Device Management (MDM) software from Citrix.  Last year, Citrix purchased Zenprise and renamed it XenMobile.  Overall, it’s a pretty sold platform for managing iOS and Android devices.  However, it does have a few dark corners.  One of these is the use of variables in their configurations.  They are not documented very well.  This can make finding the right combination of variables for email setup difficult.  So I have created a list of the variables I have discovered and what they do.  As I discover more I will add to this list: (more…)

InfoSec – The Roguelike of the IT world

0

Posted on January 26, 2013 by

I was playing Faster Than Light recently and came to a sobering conclusion. As my ship burned and my crew furiously attempted to put out fires and repair systems, I saw startling similarities between roguelike games and the jobs in Information Security.

Just another day at the office.

Just another day at the office.

For those unfamiliar with roguelikes, they are games characterized by randomly generated areas, punishing difficulty, and permadeath.  You will die in roguelikes.  A lot.  With enough persistence and skill, you can win the game.  But you must be willing to learn from each death.  Each failure highlights a mistake made that should never be repeated in subsequent games.

What does this have to do with Information Security?  Let’s start with number one. (more…)

http-screenshot-html updated

0

Posted on December 16, 2012 by

I’ve updated the http-screenshot-html script.  You can download it at the Google Code page.  The primary changes are:

  • Compatibility with Lua 5.2 as used in NMAP 6.25
  • Added the “imgquality” script argument to modify the image output quality of wkhtmltoimage.

See the script’s Manual for full details on using the script.

Also, it appears that there is a bug in Lua 5.2. If you use backslashes while calling a script, Lua will throw an error about an Invalid Escape Sequence.  So make sure you use forward slashes when calling scripts or using script args in NMAP 6.25.  This should be fixed in a future release of NMAP.

Information Gathering Incident Response Script

0

Posted on October 24, 2012 by

So, you have a PC on your network that you think might be infected with some malware.  What do you do?  Well, you could always PSExec into the computer and run a series of commands.  But why not automate that process and store the results?

That was my motivation for writing this IR-Script.  It is like a first response tool for investigating a possibly infected PC.  You run the tool, gather a bunch of information, and store it for review.  The script gathers the following information from a PC: (more…)