android中间人攻击测试工具lanmitm怎么用
笔者实习快四个月了,刚来公司的时候没什么任务,空闲的时候发现了安卓渗透神器dsploit,安装玩了几次。其实以前也听说过中间人攻击,也玩过ettercap,MITMf,metasploit等,但是一直没想过在Android上面实现这些功能,于是乎下载dsploit源码玩了几天。
刚好自己也是做Android相关工作的,所以有了自己写一个的想法,依葫芦画瓢开发了这个工具。
免责声明
本应用开发初衷仅为了学习,未经他人允许,对他人局域网进行的破坏,干扰等行为与本人无关。
功能概述
数据嗅探,可抓去局域网内部主机与外界通信数据
会话劫持,对局域网中的主机通过实施ARP欺骗,进行cookie欺骗,从而达到劫持会话的效果
简单web服务器功能,结合下面功能实施钓鱼欺骗
URL重定向,实现DNS欺骗功能。配合上面web服务器功能,可进行钓鱼欺骗功能待(待完成)
WiFi终结,中断局域网内主机与外界通信(待完成)
代码注入,通过数据截取,对远程主机返回的数据进行篡改,实现代码注入的效果(待完成)
截图预览
安装前提
1、安卓手机2.3及以上,必须root
2、已安装busybox
下载地址
虽然该应用目前功能单一,但是毕竟是自己慢慢写出来的,我还是会继续更新下去的。如果有想法,或者想学习的同学都欢迎和我交流
直接贡献代码
渗透测试利器【Cobalt Strike】CDN隐匿
Cobalt Strike是一款漂亮国Red Team开发的渗透测试神器,常被业界人称为CS。成为了渗透测试中不可缺少的利器。其拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等功能。同时,Cobalt Strike还可以调用Mimikatz等其他知名工具并且可以作为团队服务使用,因此广受网络安全人员喜爱。
虽然Cobalt Strike在渗透测试使用过程中非常的方便和强大,但其默认的特征信息使得CS服务端也会很容易被态势感知等监测设备所识别到,并且服务器开启默认端口后也会被情报网站标记为攻击服务器,且如果teamserver密码简单也会被反爆破。
因此就需要对Cobalt Strike的流量、特征等进行隐匿。本文章采用的是CDN+修改特征隐匿的方法。
这里使用 平台进行注册,需要登陆,因此提前准备好一个邮箱,国内外邮箱都行。
tips:
1、在选择好域名并注册后,需要登录平台,然后填写相关信息以用于注册(当前ip所处的地址这里必须一致、邮编、手机号等可采用漂亮的虚拟信息);
2、后续要使用cdn平台,因此需要在这个域名平台里面绑定cdn平台的ns记录。
域名注册完成后先不要急着解析,进行第二步的CDN平台配置。
CDN平台建议使用cloudflare
先注册个账号登陆一波,使用邮箱注册,方便起见可以和freenom平台用同一个邮箱。
进入cloudflare平台后,点击左侧的网站,然后添加一个域名,这里添加的域名就是freenom注册的。
站点添加完成后,点击站点进去,在左侧DNS中添加记录。
在添加完成后如果上面出现这样的告警,就代表在freenom平台中还没有修改ns记录,需要去将ns记录修改为cdn平台的。
进入freenom平台修改ns记录,先登录,进入到域名管理处,修改ns名称。这里要填写的ns名称是CDN平台给分配的,参见上面一张图,ns前缀基本都是随机分配的,因此以CDN平台上的为准。
freenom改好ns记录后,再到CDN平台上点击上上图的“检查名称服务器”即可更新完成。此时再去解析域名、ping域名,都会成功返回到CDN的ip地址。
在CDN平台左侧的SSL/TLS-----概述中,将右边的加密模式选择为灵活。
在左侧源服务器中,点击创建证书。源服务器私钥类型选择ECC,密钥格式选择PEM。 一定要将源证书和私钥复制下来!后续要用到。
CDN默认开启缓存,可能会影响后续主机上线、shell命令回显等。因此这里有两种关闭缓存的方法建议都开启。
在CDN平台-缓存-配置-开发者模式-开启。
规则-创建页面规则中创建两条规则。以下规则中的域名不需要填写A记录名。
1、 .your dmoain/ ;
2、your dmoain/*;
3、将规则设置为-缓存级别-绕过。
2.生成新的cobaltstrike证书。如果原先的cobaltstrike文件夹内有默认的.store证书,需要先删除掉默认的。使用以下命令生成:
ps:这里的pass密码需要修改,改为复杂的密码,不要使用123456。
ps:这里的所有密码都要和上面的一致。
6.1 修改teamserver默认端口
编辑teamserver配置文件,将CobaltStrike默认的50050端口改成其它端口。
6.2 修改teamserver默认指纹信息
编辑teamserver配置文件,默认的是cobalt strike信息或Microsoft信息。
可将指纹信息改为其它的内容。
启动teamserver的命令需要微调下:
./teamserver 服务器公网IP 密码 C2.profile
连接上teamserver后,创建个监听器和马子。注意监听器的地址要填写CDN绑定的域名,而不是IP地址了
PS:在创建监听器时,建议使用https模式。并且监听器的https上线端口不要使用默认的443,否则可能会无法正常上线。建议监听端口使用CDN支持的其它端口。
先在虚拟机里面打开个wireshark开启抓包模式,然后将马子丢到虚拟机里面执行。
此时在CS里面主机已经上线。然后看wireshark中的数据包,过滤服务器真实地址发现一条都没有,均是和CDN地址的交互数据。
下图筛选服务器地址:
下图筛选CDN地址:
至此CDN隐匿完成。
在手机安装 Kali Linux
之前给大家介绍过 Kali Linux,它是一个专为网络安全人员打造的 Linux 发行版,集成了众多的渗透测试工具。
刚好最近在网上看到有个软件叫 Linux Deploy,可以在 Android 手机上运行 Linux 发行版,而其所支持的发行版中就包括了 Kali Linux。
本着好奇和爱折腾的心,拿我的旧手机鼓捣了一下,在这里分享记录一下折腾历程。
准备工作
1.硬件
友情提示:获取 root 权限会给手机带来一定的风险,建议拿闲置的旧手机进行尝试。
这里我用的手机是 Nubia Z11 miniS,4 + 64G,骁龙 625 处理器,Android 9.0 系统,并且已获取 root 权限。
2.软件
逐一安装以上软件(软件安装包都已打包好,公众号后台回复 手机渗透 即可获取)。
需要注意的是,BusyBox Pro 安装之后需要打开软件,允许获取 root 权限。然后界面顶部可以看到一个加载进度条,等进度条加载到 100%,此时再点击下方的 安装 按钮,才算安装完成。
安装 Kali Linux
打开 Linux Deploy,允许获取 root 权限。首次打开时会显示正在更新环境,等一会儿就好。
进入软件主界面,点击左上角菜单,就是三条横线的那个。
点击后侧边弹出菜单,点击配置文件,打开配置文件界面。点击右上角加号,新建一个配置文件,名称随意,这里我写的是 Kali,点击确定。
点击刚刚新建的配置,将其选中。
返回到软件主界面,此时顶部的 linux 已经变成了 Kali,说明此时用的配置文件是刚刚新建的 Kali。
点击底部最右边的按钮,打开属性配置页面。
发行版选择 Kali,架构默认就好,一般会自动选择与你手机 cpu 相符的架构。
将源地址修改为 。这是中科大的源,安装起来会比较快。
安装类型:可以选择目录也可以选择文件,其他选项不建议尝试。
这里我选择的是目录,安装路径填写 ${ENV_DIR}/kali ,镜像大小自动分配。
如果选择的是镜像文件,安装路径填写 ${EXTERNAL_STORAGE}/kali.img ,镜像大小可以自动分配,也可以输入固定的值。如果输入固定的值,则会立马创建一个固定大小的镜像文件,推荐使用自动分配。
滑动到下面,设置用户名密码。
继续滑到底部。勾选启用 ssh 服务,用于远程连接。勾选启用图形环境,用于远程桌面连接。
返回到软件主界面,点击右上角菜单,弹出菜单栏,点击安装。
正在安装中。。。喝口水等一会儿。
大约需要 7 - 8 分钟,当出现 deploy 时代表已经安装完成。如下图。
然后就可以启动系统了。
点击左下方启动按钮。出现 Starting extra/ssh ... done 代表成功启动 ssh 服务。出现 Starting graphics/vnc ... done ,代表成功启动 VNC 图形界面服务。
至此,整个系统也就算是安装成功了。如下图。
若 ssh 出现 failed 之类的,说明系统启动失败,可能是选择的架构不对,可选择其他架构重新安装尝试。
如果不知道自己手机的 CPU 架构,可以使用 CPU-Z 查看。CPU-Z 安装包我也一并打包了。
我的是 aarch64,对应为 arm64。x86 对应为 i386,x64 对应为 amd64。arm 对应 armel 或 armhf ,可以自行尝试。
使用 ssh 登录系统
打开 Juice SSH,点击管理连接。点击右下角加号,新增一个连接,输入地址以及认证信息。
地址输入 127.0.0.1 ,认证选择新建。
新建认证。
输入之前在 Linux Deploy 设置的账号密码。
一路点击右上角保存。
此时界面已经可以看到刚刚新建的连接,点击即可连接。
成功连接 Kali Linux。
使用电脑进行连接。
一样连接成功。
连接 vnc 图形界面环境
打开 VNC Viewer,右下角加号按钮,新建一个连接,输入地址 127.0.0.1 ,名称任意,点击 CREATE。
创建好后,点击进行连接。
弹出一个警告,点击右上角 OK 即可。关闭下方的 Warn me every time ,下次就不会有警告了。
要求输入密码,密码就是前面在 Linux Deploy 设置的密码。
连接成功!熟悉的 Kali Linux 壁纸!
将手机横屏,全屏显示。
看起来舒服多了。(我的手机横屏有点问题,所以装了一个强制横屏软件,才成功横屏,软件也在上面一并打包了,需要可以自取)
使用电脑 VNC Viewer 连接。
很清晰,而且居然不算太卡。
至此,我就拥有了一部可以用来做渗透测试的 Android 手机了,还是蛮不错的。
以上就是完整的安装过程了,如果你也喜欢折腾,并且刚好有一部旧手机,不妨动手尝试一下。
一款超级给力的弱网测试神器—Qnet(上)
App 在使用的过程中,难免会遇到不同的弱网络环境,像在公车上、在地铁、地下车库等。在这种情况下,手机常常会出现网络抖动、上行或下行超时,导致 APP 应用中出现丢包延迟,从而影响用户体验。
作为软件测试工程师,我们要在 app 上线前做一定弱网络环境场景模拟,查看 app 在弱网络环境下是否存在某些未知的问题。
例如:
方案一: 通过手机设备连接到 PC 上进行弱网络测试,比如 Fiddler,Charles 等
基本思路是在 PC 上装一个 Fiddler 网络抓包工具,然后再将手机设备的网络代理到 PC 上,通过在 PC 上的 Fiddler 在设置延时来进行弱网络模拟。
方案二: 在专有服务器上构建弱网络 Wi-Fi
用移动设备连接该 Wi-Fi 进行弱网络测试,相关的技术方案有 Facebook 的 ATC 和腾讯的 WeTest-WiFi。
以上方案缺点:
(1)需要额外的 PC 或者服务器,弱网环境构建成本高;
(2)需要安装、部署额外的工具,并且弱网络环境需要在 PC 上或者 Web 上进行配置,使用成本高;
(3)弱网络环境功能并不完善,比如 Fiddler 不支持丢包、抖动等弱网环境。
鉴于以上方案存在的缺点,Qnet 这款工具可以完美解决,并且界面操作也非常简单,易于上手。
点击 Qnet App,进入登录界面,勾选同意协议并点击【QQ 登录】按钮,授权 QQ 账号完成登录。
3.1【网络场景】页提供系统推荐的模板,覆盖常用的极差网络、正常网络模板,断线重连、wifi 与 4G 切换、100% 丢包模板等等。可以点击【添加】,通过编辑-【保存】后,添加已有模板到【工作台】以供选择测试。
3.2【工作台】页和【网络场景】页右上角【新增】按钮,用户可选择参数增加模板。主要包含两种:【场景模板】和【自定义模板】。
QQ 登录后,在【工作台页】点击[点击选择应用],选择测试 APP:例如柠檬班 app。
将需要测试的网络场景模板添加到工作台,点击选择网络场景,可支持模板编辑。比如当前测试选择[极差网络]。
第一次开启时会弹出请求【悬浮窗权限】,勾选允许悬浮窗功能;再次点击启动,第一次运行时会弹出请求【VPN 权限】,点击【确定】则 QNET 启动成功
启动后,QNET 会自动拉起待测 APP,页面会显示控制悬浮窗,信息悬浮窗。
测试完毕,双击[控制悬浮窗]Qnet 图标,回到 Qnet【工作台】页面,点击停止。
设置页勾选[测试报告],停止后可手动获取
/storage/emulated/0/qnet_save/report 中报告数据查看。
以上仅从背景、到解决方案,到 Qnet 工具的各个功能界面做了详细介绍,关于 Qnet 工具的具体应用操作,咱们明天下篇文章~
参考文档:Qnet 官网文档
其他资料直接备注即可
比如:400页800道软件测试经典面试题分享
零基础入门资料、自动化测试、性能测试、测试开发进阶资料
软件测试报告模板
2000套简历模板
年薪30万的软件测试工程师成长之路思维导图
项目实战资料、海量电子书等等~
0条大神的评论