安全学习概览——恶意软件分析、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之内建模块itertools
python的内建模块itertools提供了非常有用的用于操作迭代对象的函数 首先,我们看看itertools提供的几个无限迭代器 >>> import itertools > ...
- 高级UI-MD动画
MD动画是谷歌推出的一种动画效果,其实现的效果能让用户看着很是舒服,符合MD动画的动画,有很强的用户交互体验 Touch Feedback(触摸反馈) 在触摸反馈这一块,用的最多的就是水波纹效果,而水 ...
- [BJOI2019] 删数 [dp转贪心结论+线段树]
题面 传送门 思路 dp部分 以下称合法序列为原题面中可以删空的序列 这个是我在模拟考场上的思路 一开始我是觉得,这个首先可以写成一个dp的形式:$dp[i][j]$表示用$j$个数字填满了目标序列的 ...
- Clean Code 代码检查清单
注释: 不恰当的信息:注释只应该描述有关代码和设计的技术性信息. 废弃的注释:过时.无关或不正确的注释就是废弃的注释. 冗余注释:注释应该谈及代码自身没提到的东西 糟糕的注释:值得编写的注释,也值得好 ...
- labelme2coco问题:TypeError: Object of type 'int64' is not JSON serializable
最近在做MaskRCNN 在自己的数据(labelme)转为COCOjson格式遇到问题:TypeError: Object of type 'int64' is not JSON serializa ...
- 守护进程daemon
# -*- coding: utf-8 -*- import sys, os, time, atexit from signal import SIGTERM class Daemon: def __ ...
- 转:Cesium 和 Webpack
原文地址:https://www.jianshu.com/p/85917bcc023f 注意:webpack 和 webpack-cli 的安装参考 https://www.cnblogs.com/m ...
- python基础学习(七)
14.return # print() 可以被执行 def doubelNumber(num): print() print() Afnum = doubelNumber() print(Afnum) ...
- git的快速入门
Git是目前世界上最先进的分布式版本控制系统(注意,仅仅是一个程序,而不是正真意义上的系统). Why为什么需要版本控制? 场景1:大学毕业前夕,你在完成毕业论文,初稿A写好了,找老师修改,老师提出意 ...
- 字典的学习2——参考Python编程从入门到实践
遍历字典 1. 遍历所有键值对 eg1: user_0 = { 'username': 'efermi', 'first': 'enrico', 'last': 'fermi',}for key, v ...