学习干货|实战中的钓鱼邮件分析

admin 2024年1月10日09:52:37评论45 views字数 2665阅读8分53秒阅读模式

学习干货|实战中的钓鱼邮件分析

0x01 前言

环境来源于某次实战中、此处对故事情节做虚拟处理

小张的公司最近遭到了钓鱼邮件攻击,多名员工的终端被控制作为跳板攻击了内网系统,请对钓鱼邮件样本和内网被攻陷的系统进行溯源分析,请根据小张备份的数据样本分析

学习干货|实战中的钓鱼邮件分析

注: 需要此环境附件的同学

关注本公众号 回复 '钓鱼邮件' 即可获取

* 相关题目、环境、转发权限已获得授权

注: 需要练习蓝队相关知识,应急响应,流量分析,shell查杀等

关注本公众号-左下角加好友-投稿蓝队应急响应相关镜像获取注册码

PS: 因所有环境都采用了上云技术,每次开启环境都会开启一个裸机服务器,公益类型,资源紧张,所以邀请码有限,但邀请码后期会不定时通过各种形式进行下发,所有环境来源于: 全国各大赛、国护及省护、日常应急及个人制作,资源收集不易且珍惜,一直在更新!

学习干货|实战中的钓鱼邮件分析

* 本次环境已进行脱敏处理、且已进行授权发布,文章仅供学习参考请勿进行违法传播使用,否则后果自行承担

0x02 题目展示

    第七章 常见攻击事件分析--钓鱼邮件1. 请分析获取攻击者发送钓鱼邮件时使用的IP flag{127.0.0.1}2. 请分析获取攻击者钓鱼邮件中使用的木马程序的控制端IP flag{127.0.0.1}3. 攻击者在被控服务器上创建了webshell,请分析获取webshell的文件名,请使用完整文件格式 flag{/var/www/html/shell}4. 攻击者在被控服务器上创建了内网代理隐蔽通信隧道,请分析获取该隧道程序的文件名,请使用完整文件路径 flag{/opt/apache2/shell}

* 请勿在本机运行恶意文件样本 请勿在本机运行恶意文件样本 请勿在本机运行恶意文件样本

0x03 结果复现

问: 请分析获取攻击者发送钓鱼邮件时使用的IP答: 121.204.224.15

需要理的是,在电子邮件传输过程中,每个邮件服务器都会在邮件头部的 "Received" 部分添加一条记录这些记录按照发送顺序逐步追加,以显示邮件经过的服务器路径。

最后一个 "Received" 部分通常包含发件人的原始IP地址,因为它是由真正的发件人的邮件服务器添加的。之前的 "Received" 部分可能显示其他邮件服务器的IP地址,但这些并不是最初的发件IP地址。

因此,通过查看最后一个 "Received" 部分的IP地址,可以更准确地确定邮件的真实发件IP地址。这对于追踪垃圾邮件、判断邮件来源的可信度以及进行网络安全分析等方面非常有用。

此处使用Foxmail查看邮件、其他部分邮箱查看方法如下、也可以使用某些文本查看工具

Gmail:打开邮件并向下滚动到邮件的底部,然后点击 "显示原始"。在打开的窗口中,你将看到邮件的原始标头,其中包含了 "Received" 部分。Outlook:打开邮件,并在邮件窗口中选择 "文件" 选项卡。然后,在 "信息" 部分中,你会找到 "属性" 选项。点击 "属性" 后,在弹出的窗口中,你可以看到邮件的 "Internet 标头",其中包含了 "Received" 部分。Thunderbird:打开邮件,并选择邮件窗口上方的 "视图" 菜单。在 "消息源""邮件头" 选项中,你将看到邮件的原始标头,其中包含了 "Received" 部分。

学习干货|实战中的钓鱼邮件分析

通过头部字段看到IP地址和邮箱域名,通过情报查询二者相互绑定

学习干货|实战中的钓鱼邮件分析

学习干货|实战中的钓鱼邮件分析

继续观察后面的"Received"头部标签,看到"X-mailer"就是攻击者发送钓鱼邮件的IP地址

学习干货|实战中的钓鱼邮件分析

问: 请分析获取黑客钓鱼邮件中使用的木马程序的控制端IP答: 107.16.111.57

* 请不要在本机运行程序

钓鱼软件在启动时会进行外部连接,此时可以使用微步云沙箱查看详细信息

学习干货|实战中的钓鱼邮件分析

或者使用IDA、虚拟机进行外部连接查看对应的动态信息(没必要)

问: 攻击者在被控服务器上创建了webshell,请分析获取webshell的文件名,请使用完整文件格式答: /var/www/html/admin/ebak/Redate.php

简单查看给出的目录架构,除了一个日志目录还有WEB目录,webshell的情况下可以使用命令工具遍历(前提已知webshell函数、类型等)、未知情况下碰运气、一般情况下,PHP webshell分为以下

exec():用于执行系统命令。system():用于执行系统命令,类似于 exec()。shell_exec():用于执行系统命令,返回命令输出。passthru():用于执行系统命令,并将命令输出直接发送到输出流。popen():用于打开进程文件指针,并执行一个命令。proc_open():用于执行一个命令,并打开进程文件指针。eval():用于执行字符串中的 PHP 代码。base64_decode():用于解码经过 Base64 编码的字符串,常用于解码加密的命令。file_get_contents():用于读取文件内容。file_put_contents():用于写入内容到文件。fopen() 和 fwrite():用于打开文件并写入内容。mysql_query():用于执行 MySQL 数据库查询。preg_replace():用于执行正则表达式替换。

可以将以上函数做一个字典,进行筛选

grep -r -n -i -E 'exec|system|shell_exec|passthru|popen|proc_open|eval|base64_decode|file_get_contents|file_put_contents|fopen|fwrite|mysql_query|preg_replace' var/www/html/

这样搜索程序会按照指定的要求进行输出,但是大部分程序用到这些函数的时候很正常,而筛选并不会对上下程序进行判断是不是危害

学习干货|实战中的钓鱼邮件分析

此时可以使用D盾直接拖进来扫描,拿到webshell地址

学习干货|实战中的钓鱼邮件分析

学习干货|实战中的钓鱼邮件分析

问: 攻击者在被控服务器上创建了内网代理隐蔽通信隧道,请分析获取该隧道程序的文件名,请使用完整文件路径答: /var/tmp/proc/my.conf

相关文件已放入到压缩包,无需开启环境

攻击者修改了mysql的配置文件,定义了代理地址,使用socks5进行连接

学习干货|实战中的钓鱼邮件分析

0x04 结语

以上环境来源于现实实战中,攻击者通过发送钓鱼邮件对某企业工作人员,工作人员点击后触发外连,攻击者进行远控作为跳板机,进行内网横向攻击,然后在业务服务器中传入Webshell后门文件,并创建内网代理隐蔽通信隧道进行后期危害操作

不论是在日常服务还是在HVV期间,流量巡检至关重要、严防死守是赛博保安的宗旨

学习干货|实战中的钓鱼邮件分析

原文始发于微信公众号(州弟学安全):学习干货|实战中的钓鱼邮件分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月10日09:52:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   学习干货|实战中的钓鱼邮件分析http://cn-sec.com/archives/2380230.html

发表评论

匿名网友 填写信息