安全学习概览——恶意软件分析、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
安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗的更多相关文章
- 7.内网渗透之windows认证机制
文章参考自三好学生域渗透系列文章 看了内网渗透第五篇文章,发现如果想要真正了解PTT,PTH攻击流程,还需要了解windows的认证机制,包括域内的kerberos协议. windows认证机制 在域 ...
- 【CTF】msf和impacket联合拿域控内网渗透-拿域控
前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...
- 内网渗透测试思路-FREEBUF
(在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...
- metasploit渗透测试笔记(内网渗透篇)
x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...
- Metasploit 内网渗透篇
0x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. ...
- Linux内网渗透
Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...
- [原创]K8 Cscan 3.6大型内网渗透自定义扫描器
前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率漏洞时效性1-2天,扫描内网或外网需1 ...
- [原创]K8 cping 3.0大型内网渗透扫描工具
[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...
- [原创]K8飞刀20150725 支持SOCKS5代理(内网渗透)
工具: K8飞刀编译: 自己查壳组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2015/7/26 3:41:11 简介: ...
随机推荐
- 云开发 :云原生(Cloud Native)
云开发 :云原生(Cloud Native) 云原生 所谓云原生,它不是一个产品,而是一套技术体系和一套方法论,用于构建和运行充分利用云计算模型优势的应用.云计算将提供无限制的按需计算能力和根据使用情 ...
- nginx配置访问本地静态资源
下面说说如何在windows下使用nginx作为静态资源服务器, 1.修改config目录下,这个配置文件,基本上所有的配置都在这里面做, 2.主要的配置参数如下,一些无关的参数我直接去掉了,注意,里 ...
- 查看Mysql是否开启binlog
show variables like 'log_bin';
- [一点感触]ADF4350 ADF4111混频记
几经周折,还是和jack顺利的调完了二者的混频,回想起来我发的上一个版本是2016-11-29,时间可能永远停留在这里了... 祝您一路走好,未来的世界不再忙碌.奔波! 发两张界面纪念吧: 也曾想着把 ...
- [Nuget] - "Runtime error: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0'" 问题之解决
环境 项目中使用了 System.Web.WebPages.Razor, Version=3.0.0.0,Nuget 还原缺失包后自动更新至 Version=3.2.5.0,编译成功,运行失败. 错误 ...
- Word 中批量修改所有表格格式样式
1. 引言 我们在使用Word排版编写书籍时候,可能会带有许多表格,上百,甚至上千个表格都是有可能的.这么多的表格对于后期的样式修改是非常不利的,有什么好的方法能够一次性修改文档中所有的表格,将其统一 ...
- WUSTOJ 1307: 校门外的树(Java)
题目链接:
- Volatile的应用场景
1.当一个变量可能会被意想不到的更新时,要使用volatile来声明该变量,告诉编译器它所修饰的变量的值可能会在任何时刻被意外的更新. 2.语法 volatile int foo; int volat ...
- C++11(及现代C++风格)和快速迭代式开发
过去的一年我在微软亚洲研究院做输入法,我们的产品叫“英库拼音输入法” (下载Beta版),如果你用过“英库词典”(现已更名为必应词典),应该知道“英库”这个名字(实际上我们的核心开发团队也有很大一部分 ...
- Luogu5285 [十二省联考2019] 骗分过样例
题目分析: 观察前3个点,$361=19*19$,所以可以发现实际上就是快速幂,然后模数猜测是$998244353$,因为功能编号里面有这个数字,用费马小定理处理一下. $pts:12$ 观察第4个点 ...