Published writing

Blog

Browse recent posts, filter by category, and move through the archive five posts at a time.

32 posts

Reinitialize cache for Offline Files - Windows

Reinitialize cache for Offline Files - Windows

There will be times that Windows Offline files will give you problems. Such as not showing the correct files. You can cause Windows to reinitialize the cache by changing the following registry options.

  • Locate the registry subkey using regedit.exe at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSC

  • setting Start to 4

Read full post

Dumping NTLM Hashes from ntds.dit

Dumping NTLM Hashes from ntds.dit

Quick Note:

Create Shadow Volume

  • Copy %systemroot%\ntds.dit to C:\ntds.dit

  • Extract System system register

Using Impacket

python secretsdump.py -ntds /root/ntds_cracking/ntds.dit -system /root/ntds_cracking/systemhive LOCAL
Read full post

MongoDB + Docker

Running MongoDB on Docker

MongoDB is not your typical database. It is a NoSQL variant that stores data in an document based format. There are several advantages and disadvantages that I will not go into details in this post. In this document we will go over how to quickly setup a MongoDB instance inside an docker container along with adding data and running a query against it.

Downloading the Pre-existing Mongo container.

sudo docker pull mongo

Create Your Mount Partition

Docker containers are volatile. This means that when you shutdown the container any changes to any of the files inside a container are lost. The default Mongo container mounts the databases under the /data/db path. We can map that path with a path on the physicals host with the below command.

Create a directory to store your data with the following command.

sudo mkdir -p /data/mongo

When you run the container you will want to map the /data/mongo directory path with /data/db using the following command.

Read full post

Let's Encrypt + FreePBX

Let's Encrypt + FreePBX

Let's Encrypt allows you to obtain X.509 certificates for TLS automatically and at not charge. There are different ways to obtain a valid certificate depending on the system that you are setting up. We will be going over Let's Encrypt and FreePBX.

This article will work with a system running FreePBX 13 or newer. Other requirements are that you have a valid A record that resolves the FreePBX IP. For example if your PBX is at IP: 104.24.99.145 you would want an pbx.harrison-technology.net dns record to point to 104.24.99.145.

Enabling Port 80 to respond to Let's Encrypt>

There are a couple ways that Let's Encrypt allows verification. From saving a challenge in a .well-known folder or saving a challenge in a DNS record. FreeBPX saves the challenge code in the .well-known folder.

We need to setup the web server to allow responses to Let's Encrypt on port 80. Navigate to Admin > System Admin > Port Management. Change the Letsencrypt port

Read full post

Running Nginx + PHP over Docker

Running Nginx + PHP over Docker

Following up on the previous post, linked here, we will be extending it to include running PHP over Nginx's fastcgi system. We will start with the final DockerFile in the previous post.

#Author: Michael Harrison
#Purpose: Showing how to create a docker image and manually install nginx. 

#Pulls the base Ubuntu Image from Docker Hub
From ubuntu

#Lets install NGINX
RUN apt-get -y update && apt -y install nginx

#Lets copy the local index.html to /tmp
COPY index.html /tmp/index.html
COPY default /etc/nginx/sites-available/default

#lets expose port 80
EXPOSE 80/tcp

CMD /usr/sbin/nginx && tail -f /dev/null

Installing PHP

Since we are not specifying a specific version of Ubuntu in the line From ubuntu it pulls the latest version. The latest version at the time of this writing is Ubuntu 20.04 which comes with the PHP 7.

Read full post