安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗

1 基础知识
1.1 网络
熟悉常见网络协议:
https://www.ietf.org/standards/rfcs/
1.2 操作系统
1.3 编程
2 恶意软件分析
2.1 分类
2.1.1 木马
2.1.2 Botnet
2.1.3 挖矿
2.1.4 勒索软件
2.1.5 后门
2.1.6 病毒
2.1.7 蠕虫
2.2 外部资源
• VirusTotal
https://www.virustotal.com/#/home/upload

• 样本下载
https://www.malware-traffic-analysis.net/
https://www.hybrid-analysis.com/
https://malshare.com/
http://offensivecomputing.net/
https://malwr.com/
http://virussign.com/malwarelist.html
2.3 分析环境
2.3.1 自定义环境
• 使用VMWare或VirtualBox搭建虚拟机
• 虚拟机安装必要分析工具
• 注意虚拟机检测,用户名不要使用sample、malware、analysis等命名,环境尽可能接近真实环境
• vmtools选择安装
• 设置虚拟机网络模式
2.3.2 沙箱
• 开源沙箱搭建
• 自主开发
• 在线沙箱
2.4 行为分析
2.4.1 分析工具
(1) SysinternalsSuite
微软官方工具集,下载地址:
https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
(2) Process Monitor
行为监控工具

(3) Process Explorer
进程监控工具

(4) Autoruns
查看自启动项

(5) Regshot
快照对比

(6) Wireshark
抓包
(7) INetSim
模拟网络服务
https://www.inetsim.org/
(8) ApateDNS
控制dns响应
https://www.fireeye.com/services/freeware/apatedns.html
2.4.2 关键行为点
(1) 自启动
• HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
• HKLM\System\CurrentControlSet\Services
• Task Scheduler
• 。。。
(2) 注册表
(3) 文件
(4) 网络行为
2.5 PE文件结构
• PE文件结构
• Dos Header
• File Header
• Optional Header
• Section Headers
• 导入表IAT
• 导出表EAT

2.6 ELF文件结构
• 工具
(1) file
(2) readelf
• ELF文件结构
• ELF Header
• Program Header
• Section Header
2.7 逆向分析
2.7.1 反汇编
Intel指令手册,查询使用:
https://software.intel.com/en-us/articles/intel-sdm
2.7.2 调用约定
(1) X86调用约定
• 32位系统函数参数传递均通过栈传递
• Fastcall前两个参数通过ECX、EDX传递
调用约定 参数入栈顺序 恢复栈平衡位置
Cdecl 右 -> 左 调用者
Fastcall 右 -> 左 被调用者
Stdcall 右 -> 左 被调用者

(2) Windows x64调用约定
• 64位Windows系统下,前4个参数通过RCX/XMM0,RDX/XMM1,R8/XMM2,R9/XMM3传递,剩余的参数通过栈传递
• 总共使用4个寄存器,不是4+4=8个
(3) Linux x64调用约定
• 64位Linux系统下,参数传递使用6个整型寄存器RDI,RSI,RDX,RCX,R8,R9,以及8个XMM寄存器XMM0-XMM7,剩余参数通过栈传递
• 总共使用6+8=14个寄存器
2.7.3 字节序
大端:数据的高字节保存在低地址空间,低字节保存在高地址空间
小段:数据的高字节保存在高地址空间,低字节保存在低地址空间
举例:0x1122
低地址 高地址
大端 0x11 0x22
小端 0x22 0x11
2.7.4 栈帧
2.7.5 断点
(1) 软件断点
(2) 硬件断点
(3) 内存断点
(4) 条件断点
2.7.6 调试器介绍
(1) Ollydbg
(2) IDA
(3) Windbg
(4) X64dbg
(5) GDB
(6) Dnspy
2.8 注入技术
2.9 Hook技术
2.10 通信
2.11 脱壳
2.12 混淆
2.13 加解密
2.14 反调试
2.15 反虚拟机
2.16 实例分享
2.17 推荐资料
• 《加密与解密》,段钢
• 《逆向工程核心原理》,李承远
• 《Linux二进制分析》,Ryan O’Neill
• 《灰帽黑客》,Allen Harper, Shon Harris
• 《逆向工程权威指南》,Dennis Yurichev
• 《IDA Pro权威指南》,Chris Eagle
• 《软件调试》,张银奎
3 Web渗透
3.1 渗透流程
3.2 常用工具
3.3 OWASP TOP 10
3.4 靶机环境
3.5 漏洞原理
3.5.1 Sql注入
3.5.2 Xss
3.5.3 Webshell
3.5.4 目录遍历
3.5.5 文件包含
3.5.6 文件上传
3.5.7 XXE
3.5.8 CSRF
3.5.9 SSRF
3.5.10 命令注入
3.6 中间件
4 漏洞分析、利用与挖掘
4.1 漏洞原理
4.1.1 栈溢出
4.1.2 堆溢出
4.1.3 格式化字符串
4.1.4 整型溢出
4.2 安全机制
4.2.1 Windows
4.2.2 Linux
4.3 漏洞利用
Poc
Exp
4.4 漏洞挖掘
5 安全产品
5.1 部署场景分类
5.1.1 网络产品
5.1.2 终端产品
5.1.3 云端产品
5.2 原理介绍
5.2.1 Waf
5.2.2 IPS
5.2.3 HIPS
5.2.4 RASP
5.2.5 Snort
5.2.6 Suricata
5.3 反病毒软件
5.4 扫描器
5.5 DDoS防御
5.6 蜜罐
6 内网渗透
6.1 渗透流程
6.2 常用工具
6.3 攻击面
7 IoT安全分析
7.1 攻击面
7.2 硬件基础
7.3 固件提取与分析
7.4 通信安全分析
7.5 云端渗透
7.6 移动端安全分析
7.7 IoT协议
8 APT案例分享
9 区块链
10 黑灰产对抗
11 密码学
11.1 对称加密算法
11.1.1 AES
11.1.2 3DES
11.2 非对称加密算法
11.2.1 RSA
11.2.2 椭圆曲线
12 无线
13 安全竞赛
13.1 CTF
13.2 Pwn2Own
13.3 Flare-on
13.4 GeekPwn
13.5 XPwn

上一篇:基于SNMP的交换机入侵的内网渗透


下一篇:极简反传(BP)神经网络