Python3实现ICMP远控后门(上)

这几天一直在研究远控木马的一些通信协议,比如TCP,UDP,ICMP,DNS,HTTP等等,对于TCP,UDP这两种就不讲解了,因为太常见了。

大家可能对采用ICMP,DNS的木马不是很熟悉,其实这两种协议在木马通信上很流行,特点是比较隐蔽,不容易被封锁。HTTP协议主要是用在以大型网站作为C&C服务器的场景,例如之前就有使用twitter作为 C&C服务器。

本次就以ICMP协议进行分析,并使用Python开发出一个ICMP远控后门,在写这篇文章的之前,我感觉大家对ICMP协议肯定不会很了解,因此将ICMP后门的实现分成几篇进行讲解,循序渐进。本篇就讲解一下ICMP协议的内容,并使用Python实现一个简单的ping。

第一节 ICMP协议是什么鬼?

不知道大家有没有ping过百度,用来测试自己的网络是不是畅通,如下图所示。

ping命令使用的就是ICMP协议,在ping百度的过程中,咱们使用wireshark抓一下包,这样比较直观。如下图所示,ICMP协议是典型的一问一答模式,本机向百度服务器发送ICMP请求包,如果请求包成功到达目的地,百度服务器则回应ICMP响应包。

第二节 ICMP协议及报文格式

ICMP(Internet Control Message Protocol)是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息。控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。ICMP报文以IP协议为基础,其报文格式如下:

如上图所示,ICMP协议在实际传输中数据包:20字节IP首部 + 8字节ICMP首部+ 1472字节<数据大小>38字节。对于ICMP首部细分为8位类型+8位代码+16位校验和+16位标识符+16位序列号,其中类型的取值如下,我们比较关注的是请求(取值为8)和应答(取值为0)。

第三节 ping实现

在上面我们简单讲解了ICMP的报文格式,接下来我们使用Python3根据报文格式简单实现一下ping功能,主要用到了raw socket技术,即原始套接字,使用struct pack方法打包ICMP报文。代码实现如下所示:

原始套接字的初始化,使用如下代码:

    socket.socket(socket.AF_INET,socket.SOCK_RAW, socket.getprotobyname(‘icmp‘))

里面比较复杂的是计算校验和,计算方法如下:

  1. ICMP首部和数据整个内容看成16比特整数序列(按网络字节顺序),
  2. 对每个整数分别计算其二进制反码,然后相加
  3. 再对结果计算一次二进制反码而求得

测试ping效果

注意使用管理员权限运行Python脚本,直接ping 百度的地址 220.181.112.244

同时打开wireshark抓包。

最后 完整代码

ping的完整代码,请关注公众号,查看 原文。记得推荐哟。

原文地址:https://www.cnblogs.com/qiyeboy/p/9017921.html

时间: 2024-10-09 01:03:37

Python3实现ICMP远控后门(上)的相关文章

Python3实现ICMP远控后门(下)之“Boss”出场

ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 第三篇:Python3实现ICMP远控后门(中)之"嗅探"黑科技 熬到最后一篇了,本系列的Boss要出场了,实现了一个有意思的ICMP后门,暂时使用pyinstaller打包成了一个win32和64版本,如下图所示. 在前几篇的基础上,本篇扩展的知识点为数据的加密和解密,以及shell的调用,并最终生成一个可用的ICMP后门.本篇总共分为五节,需要花费5分钟时

[实战]用nc+简单batvbs脚本+winrar制作迷你远控后门

前言 某大佬某天和我聊起了nc,并且提到了nc正反向shell这个概念. 我对nc之前的了解程度仅局限于:可以侦听TCP/UDP端口,发起对应的连接. 真正的远控还没实践过,所以决定写个小后门试一试. NC.正向Shell.反向Shell介绍 什么是nc: nc是netcat的简写,就是一个简单.可靠的网络工具.当然因为某些奇怪原因,已经被各大杀毒轮番轰炸.原因就和下文所述有关. nc的作用: (1)实现任意TCP/UDP端口的侦听,nc可以作为服务器端以TCP或UDP方式侦听指定端口 (2)端

【原创】利用Office宏实现powershell payload远控

本文将演示使用Veil-Evasion生成远控所需要的payload以及监听器,然后使用MacroShop生成payload 相关的VBA代码,最后演示将VBA代码写入.doc文本文档的宏中. 环境:虚拟机_Kali          依赖:Veil-Evasion.MacroShop 0x00 安装Veil-Evasion.MacroShop (老鸟可绕过) 本例采用git 安装. 打开Veil-Evasion的github页面:https://github.com/Veil-Framewor

python3、selenium、autoit3,通过flash控件上传文件

autoit.au3 #include <Constants.au3> WinWait("打开","",20); //暂停执行脚本,直到上传对话框出现 WinActive("打开") WinWaitActive("打开","",5); //激活上传窗口 ControlFocus("打开", "", "[CLASS:Edit; INSTANCE:1

老王教你分析远控木马是怎样工作的

本 来是一个朋友给我,要我找下后门的,可是这远控太强大了,而且作者的汇编基础非常强,就没找到,倒是无巧不成书的,发现了他的隐藏技术,瞬间感觉喜欢上 了,于是写成了win32 分享下,3分钟前,主动防御会拦截,但是电脑重启后  程序可以运行,现在又测试了下,已经变成高危病毒了,无语的360啊...源码如下,各位可以根据 需要修改: [AppleScript] 纯文本查看 复制代码 ? 001 002 003 004 005 006 007 008 009 010 011 012 013 014 0

纪念我在乙方安全公司工作的2年_关于远控

乙方安全公司工作主要还是往外卖一些安全产品.比如做数据取证的,入侵检测的,或者往外卖硬件的IDS IPS没有实力的就买别家的产品自己贴牌,深深感受到乙方公司关系取得订单和销售的重要.我之前的公司还是做取数据的比较多.既然要拿数据一套好用的远控是必不可少的.在乙方公司的这段时间特别感谢小鱼 hack970.学到了好多东西,不管是技术上还是精神上.得到了很多鼓励. 如果要取境外的数据的话.远控从结构上要考虑这三点. 1  多协议穿墙.这方面就是Plug X 做的是比较好的,好像再没有看到比较出彩的.

控制指令高达二十多种:远控木马Dendoroid.B分析报告( 转)

控制指令高达二十多种:远控木马Dendoroid.B分析报告 IT社区推荐资讯 - ITIndex.net Apr 24 近期,360团队截获了一款功能强大的专业间谍软件,它可以通过PC端远程控制中招用户的手机,控制指令高达二十多种,窃取用户手机通讯录,短信,照片及其它重要隐私数据.这个远控木马与去年知名的Android.Dendoroid木马家族手段非常相似,所以我们将其命名为 Android.Dendoroid.B. 一.木马Android受控端恶意行为分析 ‍‍ 1.释放文件,隐藏图标,启

利用kage把msf变成可视化远控平台

项目下载https://github.com/WayzDev/Kage/releases 这里用kali系统演示 1,先下载kage: 2,右击给予执行权限 3,启动msf msfconsole -q -x 'load msgrpc ServerHost=0.0.0.0 ServerPort=55552 User=msfuser Pass=msfpass' 注意:如果kage跟msf不在一个机器上,上面命令如果不带serverhost参数,则只容许127.0.0.1链接我们也那么可以通过 msf

linux vncserver 远控

在Linux上启动VNC Server(如果没安装的话那就先安装) 执行vncserver命令: [[email protected] root]# vncserver You will require a password to access your desktops. Password: ----为了不想任何人都可以任意遥控此计算机.因此当第 Verify: ---1次启动VNC server时,会要求设置网络遥控的密码. 这样后就设置了密码,再运行vncserver 记住这个1,下面会用