ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

渗透测试恶意代码分析

渗透测试恶意代码分析 恶意代码分析概述基本概念恶意代码也称之为恶意软件/恶意程序在大多数计 算机入侵事件中扮演重要的角色。任何以某种方式来 对用户、计算机、或网络造成破坏的软件都可以称 之为恶意代码包括计算机病毒、木马、蠕虫、勒索 软件等。恶意代码分析重在分析通过技术手段获取该程序 的内部结构及其功能实现对于杀软提取其特征码 进行查杀对于取证可能获得溯源的必要信息如 IP作者信息等。恶意代码分析与hwhw中发现攻击和消除威胁会加分处置主机木马程序。需提交分析报告包括木马样本及分析报告等发现与分析发现持久化/权限维持分析自动分析/人工分析分类蠕虫或病毒可以自我复制和感染其他计算机的恶意程序。后门恶意代码将自身安装至计算机来允许攻击者访问。后门程序通常让攻击者只需很少甚至无须 认证便可连接到远程计算机执行命令。僵尸网络与后门类似允许攻击者访问系统但所有被同一个僵尸网络感染的计算机将会从一台 命令控制服务器接受相同指令。下载器用来下载其他恶意程序的恶意程序。间谍软件用来收集受害机器信息并发送给攻击者的恶意代码。比如嗅探器、密码哈希采集器、键 盘击键记录器等通常用来获取E-mail、网银等账号信息。启动器用来启动其他恶意程序的恶意程序勒索软件加密或窃取用户计算机信息并勒索用户交出赎金方能解密的恶意程序。分析目的恶意代码做了什么怎么样检测出它如何衡量和消除所带来的危害hw-获取攻击者信息编写分析报告静态和动态分析静态和动态分析静态分析静态分析技术包括基础技术和高级技术基础技术包括检查可执行文件但不查看具体指令的一 些技术而高级技术主要是对恶意代码内部机制的逆向工程基础技术可以确认一个文件是否 是恶意的提供有关其功能信息能够生成简单的网络特征码高级技术通过将可执行文件装 载到反汇编器中查看程序指令来发现恶意代码到底做了什么。动态分析动态分析技术包括基础技术和高级技术基础技术涉及运行恶意代码并观察系统上的行为以 消除感染并产生有效的检测特征码高级技术则使用调试器来检查一个恶意程序运行时的内部 状态。注在进行动态分析恶意程序时必须建立一个安全环境常用自动分析网站腾讯哈勃分析系统https://habo.qq.com/微步在线https://x.threatbook.cn/virustotalhttps://www.virustotal.com/gui/home/uploadvirscanhttps://r.virscan.org/静态分析PEid用来检测程序是否加壳加的是什么壳检测程序所使用的加密算法等查壳查加密算法文件信息Resurce Hacker用来查看程序的资源数据一般恶意软件在资源区隐藏其他可执行代码数据WinMD5用来计算恶意文件的MD5值通过MD5值的比较可以知晓程序是否被人篡改IDA ProIDA是作为静态分析的最重要的工具她是功能强大的反汇编和反编译工具动态分析www.virustotal.com一个用来分析恶意程序的网站通过上传一个文件生成该程序的分析报告下图所示为wcry.exe的分析报告 头部信息Process Monitor进程监视器Process Monitor 是Windows系统下的高级监视工具用来监控注册表、文件系统、网络、进 程和线程行为Process Explorer进程浏览器Process Explorer是一款强大的任务管理器是进行动态分析时的必备工具它能对当前系 统上运行的进程提供有用的观察能力RegshotRegshot是一款开源的注册表工具通过比较两个注册表快照发现差异从而得知程序运行后对注册表实施了 哪些行为反向shell反向shell介绍当用户连接到服务器时用户将其套接字与服务器的端口绑定。这称为绑定连接。只有当防火墙允许传 入连接时绑定连接才可用在传入连接受到限制的情况下则无法建立正常连接。防火墙通常限制传 入的连接但不限制传出的连接。当服务器向用户建立一个传出连接时这称为反向连接。linux下的反向shell实现调用socket创建套接字向sockaddr_in结构中添加目标地址信息调用connect链接socket调用dup2重定向stdin、stdout、stderr到打开的套接字调用execve启动“/bin/sh”程序关键点socket编程实现metasploit生成的反向shell实现(32位linux程序)通过socketcall系统调用设置参数执行socket 完成创建套接字设置sockaddr_in数据信息包括IP、端口等循环调用dup2实现重定向stdin、stdout、 stderr到打开的套接字通过socketcall系统调用设置参数执行connect 完成链接实现execve系统调用完成启动“/bin/sh”关键点linux系统调用metasploit生成的反向shell实现(64位linux程序)通过socket系统调用完成创建套接字设置sockaddr_in数据信息包括IP、端口等通过connect系统调用完成链接循环调用dup2实现重定向stdin、stdout、stderr 到打开的套接字实现execve系统调用完成启动”/bin/sh”关键点linux系统调用linux下系统调用32位x86系统调用 read(0, esp, 0x80) eax保存系统调用号 mov edx, 0x80 #参数3传递给edx ebx第一个参数 mov ecx, esp #参数2传递给ecx ecx第二个参数 mov ebx, 0 #参数1传递给ebx edx第三个参数 mov eax, 3 #系统调用号传递给eax esi第四个参数 int 0x80 #int 0x80进行系统调用 edi第五个参数 *通过汇编指令int 0x80进行系统调用 *系统调用号可在/usr/include/asm/unistd_32.h 文件查看linux下系统调用64位x64系统调用 read(0, rsp, 0x80) rax保存系统调用号 mov rdx, 0x80 #rdx保存参数3 rdi第一个参数 mov rsi, rsp #rsi保存参数2 rsi第二个参数 mov rdi, 0 #rdi保存参数1 rdx第三个参数 mov rax, 0 #rax保存系统调用号 rcx第四个参数 syscall #使用syscall进行系统调用 r8第五个参数 r9第六个参数 *通过汇编指令syscall进行系统调用 *系统调用号可在/usr/include/asm/unistd_64.h 文件查看Windows下的反向shell实现用WSAStartup调用初始化套接字库创建套接字向sockaddr_in结构中添加目标地址信息将套接字连接到远程端口使用重定向流启动cmd关键点WinSocket编程实现metasploit生成的反向shell实现(32位Windows程序)自解密shellcode代码动态获取各所需API加载ws2_32模块调用WSAStartup初始化Winsocket库调用WSASocketA创建套接字调用connect建立链接最多链接5次调用CreateProcessA启动重定向流的CMD调用WaitForSingleObject等待命令结束调用GetVersion获取系统版本调用ExitProcess结束进程关键点Windows系统线程进程相关数据结构、PE文件格式metasploit生成的反向shell实现(64位Windows程序)动态获取各所需API加载ws2_32模块调用WSAStartup初始化Winsocket库调用WSASocketA创建套接字调用connect建立链接调用CreateProcessA启动重定向流的CMD调用WaitForSingleObject等待命令结束调用GetVersion获取系统版本调用ExitProcess结束进程关键点Windows系统线程进程相关数据结构、PE文件格式持久化持久化与检测免杀探索红队常见的免杀思路免杀测试-编码免杀使用metasploit生成Windows32位shellcode添加代码使shellcode能正常执行注意编译 选项设置为关闭DEP原始文件测试对shellcode进行单字节0xcc异或编码测试对shellcode进行多字节异或编码测试使用VirtualAlloc申请动态内存加载执行免杀测试2-加壳免杀添加UPX壳免杀测试3-使用shellcodeLoader直接加载异常处理免杀免杀与被杀公开的免杀方法等于不免杀免杀重在对抗思路了解常见免杀思路对分析和确定样本的恶意性有指导性作用像目前比较火热的开发岗位实属网络安全毕竟国家网络安全法也出台了网络安全等级保护2.0等合规要求也出来了。网络安全对于大部分政企单位来说已经从[可选项]变成了[必选项]。在以前很多政企单位在进行 IT 部门及岗位划分时只有研发和运维部门安全人员直接归属到基础运维部而现在越来越多单位为了满足国家安全法律法规的要求必须成立独立的网络安全部门拉拢各方安全人才、组建 SRC安全响应中心为自己的产品、应用、数据保卫护航。根据国家发布的《网络安全人才实战能力白皮书》数据显示目前中国网络安全人才供应严重匮乏每年高校安全专业培养人才仅有3万余人而网络安全岗位缺口在2027年将达327万缺口高达95%。了解网络安全首先要搞清楚下面这些前提网络安全到底包含哪些技术是否需要会编程网络安全行业有哪些职业方向“我”该如何选择网络安全的职业发展和成长路线是什么如果你是准备学习网络安全黑客或者正在学习下面这些你应该能用得上①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析一、网络安全黑客学习路线网络安全黑客学习路线形成网络安全领域所有的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。二、网络安全教程视频我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。三、网络安全CTF实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这里带来的是CTFSRC资料HW资料毕竟实战是检验真理的唯一标准嘛~四、网络安全面试题最后我们所有的作为都是为就业服务的所以关键的临门一脚就是咱们的面试题内容所以面试题板块是咱们不可或缺的部分这里我给大家准备的就是我在面试期间准备的资料。网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表