安全学习概览——恶意软件分析、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 简介: ...
随机推荐
- Python3 IO编程之StringIO和BytesIO
StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写. 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可 >>> from ...
- 【ARTS】01_41_左耳听风-201900819~201900825
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 解释张量及TF的一些API
张量的定义 张量(Tensor)理论是数学的一个分支学科,在力学中有重要应用.张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具.张 ...
- 理解Hybrid接口的应用
Hybrid接口既可以连接普通终端的接入链路又可以连接交换机间的干道链路,特允许多个vlan的帧通过,并可以在出接口方向将某些vlan帧的标签剥掉. 通过配置Hybrid接口,能过实现对VLAN标签的 ...
- mybatis执行流程
mybatis 简介 开源的持久层框架:代码简洁,写sql,性能还可以.容易掌握 执行图 文字说明 先创建核心配置文件(sqlMapConfig.xml) 再创建映射文件(可以有多个 ~ 通常有多少张 ...
- 修改Linux服务器中的MySql密码
1.可以直接在数据库中修改,因为知道root密码,所以直接登录 mysql -uroot -p 2.查看一下数据库,修改root密码需要使用如下图所示的mysql数据库 3.通过use mysql指明 ...
- [转帖]Hive学习之路 (一)Hive初识
Hive学习之路 (一)Hive初识 https://www.cnblogs.com/qingyunzong/p/8707885.html 讨论QQ:1586558083 目录 Hive 简介 什么是 ...
- visio 绘图素材
1. 前言 visio是个绘图的好工具,可是自带图形元素有限,没有还要自己画. 推荐几个矢量图形素材库,里边有很多图形,很方便的导入到visio中,放大也不失真. 阿里巴巴矢量图库网 stockio ...
- go 食用指南
Golang高效食用秘籍 一.关于构建 1.1 go环境变量 $ go env // 查看go 的环境变量 其中 GOROOT 是golang 的安装路径 GOPATH 是go命令依赖的一个环境变量 ...
- 如何加入 Skype for Business 会议?
参加一个线上培训,收到了Skype的参会地址,是这个样子的 然后就是一脸懵逼的不知道怎么参加会议了.找了半天终于在同事的帮助下参加成功. 我的参加方法:在Window上用Skype for Busin ...