- #_shellntel Blog
- Posts
- Building a Bjorn
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 🙂
Legal
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

Detailed instructions located here https://github.com/infinition/Bjorn?tab=readme-ov-file#-getting-started
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:
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.
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