KGM's notes (EN)
2 subscribers
1 photo
6 links
Original InfoSec content (web/mobile/social).
Sharing what I wish I had when I started.
Contact: @Russian_OSlNT
Download Telegram
Channel created
Important nuances of exploiting Citrix Bleed 2 (CVE-2025-5777):

1. Paths that attackers may target:
/p/u/doAuthentication.do
/nf/auth/doAuthentication.do


2. The POST request body will contain a single parameter without an equals sign and value:
login


3. (Additional) If CSRF tokens are used, the attack will be performed in two stages:
1st - obtaining a valid CSRF token via a preliminary GET request, and 2nd - exploiting the vulnerability via a POST request with all the necessary additional HTTP headers.

Attention! Both the request body and the request path are case-insensitive - they may use any combination of uppercase and lowercase letters! This is crucial to account for when creating WAF rules.

โ€”
KGM's notes
| KGM's notes (EN)
๐Ÿ‘1๐Ÿ”ฅ1๐Ÿ’ฏ1
๐Ÿ”ง Fixing Time Synchronization Issues in Kali Linux (on VMware)

I love working with VMware Workstation Pro and periodically download new virtual machine builds from the official Kali Linux website. And every time I run into the time desynchronization issue ๐Ÿ•“

After much experimentation, I found a working solution that I now use on a regular basis.

๐Ÿ“ Example of setting the correct Moscow time on a Kali Linux VM:

# Update package list
sudo apt update

# Install systemd-timesyncd for NTP synchronization
sudo apt install systemd-timesyncd -y

# Set timezone (Moscow, UTC+3)
sudo timedatectl set-timezone Europe/Moscow

# Enable automatic time synchronization
sudo timedatectl set-ntp true

# Restart the synchronization service
sudo systemctl restart systemd-timesyncd

# Check the result. Make sure the time on your system is set correctly
timedatectl

# Reboot to apply all changes
reboot


๐Ÿ”— Useful links:
- Where to download VMware Workstation Pro
- Ready-made Kali Linux virtual machines

#linux #kali #vmware #setup

โ€”
KGM's notes | KGM's notes (EN)
โค1๐Ÿ‘1๐Ÿค1
๐Ÿ›  Installing the Latest Version of Go on Ubuntu/Debian/Kali Linux (Part 1/2)

If you need to install the latest version of Go, configure the PATH variable for utilities installed via go install, as well as ProjectDiscovery tools (via pdtm), run the following commands:
# Update package list
sudo apt update

# Install the jq utility
sudo apt install jq -y

# Get the latest stable Go version from the official JSON API
LATEST_VERSION=$(curl -s https://go.dev/dl/?mode=json | jq -r '.[0].version')

# Generate the archive filename (e.g., go1.25.4.linux-amd64.tar.gz)
FILENAME="${LATEST_VERSION}.linux-amd64.tar.gz"

# Download the latest version
wget "https://go.dev/dl/${FILENAME}" -O "/tmp/${FILENAME}"

# Remove the old installation and extract the new one
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "/tmp/${FILENAME}"

# Add Go paths to the PATH variable
echo 'export PATH=/usr/local/go/bin:~/go/bin:~/.pdtm/go/bin:$PATH' >> ~/.profile

# Apply changes to the current session
source ~/.profile

# Verify the installed version
echo "Go updated to version: $LATEST_VERSION"
go version


โš ๏ธ If you're using Kali Linux (which uses zsh by default at the time of writing), additionally run the following commands:
echo 'export PATH=/usr/local/go/bin:~/go/bin:~/.pdtm/go/bin:$PATH' >> ~/.zprofile
source ~/.zprofile
go version


โœ… Expected result:
Go updated to version: go1.25.4
go version go1.25.4 linux/amd64


๐Ÿ”„ Updating Go to the latest version:
LATEST_VERSION=$(curl -s https://go.dev/dl/?mode=json | jq -r '.[0].version')
FILENAME="${LATEST_VERSION}.linux-amd64.tar.gz"
wget "https://go.dev/dl/${FILENAME}" -O "/tmp/${FILENAME}"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "/tmp/${FILENAME}"
echo "Go updated to version: $LATEST_VERSION"
go version

๐Ÿ’ก PATH is already configured during the initial installation, no need to add it again.

๐Ÿ”— Useful links:
- Official Go website
- ProjectDiscovery
- pdtm

#linux #go #setup
โ€”
KGM's notes | KGM's notes (EN)
๐Ÿ›  Downgrading Go to a Specific Version on Ubuntu/Debian/Kali Linux (Part 2/2)

If you've already installed the latest version of Go (as described in the previous note) and want to roll back to a specific older version, simply run the following commands:
# Specify the version number here, e.g. go1.23.2.linux-amd64.tar.gz
FILENAME="go1.23.2.linux-amd64.tar.gz"

# Download the desired version
wget "https://go.dev/dl/${FILENAME}" -O "/tmp/${FILENAME}"

# Remove the previous installation and extract the new one
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "/tmp/${FILENAME}"

# Verify the installed version
go version

โœ… Expected output:
go version go1.23.2 linux/amd64


#linux #go #setup
โ€”
KGM's notes | KGM's notes (EN)
๐Ÿ›  PDTM - Tool Manager by ProjectDiscovery
After setting up the correct system time and the latest version of Go, I always install pdtm with all available tools from ProjectDiscovery.
I highly recommend it to everyone involved in web and mobile application security testing.
PDTM (ProjectDiscovery Tool Manager) simplifies the installation, updating, and removal of tools such as nuclei, httpx, subfinder, naabu, dnsx, katana, and many others.

๐Ÿ“ฅ Installing pdtm:

1. Via Go (recommended):
go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest

๐Ÿ’ก If Go is not installed โ€” see the note "Installing the Latest Version of Go on Ubuntu/Debian/Kali Linux", which also covers PATH configuration for ProjectDiscovery tools to work properly.

2. Pre-built binaries:
Available in the Releases section: https://github.com/projectdiscovery/pdtm/releases

๐Ÿš€ Using pdtm:

Install all ProjectDiscovery tools:
pdtm -ia
# or
pdtm -install-all

๐Ÿ’ก It's best to install all tools at once when possible. Before installing all tools, it's recommended to install the dependencies required for some tools to work correctly:
# Dependencies for naabu and shuffledns respectively
sudo apt install -y libpcap-dev massdns


Install specific tools:
pdtm -i nuclei
# or multiple at once
pdtm -i nuclei,httpx,subfinder


๐Ÿ”„ Updating:

Update all installed tools:
pdtm -ua
# or
pdtm -update-all


Update specific tools:
pdtm -u nuclei,httpx


Update pdtm itself:
pdtm -up
# or
pdtm -self-update


๐Ÿ—‘ Removal:

Remove a specific tool:
pdtm -r nuclei


Remove multiple tools:
pdtm -r nuclei,httpx,subfinder


Remove all tools:
pdtm -ra
# or
pdtm -remove-all


๐Ÿ”— Useful links:

- GitHub repository
- Official documentation
- Additional guide on getting started with pdtm

#linux #tools #projectdiscovery #pdtm
โ€”
KGM's notes | KGM's notes (EN)
๐Ÿ–ฅ Running processes that survive terminal closure

Quite often you need to run processes that can take hours or even days (for example, port or web application scans)! Do you really have to keep the terminal open the entire time?!
Popular options for running background processes - & and nohup - have limitations: the first won't survive terminal closure, the second doesn't allow you to return to the process and see output in real-time.
Personally, I use the screen utility, which doesn't have these drawbacks.

๐Ÿ“ฅ Installation:
# Debian/Ubuntu/Kali
sudo apt install screen


๐Ÿš€ Basic commands:
screen -S session_name    # create a named session
screen -ls # list all sessions
screen -r session_name # attach to a session
screen -d -r session # force detach other connections and attach


โŒจ๏ธ Hotkeys inside a screen session:
Ctrl+A, D - detach, the process will keep running

๐Ÿ“œ Viewing output history:
If the process running in screen produced a lot of output, you won't be able to scroll through it without entering a special mode (scroll mode):

Ctrl+A, Esc
- enter scroll mode
Arrow keys โ†‘/โ†“ or PgUp/PgDown - scroll through history
Esc - exit scroll mode

๐Ÿ“‹ Typical usage scenario:
# === Start a network scan ===
screen -S nmap-scan
nmap -sV -sC -p- 192.168.1.0/24 -oA scan_results
# Ctrl+A, D โ€” detach

# === Start a backup ===
screen -S backup
./long_backup_script.sh
# Ctrl+A, D โ€” detach

# === Close the laptop if working remotely, or just close the terminal, go grab some coffee ===

# === Come back, check what's happening ===
screen -ls
# There are screens on:
# 12345.nmap-scan (Detached)
# 12346.backup (Detached)

# Check scan progress
screen -r nmap-scan
# Ctrl+A, Esc โ€” scroll through output, look for discovered ports
# Ctrl+A, D โ€” detach

# Check backup status
screen -r backup
# See file copy progress
# If session is marked as Attached (forgot to detach from another terminal)
screen -d -r backup # force detach and attach here

๐Ÿ’ก Naming sessions with -S is a good habit. Without names you'll have to navigate by numeric IDs, which is inconvenient with multiple parallel tasks.

๐Ÿ—‘ Terminating a session:
If you want to completely close the virtual terminal:
# From inside the session โ€” just exit the shell
exit
# or Ctrl+D

# Or force kill the window
# Ctrl+A, K โ€” confirm with 'y'

# From outside โ€” kill session by name
screen -X -S session_name quit

๐Ÿ’ก As an alternative to screen, you can explore tmux on your own.

๐Ÿ”— Useful links:

- Official screen documentation
- Official tmux documentation

#linux #tools #screen #terminal
โ€”
KGM's notes | KGM's notes (EN)