华为H3C iNode客户端802.1X协议的分析和破解

我司一直使用华为H3C(表面叫华三,实际上就是华为)客户端做上网认证。这货最大的问题是终端管控,会看看你客户端安装了什么,有没有插便携WiFi设备等等,如果不满足条件,就不给上网。一直很好奇,它是如何传输这些信息的,是否可能被重放攻击呢?于是借着搜索,分析了一把它的协议,总结一下如此: 1.首先是客户端用mac地址广播消息,说:“我要上网,服务器在哪里” 2.服务器接到请求,说:“哥在这里,交出用户名” 3.客户端说:“用户名是我的mac地址,给你”。我司是用mac地址作为用户名的。主要Identity字段:aAtxdzQ1Tx8rPxELPVbcxXI= 001F29038A21,后面的部分便是我的mac地址(前面的字段实际上非常重要,这里先跳过) 4.服务器说:“用户名正确,给你个随机值,用这个和你的密码做个MD5上来看看” 5.客户端乖乖送上MD5值,密码还是我的mac值 6.服务器说:“看来是正确的,放你一马吧” 实际上,这就是标准的802.…

用dnsmasq实现Data Retrive over DNS

对于内网渗透来说,传送数据出来,一直是个难题。而DNS是目前互联网的基石,无论你是处在广域网中,还是企业的局域网中,都会使用DNS来做域名解析。本文探讨一种利用DNS解析来做数据传送的手段。该手段英文名Data Retrive over DNS,暂时似乎还不知道中文该怎么称呼才合适,DNS数据获取??该方法是由Miroslav发现的,技术白皮书在此 1.DNS的过程 关于DNS的解析过程,本来想自己画一幅图,但是因为某人已经画了一幅非常专业的流程图,我就不再重复发明轮子了,直接借用过来,原图地址在此 注意要点:用户的普通DNS请求,是可以通过自己的私有服务器进行解析的。 2.为什么该方法很有意思 该方法之所以被关注,基于以下三点原因: 数据传输方式不容易被发现。在很多企业,局域网内的互联网访问是被隔绝的,但是DNS确可以很好的工作。有了该方法,我就可以通过DNS解析,将内网数据传送出去。 数据传输跨平台。一般内网渗透,会有一个问题,用什么工具把数据传输出去呢?Linux上有nc等大把工具,但是Windows上确少的可怜。有没有什么命令是跨平台的呢?答案是ping。ping命令在使用时,必然会有一个DNS解析过程。因此可以利用ping来传输数据 不光是ping,…

写了一个BurpSuite日志过滤程序,可以加快SqlMap的分析过程

BurpLogFilter 一个python3写的,用于过滤BurpSuite日志的小程序,代码在这里 A python3 program to filter BurpSuite log file.Code is here WHY? 为什么要写这个程序呢?强大的SqlMap支持使用BurpSuite的日志进行批量分析,但是BurpSuite的日志记录了所有走代理的流量,包括静态资源啊,重复的提交啊,这些都会影响SqlMap的分析效率。于是打算写一个小程序,可以做到: 可以按照域名过滤请求 可以自动过滤静态资源请求 可以自动按照模式过滤URL,即相同URL和参数的请求,只会留其一(参数值对于SqlMap没有什么作用) Why I wrote this program?The powerful SqlMap accepts a BurpSuite log file to make batch anaylze,but the log…

关于使用mod_proxy_wstunnel时,偶尔不能正常连接的问题解决

最近在测试自己的一个构想,一个宇宙模型。因为需要频繁和后台交互数据,于是想上websocket。用tornado搭建了服务后端,还需要Apache配合进行反向代理,查了一下,有个mod_proxy_wstunnel模块可以做ws的反向代理,配置起来也比较简单 ProxyPass "/ws2/" "ws://echo.websocket.org/" ProxyPass "/wss2/" "wss://echo.websocket.org/" 上了模块后,出现Safari偶尔(或者说,比较频繁的)出现错误status line does not end with crlf。查看apache的日志,发现错误码500。于是放狗搜索,发现了一个bug。原因基本上是因为apache复用了之前建立的连接,导致再次使用该连接握手时,出现了错误。解决方案有两个:…

用树莓派打造无线中继科学上网路由器

请各位看官注意两个关键字:无线中继 科学上网。 ***为什么要做无线中继?***因为两个场景:第一个是在我司,WIFI上网同一账户只能连接两个设备,现在两个设备哪里够?第二个场景是在宾馆,我希望就像在家里一样,所有设备都是连上路由器就可以免设置科学上网,这就需要对宾馆原来的WIFI进行处理 ***为什么要随时科学上网?***我只能说,为了知识和真相 树莓派使用的系统:RASPBIAN JESSIE 另外,因为手头没有路由器,因此,本文介绍利用电脑直连树莓派进行相关设置。不多说,开始了。 1.设置IP 按照树莓派官方的做法,树莓派需要一根网线直连路由器,通过路由器的DHCP分配到IP后,就可以远程登录了。但是刚才已经提到,因为手头没有路由器,所以我们需要用电脑直连树莓派进行远程登录。将制作好的树莓派SD卡插入电脑,会弹出一个名为Boot的磁盘,其中有一个cmdline.txt文件,打开之后,在最后的位置追加一个IP如下: dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=…

私钥的安全保护

公私钥体系是目前整个安全体系的基石,肩负着加密及用户认证的重担。但是,落实在计算机系统中,私钥仅仅是一个一般的文件。可以被窥视,甚至被拷贝。如何防止这种情况的发生呢?今天,我们就来谈一谈私钥的安全保护。 一般的,当我们用命令ssh-keygen -t rsa产生对称密钥时,会出现如下提示: Generating public/private rsa key pair. Enter file in which to save the key (/home/pi/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 其中,第一次是询问我们把私钥存储在什么位置,第二次则是要我们设置一个passphrase。那么这个passphrase是个什么东西呢?简而言之,它是用来对我们私钥进行加密的对称密钥。 如果打开一个设置了passphrase的私钥,我们可以看到 -----BEGIN RSA…

关于CBC中Padding Oracle攻击的再解读——如何攻破HTTPS

为什么说是再解读呢?目前关于Padding Oracle攻击的介绍,比较好的文章包括的内容,都取自于这篇外文。但是,该文在论述一个关键问题,即如何确认Padding位数时,并没有提及,这让许多较真的读者会有很大的疑惑。本人亦如此。因此,我想再把思路做个梳理 1.分组密码和填充 常用的对称加密算法,如DES和AES,在用密钥加密数据时,只能加密和密钥长度相同的数据。对于超长数据,我们需要将其切分成块。这就带来一个问题,可能最后一个块,无法和密钥“对齐”(当然,这也包括原始数据本来就比密钥短的情况)。这就需要一些数据去填充最后的几位。常用的填充算法即***PKCS#5***,在数据填充中,使用缺失的位数长度来统一填充,说起来麻烦,上图即可明白: 即缺5位,就用0x05填充;缺2位,就用0x02填充;如果刚刚好,还要扩展出一个块,全用0x08填充。 2.初始向量和CBC加解密过程 如果每一个块都用同一个密钥加密,很容易使用统计学原理去分析和破解密文(原理大致如同e字母在英文单词中出现的概率是非常高的,因此通过统计分析,大致可能猜出X代表了e),为此CBC加密过程引入了一个初始向量,…

metasploit中的JAVA反向TCP做法的研究

在研究CVE-2015-7450这个JAVA反序列化漏洞时,面临着一个问题:在WebSphere中,该漏洞仅可以执行命令,但是不能回显执行结果。遇到这种漏洞,通常的做法都是利用wget或者curl这样的命令来执行一个http请求,将需要的信息送出。但是在我司,这些命令都没法用。原因是我司大量使用的是AIX操作系统,且是不含有任何功能增强的“裸版”。如何在这种环境下回显执行结果,就变得非常重要。 在Google搜索的过程中,发现了一个漏洞利用工程。在该工程的详细介绍中,提到了一种使用metasploit进行shell反弹的做法。研究了该做法后,对于其设计的巧妙深感佩服,遂介绍一下给大家。 1.什么是metasploit metasploit是一套开源的漏洞利用工具集合和框架。正因为是一个框架,每个人都可以提交利用该框架写的漏洞利用模块。久而久之,该模块库就越来越大,最终形成了一套工具库。关于metasploit在各个系统的安装,这里不再赘述。 2.metasploit中的JAVA反向TCP有什么用 通常,一个漏洞利用,可能会遇到两个讨厌的问题: 如前言中所述,我们可以执行某个命令,但是没办法感知命令执行的结果,于是就变成一个只能搞“破坏”,但是无法被利用起来的漏洞 或者,我们通过漏洞可以植入木马,但是因为有防火墙,我们没办法主动和木马联络,因为一般防火墙的规则都是禁止入站,但是不防止出站。 遇到上述情况,…

配置自己的VIM

在命令行中,多使用vi编辑文档,但是因为没有高亮和无法自动保存副本等原因,准备切换到vim,记录一下 1.配置语法高亮和常用插件 本来这个需要说一大堆,现在简单了,有人收集并开发了个项目,直接用之。 git clone https://github.com/amix/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_awesome_vimrc.sh 2.配置自动备份副本 我这个要求比较高: 必须备份到指定文件夹中 必须每个副本都追加时间戳后缀 可以这样做,首先创建备份目录mkdir ~/.vimbackup,然后复制如下配置到~/.vimrc set backup set nowritebackup set backupcopy=yes set backupdir=$HOME/.vimbackup au…