RSSAmplifier

Blog

edeca.net

edeca.net

edeca.netRSS feed ↗103 posts

Latest posts

My first SSTV

Over the past few weeks I have been experimenting with receiving data from satellites. I built a ground station for both TinyGS and SatNOGS using spare parts. The most interesting signals received so far were pictures from the International Space Station and a Russian satellite UmKA-1 , transmitted using SSTV . ISS image 1 - the cleanest I received from the ISS Whilst the ISS is a giant space…

Updating HP enterprise SSD firmware on Debian

I recently bought two used HP enterprise SSDs for VM storage on Proxmox. These are rebranded Intel drives, the specific ones I bought are designed for read intensive workloads because that’s what was available second hand. 960GB of Intel enterprise SSD, branded HP SMART attributes - before When they arrived I wanted to check basic SMART attributes. Unfortunately, the output of smartctl was…

cloudflared on Debian with Ansible

Today I wanted to make a web service internet facing without exposing the origin server. Cloudflare offers cloudflared , a tool that tunnels traffic from the origin server to Cloudflare’s network. This gives the benefit of Cloudflare’s protection. Below is a simple Ansible task that will: Add the Cloudflare repository. Install the cloudflared daemon. Configure the tunnel in an…

Servicing a Chamsys PC Wing

After months of searching I managed to purchase a used Chamsys PC Wing from eBay at a good price. Described as “owned from new by a nightclub venue” and “cosmetically very poor” it was sold as not working. Picture from the eBay listing Initial tests Once delivered I checked the Wing and it powered on fine, unlocking MagicQ. No more blackouts during shows 😬! DMX functioned…

An interesting Callisto YARA rule

Yesterday Félix Aimé posted on X (formerly known as Twitter) a neat YARA rule to detect PDF documents . Tweet by @felixaime These documents relate to the Callisto group, which is attributed to the Russian FSB by various Western intelligence agencies. The rule makes use of YARA’s hash module . But what is it hashing, and why does it work? The rule A text version of the initial rule is…

Testing Magika

Google recently announced the release of Magika , an “AI-powered file-type identification system” . I tested this on a corpus of nearly 125k files to see how it fared. Why? File type detection is useful in a number of places, such as: Anti-spam - detecting unwanted attachments, for example those with executable content. Website uploads - allowing certain types of content whilst…

Essential skills for working in incident response

rtfsig released

Today I released a new tool named rtfsig . rtfsig is a simple Python utility that helps create signatures for malicious RTF documents. The tool automatically generates YARA rules and makes suggestions for VirusTotal’s vtgrep based off potentially distinctive parts of RTF documents. Running the tool with a RTF document will output a series of “interesting strings”: -> % rtfsig -f…

New GPG key

I have updated my GPG key, revoking ID 0x35076cbaa663a704 and replacing it with 0x57974c5b48a00d9b (find it on keyservers ). The Yubikey I used for my personal accounts had a known Infineon security vulnerability . Yubikey replaced this for free, an example of really good customer service. I held off extending or revoking the key but have now decided to generate a completely new one offline. The…

Signaturing an Authenticode anomaly with YARA

This is a local mirror of a blog written by me and originally published by NCC Group. Introduction Earlier this week ESET released a paper about Gazer , a new toolset associated with a sophisticated attack group. One interesting quote from the paper stood out: The compilation date appears to be 2002 but is likely to be faked because the certificate was issued in 2015 This led to an interesting…

Solving Suko with pysmt

In a waiting room this week I opened a newspaper to find the following puzzle, named “Suko” (a trademark of Puzzler ). Various approaches exist to solving them manually and it’s possible to play online . However they are an excellent candidate for an SMT solver so I decided to implement one using pysmt . The puzzle The idea behind Suko is simple (manually solving is not!). In the…

Why I disabled comments

During the recent site cleanup I decided to disable comments and remove (most) previous comments from the site. This post explains my reasoning. I looked at what type of comments were left on the old site, which can be summarised as: Comments saying “thanks” or similar. Questions about technical content, often with little context or effort. Various poor attempts at humour 😎.…

Website spring clean

I’ve given this site a long overdue tidy, finally moving away from Wordpress to a static site. Hugo is now used instead of Wordpress. This renders Markdown content to HTML files and is a great way to build a secure, responsive site. It’s also blazing fast when generating the static pages. After some searching I found the theme Academic which works well and is actively maintained.…

Red Leaves malware analysis

The EU Referendum

This post is entirely based on my opinions. If you don’t want to read a post about my opinions there are plenty of excellent videos on YouTube. You have been warned. Introduction I haven’t blogged here regularly for a long time but decided to make a special post regarding the European Referendum (held today) and why I voted to remain in the EU. The post is purely for my own selfish…

Sakula - an adventure in DLL planting

This is a local mirror of a blog written by me and originally published by NCC Group. You can also read the related publication: Sakula DLL planting analysis . Introduction In April this year a file was uploaded to VirusTotal which NCC Group’s technical intelligence flagged as the Sakula malware. Two interesting things stood out: firstly, the implant itself is never stored on disk. Secondly, a…

Sakula DLL planting analysis

sdelete - when secure delete fails

This is a local mirror of a blog written by me and originally published by NCC Group. Note: there are now better ways of wiping modern SSDs, as many will be self encrypting or support ATA commands for secure erase. Introduction Securely erasing media is an important process for any IT department. There are numerous methods of ensuring that sensitive data is removed before items are reissued or…

Analysis of the Linux backdoor used in freenode IRC network compromise

This is a local mirror of a blog written by me and originally published by NCC Group. This project was a highlight of my time at NCC Group, and I enjoyed collaborating with Pete Beck during analysis. The page was referenced by in a document “ Analysis of the VENOM Linux rootkit ” written by EGI CSIRT . Their report contains details we chose not to publish at the time. Background…

Automating IOC extraction from malware

Understanding ransomware

Extracting the Payload from a CVE-2014-1761 RTF Document

This is a local mirror of a blog written by me and originally published by NCC Group. Background In March Microsoft published security advisory 2953095 , detailing a remote code execution vulnerability in multiple versions of Microsoft Office (CVE-2014-1761). A Technet blog was released at the same time which contained excellent information on how a typical malicious document would be constructed.…

Extracting the payload from a CVE-2014-1761 RTF document

Amex: How to fail at running a survey

Banks and financial institutions are constantly giving out advice about email safety, helping customers to avoid phishing scams . Make sure the email is genuine, don’t click on links, never give your personal information away online. Sensible advice, unless the financial institution doesn’t make it easy to actually verify their emails. As an American Express customer I was quite…

SiteWizard are annoying spammers

In short: SiteWizard are dirty annoying spammers who try random email addresses to send their silly SEO spam. They need to stop doing this. How can I be sure that I never signed up for their services? Firstly I never use any email address @lionserver.co.uk to register for things, nor is the email address used by the SiteWizard spam published on any website. I do monitor a number of email addresses…

libnids on 64-bit architecture machines

A quick note for anybody using libnids on a 64-bit machine (AMD64), you will need to compile with -fno-strict-aliasing if you use optimisation at -O2 or above. Without it libnids will silently fail to provide you any data. Rafal (the original author of libnids) posted some sample broken code in Ubuntu bug #1072650 . There is also Gentoo bug #505026 with further information about how the libnids…

Exporting from Proteus ARES to OSH Park

I have recently started to use Proteus ARES for PCB layout. I regularly order boards from OSH Park but there is a fixed file naming convention for uploaded ZIP files. Exporting from ARES is easy, the image below shows the (mostly default) settings which I use. The important things to check are: Choose “Output to a single ZIP file” Ensure that “Edge (will appear on all…

Logic Friday

Today I wanted to quickly calculate a truth table for a simple boolean equation. Whilst this can be done very simply on paper it becomes tedious with lots of inputs. A quick Google search found “Logic Friday”, available at sontrak.com . Boolean operations can be described using logic gates, truth tables or an equation. Within a few minutes I had the following truth table, drawn from…

Goodbye, clamav

Today I removed clamav from my VPS, which was built into the mail service I run. There are a small number of users and a few thousand messages a week - I liked that I was probably offering some small protection to those people. However all have endpoint anti-virus and most are wise enough to know about malicious email attachments. I have been using clamav a number of years and when I first started…

New PCBs

Today two sets of PCBs arrived from OSH Park . Firstly a breakout board for Kingbright 14 segment LEDs. These are great for very high brightness text display. Secondly a small breakout board for the Maestro A2035-H GPS receiver . This is a capable GPS powered by the SiRFStar IV chipset. It supports NMEA or SPI and can update at 5Hz, which makes it an interesting GPS for sport tracking. I plan on…

dogm ST7565 display modules

I wrote previously that I would review a graphic LCD made by dogm , which was provided by the company so I could update my ST7565 library. These can be bought from Mouser for reasonable prices. There are a variety of different screens and various coloured stick on LED backlights, including an RGB one. Below you can see the sample GLCD on a breadboard. It is much smaller than the other ST7565…

Forcing SSL browsing in Apache

The Apache vhost configuration snippet below will force any non-SSL requests for a website to be rewritten to an HTTPS site instead. This is useful to ensure that clients cannot accidentally browse an insecure site, but they don’t have to remember or bookmark a particular URL. ServerName secure.example.co.uk ServerAlias www.example.co.uk ServerAlias example.co.uk RewriteEngine On RewriteCond…

Kart Timing Mk1

This page documents a hobbyist kart timing system that I developed last year (2012). It was used for a week at a summer camp for youths and it worked quite well. However there are a number of improvements that need to be made which I am progressing this year. I owe much of the success of this project to others, firstly a very kind gentleman named Tony. Without him I would never have got this…

Measuring PIC Vdd with no external components using the FVR

I have written a simple tutorial explaining how to use the PIC fixed voltage reference (FVR) in order to calculate Vdd, using no external components. It got a bit long for a blog post so can be found here: Measuring PIC Vdd with no external components using the FVR .

Measuring PIC Vdd with no external components using the FVR

Microchip’s Application Note AN1333 hints at a useful technique for measuring the Vdd of a PIC using only the internal Fixed Voltage Reference (FVR) module. This page explores how to use this for a rough measurement of the current Vdd, saving pins and reducing complexity. The application note says that: For unregulated applications, the supply voltage can be determined from a conversion of…

Hand SMD assembly and frying pan reflow

People often ask how I assemble SMD boards, the video below is sped up to 20x and demonstrates the process. It takes a few minutes to dab some solder paste on each pad, then parts are placed using anti-magnetic tweezers. Finally the whole lot is carefully put into a frying pan and heated quickly over a gas hob. Don’t share the frying pan with anything else - you don’t want to be mixing…

Flyspray

Even more bugs that should have died in 2005..! This time it is Gentoo bug 77873 . Perhaps there are a glut of bored open source developers who have time to devote to bugs that really aren’t very important 😄.

Morse code spooks

After some recent discussions with two friends Rich & Dave I have been playing with WebSDR, decoding all sorts of transmissions using MultiPSK . I have never been particularly interested in amateur or “ham” radio but receiving and decoding signals from around the world is a fun way to pass a cold evening. There is lots to find: weather information, humorous IRC style chat, worldwide…

More dead bugs

Another new year, another bug from the past. The last one was from 2007 but this beats it by over a year. I haven’t used KDE or Konqueror for a few years now, but I hope the resolution of KDE bug 120138 brings happiness to someone.

Neat prototyping boards

Today I received some prototyping boards from Mike at White Wing Logic . These are a little like stripboard/veroboard on steroids, they have footprints for a number of different surface mount parts and connectors with breakout pads. I have used breadboard or custom PCBs solely for a few years but increasingly packages are only available in surface mount. Mike’s prototyping boards are…

Where bugs go to die

I was surprised today to receive an email about a bug. In itself this isn’t uncommon, but I didn’t remember the bug very well. The bug in question is Wireshark bug #1850 . I was using tshark for a work project and lacked the skills to fix it myself. Why was it a surprise? I reported it on 2007-09-17 14:01 PDT. Even allowing for Pacific Daylight Time that’s a rather long time ago.

PCB0001 - 18F breakout

This wasn’t the first PCB I produced but I had to start numbering somewhere.. The board was designed by my friend Howard, all I did was tidy up the silkscreen and send it off for manufacture. I now have a selection with varying 18F PICs on and it is probably my most used PCB for breadboarding new designs. Any 28 pin SOIC 18F series chip can be used, all pins are broken out onto the header.…

Highlighting admin comments in the Responsive theme

One thing I like about some blogs is that you can easily see when the admin has replied to comments. It is easy to tweak the Responsive theme to change the colour of these comments by including a few lines of CSS. Click on “Appearance -> Theme Options” in the WordPress admin section, then expand the “Custom CSS Styles” section. You should put the CSS here instead of editing…

Updated ST7565 library

I have made a few changes to my ST7565 library, available from GitHub . Firstly the configuration is now broken out into a new file, so that st7565.h and st7565.c can be overwritten when the library updates without interfering with port settings. A quick fix is included for the dogm displays which appear to reverse the screen in a different way to the previous screen I tested. I will do a full…

Generating a simple sine wave

I needed a sine wave carrier for a magnetic transponder system I am working on. Various types of crystal based oscillator are available such as the Pierce , but these can be tricky to design and ensure they work correctly. Rich suggested using a square wave oscillator with a filter to turn it into a sine wave. The filter attenuates all frequencies except the fundamental frequency, which should…

Breadboard power supply

I am currently trying to document the various electronics I have done previously. A brief page about my breadboard power supply is now available.

PCB0003 - Breadboard supply

This is a very simple PCB based on the LM317 voltage regulator. For years I used a 7805 on the stripboard below, a fixed 5v output and really poor layout on my behalf. The PCB sits across the end of a normal breadboard and powers both rails. The input is protected with a resettable PTC fuse and the output is selectable between 3.3v and 5v using a jumper. Spacing of the 2 pin headers for the…

The ST7565 display controller

This page covers the theory of using a graphic LCD based on the ST7565 controller. These are widely available with popular sizes of 132x32 and 128x64, a number cost below £10. © Electronic Assembly, lcd-module.de The tutorial follows the same path I took whilst developing a simple library for a screen I had bought. I set myself the challenge of doing this from scratch, rather than using code from…

PCB0006 - RFM12 breakout

I made this simple little board so I could use the popular Hope RFM12 with a breadboard. This allows experimentation with the various FIFO modes and code to interface with the chip. Stray capacitance from the breadboard doesn’t seem to have a huge effect, I was able to send and receive data just fine using a simple 1/4 wave antenna made from wire. To enable reuse of the RFM12 module I found…

New WordPress template for the site

I have updated the template for this site to use the Responsive theme from ThemeID . The theme is one of the most downloaded in the WordPress theme library and seems to scale really well for screen size, including on phones and tablets. It is also wider and long posts that contain code and images look much better. Thanks ThemeID!