(xxxx)十二:windwos下Proxifier+Fiddler抓取非浏览器进程的数据包
对于绝大多数人逆向人员而言,平日一般都抓浏览器的包,网上各种抓包教程早就烂大街了;抓包原理也不复杂:先配置浏览器的代理为抓包工具,所有的数据包都通过抓包工具中转一次。如果是https这些加密的包,还要装抓包工具的证书,做“中间人攻击”,即:骗客户端的浏览器自己的服务器,骗服务器自己是客户端的浏览器,取得两边的信任后开始做“中间商”!
浏览器本身是比较特殊的客户端,可以配置代理。市面上常见的部分应用也允许配置代理服务器做流量转发,但大部分应用出于安全或其他原因,并未提供通过代理连接其服务器的功能,这部分应用的数据包该怎么抓了?--- proxifier软件!
从名字就能看出来,proxifier是一款代理软件,其原理也不复杂:有说是通过驱动程序hook了R0的收发消息方法,也有说在R3通过注入等方式hook了系统提供的send、sendto、wsasend等方法;不管是那种,总之就是想尽各种办法让R3的应用先把数据发给自己,然后再转发出去!配置方法如下:
- 先配置代理服务器:这里因为要转发本机的包到fiddler,所以ip地址设置为127.0.0.1,意味这可以指定进程,让其把所有的数据都先转发到127.0.0.1这里;因为fiddler默认监听8888端口,所以这里选择8888端口;类似根据实际情况选,https和sockeks5随意;
- 这里继续选择配置文件->代理规则:转发流量没必要转发fiddler的,所以这里遇到fiddler的流量直接direct(放过,不抓);
也可以执行想要抓取数据的进程,设置sockes5、https代理,或直接放过!
配置完成后,可以发现目标进程正在尝试连接不同的服务器:
proxifier设置基本完毕. proxifier本身只是转发数据包,并不直接处理和解析,所以这里还需要另一款抓包神器:fiddler!众所周知,https是加密了的,要想解密,需要上面提到的“中间人”:安装fiddler的证书,这里可以通过tools->https选项卡安装!
装完后就可以愉快的抓非浏览器、没有代理转发功能应用的https包了!可以看到目标进程xxxx中头像存放在qlogo服务器,并且是http协议,明文传输;
订阅号图片存在mmbiz.qpic.cn服务器:这次终于用https加密了!
打开订阅号,能看到抓到了一大堆的js、json、图片包,挨个找了遍也没找到文字部分的包,收发消息的包也没找到,不知道是不是采取某些特殊方式防止被fiddler抓包;或则说被fiddler抓到了,但是内容本身是加密的(比如并未采用业界通用的https协议,而是自定义了加密的通信协议,所以即使装了fiddler的https证书也没用),导致fiddler无法解析!这个问题后续空了再深入研究!
下午刚下单在并夕夕上买了些年货,凑巧从订阅号收到了发货的消息,点进去看详情的整个过程收发的包也被抓到,从地址看是直接连到了pdd的服务器查询,再把结果反馈到目标APP的页面!
用类似的方法也可以抓Android的包:先在PC端的模拟器设置代理为127.0.0.1:8888,再在模拟器安装抓包工具的证书即可;模拟器自带了设置代理功能,这里连proxifier都省了!