What is a Shell
A shell is a software that acts as a intermediary between user and the kernel. It provides the user an interface which provides access to the services of kernel.
Eg : Bash shell etc..
Code:
+-----------------+ _______________ +----------------+ | Aneesh | Behind NAT / / | Shabbir | | With Private ip | ----> ----> / Internet /----> ----> | with Public IP | +-----------------+ /______________/ +----------------+
Bind Shell
Lets suppose Shabbir has encountered some problem with his system and need some help from Aneesh.. He simply binds his shell (cmd.exe or /bin/bash) to a specific port and sends Aneesh its port no and other details.. In this scenario Aneesh can simply connect to the Shabbir's Machine and Get the Shell!!So in this case :-
Aneesh's End :-Connect to shabbir (Acts as a client)
Shabbir's End :-Listen for connections (listen / act as a server and bind his command shell on the network..)
Reverse Shell
Now lets suppose after some days Aneesh screwed up his system and now he asks Shabbir for his help..But in this case the bind shell cannot be used as 'Aneesh' doesn't have a Public IP and his system is not available publicly!! Now to conquer this problem. Aneesh sends his command prompt to Shabbir.. So , in this case :-
Aneesh's End :-Would bind his shell and send it to Shabbir through the network..(Connect)
Shabbir's End :-Listen for connections , Respond to them (listen / act as a server)
That's all for this article.. I hope the viewers like it..
1 comments:
very clearly, thanks for sharing guys
Please try to comment if i have done well or if you have finished learning from the blog
EmoticonEmoticon