Useful Commands/Security: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
Line 87: Line 87:


= Forward DNS service =
= Forward DNS service =
<source lang="bash">
# Forward localhost:53(udp) to 8.8.8.8:53(udp)
mkfifo outgoing.fifo
mkfifo incoming.fifo
sudo nc -u -l 53 > outgoing.fifo < incoming.fifo &
nc -u 8.8.8.8 53 > incoming.fifo < outgoing.fifo &
# Test
nslookup www.facebook.com
</source>
<quickgv name="ncflow" theme="warm">
<quickgv name="ncflow" theme="warm">
rankdir=TB;
rankdir=TB;
Line 92: Line 103:
CLIENT [label="DNS request\n$ nslookup www.facebook.com localhost"];
CLIENT [label="DNS request\n$ nslookup www.facebook.com localhost"];
SS [label="UDP Service LISTEN *:53\n$ nc -u -l 53 > outgoing.fifo < incoming.fifo"];
SS [label="UDP Service LISTEN *:53\n$ nc -u -l 53 > outgoing.fifo < incoming.fifo"];
SOCK [label="UDP Connection 192.168.1.1:53\n$ nc -u 192.168.1.1 53 > incoming.fifo < outgoing.fifo"];
SOCK [label="UDP Connection 8.8.8.8:53\n$ nc -u 8.8.8.8 53 > incoming.fifo < outgoing.fifo"];
DNS [label="DNS Server 192.168.1.1:53"];
DNS [label="DNS Server 8.8.8.8:53"];


OF [label="outgoing.fifo"];
OF [label="outgoing.fifo"];

Revision as of 03:12, 22 February 2019

Frequently Used Commands

TODO Command
Indirect outgoing for PostgreSQL
# [Private]
# localhost -> localhost:15432
#           -> server:22
#           -> somewhere.com:5432
ssh -NCfL 15432:somewhere.com:5432 server

# [Shared]
# any -> *:15432
#     -> server:22
#     -> somewhere.com:5432
ssh -NCfL *:15432:somewhere.com:5432 server
Indirect outgoing for Web
# [Private]
# localhost -> localhost:3128
#     -> server:22
#     -> *:*
ssh -NCfD localhost:3128 server

# [Shared]
# any -> *:3128
#     -> server:22
#     -> *:*
ssh -NCfD *:3128 server
Share MariaDB in LAN
# Step 1: Listen (Run at LAN)
# Listen server:13306 -> server:22
#                     -> localhost:3306
ssh -NCfR 13306:localhost:3306 server

# Step 2: Share (Run at Home/WAN)
# any -> server:3306
#     -> server:13306
#     -> server:22
#     -> localhost:3306
ssh -NCfL *:3306:localhost:13306 localhost
List tunnels
# List full commands.
ps ax | awk '/ssh \-NCf/ { print $0 }'

# List settings.
ps ax | awk '/ssh \-NCf/ { print $7 }'

# List pids.
ps ax | awk '/ssh \-NCf/ { print $1 }'

# Kill all tunnels.
kill $(ps ax | awk '/ssh \-NCf/ { print $1 }')
Generate key pair
# Save as default name id_rsa, id_rsa.pub
ssh-keygen
# Save as thefuck, thefuck.pub without password
ssh-keygen -f abc -N ''
# Save as thefuck, thefuck.pub with password 
ssh-keygen -f abc -N '12345'
Generate public key from private key
# Dump
ssh-keygen -yf thefuck.pem
# Save as file
ssh-keygen -yf thefuck.pem > thefuck.pub
# Save as authorized_keys (while ~/.ssh/authorized_keys didn't exist)
ssh-keygen -yf thefuck.pem > authorized_keys
# Append into authorized_keys
ssh-keygen -yf thefuck.pem >> authorized_keys

Forward DNS service

# Forward localhost:53(udp) to 8.8.8.8:53(udp)
mkfifo outgoing.fifo
mkfifo incoming.fifo
sudo nc -u -l 53 > outgoing.fifo < incoming.fifo &
nc -u 8.8.8.8 53 > incoming.fifo < outgoing.fifo &

# Test
nslookup www.facebook.com