PrintNightmare Windows CVE-2021-1675

Featured

So Microsoft wanted to make it easy for a standard user to install a Printer without Administrator rights. There is a huge bug with the PrintSpooler service that has a huge vulnerability that was a EoP (Elevation of Privilege) affecting Windows 7 to Server 2019.

However this escalated to a RCE (Remote Code Execution). RCE refers to a bug by which cybercriminals can break into your computer in the first place, without needing any password for any account on your computer.

Microsoft released an update to fix it

At the same time this was going on a Zero-day exploit was on the rise. Researchers from the cybersecurity company Sangfor were going to present their paper about Print Spooler Bugs at the 2021 Black Hat conference in August but decided to release it early. Since the Print Spooler was recently patched they thought it would be alright since the vulnerability was fixed.

Well come to find out it was something completely different hiding in the exploit that wasn’t patched. In other words there were two security holes in it. One was patched and the other was not.

The Sangfor crew inadvertently documented an as-yet-undisclosed RCE bug, thus unintentionally unleashing a zero-day exploit. The researchers apparently took down the offending information once the mistake was figured out but by then it was too late, because the exploit code had already been downloaded and republished elsewhere. Pandora’s box had already been opened, and it was too late to close it up again.

The only way to fix this until a patch release is to disable the Print Spooler. However this will disable printing and can’t print anything. It’s good practice anyway to disable the Print Spooler if you don’t have a printer to free up resources in Windows but if you use a printer all the time you’re kind of screwed until then.

This is one of the many reasons why I left Windows in the dust and use Linux. Granted there are exploits in Linux as well but they are typically targeted on older software packages and an easy update fixes it. If it’s a major one it is typically fixed within hours after it has been known to the world.

Installing pfSense on a PC Engines APU2

Featured

The APU2 came in and now I can install pfSense and share the knowledge.

First things first. The APU2 does not have a Video Out such as VGA or HDMI. It’s a headless System that uses RS-232 to run it until pfSense is installed. The options for this is to use either a DB9 Null Modem Cable if the System you’re going to connect has Serial/RS-232 or use a modern USB to Serial Cable.

For this install the Host Machine is my Desktop running Debian Linux. I am also using a USB to Serial Cable Adapter. It uses the CH341-UART chip. Keep in mind you will need a DB9 Null Modem Adapter, a simple Gender Changer Adapter isn’t going to work. for the connection software wise I am going to use GNU Screen.

We need to download pfSense. Make sure to follow the image below.

After it downloads uncompress the file and use dd (DiskDump) to write to a USB Thumb Drive. The Thumb Drive shows up as /dev/sdc but this varies system to system. If anything insert the Thumb Drive and run sudo dmesg and it should show up last and will say /dev/sd* whatever the * is is the Thumb Drive, could be sdb, sdc, sdd and so on.

For my System I issued this command.

sudo dd if=~/Desktop/pfSense-CE-memstick-serial.img of=/dev/sdc

While it was writing to the Thumb Drive I gathered the rest of the equipment together. Do not power on the APU2 just yet. When the Thumb Drive is ready plug it into the APU2. Launch GNU Screen with this command. Remember I am using a USB 2 Serial Adapter so yours might differ.

screen /dev/ttyUSB0 115200

With Screen running you can now power on the APU2. When you turn it on you should see Text pop up in the window. Select F10 to bring up the Boot Menu and select the Thumb Drive. It will take a couple of minutes to load up but it should go directly into the Installer. From there just follow the prompts and install pfSense like you would on a typical PC.

When finished installing you’ll need to reboot the APU2 and this time hit F10 again and select Manage Payload. This will bring you to a BIOS setup and just tell it to boot from whatever Media you installed pfSense onto. If you skip this part then it will only Boot into MemTest86.

After that it should work and you can then start programming it via the Web UI.

Here is a couple of shots of my APU2.

So far I am impressed. I plan installing it this Weekend and see how it goes.

Featured

S-100 Z80 Progress

I didn’t like the first revision of the Schematic so I redid the whole thing. I came across a Z80 Trainer made by Dr. Baker and used that as the basis of the new Schematic. I also used the circuit for the VT132 Project for a Terminal VGA and USB Keyboard.

Control Panel
CPU and Clock
RAM and ROM
IO Board
Serial Terminal for Video and Keyboard

These are not final. I need to review these and make sure everything is in the right order. I also need to import the S-100 BUS.

Featured

New CCTV System

I decided to buy the CCTV equipment. I bought a Reolink 5MP Pan Tilt Zoom Camera for the Driveway and a Reolink 5MP with Audio Turret Camera for the Lanai. My Boss let me buy a Hikvision Door Bell at cost and it was on sale from the distributor for $98.00. It’s the only one I can find that has ONVIF currently. I also have a couple of Hikvision IP Cameras I will use for Indoor use.

For now I plan to use MicroSD Cards for recording and push it to Shinobi that is running on the Home Assistant Server. For now I will use a TP-Link 5 Port PoE Switch. I really don’t see adding anymore Cameras since the placements I have chosen should cover everything. Except one area that has the A/C unit.

I am a bit worried since I heard A/C unit thefts are on arise in my area but I got that covered. I traded a A/C Tech 25ft of Coax for 25ft of outdoor rated cable used for A/C systems so I can make a dummy line that connects to the Alarm Panel so when someone cuts it the Alarm goes off, I have it programmed as a Duress so the Central Station sends out the Cops without Verification. Also used longer Tapcons to attach the unit into the Cement Pad. I also stripped out the Nut Driver portion of the Tapcons so the only way to get them out is with a Flat Head or a Cutting Wheel. Besides the Driveway Camera and Lanai Camera would catch anyone going to the side of the House anyway.

Anyway, back on topic here. I will probably run the Cabling to the Master Closet or Garage and then run a Single Line to the Living Room since the TV stand is getting full. Since the pfSense box has one more open port I can dedicate that to the CCTV and give access to Home Assistant.

I already got a friend that wants to buy my old Analog DVR and I will probably give the Ring to my Mother.

Featured

Lost art of Cable Management – Cable Lacing

Used in Telcom, NASA and Avionics a almost lost art of Cable Management called Cable Lacing. Instead of using Zip Ties or Tape a Waxed Coated Cotton String is used for the whole length of a Wire Rack or Wire Harness/Bundle.

In my honest opinion this looks a lot cleaner and better then a hundred Zip Ties and doesn’t leave a sticky residue like Tape does. It’s also pretty darn cheap, just don’t buy the “Electronics Grade” stuff. The 1mm size that is used for Jewelry is cheaper and it is the exact same stuff. You can also use thinner stuff but you’ll have to double wrap the bundle.

I found a little Video on YouTube that covers how to do it. The man in the Video has a terrible accent but you just to need to watch rather then listen.

A few Tips I have with this Method. Have the knots closer then what I have in the example photo. If the Cabling is running flat then you can get away with knots further away but when you go into turns and twists you want the knots closer or it will look like this.

Just like anything new you will be slow and it will look like crap but with practice it will look better and you’ll get much faster.

Featured

Fresh install Debian 10 Linux

When I install Linux I end up spending a lot of time tweaking it the way I like it. No matter the Distribution I end up doing stuff like this. Mostly because Out of the Box is for the novice user. Most end Linux users do the same thing.

I typically start with just the base install to make sure all of my hardware is in working order such as Chipset, CPU Microcode, Networking and USB. Easier to catch the issues when it’s a plain Command Line Interface. Also much easier to redo the install to Unstable if the Kernel is too old to see brand new hardware. Unstable isn’t really Unstable, it’s just newer Software that is still experimental. For a example Ubuntu uses a mixture of Unstable and LTR (Long Term Release).

When partitioning I keep things simple and use a single Partition for everything. Now if I am doing this to a system that has Multiple Hard Drives I’ll move things around such as putting the /home directory onto a different drive. Back in the day I use to toss in a old drive just to be used for SWAP but these days I see no performance gains. A EXT4 Partition is just find and no need to go into the world of ZFS and GPT since ZFS eats RAM and GPT will bite you in the ass in the end.

After I verify everything is working I’ll edit the APT sources file and add the contrib and non-free entries, update the mirrors and upgrade. Install Xorg and whatever Window Manager I want. Currently I am giving KDE Plasma a spin and it has a few nice features but I like using the Awesome WM.

Before anything else I once again verify my Video and Audio is working correctly. I’ll run the glxgears program or just look at the OpenGL Information. To test Audio I’ll just load something up in YouTube, a few times in the past the Audio would work fine within the Window Manager but YouTube, Steam and VLC would be deaf. So if YouTube works then there shouldn’t be issues with anything else.

Now I can start adding my custom tweaks and such.

I add my user to the sudoers file and make sure the hostname for the system is final. Also install ntp if Xorg’s install didn’t include it.

su
apt install binutiles sudo ntp ufw fish vlc
nano /etc/sudoers


under root’s entry add
[username] ALL=(ALL:ALL) ALL
Save and exit.

exit

I start by changing the Command Line Shell. Debian uses a modified version of BASH called DASH. Works alright but after you start playing with other types of Shells you end up staying away from it. I use to use Zsh but I converted to FISH. After installing fish I then issue chsh -s /usr/bin/fish then launch it. From there I go into ~/.config/fish and edit the config.fish file and add my alias entries.

alias ls="ls -lahp"
alias dir="ls -lahp"
alias shutdown="sudo shutdown now"
alias reboot="sudo reboot"
alias update="sudo apt update"
alias upgrade="sudo apt upgrade"
alias purge="sudo apt autoremove"
alias edit="nano"
alias G="grep"
alias S="sudo"

After tweaking commands to my liking I’ll add more software I attend to use such as Htop, Bleachbit, Guake, and KDE Connect.

Over time I end up installing neofetch, screen, Arduino IDE, Sublime Text and GCC, Firefox and vBox.

Once in a blue moon I’ll screw up and spend a good few hours fixing it or just end up reinstalling everything.

Featured

Limit Unwanted Network Connections

I’m slowly putting together a Network Administration suite for the Raspberry Pi. Came across a little jewel called Evil Limiter. It’s a Python 3 Script that can do a ARP scan of a Network and give you a IP Address on the Network that you know shouldn’t be there or you have a User sucking up too much Bandwidth. So instead of Deauthing the user you can Throttle or even Block the User. For a example you can Limit a User to 100Kbit/sec or even totally block them.

This could be handy for enforcing say the Kids Internet usage during the Spring/Summer Break or even at work when Steve should be working on a report but is too busy watching Netflix or YouTube.

Now this tool is considered a DoS (Denial of Service) Attack so be careful how you use it and deploy it.

Featured

Building a Z80 Computer

Every hardcore Electronics Engineer and Computer Nerd has a bucket list and there is a Homebrew Retro Computer on that list. I could cheat and buy a RC2014 kit but building it from total scratch is even better.

Now you just don’t order/buy/find the parts and slap it all together. You have to study up on the subject. There is a PDF floating around called “Build your own Z80 Computer” by Steve Ciarcia. Then you have Grant Searle’s Website that is loaded with tons of Schematics and ideas for a minimal chip count Z80 running BASIC and CP/M.

To start off the build I am going to build a curd version of the Zeta256 and branch off of that by adding memory, UART, ROM and so forth.

Building from heck

So at work I was given a task with two others to wire up a building. Was a typical stick framing but is considered as “commercial”.

We ran CAT6 to every TV location and Audio is everywhere. Sadly the Audio wasn’t a 70volt system but a typical 8ohm system so every speaker has a home run for the cabling.

The job took five days and yesterday I went into the boss’s office and he informed me we are going back to install WiFi access points. I asked on how many and he said thirteen. So probably next week I get to go back and add 13 more CAT6 cables around the property. Also found out it will be Luxul equipment.

Here is a picture of the headend from what we ran the other day that took five days.

22 speakers left 10 TVs right

Boss told me we will be mounting a 26U rack on the wall there. Guess when I go back I need to add some 2×4 bracing.

The odd thing is the builder has a total of three different low voltage companies working on this building. One is doing the fire system, another is doing the cameras and burglary. The company I am working for is doing the AV. So there is a bunch of competition going on. Hearing the other guys talking smack to each other and such. So far the Fire guys and my guys are out doing the security guys. The Fire guys are done and when my team finished the security guys only had 3 out of 32 cameras done and a quarter of the burglary system done.

Anyway, the Boss also told me I get to do the trim out and install. So if anything goes wrong it’s my fault.

Florida heat is insane

Since the beginning of 2022 I have taken a role on at work as a field manager and been driving a Van filled with pre-wire guys. Drop them off at houses to wire then I go off to do inspections on previous houses and when the pre-wire guys are done I inspect and pick them up.

Last couple of days the whole team and myself have been working on a huge commercial building and the heat here in Florida has gotten insane. Yesterday in the shade hit 102*F, the high was around 105*F in the sun. The UV rating was 11, humidity wasn’t too bad.

I’m going to share a few tips on keeping cool and dry. so lets start with clothes. I have to wear pants in my line of work and I have found out jeans are terrible. They don’t wick up any water and when they get wet from sweat denim gets a bit abrasive. I wear Dickies pants and they work great. I have five pair and they have lasted two years of constant wear. For shirts a nice dri fit T-Shirts are totally awesome. Once you start wearing these you don’t want to switch back to plain old cotton. For us guys powder such as baby powder or even corn starch for the dangling bits and pits, have to remember Florida has a crap ton of humidity. I have recently started to use a cooling towel. Poor some water on it, ring it out and just wrap your neck with it. The towel I got I found at Dollar General and the brand is Mission.

If you’re out in the Sun then a big floppy hat and sun glasses. A lot of roofers I’ve seen wear long sleeve shirts that are dri fit.

Cooler, Ice, Water. However, don’t just drink water but once every couple of hours drink a Bodyarmor. Has way more stuff then PowerAid and Gatoraid. I also recommend to take vitamin C in the morning before work. Take a small break five or ten minute every hour in the shade or if you can in some A/C. Not too cold or you could get sick. If anything get a small battery powered fan and sit in the shade with the fan running.

In the end you’ll still have swap butt but not as bad and you’ll avoid getting sick. If you wake up feeling hung over even though you didn’t drink I would take a salt tablet and drink a pedialyte.

More 3D Printer upgrades

So I bought the BLTouch and the Bigtreetech SKR mini E3 3.0 board for my Ender 3 printer.

I wanted to make sure I wouldn’t run into any issues on installing the new board and all of the videos on YouTube either go super fast speed on connecting things up or do not let you see what is plugging into what.

So I plan to do a detailed guide on this.

However mine is going to be a little different. I plan to put the main board, power supply and raspberry pi in it’s own case. Most likely a old Alarm panel can. The point however is the connections to the main board and flashing the firmware on.

Also the guide will show proper cable management as well.

3D Printer Z-Axis – Finally working

Last month I bought the dual stepper Z-Axis upgrade for my 3D printer and after trying to swap out the stepper I still had issues of it binding so I sent it back.

I bought the cheapest belt driven upgrade Amazon had to offer along with some Anti-lash brass nuts.

The kit I got had no instructions at all so I used my best judgement and worked great. However I have one issue with it. The belt tensioner is a bit crappy and will hurt the belt over time. The simple fix is to use a higher standoff. I have some copper tubing somewhere that I can cut to length for that. As for the anti-backlash nuts I watched this video on how to properly use them.

Those anti backlash nuts really work. If I was using the regular nut the threaded rod would just of turned on its own. As you can see the belt tensioner is riding the top of that bearing.

Syncthing

I have a bunch of computers I use. I attend to use a main desktop in the Garage but sometimes I’ll be in the bedroom with my Laptop and wish I had the same files from the main PC on the laptop.

I had thought about doing a NFS of the /home/user directory but I would have to keep the main desktop running and that is kinda wasteful. I don’t like leaving computers on unless they are preforming tasks. However since I have a dedicated system for running Home Assistant I decided to install Syncthing on it and have it run a role as a fileserver.

Syncthing is a simpler way to use rsync so I have some directories on my main desktop that will automatically sync to the fileserver so when I decide to jump onto the laptop it will download those files to the laptop automatically.

I found an awesome how to video from Learn Linux TV that worked perfectly for getting my setup going.

I went with Syncthing mostly because I run different versions of Debian and it’s quick to setup. Later on I plan to deploy a LDAP server as well as a Ansible so I can have a common template of all of the configurations and programs I use on all of my systems.

Dual Z-Axis upgrade for 3D Printers

A friend and myself seem to be adding upgrades to our 3D Printers. I have the older Ender 3 and he has the Ender 3 V2 Pro.

We both bought the cheap Dual Z-Axis kits that adds an additional NEMA17 Stepper. I got mine first and the second Stepper has major issues and delays enough to cause the Z-Axis to be not level and between 0-10 steps causes the left side stepper to bind. I contacted the seller and after two weeks of waiting I got a replacement stepper but it’s a NEMA14. So now I am going to pack it up and send the kit back. More on the reason why in a minute.

My buddy got his a few days after I got mine and his worked just fine. His had a creality part number on his stepper as well. However that night he left the printer running and was waken up to the sounds of the Z-axis grinding away with the hot end slammed into the bed with melted PLA+ everywhere. He bought the Z-Axis stabilizers to hope to fix that issue but I think it’s something else.

These Dual Stepper setups are sharing a single driver and I think that is the issue. Makes the stepper push more current and causes either poor performance or failure.

My advice is if you’re planning to upgrade the Z-Axis I would either replace the main board so the additional stepper has it’s own driver OR get a belt driven kit that uses the standard single stepper.

Dual Z-Axis for 3D Printer

I decided to buy and install one of those Dual Z-Axis kits on my Ender 3. Reason being the right side of the Z-Axis isn’t very sturdy and attends to sag a bit and you end up with bad prints.

The kit was easy to install and even read up on some tips on setting it up before the kit arrived. However everything didn’t go to plan.

The stepper motor that came with the kit is total trash. When the Z-Axis is in the Home position and if you advanced the Z-Axis to say one step to about ten steps only the left side moves and you have to nudge the right (new stepper) to start moving. By time this happens the whole thing is out of wack and makes the whole thing un-level. If you don’t nudge the stepper you’ll end up with a bunch of grinding noises from the left stepper trying to forcefully lift the Z-Axis.

I contacted the seller and it’s been two days with no answer on a replacement stepper. I will give it another day before I take the kit off and return it. If I return it I’ll just buy the kit that is belt driven so it uses the original left side stepper motor.

Auto leveling the 3D printer

So I fired up the 3D printer the other day and was showing it off on a group text. A friend of mine also had a 3D printer and he was shocked I didn’t have a BL Touch.

A BL Touch is a little addon device that is a Z-Stop plunger switch that helps to level the bed of the 3D printer. I was trying to hold out for a 32bit board before buying a BL Touch but I decided to look into a DIY alternative for this “sensor”. I found the BFPTouch and straight away printed the parts. I got the Servo and Optical endstop parts ordered. The rest of the hardware I believe I already have.

The hard part for this mounting it to the 3D printer. I have a stock hotend/shroud and only found two mounts that should work. I printed both of them out to try.

The printer us running Marlin 1.1.9.1 so I have no idea if I can get this to work with it. If anything this will force me to either run the Klipper firmware or upgrade to a 32bit board.

Weather Radio/TV into Serial Terminal

I had found a Weather Radio/TV the other day and yesterday I posted about the CD5151CP IC and how to get Composite Video.

When I stripped down the Radio/TV it had two huge boards in it. One looked like it had all of the Radio stuff and the other had all of the TV guts. However I didn’t know if both boards were needed or not. I ran into this issue when I tried to do the same project with an old Karaoke Machine. It had many different boards and I needed to use them all for the TV.

Anyway, I spent a couple of days looking at the main board that had the TV circuity and it seemed everything was there except for Audio. So this morning I powered it up.

I got a Raster!

I used my bench supply to power it up and at 8 Volts it was using 500mA of current.

I need to discharge it and add the Composite modification. I also need to figure out if I will go the Raspberry Pi Zero or a ASCII Video Terminal board. Not to mention 3D printing some parts and building a case for it.

If I go the Raspberry Pi route I can use this more then just a serial terminal and use it kinda like a IP Terminal. I have the ASCII Video Terminal but I think the Composite video isn’t working.

The shortest way to get a modern Linux system to be a Serial Terminal host is pretty easy. Chances are a USB to Serial Adapter is needed. Either a Null Modem cable or adapter is needed as well. Connect the USB to Serial adapter and issue this command.

ls /dev/*USB*

From there it should come back to something like this.

ls /dev/*USB*
/dev/ttyUSB0

It might be different depending on the adapter or something like ttyUSB1.

Now to enable the getty service for terminal connections.

sudo systemctl enable serial-getty@ttyUSB0.service

Just change the part in BOLD to match your USB to Serial Adapter. Hook up the terminal to the adapter and power it up. You should be greeted with a Login prompt from the Host System.

This weekend I’ll fire up the 3D printer and today I’ll try and find something for a case.

Add some usefulness to a Black and White TV

Towards the end of the early 2000’s when Analog TVs were cheap and the digital television age began you could buy one of those portable Black and White TVs for $30.00. Now you can find these same TVs at fleamarkets, garage sales, second hand stores and even the trash.

Most of these are made in China and attend to use the same IC that is an all in one solution for these TVs. The IC is called the CD5151CP. The Datasheet is in Chinese or whatever but all we need to worry about is getting it to work with Composite Video. You might be lucky and got one of these TVs that already has Composite Video but that is kinda rare.

May I add this can be a bit dangerous since a CRT TV deals with High Voltage. Do this with a TV that hasn’t been powered on for a long time or watch a video or two on how to discharge a CRT.

To get Composite Video working you’ll need a shielded cable from an old RCA cable or even Coax. On the IC look for Pin5. This will probably go to the video modulator for RF video. On some TVs there are jumpers, resistors or a trace going off some where. You have to either remove the jumper or resistor. At most you’ll have to cut the trace and then solder on the wire.

I wouldn’t try and use the ground pin from the IC pin 21, maybe some other ground location. I honestly used the Ground pin 21 on the IC and it appeared to be fine.