渗透测试
渗透测试种类
- 白盒测试
- 黑盒测试
常用方法
有针对性的测试
公司内部和专业渗透测试团队共同完成,可以得到被测系统的内部资料,包括部署信息、网络信息、详细架构设计,甚至是产品代码
外部测试
对外部可见的服务器和设备,模拟外部攻击者对其进行攻击
内部测试
测试人员会拥有较高的系统权限,也能够查看各种内部资料,目的是检查内部攻击可以给系统造成什么程度的损害,为了防止系统的内部员工对系统进行内部攻击,同时以此来制定系统内部员工的权限管理策略
盲测
严格限制提供给测试执行人员或团队信息的前提下,由他们来模拟真实攻击者的行为和上下文
双盲测
不光测试人员对系统内部知之甚少,而且被测系统内部也只有极少数人知道正在进行安全测试
方法论
渗透测试方法论有许多,著名的有OWASP(开放式web应用安全项目)
- ISSAF(信息系统安全评估框架)
OSSTMM(开源安全测试方法论)
- 盲测
- 双盲测
- 灰盒测试
- 双灰盒测试
- 串联测试
- 逆向测试
信息收集
- 域名注册信息
# 并不止局限于使用命令行whois程序
whois -h whois.crsnic.net "domain google.com"
DNS记录分析
A-将域名指向一个PV4地址
CNAME-将域名指向另外一个域名
AAAA-将域名指向一个PV6地址
NS-将子域名指定其他DNS服务器解析
MX-将域名指向邮件服务器地址
SRV-记录提供特定的服务的服务器
TXT-文本长度限制512,通常做SPF记录(反垃圾邮件)
CAA-CA证书颁发机构授权校验
显性URL-将域名302重定向到另外一个地址
隐性URL-与显性URL类似,但是会隐藏真实目标地址
- 查询dns地址
host -a ismy.wang
- 使用dig达到同样的效果
dig ismy.wang any
路由信息
traceroute ismy.wang
tcptraceroute ismy.wang
搜索引擎
- 善用搜索引擎搜索相关主机的邮箱或者用户名
目标识别
主机识别
ping
arping
arping 192.168.43.1 # 局域网主机识别
- fping
fping -g 192.168.43.0/24 # 扫描局域网主机
- hping3
- nping
- nbtscan
操作系统识别
- 被动式识别
- p0f
- 主动式
- nmap
服务枚举
nmap
扫描目标指定
- 普通点分十进制(192.168.1.1)
- CIDR标记法(192.168.1.0/24)
- 十进制ip区间(192.168.1.1-255)
- 多个ip(ip1,ip2)
扫描方式
- sT:会进行三次握手
- sS:只会进行一次握手
- sN,sF,sX:通过判断目标有无回应确定端口状态
- sM:同上
- sA:判断是否有防火墙过滤
- sW:窗口扫描
- sI:通过僵尸网络
端口选项
- p:端口范围
- F:快速扫描
- r:顺序扫描
时间选项
- T:指定扫描模式
服务版本识别
nmap -sV 192.168.43.0/24
- 强力选项A
- 会开启服务版本识别,操作系统识别,脚本扫描,路由追踪
nbtscan
可以扫描主机netbios信息
NetBIOS,为网上基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,NetBIOS不是一种网上协议,而是应用程序接口(API
nbtscan 192.168.43.1-254
snmap枚举
- onesixtyone
- snmpcheck
VPN枚举
漏洞映射
- 本地漏洞
- 远程漏洞
漏洞分类
- 设计类
- 实施类
- 运营类
工具
- OpenVAS
- OpenVAS是功能齐全的漏洞扫描程序
- Cisco分析工具
模糊分析工具
- 通过发送有问题的数据来检测问题
SNMP分析
SMB分析
web程序分析
社会工程
- 冒名顶替
- 利益交换
工具
- SET
漏洞利用
exploit资料库
- 发布了部分已知漏洞的利用方法
工具 metasploit
- exploit 漏洞利用模板
- payload 包含恶意程序的有效载荷
- shell
- bind shell
- reverse shell
- meterpreter
权限提升
- 横向提权
- 纵向提权
本地漏洞利用
密码攻击
离线攻击工具
- hash-identifier
- Hashcat
- RainbowCrack
- samdump2
- john
- Ophcrack
- Crunch
在线破解工具
- CeWL
- Hydra
- Medusa
网络欺骗工具
- DNSChef
- 可以伪造假DNS应答地址
- arpspoof
- Ettercap
- 截取会话与密码
网络嗅探器
- Dsniff
- 密码捕获
- tcpdump
- Wireshark
访问维护
操作系统后门
- Cymothoa
- Intersect
- Meterpreter后门
隧道工具
- dns2tcp
- iodine
- ncat
- proxychains
- ptunnel
- socat
- sslh
- stunnel4
web后门
- WeBaCoo
- 通信采用了cookie
- weevely
- php meterpreter
攻击Windows
取得身份前的攻击手段
认证欺骗
- 弱口令
- 暴力破解
- 口令猜测
- 中间人欺骗
远程非授权漏洞发掘
- metasploit漏洞发掘
- 网络服务漏洞
- 应用程序漏洞
- 驱动程序漏洞
取得合法身份后的攻击手段
- 权限提升
- 密码哈希获取
- 密码文件存放在/system32/config的一个sam文件下
- 还是通过暴力破解
- 远程控制后门
- 远程保留一个shell,来供攻击者远程访问
- 端口重定向
- 掩盖入侵痕迹
- 关闭审核
- 清理日志
- 隐藏文件
Windows安全功能
- 防火墙
- 自动更新
- 安全中心
- 安全策略与群组策略
- 微软安全软件
- Windows资源保护
- UAC
- DEP(数据执行保护,对付缓冲区溢出)
攻击unix
root 权限获取
- 弱点映射
- 通过在公共信息获得漏洞资源
远程访问
- 暴力破解攻击
- 缓冲区溢出攻击
- return to libc
- 字符串格式化攻击
- 用户的输入被当做指令执行
- 输入验证攻击
- 整数溢出攻击
- 由于无符号跟有符号的区别,可能被利用为漏洞
- 悬摆指针攻击
- 废弃的指针又被重新利用
获取一个shell
- 反向通道
- 攻击者的主机开启监听服务,利用远程主机的漏洞,连接到攻击者主机
- 预防的措施包括关闭不必要的服务&使用防火墙
常见的远程攻击
- FTP
- 权限过大导致系统敏感文件被读取
- 溢出攻击
- email软件
- rpc
- 溢出攻击
- NFS
- 权限配置问题
- DNS
- 毒化
- ssh
- openssl
- 通过非对称加密计算让服务端过载
- apache
- dos
本地访问
- 离线口令破解
- 本地缓冲溢出攻击
- 内核缺陷
获取root权限之后
- Rootkit
- 特洛伊木马
- 签名校验
- 嗅探程序
- 日志清理
APT
高级长期威胁(英语:Advanced Persistent Threat,缩写:APT),又称高级持续性威胁、先进持续性威胁等,是指隐匿而持久的电脑入侵过程,通常由某些人员精心策划,针对特定的目标
确定目标 -> 攻击 -> 进入网络 -> 横向提权 -> 窃取数据 -> 管理与维护后门
- gh0st --> 国内的灰鸽子
证据收集
- 内存分析
- 主文件表
- 网络进程
- 宿主文件
- 进程监控
拨号攻击
- 战争拨号器:本质上就是一种扫描器
软件
- WarVOX
- TeleSweep
- PhoneSweep
VPN攻击
- 信息泄露
- 错误的配置导致安全问题
IP语音攻击
SIP协议的安全性
- 扫描端点
- 监听攻击:主要是在通过嗅探网络数据来实现
- 可以配合SRTP来加密通信
无线攻击
发现
- 主动发现
- 被动发现
aircrack-ng
sudo airmon-ng start wlan0 # 查看网卡接口 sudo airodump-ng wlp3s0 # 扫描AP
监听数据传输
- wireshark
拒绝服务攻击
- 消除认证攻击
- 假冒服务端或客户端发起连接断开请求
加密攻击
- wep
- 重放攻击
- 离线破解
硬件攻击
- 物理锁撞锁
- 门禁卡复制
- ATA设备访问
- 移动设备autorun
- 默认配置带来的危险
- 硬件电路图探测,嗅探数据
- 后门代码
移动设备攻击
- rooting
- 本地(native)文件
- 远程shell漏洞
- 数据窃取
- 能力泄露
- 恶意软件
- 应用程序漏洞
- 便携式网络攻击器