一次有趣的钓鱼测试
原创 bloodzer0 2020-04-22 19:39
这一天小B正在晒太阳,突然接到了老板的电话,要求对M公司进行一次内部全员邮件钓⻥测试,试图找出那些安全意识薄弱的员工。根据老板的要求,小B开始了这次的有趣的钓⻥之旅。
本系列故事纯属虚构,如有雷同纯属巧合

需要控制目标PC或在目标PC植入后⻔或木⻢等信息; 只需要收集目标的个人信息;
以邮件主题进行分类
企业内部通知 人事变动通知:冒充行政部⻔发送人事变动的相关邮件,利用邮件中的附件进行钓⻥; 薪资/奖金通知:同上 安全警告:冒充IT类部⻔发送内部安全警告的相关邮件,利用邮件中的附件或链接进行钓⻥; 企业内部活动 优惠活动:以企业名义给员工发送一些优惠活动,让用户报名参与进行钓⻥; 聚餐活动:以聚餐报名为主题进行钓⻥; 员工信息变更:冒充IT部⻔发送员工个人信息(密码、手机号)已过期或失效需要更新进行钓⻥; 社会实事关注:比如最近的新型冠状病毒
由于没有开发资源,并且小B的目的是获取内部员工的信息,所以选择了实事相关的调查问卷来作为本地邮件主题。由于没有开发,小B找了一个开源的调查问卷系统:LimeSurvey(https://www.limesurvey.org/)部署方案使用Apache+MariaDB+PHP即可,我这里简单记录了一下:
# 部署环境是:Centos7.4 最小化安装# LimeSurvey需要PHP5.5 以上的版本,但是Centos7默认的是5.4版本,所以需要更改PHP的源yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmyum install yum-utils -yyum-config-manager --enable remi-php56# 安装依赖环境yum install httpd.x86_64 mariadb-server.x86_64 mariadb.x86_64 mariadb-libs.x86_64 php.x86_64 php-fpm.x86_64 php-mysql.x86_64 php-mbstring.x86_64 php-ldap.x86_64 php- xmlrpc.x86_64 php-xml.x86_64 php-gd.x86_64 php-imap.x86_64 -y# 最后将下载的压缩包放置到网站目录,并开启防火墙与关闭SELinux即可。


Gophish:https://getgophish.com/
(PS.小B也写过相关的文章:https://bloodzer0.github.io/ossa/infrastructure-security/network-security/office-network-security/gophish/)
Swaks:https://www.jetmore.org/john/code/swaks/
(PS.小B也写过:https://mp.weixin.qq.com/s/2xhTg6HhgnFMA7jexgg3AA本文中关于SPF绕过的部分写的有误,后期小B会更新一下)
mail_fishing:https://github.com/SecurityPaper/mail_fishing
这里不作过多的描述了,为了方便后期使用脚本自定义发送,所以小B选择的是Swaks。选择好工具以后我们就需要来构造我们的邮件了。



./swaks --to yyfortest@126.com --from sender_user@126.com --ehlo 126.com --h-From "OA <oa@126.com>" --data test.txt --server smtp.126.com --au sendder_user@126.com --ap sender_user_pass
./swaks --to yyfortest@126.com --from oa@126.com --ehlo 126.com --h-From "OA <oa@126.com>" --data test.txt --server mail.smtp2go.com --au smtp2go_user --ap smtp2go_user_pass
#!/usr/bin/env python3# -*- coding: utf-8 -*-# @Time: 2020/4/20 10:25 上午# @Author: bloodzer0# @File : send_email.pyimport osemail_tmp = []# 发件人文件for email in open('user_email.txt','r').readlines():email_tmp.append(email.strip())# 发送邮件的内容email_old = open('test.txt','r+')content = email_old.readlines()email_old.close()for send_email in email_tmp:write_file = open('test.txt', 'w')write_file.writelines("To: <%s>" % send_email + '\n' + "".join(content[1:]))write_file.close()command = './swaks --to %s --from oa@126.com --ehlo 126.com --h-From "OA<oa@126.com>" --data test.txt --server mail.smtp2go.com -p 2525 --au smtp2go_user --ap smtp2go_user_pass' % send_emailprint(command)# os.popen(command)
在本次测试中,我们的调查问卷系统可以辅助,或者自己编写⻚面将录入的数据写入数据库。


识别钓⻥邮件:
看发件人地址(有的时候看到的是表象,发件人是公司内部地址也不一定真实);
看邮件标题;
看正文措辞;
看正文目的;
安装杀毒软件;
个人信息要保密,填写前请人为核对是否属于内部要求;
邮箱账号需要启用双因素校验,即使密码丢了也不怕;
重要的邮件请即时从邮件服务器删除,保存到本地;
不要轻信发件人地址中的"显示名"、不要轻易点开陌生邮件中的链接与附件、不要放松对"熟人"邮件的警惕、不要使用公共场所的网络执行敏感操作、不要将敏感信息发布到互联网;
及时报告给IT团队;
及时修改密码;
隔离网络;
进行一次全盘杀毒;
钓⻥邮件模板:https://github.com/SimplySecurity/SimplyTemplate
