3377体育网官网入口

证券简称:3377体育网官网入口 证券代码:002212
7x24小时服务: 400-777-0777

检测与防护能力-隐藏长期驻留之隐藏启动

长期化是一个攻击链周期中很是主要的环节,,,,, ,,,指用webshell、反弹shell、后门、rootkit恒久控制失陷机械的一种手艺,,,,, ,,,可能会涉及到dns隧道、http、icmp 隧道以及加密流量,,,,, ,,,从而抵达一直控制失陷机械而不被发明的目的 。。。。。

检测与防护能力-隐藏长期驻留之隐藏启动

宣布时间:2021-07-28
浏览次数:4040
分享:

01 隐藏长期驻留

1.1 配景

长期化是一个攻击链周期中很是主要的环节,,,,, ,,,指用webshell、反弹shell、后门、rootkit恒久控制失陷机械的一种手艺,,,,, ,,,可能会涉及到dns隧道、http、icmp 隧道以及加密流量,,,,, ,,,从而抵达一直控制失陷机械而不被发明的目的 。。。。。

在攻击者使用误差获取到某台机械的控制权限之后,,,,, ,,,会思量将该机械作为一个长期化的据点,,,,, ,,,莳植一个具备长期化的后门,,,,, ,,,纵然在装备重启、凭证修改或其他可能破损目今恶意运动的操作爆发后,,,,, ,,,也能够随时毗连该被控机械举行深入渗透 。。。。。

1.2 长期驻留要领

1.2.1 隐藏启动

1.2.1.1 Systemd启动

System默认从目录/etc/systemd/system/读取设置文件 。。。。。可是内里存放的大部分文件都是符号链接,,,,, ,,,指向目录/lib/systemd/system/,,,,, ,,,真正的设置文件存放于这个目录中 。。。。。

一样平常系统手工建设的单位文件建议存放在/etc/system/system/目录下 。。。。。

1. 首先编译提前设置好的后门文件 。。。。。

2. 在/etc/目录下建设demo.local(名称),,,,, ,,,内里写入直接执行后门文件 。。。。。

3. 修改权限 。。。。。

4. 在/etc/system/system/目录下建设一个demo.service文件 。。。。。

5. 设置启动链接 。。。。。

6. 重启获得shell 。。。。。

1.2.1.2二进制文件熏染

基本流程

完成可用空间的后门代码(添加区段) ;;;;;;;

挟制执行流程 ;;;;;;;

注入后门代码 ;;;;;;;

恢复执行流程 。。。。。

第一步:需要找到可用空间 。。。。。

怎样在PE文件中选择合适的空间来插入后门代码很是主要, 这将影响到后门被检测到的危害系数 。。。。。

借助于一个名为Cminer的工具,,,,, ,,,很容易枚举二进制文件的所有代码洞 。。。。。

./Cminer putty.exe 300 下令枚举Code Caves大于300字节 。。。。。

在这种情形下,,,,, ,,,有5个好的Code Caves可以使用 。。。。。起始地点给出了Caves的虚拟内存地点(VMA) 。。。。。这是Caves的地点,,,,, ,,,当PE文件加载到内存中时,,,,, ,,,文件偏移量是以字节为单位的PE文件内的Caves地点 。。。。。

由此可见大部分Caves都在数据段内,,,,, ,,,由于数据段没有执行特权段标记, 这里需要更改 。。。。。后门代码或许400-500字节左右,,,,, ,,,以是5个Caves是足够的 。。。。。Caves的起始地点应该被生涯,,,,, ,,,在将段特权更改为R/W/E后,,,,, ,,,第一步的后门历程就完成了 。。。。。

第二步:通过修改目的可执行文件的指令,,,,, ,,,将执行流重定向到后门代码 。。。。。

这里有一个关于选择将被修改的指令主要细节, 所有二进制指令具有字节巨细,,,,, ,,,为了跳转到后门代码地点,,,,, ,,,将使用5或6字节的长跳跃 。。。。。因此,,,,, ,,,当修补二进制时,,,,, ,,,将被修补的指令需要与长跳转指令的巨细相同,,,,, ,,,不然上一条或下一条指令将被破损 。。。。。

在putty启动后的界面中, 点击 “Open” 按钮会启动一个检查IP地点是否有用的功效 。。。。。

若是IP地点字段值不为空并且有用,,,,, ,,,则它启动实验毗连给定IP地点的毗连功效 。。。。。若是客户端乐成建设SSH会话,,,,, ,,,将弹出一个新窗口并请求凭证 。。。。。

此处是重定向爆发的点,,,,, ,,,由于AV产品不可够复制这种重大的情形,,,,, ,,,植入的后门将不会被自动化沙盒和动态剖析机制检测到 。。。。。

使用基本的逆向要领,,,,, ,,,搜索下面的字符串和字符串引用,,,,, ,,,不难找到毗连函数的地点,,,,, ,,,要领如下:客户端建设与给定IP的毗连后,,,,, ,,,有一个字符串 “login as:” 打印到泛起的窗口 。。。。。这个字符串可以资助我们找到毗连函数的地点,,,,, ,,,IDA Pro在这方面做得很好 。。。。。

为了找到 “login as:” 字符串, 在IDA上依次翻开 Views->Open Subviews->Strings

找到字符串后,,,,, ,,,双击转到所在位置,,,,, ,,,在数据节内部IDA查找所有对字符串的交织引用,,,,, ,,,按 “Ctrl+X”,,,,, ,,,显示所有交织引用,,,,, ,,,并这个引用在打印 “login as:” 字符串的函数内部 。。。。。

这里是要修补的指令 。。。。。在举行任何更改之前,,,,, ,,,请注重上下文的指令 。。。。。

执行后门代码后指令将再次使用 。。。。。

通过将PUSH 467C7C指令改为JMP 0x47A478,,,,, ,,,完成后门历程的重定向阶段 。。。。。需要注重的是下一个指令地点 。。。。。它将在执行后门代码后用作返回地点 。。。。。

第三步:后门代码注入 。。。。。

首先在执行后门之宿世存寄存器中的内容 。。。。。寄存器中的每个值关于程序的执行都是很是主要的 。。。。。通过在代码的OEP(程序入口点)安排PUSHED和PUSHED指令,,,,, ,,,把所有寄存器内的值和寄存器标记都存储在客栈中 。。。。。这些值将在执行完后门代码之后弹出,,,,, ,,,以便程序可以继续执行不蜕化 。。。。。

使用的后门代码是meterpreter反向TCP ShellCode 。。。。。可是在ShellCode中需要做少量修改 。。。。。通常反向TCP ShellCode会有实验毗连随处置惩罚程序的次数或时间限制,,,,, ,,,若是毗连失败,,,,, ,,,则通过挪用ExitProcess API挪用关闭历程 。。。。。

这里是问题所在,,,,, ,,,若是毗连随处置惩罚程序失败,,,,, ,,,putty客户端的执行将阻止 。。。。。改变几行ShellCode使其每次毗连失败时ShellCode重试毗连处置惩罚器,,,,, ,,,这样也会响应的镌汰ShellCode的体积 。。。。。

在汇编代码中举行更改后,,,,, ,,,使用nasm -f bin stager_reverse_tcp_nx.asm下令举行编译 。。。。。现在反向的TCP ShellCode已经可以使用了,,,,, ,,,可是它不会被直接安排 。。。。。3377体育网官网入口目的是在新线程上执行ShellCode 。。。。。

为了建设一个新的线程实例,,,,, ,,,需要另一个ShellCode,,,,, ,,,使CreateThreadAPI挪用指向反向TCP ShellCode 。。。。。这里使用Metasploit项目中建设线程的shellcode 。。。。。

将 createthread.asm 文件中的代码转换为十六进制名堂的ShellCode,,,,, ,,,使用nasm -f bin createthread.asm下令举行编译 。。。。。在这里,,,,, ,,,ShellCode准备插入到Caves中,,,,, ,,,但在插入ShellCode之前应该对其编码,,,,, ,,,以便绕过AV产品的静态/特征剖析机制 。。。。。由于Metasploit项目中的所有编码器被大大都AV产品所知,,,,, ,,,以是强烈建议使用自界说编码器 。。。。。

在准确编码ShellCode之后,,,,, ,,,就可以把它插入Code Caves 。。。。。选择在PUSHFD下的指令,,,,, ,,,然后在免调试器上按下 “Ctrl + E”,,,,, ,,,ShellCode将以十六进制名堂粘贴 。。。。。

使用xxd -ps createthread下令,,,,, ,,,以十六进制名堂打印编码建设线程的ShellCode或使用十六进制编辑器翻开ShellCode并复制十六进制值 。。。。。当将十六进制值粘贴到调试器时,,,,, ,,,需要注重字节限制,,,,, ,,,由于这些修补操作是用免试器举行的,,,,, ,,,免调试器在粘贴到编辑代码窗口时有一个字节限制 。。。。。粘贴的ShellCode可能会有遗漏 。。。。。当所有ShellCode粘贴到Code Cave时后门代码就插入完成 。。。。。

第四步:恢复执行流程 。。。。。

在建设后门代码线程之后,,,,, ,,,程序需要恢复到其正常执行流程,,,,, ,,,这意味着EIP应该跳回到将执行重定向到Cave的函数 。。。。。可是在跳回到该函数之前,,,,, ,,,应该检索所有生涯的寄存器 。。。。。

通过在ShellCode的末尾安排POPFD和POPAD指令,,,,, ,,,所有生涯的寄存器都以相同的顺序从客栈中弹出 。。。。。在检索寄存器后,,,,, ,,,尚有一件事要做,,,,, ,,,即执行被挟制的指令 。。。。。

为了将程序的执行重定向到Code Cave, 我们将PUSH 467C7C指令替换为了JMP 0x47A478 。。。。。把PUSH 467C7C指令放在最后,,,,, ,,,此时被挟制的指令也被检索 。。。。。现在可以返回到通过插入JMP 0x41CB73指令将执行重定向到Cave的函数的时间,,,,, ,,,效果代码应如下图所示 。。。。。

最后选择所有修补和插入的指令,,,,, ,,,按右键单击并复制到可执行文件 。。。。。此操作需要对已修改的每个指令执行 。。。。。当所有指令被复制并生涯到文件时,,,,, ,,,关闭调试器并测试可执行文件,,,,, ,,,若是可执行文件运行顺畅,,,,, ,,,则后门可以使用 。。。。。

02 总结

随着对抗手段日益重大化,,,,, ,,,长期化手艺也将演变得越发隐藏,,,,, ,,,同时也对防守方提出了一个奇异的挑战,,,,, ,,,由于它们可以隐藏执行后门代码,,,,, ,,,以是检测和剖析历程就越发具有挑战性,,,,, ,,,需要收罗大宗的数据举行剖析判别,,,,, ,,,怎样在大宗的日志中怎样有用的举行检测,,,,, ,,,阻止太过消耗资源,,,,, ,,,都是清静运营职员要面临的挑战 。。。。。

后续将继续先容隐藏长期驻留的其他要领,,,,, ,,,敬请期待 。。。。。

要害词标签:
3377体育网官网入口 检测与防护 长期化
客户服务热线

400-777-0777
7*24小时服务

联系邮箱

servicing@topsec.com.cn

扫码关注
【网站地图】【sitemap】