0x00 前言 在前段时间的一个项目中,客户单位授权我司团队给他们做一次红队评估,攻击手法不限,可以社工钓鱼。我是后面才加进项目来的,前面大佬们已经通过技术手段给他们找了很多漏洞出来,到后面没啥可打的了,不过为了满足客户要求,我们决定最后给他来一次钓鱼。于是对于钓鱼毫无经验纯小白的我有了第一次的钓鱼体验,虽然手法有些低端,稚嫩,但第一次的体验还是值得记录一下。 0x01 搭建钓鱼平台wget https://github.com/gophish/gophi ... inux-64bit.zipunzip gophish-v0.12.1-linux-64bit.zipcd gophish-v0.12.1-linux-64bitvim config.json修改配置文件如下:{ "admin_server": { "listen_url": "0.0.0.0:29037", //修改管理后台地址可以远程访问,修改默认端口 "use_tls": true, "cert_path": "gophish_admin.crt", "key_path": "gophish_admin.key", "trusted_origins": [] }, "phish_server": { "listen_url": "0.0.0.0:443", //钓鱼网站开放的端口 "use_tls": true, "cert_path": "example.crt", //没有买域名,网站就是ip+端口,默认的就行 "key_path": "example.key" }, "db_name": "sqlite3", //下面这些默认就行 "db_path": "gophish.db", "migrations_prefix": "db/db_", "contact_address": "", "logging": { "filename": "/var/log/gophish/gophish.log", //日志记录,需要先创建目录和文件,否则无法运行。不想记录日志也可以不配 "level": "" } }然后,执行下面命令: chmod +x gophish./gophish此刻,嘴角微微上扬,然后给我报了一个错: node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)纳尼?搜索了一下,应该是glibc版本不太够,系统安装的版本太低了,通过下面的命令查看: strings /lib64/libc.so.6 |grep GLIBC_显示出来的是GLIBC_2.2.5和GLIBC_2.17,嗯,确实是太低了,安装一个2.28的吧: wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gztar xf glibc-2.28.tar.gz cd glibc-2.28/ && mkdir build && cd build../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin嘴角微微上扬,然后又给我报错: configure: error: *** These critical programs are missing or too old: make bison compiler*** Check the INSTALL file for required versions.那就升级gcc和make吧: # 升级GCC(默认为4 升级为8)yum install -y centos-release-sclyum install -y devtoolset-8-gcc*mv /usr/bin/gcc /usr/bin/gcc-4.8.5ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gccmv /usr/bin/g++ /usr/bin/g++-4.8.5ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
# 升级 make(默认为3 升级为4)wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gztar -xzvf make-4.3.tar.gz && cd make-4.3/./configure --prefix=/usr/local/makemake && make installcd /usr/bin/ && mv make make.bakln -sv /usr/local/make/bin/make /usr/bin/make这样应该可以了吧,重新更新glibc: cd /root/glibc-2.28/build../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin嘴角微微上扬,人麻了,又报个错: configure: error: *** These critical programs are missing or too old: bison*** Check the INSTALL file for required versions.bison -v看下版本,是没找到命令,那就安装一个: yum insatll bison -y 这下应该没有问题了吧,重新更新glibc: cd /root/glibc-2.28/build../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin嘴角微微上扬,嗯,没报错。最后执行 make && make install等待了好一会,编译安装完成,再次执行: ./gophish嘴角微微上扬,嗯,就是要这样,畅行运行。 首次运行会生成一个随机密码,访问管理后台: [color=rgba(0, 0, 0, 0.9)] 使用生成的密码成功登陆。 0x02 钓鱼平台使用 关于gophish的使用,网上有很多文章,我这里就不重复写了,给个参考链接: https://blog.csdn.net/qq_63980959/article/details/136269087。 这里我强调下面两点: 1.配置发送策略(Sending Profiles)时建议配置上Email Headers,默认的很有可能会被放入垃圾邮件;用来发送钓鱼邮件的邮箱同时启用SMTP和POP3。 2.编写钓鱼邮件(Email Templates)时,一定要将钓鱼邮件中钓鱼网站的链接用{{.URL}}替换。在编写钓鱼邮件和制作钓鱼页面(Landing Pages)学会使用下面的模版变量: [color=rgba(0, 0, 0, 0.9)] 0x03 实施钓鱼攻击 大佬通过之前获取的邮箱和收集的密码成功登入了一个邮箱,该邮箱中并没有联系人列表,看之前发的邮件也没有什么有价值的信息,发的都是一些无关紧要的通知。由于目标单位域名后缀的域名比较贵,我们没有买相似域名来搭建邮服钓鱼,打算就利用获取到的这个邮箱来钓鱼。 起初想的邮件内容是”最近有公司同事电脑中了木马,近期发现xx病毒感染,让下载安全工具检查“这类话术,然后附件发个名称为安全检查.exe类似这样的木马,大佬做了免杀,投递没人上线。后面才知道。客户公司员工用的mac电脑(????),不过我们也用的mac电脑办公(????),mac电脑基本裸机,不用考虑免杀的问题,可以做个.app的程序,.dmg映像或者.pkg的包把恶意代码放里面。如何制作让目标上线CS这里不赘述了,给出两个参考链接: https://www.freebuf.com/articles/web/350592.html https://www.cnblogs.com/N0r4h/p/15743229.html 反正在我电脑上按照里面的步骤来是有些问题,最终是做了个.dmg。投递之后也没人上线。 按理说发了两次邮件钓鱼,客户那边应该早发现,把邮箱禁用了,然而并没有,邮箱还能继续登。最后在CTO的建议下,转换思路,钓OA账号密码吧。那么文案该怎么弄呢? 我想起之前挂代理登我自己的网易163邮箱的时候,网易发来了一个异国登陆提醒,邮件内容是长这样: [color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)]gophish在编写钓鱼邮件时支持HTML,于是我把这个的HTML代码复制粘帖然后修改,最终呈现的效果如图: [color=rgba(0, 0, 0, 0.9)] 邮件的标题是:【安全提醒】OA账号异地登录通知,URL链接显示的是客户单位的OA登陆地址,但点击进去跳到的是钓鱼链接。 收集到的邮箱有二十多个,最终收到两个提交数据,且均能登陆: [color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)] 0x04 总结 1.钓鱼网站是https://ip,没有使用相似域名,没有证书,稍有安全意识的人一看就知道是有问题的;且真实的网站当你输入的邮箱名错误时是会直接返回邮箱名错误的,但钓鱼网站不会,也容易会被有点安全意识的人发现,所以我会说手法有些low,稚嫩了。 2.URL链接在电脑端上点击跳到的是我们制作的钓鱼网站,但在手机上点击跳到的是客户单位真实的OA登陆地址。如果显示的是文字如“登陆OA”就不会出现这种情况。另外客户单位用的腾讯企业邮箱,这里的文案是网易邮箱的模版,如果当时换用腾讯企业邮箱的模版是不是会更好? 3.这次钓鱼的后续是,客户单位的人很快就反应过来跳转的网站是恶意网站,禁用了我们获取到的那个邮箱,并对收到钓鱼邮件的人进行了访谈,了解情况,而且还对相关资产进行了排查,分析攻击链路。可以说安全做得很好了。 4.这次就是体验了,钓鱼是一种很直接的方式。github上看到一位钓鱼佬(现实生活和网络上的钓鱼佬)的总结: [color=rgba(0, 0, 0, 0.9)]
|