Showing posts with label Kali. Show all posts
Showing posts with label Kali. Show all posts

Sunday, April 09, 2023

Kali Linux (2023.1) randomly freezes on Dell Latitude 7490

Kali Linux(2023.1) randomly hard freezes on Dell Latitude 7490. This can happen immediately or after few minutes.

This is  likely caused by a bug in integrated Intel GPU (i915) driver, see the following links for more information:

Bug 102586 - System freeze with Kernels > 4.11.x (freeze on 4.12.x and 4.13.x) 

Fix for Intel i915 GPU Freeze on Recent Linux Kernels

Linux 5.x random kernel panic workaround

Workaround:

  1. Touch /etc/modprobe.d/i915.conf
  2. Add this line
    options i915 enable_psr=0
  3. Reboot

//end

Monday, May 17, 2021

Kali Linux tmux is not displaying correctly

Kali Linux tmux is not displaying correctly

I have a Kali Linux installed using network installer. Running tmux over SSH does not display correctly. 

The reason it is not displaying correctly is that the environment variables LANG and LC_CTYPE were not set. To fix it do:
$: sudo locale-gen "en_US.UTF-8"
$: sudo dpkg-reconfigure locales
After reboot, tmux now looks much better

Sunday, May 16, 2021

Reverse SSH shell to WSL2

Reverse SSH shell to WSL2

WLS2 is configured by default in a NAT network.That means we can't generally reach it from the outside. 

To connect to it externally, let us configure WSL 2 for reverse shell

Prerequisite

  • Another SSH server that acts as gateway. This server should be accessible from the outside. For this exercise we will be using 192.168.2.30 as the gateway IP.

Step 1: Enable SSH on WSL2

$: sudo ssh-keygen -A
Then start SSH:
$: sudo service ssh start

Step 2: Verify connection from WSL2 to the gateway SSH server

$: ssh -R 2222:localhost:22 u1@192.168.2.30
Below is an example connection to Kali SSH server
From Kali gateway server, verify that we can connect to port 2222, like:
$: ssh u2@localhost -p 2222
By default WSL2 does not allow SSH connection using password, you will get an error like below.
u2@localhost: Permission denied (publickey).

To fix this, change /etc/ssh/sshd_config on WSL2, ensure that: 

  • PasswordAuthentication is set to yes
  • ChallengeResponseAuthentication is set to no
And restart SSH, like so:
$: sudo service ssh restart
Let us try to open the tunnel again, on WSL2 run:
$: ssh -R 2222:localhost:22 u1@192.168.2.30
Now go back to the gateway server and do:
$: ssh u2@localhost -p 2222
You should now be able to connect to the WSL2 from the gateway like below

Step 3: Use public/private key to connect

Providing the password everytime we establish a connection gets really tiring, so let us use public/private key for the connection.
Let us start from WSL2 to the gateway, generate private/public key pair on WSL2:
$: ssh-keygen -t rsa -b 2048
Then copy id_rsa.pub to the gateway, like:
$: cat ~/.ssh/id_rsa.pub | ssh u1@192.168.2.30 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Now, if you re-run the command to create a tunnel, it should just connect without asking for password, like:
$: ssh -R 2222:localhost:22 u1@192.168.2.30
Next up is connection from the gateway to WSL2. Let us generate private/public key on the gateway, like:
$: ssh-keygen -t rsa -b 2048
Then copy id_rsa.pub to the WSL2, like:
$: cat ~/.ssh/id_rsa.pub | ssh u2@localhost -p 2222 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Now we are making progress.

Step 4: Create the tunnel when WSL2 is started

It is probably best for the tunnel that was created to require no interaction, so we run it like:
$: ssh -R 2222:localhost:22 u1@192.168.2.30 -N
Or better yet, run it in a background
$: ssh -R 2222:localhost:22 u1@192.168.2.30 -N &
Now to invoke this on WSL start, we need to ensure that SSH server is started and then create the tunnel. We don't want sudo to ask for the password when starting the service, so let us allow running sudo without password for the default account (u2).
$: sudo visudo
Then add the following:
u2 ALL=(ALL) NOPASSWD: ALL
Do save and exit in Nano (Ctrl+S followed by Ctrl+X).
Then add the following to ~/.bashrc, do this towards the end of the file:
sudo service ssh status
if [ $? -ne 0 ]; then
  echo "Starting"
  sudo service ssh start
  echo "tunnel"
  nohup ssh -R 2222:localhost:22 u1@192.168.2.30 -N >/dev/null 2>&1 &
fi

Step 5: Connect to WSL2 via the gateway

Now for the fun stuff, to connect to WSL2 from getaway, we need to create another tunnel!!! This time ssh client will listen on port 2222 locally, any connection to that port will be tunneled to the gateway (192.168.2.30) on port 2222. Remember that port 2222 on the gateway was reverse tunnelled to port 22 on WSL2:
c:\> ssh -L 2222:localhost:2222 u1@192.168.2.30
So to finally connect to WSL2, do:
c:\> ssh u2@localhost -p 2222

Fix corrupted console font on Kali Linux 2021.1

Fix corrupted console font on Kali Linux 2021.1
I have installed Kali Linux on a VM with 512 MB memory and 2 vCPU using network installer. The installation was uneventful but my first login shows the following:
It is not pretty, so to fix it do:
$: sudo dpkg-reconfigure console-setup

Then select:

  • UTF-8
  • Guess optimal character set
  • Terminus
  • 8x16

Select different font type as appropriate.

It should now look much better

Keywords: Kali, Linux, Console, garbled, corrupted, text

Monday, July 27, 2020

Wednesday, October 17, 2018

Copy/paste text from Kali Linux (VM) to Windows host using VirtualBox

Tested on:
Host: Windows 10 Enterprise (1803) with VirtualBox 5.2.18
Guest: Kali Linux 2018.3a

Goal: Copy/paste text from Kali Linux from/to Windows host

Solution:

This is not absolutely necessary but is a good practice, update Kali to latest version using a terminal, like:

:/# apt update
:/# apt upgrade
:/# apt autoremove

Sometimes this is not enough to bring Kali to the latest and greatest, you may have to also upgrade it, like:
:/# apt full-upgrade

I would advice to reboot the machine at this point so that we will be running the latest kernel. The next command may also pick the wrong version of the kernel headers if the machine(VM) is running the older version of the kernel. Now, install dkms so that VirtualBox guest additions can be compiled as part of the kernel, like:
:/# apt install dkms

Now mount VirtualBox guest additions, this will be done from the external/host UI of the VirtualBox guest VM. For example, click on Devices | Insert Guest Additions CD Image... Now head into the VM and do:
:/# cd /media/cdrom
:/# sh ./VBoxLinuxAdditions.run

Then reboot the machine. To copy/paste do Devices | Shared Clipboard | Bidirectional or other options as appropriate. Copy/paste between the host and VM should now work.

Sunday, September 11, 2016

Add a regular user in Kali Linux

Create a new user, say timus.
# adduser timus
Add user to sudoers group. This enables the user to become root when needed, for example to install new software.
# usermod -a -G sudo timus

References:
http://8thstring.blogspot.com/2013/07/howto-create-new-user-in-lubuntu.html
http://8thstring.blogspot.com/2012/12/adding-existing-user-to-group-in-ubuntu.html


Install Linux headers in Kali

In Kali Linux 2016.2, Linux headers were not installed when build-essential package was installed. Linux-headers is need when installing VirtualBox guest additions. To install the headers, do:

# apt install linux-headers-$(uname -r)

This should apply to the following distribution as well:
- Debian
- Ubuntu and derivatives

Reference(s):
http://askubuntu.com/questions/75709/how-do-i-install-kernel-header-files


CPP Quick Guide

Basics Hello world User input While loop If statement For loop Switch statement Read file using ifstream Write to a file using ofstr...