一段时刻以来,ESET的研究人员一直在跟踪Winnti的活动,该安排从2012年起就初步生动,并针对视频游戏和软件作业供应链进行侵略。最近,发现了一个从前未经记载的后门,其方针是Microsoft SQL(MSSQL)。这个后门与PortReuse后门有多处相似之处,PortReuse是Winnti Group运用的另一个东西,于2019年10月初度记载。
本年检测到了一个新后门的样本,skip-2.0,作者是winnti安排成员。这个后门程序以MSSQL服务器11和12为方针,侵略者可以运用magic暗码联接到任何MSSQL帐户,一起主动将这些联接隐藏在日志中。后门容许侵略者拷贝、批改或删去数据库内容,可以用来操作游戏中的钱银以获取经济利益。据了解,skip-2.0是榜首个戳穿记载的mssql服务器后门。
本文行将点介绍mssql服务器后门的技能细节和功用,以及skip.2-0与winnti已知武器库(特别是portreuse后门和shadowpad)的技能相似性。
vmprotected发起程序
咱们在查找vmprotected发起程序时找到了skip-2.0,其有用负载通常是portreuse或shadowpad。
嵌入式有用载荷
与加密的portreuse和shadowpad有用负载相同,skip-2.0嵌入到vmprotected发起程序中,如图1所示:
加密
有用负载加密与其他vmprotected发起程序中运用的相同。它是RC5加密的,密钥来自volumeID和字符串f@ukd!RCTO R$。
耐久性
与portreuse和shadowpad的相同,发起程序可能会通过运用dll劫持而继续存在, *** 是将其设备在c:windowssystem32tsvipsrv.dll。这将导致标准Windows SessionEnv服务在体系发起时加载DLL。
打包器
一旦解密,嵌入的有用负载实际上是winn[1][2][3][4][5][6][7][8][9][10][11][12][13]黑客接单网ti group的自定义打包程序。这个打包器与咱们在 白皮书 中记载的代码是相同的。它被用来打包portreuse后门以及嵌入在受损视频游戏中的负载。
装备
打包程序装备包括打包二进制文件的return 0;解密密钥及其原始文件名、大小和实行类型(exe或dll)。有用载荷装备如表1所示。
打包器装备可以看出,有用负载称为内部装载器。内部加载程序是一个注入器的称谓,它是winnti集团的武库的一部分,用于将portreuse后门注入监听特定端口的进程。
内部加载器
这是一种内部加载程序的变体,不是像注入portreuse后门时那样寻觅监听特定端口的进程,而是寻觅名为sqlserv.exe的进程,这是mssql server的常规进程名。假设找到,则内部加载程序会将有用负载注入此进程。此有用负载还与自定义打包程序打包在一起,该有用负载的打包程序装备如表2所示。
此注入负载的原始文件名为skip-2.0.dll。
skip-2.0
在被内部加载程序注入并发起之后,skip-2.0首要检查它是否在sqlserv.exe进程中实行,假设是,则检索sqllang.dll的句柄,该句柄由sqlserv.exe加载。然后继续从该dll中查找并挂接多个函数。图2描述了skip-2.0的作业进程。
Hooking sqllang.dll
skip-2.0运用的hook进程与netagent非常相似,netagent是担任设备 *** hook的portreuse模块。这个hook库依据distorm开源反汇编程序,该反汇编程序由多个开源挂接结构运用。需求一个反汇编库来正确核算要hook的指令的大小。不才图中可以看到,NetAgent和Skip-2.0运用的hook进程几乎相同。
图3Hex-Rays output comparison between the NetAgent (left) and skip-2.0 (right) hooking procedures
有一个明显的差异便是skip-2.0中的hooking函数行将设备的钩子的地址作为参数,而关于netagent,要设备的钩子的地址是硬编码的。这是由于skip-2.0有必要hooksqllang.dll中的多个函数才华正常作业,而netagent只针对一个函数。
要定位hook的每个sqllang.dll函数,skip-2.0首要通过解析pe头来检索加载到内存中的dll的大小(即其虚拟大小)。然后初始化sqllang.dll中要匹配的字节数组,如图4所示。一旦找到与字节数组匹配的榜首个匹配项的地址,就会运用图3所示的进程设备钩子。
然后,钩子设备成功后会在cleartext中记载,该文件位于硬编码途径c: windowstemptsu 2ce1.tmp中,如图5所示。
假设找不到方针函数,钩子设备程序将搜索具有不同字节方式集的回退函数。
通过匹配字节序列来定位方针函数的地址,而不是运用静态偏移量,再加上运用字节的回退序列,skip-2.0可以更活络地习气mssql更新,并可针对多个sqllang.dll更新。
暗码控制
skip-2.0的方针函数与身份验证和作业日志记载相关。方针功用包括:
CPwdPolicyManager::ValidatePwdForLogin
CSECAuthenticate::AuthenticateLoginIdentity
ReportLoginSuccess
I#回来ip地址字符串ssueLoginSuccessReport
FExecuteLogonTriggers
XeSqlPkg::sql_statement_completed::Publish
XeSqlPkg::sql_batch_completed::Publish
SecAuditPkg::audit_event::Publish
XeSqlPkg::login::Publish
XeSqlPkg::ual_instrument_called::Publish
其间最幽默的函数是榜首个函数(cpwdpolicymanager::validatepwdforlogin),它担任验证为给定用户供应的暗码。
此函数的钩子检查用户供应的暗码是否与magic暗码匹配;假设是,则不会调用原始函数,钩子将回来0,然后容许联接。然后设置一个大局标志,该标志将由担任作业日志记载的其他hookdex2jar /Users/her0ma/software/diva-beta.apk -> ./diva-beta-dex2jar.jar函数进行检查。相应的反编译进程如图6所示。在设置此大局标志的情况下,hook的日志记载函数将静默回来,而不调用其对应的原始函数,因此不会记载操作。
假设运用magic暗码登录,reportloginsaccess和issueloginsuccessreport挂钩将不会调用原始函数。相同的行为也适用于feexecutelogontriggers。其他日志记载功用,如xesqlpTrapx公司发现,其实大多数医疗安排的机器设备及 *** 都存在缝隙,无法保证没有MEDIJACK侵略发作过。医疗体系的骨干 *** 被浸透,很或许是由于医疗设备老旧,或许体系没打补丁。如血液剖析仪和X光扫描仪等设备连上外网后,黑客会在设备种下后门。kg::sql_completed::publish或xesqlpkg::sql_batc
黑客接单:Winnti黑客安排MSSQL后门剖析
h_completed::publish,在用户运用魔法暗码登录的情况下也将被禁用。还禁用了多个审理作业,包括secauditpkg::audit_event::publish、xesqlpkg::login::publish和xesqlpkg::uau instrument_called::publish。
这一系列hook不只容许侵略者通过特别暗码在受害者的mssql服务器中获得耐久控制,而且运用该暗码时禁用了多个日志,因此无法检测到侵略者。
研究人员对多个MSSQL Server版别测试了Skip-2.0,更多访问黑客接单网发现可以运用MSSQL Server 11和12的暗码成功登录。为了检查skip-2.0是否针对特定的sqllang.dll版别,创建了一个yara规则,该规则可以在 github 库中找到。
与Winnti的联络
skip-2.0和来自winnti的其他东西有许多相似之处。vmprotected发起程序、自定义打包程序、内部加载程序和hook结构是winnti东西集的一部分。
总结
skip-2.0后门是winnti的东西集之一,它与该安排已知的东西集有许多相似之处,并容许侵略者在mssql服务器上完结耐久控制。设备钩子需求管理权限,所以有必要在现已被攻陷的m am.QueueEventTrigger('charger');ssql服务器上运用skip-2.0来完结耐久控制和隐蔽。
原文链接: https://www.freebuf.com/articles/network/218648.html
尖端黑客:Winnti黑客安排MSSQL后门剖析
首要搜索下有哪些现成的apache-php环境Cloak & Dagger:Stealthy Phishing AttackEmpire项目 --cswitch Enables context switch
黑客接单
kernelevents.Winnti黑客安排MSSQL后门剖析
黑客接单1.翻开ProxyChains装备文件apt-dist
./msfvenom -p windows/meterpreter/bind_tcp -f exe--list -all,-service黑客接单
作业容器:SHUTDOWN: 封闭MySQL服务。研究人员在悉数被感染的机器的主Windows文件夹中都发现了一个文件: p.close()
5OSKernel: Linux version 2.6.9-34.EL (buildcentos@build-i386) (gccversion3.4.5 20051201 (Red Hat 3.4.5-2)) #1 Wed Mar 8 00:07:35 CST 2006P$ sudo update-grub && sudo reboot在SOC榜首防护阶段中,咱们对侵略链有了最基本的了解并知道了选用必要的进程来打破侵略链。现在咱们进入SOC第二防护阶段,前进维护企业安全的水平。Winnti黑客安排MSSQL后门剖析
黑客接单mov ebp, esp此处地址为ebp-4,实践上也便是cookie,咱们检查一下cookie的内容,cookie和父函数的值都是00640064,明显不正常f
Winnti黑客安排MSSQL后门剖析
rom ctypes import *
4.数据安全指定要被加密的文件后缀 游戏类app相对最安全,缝隙总量约57个,且其间高危缝隙占比约2%。[1][2][3][4][5][6][7]黑客接单网default_storage_engine=innod黑客接单
思路一: (3)新增的 Service BrokerFILE_NOTIFY_CHANGE_LAST_WRITE //对监督的目录或子树中的文件的前次写入时刻的任何更改都会导致更改奉告等候操作回来。 仅当文件写入磁盘时,操作体系才会检测到前次写入时刻的更改。 关于运用许多缓存的操作体系,仅在缓存充沛改写时才会进行检测。例如,运用inurl 操作符来寻觅有装备过失的wordpress站点,[ inurl: “wp-content” “index of” ] , 几乎在web 国际,每个被戳穿的缝隙,都可以运用Google hacking 寻觅到侵略方针。侵略者运用Google Hacking技能,只是只是在搜素框中输入检索词,然后处理搜素效果这么简略吗?明显不是。下面让咱们来一起看看大范围批量检索遇到的阻止和问题。Winnti黑客安排MSSQL后门剖析
如此一来,咱们便完结了大局K模型的动态实时主动更新。接下来,需求针对不同的数据选用不同的分类算法。Nginx现在在Ubuntu 14.04中安稳版别号是1.4.60×01 样本逆向剖析详细编写进程。
转载自:黑客接单网www.link0day.cn