- 1. 渗透测试
- 1.1. 概念
- 1.2. 分类
- 1.3. 过程环节
- 1.4. 安全漏洞生命周期:
- 1.5. 安全漏洞披露方式
- 1.6. 安全漏洞公开资源库
- 2. metasploit
- 2.1. msf体系框架
- 2.2. msf模块
- 2.3. msf 使用
- 2.4. 信息收集
- 3. 主机探测与端口扫描
- 3.1. 活跃主机扫描
- 3.2. 操作系统辨识
- 4. 端口扫描与服务类型探测
- 4.1. msf 中端口扫描器
- 4.2. nmap 扫描
- 5. 服务扫描与查点
- 5.1. 常见网络服务扫描
- 6. 口令猜测与嗅探
- 7. 网络漏洞扫描
- 7.1. 漏洞扫描器原理与漏洞扫描器
- 7.2. 扫描器
- 7.3. 查找特定服务漏洞
- 8. 漏洞扫描结果分析
- 9. Web 应用渗透技术
- 9.1. OWASP TOP 10
- 10. 内网渗透
- 10.1. 内存攻防技术
- 10.2. 缓冲区溢出
- 11. ms08_067
- 12. 客户端渗透攻击
渗透测试
概念
渗透测试就是一种通过模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方式。
分类
- 黑盒测试
- 白盒测试
- 灰盒测试过程环节
- 前期交互阶段
- 情报收集阶段
- 威胁建模阶段
- 漏洞分析阶段
- 渗透攻击阶段
- 后渗透攻击阶段
- 报告阶段安全漏洞生命周期:
- 安全漏洞研究与挖掘
- Exploit代码开发与测试
- 安全漏洞/Exploit代码限于封闭团队
- 安全漏洞/Exploit代码开始扩散
- 攻击工具/恶意程序出现并传播
- Exploit/攻击工具/恶意程序大规模传播并危害互联网
- Exploit/攻击工具/恶意程序逐渐消亡
安全漏洞披露方式
1.完全公开披露 2.负责任的公开披露 3.进入地下经济链 4.小范围利用直至被动披露
安全漏洞公开资源库
- CNNVD: 中国国家漏洞库,由中国信息安全测评中心维护。(www.cnnvd.org.cn)
- CNVD: 中国国家信息安全漏洞共享平台,由国家计算机网络应急技术处理协调中心(CNCERT/CC)维护。(www.cnvd.org.cn)
- 乌云安全漏洞报告平台: 民间组织。已无。
- SCAP中文社区: 民间组织项目。(http://www.scap.org.cn)
国外的安全漏洞信息库主要包括:
- CVE: (Common Vulnerability and Exposures,通过漏洞与披露),已成为安全漏洞命名索引的业界事实标准
- NVD: (National Vulnerability Database,国家漏洞数据库),是美国官方根据NIST的SCAP标准协议所描述的安全漏洞管理信息库。
- SecurityFocus
- OSVDBmetasploit msf体系框架
- 基础库文件
- 模块
- 插件
- 接口
- 功能程序msf模块
- Auxiliary 辅助模块
用于信息搜集以及一些不需要payload的攻击(如DOS)
- Exploits 渗透攻击模块
主动渗透攻击: 对安全漏洞主动攻击
被动渗透攻击: 对于无法主动将数据从远程输入到客户端软件中,可以诱导目标用户打开我们构造的“邪恶的”网页、电子邮件与编辑软件。
- Payloads 攻击载荷模块 攻击载荷是在渗透攻击成功后促使目标系统运行的一段植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
攻击载荷模块分为独立(Singles)、传输器(Stager)、传输体(Stage)三种类型。
- Nops 空指令模块
用来在攻击载荷中添加空指令区,以提高攻击可靠性。
- Encoders 编码器模块 确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”。还能对攻击载荷进行免杀处理。
典型坏字符0x00
,会截断后边内容,从而使攻击载荷无法正常运行。
- Post 后渗透模块
主要支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行各式各样的后渗透攻击动作,比如获取敏感信息、进一步扩展、实施跳板攻击等。
- **evasion **
5.0版本新增模块,用于免杀
msf 使用
kali中自带msf。
输入msfconsole
即可进入msf,
输入help可查看所支持的命令列表。
help [COMMAND]
进一步查看该命令的使用帮助信息。例如help search.
信息收集
testfire.net 是一个包含很多典型web漏洞的模拟银行模拟网站。
- whois 域名注册信息查询 whois -h whois testfire.net
- nslookup 与 dig 域名查询 nslookup 与 dig 两个工具功能上类似,都可以查询域名对应的IP地址。 dig 工具可以从该域名的官方DNS服务器上的查询到精确的权威应答,而nslookup只会得到DNS解析服务器保存在Cache中的非权威应答。
msf5 > nslookup
[*] exec: nslookup
> set type=A
> testfire.net
Server: 192.168.2.2
Address: 192.168.2.2#53
Non-authoritative answer:
Name: testfire.net
Address: 65.61.137.117
使用set type=A 对其IP进行解析,set type=MX 查找邮件转发服务器。
dig @<dns服务器> <待查询域名>
,可在待查询域名后边加上A、NS、MX等选项查找特定类型的DNS解析记录。
msf5 > nslookup
[*] exec: nslookup
> set type=NS
> firetest.net
msf5 > dig @ns3.dnsmadeeasy.com. firetest.net
- IP2Location 地理位置查询
https://www.maxmind.com/en/home
http://www.cz88.net/
- netcraft 网站提供的信息查询服务
https://searchdns.netcraft.com
- IP2Domain 反查域名
https://www.ip-adress.com/reverse-ip-lookup
输入ip反查哪些域名指向同一ip.
- 站长之家
http://tool.chinaz.com/
- 搜索引擎
主机探测与端口扫描
活跃主机扫描
ping
msf 主机发现模块
nmap
代码语言:javascript复制nmap -o
nmap -A
端口扫描与服务类型探测
msf 中端口扫描器
代码语言:javascript复制msf5 auxiliary(scanner/portscan/syn) > search portscan
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/http/wordpress_pingback_access normal No Wordpress Pingback Locator
1 auxiliary/scanner/natpmp/natpmp_portscan normal No NAT-PMP External Port Scanner
2 auxiliary/scanner/portscan/ack normal No TCP ACK Firewall Scanner
3 auxiliary/scanner/portscan/ftpbounce normal No FTP Bounce Port Scanner
4 auxiliary/scanner/portscan/syn normal No TCP SYN Port Scanner
5 auxiliary/scanner/portscan/tcp normal No TCP Port Scanner
6 auxiliary/scanner/portscan/xmas normal No TCP "XMas" Port Scanner
7 auxiliary/scanner/sap/sap_router_portscanner normal No SAPRouter Port Scanner
Interact with a module by name or index, for example use 7 or use auxiliary/scanner/sap/sap_router_portscanner
msf5 auxiliary(scanner/portscan/syn) > set RHOSTS 192.168.2.1
RHOSTS => 192.168.2.1
msf5 auxiliary(scanner/portscan/syn) > set THREADS 20
THREADS => 20
msf5 auxiliary(scanner/portscan/syn) > run
[ ] TCP OPEN 192.168.2.1:135
[ ] TCP OPEN 192.168.2.1:139
。。。。。
nmap 扫描
https://yanmie-art.github.io/2020/07/19/nmap使用/
服务扫描与查点
msf终端search name_version
查找所有可用的服务查点模块。
常见网络服务扫描
- Telnet 服务扫描
- ssh服务扫描
- 数据库服务查点
- 开放代理探测与利用
口令猜测与嗅探
- ssh 服务口令猜解
- psnuffle 口令嗅探
网络漏洞扫描
漏洞扫描器原理与漏洞扫描器
网络漏洞扫描指的是利用一些自动化的工具来发现网络上各类主机设备的安全漏洞,这些自动化工具通常被称为漏洞扫描器。
- 黑盒扫描
- 白盒扫描
扫描器
X-scan AppScan AWVS WebInspect Netsparker WVSS 安恒明鉴 Nessus nexpose 启明天镜 RSAS
查找特定服务漏洞
nmap
漏洞扫描结果分析
漏洞扫描结果分析
Web 应用渗透技术
OWASP TOP 10
- SQL 注入攻击
- 跨站脚本攻击(xss)
- 跨站请求伪造(csrf)
- 会话认证管理缺陷(BASM)
- 安全误配置
- 不安全密码存储
- 不安全的对象参考
- 限制 url 访问失败
- 缺乏传输层保护
- 未验证的重定向和跳转
实例可寻找各大靶场。
内网渗透
内存攻防技术
内存攻击指的是攻击者利用软件安全漏洞,构造恶意输入导致软件再处理输入数据时出现非预期错误,将输入数据写入内存中的某些特定敏感位置,从而劫持软件控制流,转而执行外部输入的指令代码,造成目标系统被获取远程控制或拒绝服务。
缓冲区溢出
原理:缓冲区溢出漏洞是程序由于缺乏对缓冲区边界条件检查而引起的一种异常行为,通常是程序向缓冲区中写数据,但内容超过了程序员设定的缓冲区边界,从而覆盖了相邻的内存区域,造成覆盖程序中的其他变量甚至影响控制流的敏感数据,造成程序的非预期行为。
分为栈溢出和堆溢出。
ms08_067
客户端渗透攻击
客户端渗透攻击指的是攻击者构造畸形数据发送给目标主机,用户在使用含有漏洞缺陷的客户端应用程序处理这些数据时,发生程序内部处理流程的错误,执行了内嵌于数据中的恶意代码,从而导致被渗透入秦。
这类攻击针对的是处于客户端一侧的软件程序,最常见的以浏览器、Office为代表的流行应用软件。
转自:https://yanmie-art.github.io/2020/07/27/渗透测试笔记/