Building a Bjorn

Learn How to Build, Configure, and Connect to a Raspberry Pi Zero 2 Based Network Scanning and Offensive Security Tool

A few days ago, I was doomscrolling when this Bjorn thing came across my feed.

I said out loud, “Hey, that looks [redacted expletive] sweet!” This scared my wife and children and disappointed my parents. To regain their approval, I decided to delete Facebook, lawyer up, hit the gym, and show them all that the Bjorn really was “[redacted expletive] sweet!”

I had an old Raspberry Pi Zero and Waveshare e-ink screen V2 lying around from our previous blog post building a pwnagotchi; however, I experienced a lot of errors during the automated and manual installation. After a few hours of fear, anger, and existential dread, I threw in the towel and ordered a Raspberry Pi Zero 2 WH and Waveshare e-ink screen V4. That night I slept on the couch and my parents informed me that I was no longer in their will.

The next day, I woke up with a painful back and a crushed ego. My wife and children had left. I found a note that said, “You have brought great shame to our family. We’ll come back when you have a completed Bjorn.” Using this as motivation, I found a parts list on d_z_az’s Linktree and watched their YouTube video below, which helped tremendously. Unfortunately, the YouTube video was taken down for “violating YouTube’s Community Guidelines.” Jerks. And it’s back! A lot of the time ordering the correct parts is a big part of the battle. It could be that my life’s purpose is to ensure that you build a working Bjorn on your first try.

Parts List Bezos

2.13inch E-Ink Display HAT V4 Version - $22.07:

PiSugar S Portable 1200 mAh UPS Lithium Battery - $27.99:

Lexar E-Series 32GB Micro SD Card 5 Pack - $25.99:

Pi Zero 2 WH - Pre-Soldered Header - $27.99:

3D printed case - $1.32 in material:

Total = $105.36

Parts List China

2.13inch E-Ink Display HAT V4 Version - $16.80:

PiSugar S Portable 1200 mAh UPS Lithium Battery - $33.01:

SanDisk Micro SD Card C10 32GB - $3.68

Pi Zero 2 WH - Pre-Soldered Header - $25.42

3D printed case - $1.32 in material:

Total = $80.23

What is a Bjorn?

Bjorn is a « Tamagotchi like » sophisticated, autonomous network scanning, vulnerability assessment, and offensive security tool designed to run on a Raspberry Pi equipped with a 2.13-inch e-Paper HAT. [Redacted expletive] sweet right?

Features

  • Network Scanning: Identifies live hosts and open ports on the network.

  • Vulnerability Assessment: Performs vulnerability scans using Nmap and other tools. System Attacks: Conducts brute-force attacks on various services (FTP, SSH, SMB, RDP, Telnet, SQL).

  • File Stealing: Extracts data from vulnerable services.

  • User Interface: Real-time display on the e-Paper HAT and web interface for monitoring and interaction.

Who Created Bjorn?

The author did have a heart attack and understandably took a break from the project; however, the Discord community is active, and the project does seem to be getting some traction from other contributors.

The author’s update on the delay of the next update.

Please contribute to the author if you enjoy the project and can afford it 🙂 

  • ONLY TEST ON NETWORKS FOR WHICH YOU ARE AUTHORIZED.

  • This information is for educational purposes only.

  • I am not an attorney.

  • Attacking devices without permission is likely a violation of the Computer Fraud and Abuse Act (CFAA). They will put you in Federal prison for a long time for hacking in the United States of America.

  • States and countries may have their own laws pertaining to the unauthorized access and collection of data.

Display Guide

Assembly

Be sure to read, follow, and understand the directions 😉:

Directions

Oops. I probably should have read the directions.

Side A

Side B

The battery

Flashing

Set username and password to “bjorn”

Scare your wife and kids by turning the sound all the way up and selecting “Play sound when finished”

Enable SSH

Flashing

Flashing completed

Identifying Bjorn’s IP Address

nmap -Pn -vv 192.168.1.0/24 -p 22 --open

Connecting to SSH via putty

First login

Runing the Installer

wget https://raw.githubusercontent.com/infinition/Bjorn/refs/heads/main/install_bjorn.sh

Install screen.

sudo apt install screen

Open a screen session (we do this in the event your wireless connection is not good. This allows you to reconnect to the ssh session using “screen -r one” if you happen to get disconnected during the installation).

screen -S one

Run the installer.

sudo chmod +x install_bjorn.sh && sudo ./install_bjorn.sh

Choose option 1 for automatic installation. It may take a while as a lot of packages and modules.

Choose option 4 for the screen waveshare v4.

Running the installation script

The installation will run for a while. You can watch it or take ☕ break.

Installation

Error

Enter 1 to retry and press enter.

Error 2

Enter 1 to retry and press enter.

Error 3

Enter 1 to retry and press enter.

Installation completed

Take note of the information for USB gadget and press y and enter to restart.

Log back in once restarted and be sure to change the bjorn password with passwd.

sudo passwd bjorn

Troubleshooting

During testing and writing this blog the first time I ran the installation everything worked fine except the web interface wouldn’t start.

The second time was documented above and had a few errors during installation and the Bjorn service was not started. I SSH’d back into the pi zero and re-ran the install_bjorn.sh script and it worked. I think the issues were related to a poor Wi-Fi connection ¯\_(ツ)_/¯.

3D Printing the Case on a Bambu P1S

Case created by r3dfish, STL file located here:

Shout out to Chris Meyer from Sector67. Thank you for helping me with the printer!

Configure 3D printer

Set material type

Verify settings

Completed Build

Completed build

My wife and children returned the next morning, and I was back in my parents’ will.

The Web Interface

The web interface

Credentials page

Network knowledge base page

Loot page

Tailing the log page

The virtual screen page

Connecting with USB

Had a couple issues connecting over USB:

  1. The drivers on my Windows 11 desktop needed to be updated. See the RDNIS part of the wiki if Windows device manager isn't detecting the USB ethernet adapter. Windows 11 solution is the same as the Windows 10 solution https://pwnagotchi.org/common-issues/index.html.

  2. The pi zero was taking the static IP address configured in /etc/network/interfaces even though it appeared to be set correctly.

Pi Zero’s usb0 IP address:

sudo nano /etc/dhcpcd.conf

add at the end of the file:

interface usb0
static ip_address=172.20.2.1/24

/etc/dhcpcd.conf

Then edit /etc/networks

sudo nano /etc/networks

To look like this:

/etc/networks

sudo reboot

You should be able to connect now by configuring your ethernet adapter to:

  • IP Address: 172.20.2.2

  • Subnet Mask: 255.255.255.0

  • Default Gateway: 172.20.2.1

  • DNS Servers: 8.8.8.8, 8.8.4.4

You should now be able to connect through SSH and USB ethernet adapter using Putty:

More info on troubleshooting here:

Watch for our follow-up blog for instructions on how to use Bjorn and more details on the individual settings 😁!

Hack the planet! - @TheL0singEdge