破解某抢票软件的VPN抓包

VSole2021-09-05 17:59:00

打开VPN后抓包,发现软件提示网络错误,关闭VPN网络连接正常,猜测软件可能有VPN检测。直接dump出dex文件。

在dex文件中搜索"vpn"

用GDA打开其中一个文件,继续搜索"VPN"关键字。

根据函数名基本可以确定VPN检测函数:

此处函数相当可疑,进入此函数:

 

此处有判断,hasTransport()这个函数用于判断是否有目标传输类型,目标传输类型值为4,查一查常见传输类型对应的值。

/**
   * Indicates this network uses a Cellular transport.
   */
  public static final int TRANSPORT_CELLULAR = 0;
 
  /**
   * Indicates this network uses a Wi-Fi transport.
   */
  public static final int TRANSPORT_WIFI = 1;
 
  /**
   * Indicates this network uses a Bluetooth transport.
   */
  public static final int TRANSPORT_BLUETOOTH = 2;
 
  /**
   * Indicates this network uses an Ethernet transport.
   */
  public static final int TRANSPORT_ETHERNET = 3;
 
  /**
   * Indicates this network uses a VPN transport.
   */
  public static final int TRANSPORT_VPN = 4;

nNetworkCapa.hasTransport(4)这个函数判断当前是否为VPN传输,SecurityUtil.hasVpnTransport()这个函数即为检测函数,猜测有VPN时返回true。用Objection hook SecurityUtil.hasVpnTransport函数验证一下猜想。

打开VPN时返回值为true,关闭时为none。猜想验证正确,开始编写脚本。

function hook_vpn() {
    Java.perform(function () {   
   var SecurityUtil = Java.use("com.taihebase.activity.utils.SecurityUtil");
        SecurityUtil.hasVpnTransport.implementation = function (arg0, arg1) {
            var result = this.hasVpnTransport(arg0, arg1);
            console.log("start....");
            console.log(result);
            console.log("end....");
            return false;
        }
    })
}
 
setImmediate(hook_vpn);

运行脚本,发现无网络错误提示,charles上成功抓包。

vpn抓包
本作品采用《CC 协议》,转载必须注明作者和本文链接
打开VPN,发现软件提示网络错误,关闭VPN网络连接正常,猜测软件可能有VPN检测。直接dump出dex文件。
在使用没有无线网卡的电脑或无法开热点的情况下可以直接在手机上运行Tcpdump然后导出文件在电脑端WireShark中打开,与直接使用WireShark效果相同。
HTTPs双向认证及解决方案Https一般采用单向认证,但是一些特殊的APP在服务端也会对证书进行再次认证,这样的认证机制我们称为HTTPs双向认证。
有群友想直接了解一些常用的Android的手段,直接安排,让你可以快速上手常见的app的方式及工具。 前期准备工作 Android真机(推荐7.0以下比较容易,原因后面详解)或者模拟器。 ProxyDroid或者postern等代理app。 charles或者burpsuite工具。
对于不同的测试场景,如Web、小程序、App等,我们往往会使用不同的方案来完成我们测试,以下便是笔者本人在不同场景下使用的三套方案。WebWeb场景也是我们平常最多的场景,而我们利用Burpsuite无法直接抓取到HTTPS的流量,想要到HTTPS流量需要进行配置。
使用如下命令,作用是:将uid为10428所请求的在0-65535端口上的tcp流量,转发到127.0.0.1:16666,但是排除了来自127.0.0.1的请求参考:iptables 在 Android 中的妙用iptables -t nat -A OUTPUT -p tcp !-d 127.0.0.1 -m owner --uid-owner 10428 --dport 0:65535 -j DNAT --to-destination 127.0.0.1:16666. redsocks { bind = "127.0.0.1:16666"; relay = "192.168.1.14:8889"; type = socks5; autoproxy = 0; timeout = 13;}
一旦发现服务器证书为非指定证书即停止通信,最终导致即使将工具的证书安装到系统信任凭据中也无法生效。fridafrida是一款轻量级的hook框架,专业点的说法就是动态插桩工具,可以插入一些代码到原生App的内存空间去动态地监视和修改其行为。该框架从Java层Hook到Native层Hook无所不能,但是持久化还是要依靠Xposed框架,另外由于其过于火爆,一些厂商也研究了反调试的方法。ObjectionObjection是基于frida的集成工具,其主要功能支持Android和iOS两大移动平台。
一、引言 http与https区别:HTTP 由于是明文传输,所以在安全性上存在以下三个风险: 窃听风险,因为明文传输,可以直接获取传输的数据,就会导致信息的泄漏。 篡改风险,比如强制入垃圾广告。 冒充风险,如搭建一个某平台的仿真网站,通过DNS欺骗诱导用户访问。 HTTPS 在 HTTP 与 TCP 层之间加入了SSL/TLS 协议
记一次微信小程序渗透实战记录
HackTheBox-Knife靶场实战
2021-09-24 09:07:11
当服务器存在该后门时,攻击者可以通过发送User-Agentt头来执行任意代码。这边我们直接并发送到重发器试试命令执行的结果User-Agentt: zerodiumsystem;所以,针对一个需要被很多user以root权限执行的文件, 我们可以通过setuid来进行操作, 这样就不必为所有user都添加sudo 命令。
VSole
网络安全专家