一. 基础
第一步 侦察
研究目标在互联网上的踪迹,监测资源,人和过程。扫描网络信息例如IP和系统类型,对公共服务例如服务支援中心和其他途径进行社会工程。开放的端口,托管的位置,提供给客户的服务类型等。侦察任务的交付包括攻击目标所有的资产清单,和资产有关的应用,使用的服务以及可能的资产所有者。
任务目标:找出目标,定义应用和商业用途,找出系统类型,找出可用端口,运行的服务,对信息做社会工程,记录发现的内容
第二步 目标测试
需要了解WEB应用的运作方式,被识别的服务,通信端口和其他信息
目标:测试出目标的薄弱环节,找出易受攻击的系统并确定优先级,将易受攻击的系统和资产所有者做映射,记录发现内容
第三步 漏洞利用
目标:漏洞利用,拿到权限,抓取非授权信息,积极进行社会工程,攻击其他的系统和应用,记录
第四步 提升权限
目标:获取更高级别的访问系统和网路的权限,获取其他用户的账户信息,使用提升的权限访问其他的系统,记录
第五步 保持访问
擦除日志,掩盖现有的访问通道和删除篡改的痕迹
kali中Maintaining Access类别著主要用于对目标保持访问,很多工具用于建立到目标的后门
目标:建立到目标的多种访问方法,删除未授权访问的证据,修复在利用漏洞中受影响的系统,有必要注入假数据,通过加密隐藏通信方式,记录发现信息
二. 侦察
1.侦擦的对象:目标背景:目标的业务关注的领域。目标的伙伴,业务伙伴,经销商和客户
目标在安全方面的投资,目标的业务和安全政策 目标的员工
定义目标:哪个目标更容易攻陷,那个目标应该避开 目标的网络:人和设备是怎么在网络上通信的 目标的防御:他们做了那些安全部署,部署在哪里 目标的技术:在流量控制,信息存储,身份验证使用的技术
kali 中information gathering 用于侦察
2.初期研究:公司网站,web历史归档网站http://archive.org,区域护互联网注册管理机构,电子化数据收集,分析和检索,社交媒体资源例如Glassdoor.com 比如kali中的Maltego可以将流行的社交媒体等合起来定位莫个人,信任关系,招聘广告,位置
3.shodan搜索引擎
4.google hacking: inurl intext 如遭到linksys监控探头的管理界面inurl:main.cgi 找出Nessys报告找到易受攻击的系统:intul:NessusXXX
5.googel hacking 数据库http://www.exploit-db.com/google-dorks
6.研究网络
1.克隆网站:HTTrack,kali未内置需要安装apt-get install httrack
2.ICMP技术 问题是会被防火墙拦截
还有fping:ping -asg network/host bits a标记限定只返回活跃主机的IP,s标记显示扫描的统计信息,g将fping设为安静模式
3.DNS侦察技术
DNS可以帮助勾勒出系统和子域的部署框图,使用Dig工具查询
dig -t ns baidu.com -t指定某个DNS区域使用授权域名服务器
4.DNS目标识别 使用fierce
5.Maltego信息收集图图表:用于多用途,收集互联网开放或者公告的信息,提供一些DNS侦察功能,擅长提取目标的指纹和收集目标的情报
6.namp:主要用于扫描网络主机和服务 参数-A打开进攻性扫描模式,-O打开OS检测,-sV版本检测,-sC脚本检测,-traceroute路由追踪 进攻性扫描容易被发现
7.FOCA网站元数据侦察工具
元数据:例如ppt,文档中会有描述性信息,例如登录到该系统的用户名,创建该文当的软件,操作系统
三. 服务端攻击
1.漏洞评估
1.Webshag:对服务器做安全审计的跨平台多线程工具,可用于扫描端口,URL扫描,文件模糊测试
skipfish:利用递归爬虫和基于字典的探针生成一副交互式网站地图
skipfish -o (输出位置) -w(字典位置) 目标网站
2.ProxyStrike:web应用代理类似于burp suite 使用其爬虫组件可以查找XSS和SQL等漏洞并显示结果,将结果到处到HTML或者XML
3.Vega可以爬取一个网站,并分析内容来找到链接和表单参数
2.漏洞利用
1.Metasploit
在MSF中可以使用nmap以及OS底层的指令不需要更换控制台,第一步先使用nmap扫描
将nmap扫描的结果以XML导入到Metaspolit中:nmap -n -oX my.xml network 调用db_import my.xml,使用serivces查看主机的服务 使用db_name一步完成对nmap的扫描并将结果保存到metaspolite数据库中,可以使用hosts和services验证其已经在数据库中保存相关信息
TIPS:使用443端口用作LHOST可以避开企业部署的代理工具
具体使用参考其他资料
2.利用电子邮件系统漏洞
3.暴力破解攻击
4.hydra
5.DirBuster 用于暴力破解webf服务器上的目录和文件名而设计的。
6.可以用来破解表单,GET,POST参数。也可用于找出没有被链接的资源,例如脚本,文件,目录等,其提供了在和生成器和结果分析器
3.中间人攻击
-
SSL strip工具
三. 客户端攻击
1. 社会工程
1.setoolkit工具的具体使用
https://github.com/trustedsec/social-engineer-toolkit
钓鱼网站演示
2.MITM代理服务器
1.MIMT Proxy工具 在kali Sniffing/Spoofing中的web sniffers
3.主机扫描
nessuss扫描主机,生成扫描报告
4.获取和破解用户密码
破解方法一般:猜测,字典攻击,暴力破解,混合方式
一般密码存储的加密方式:
散列化处理:散列化处理不可逆。散列化可以被暴力破解前提是知道散列的生成公式,例如John the Pipper可以对散列做检测。
彩虹表:与计算好的所有散列输出的数据库,可以用来通过搜索找出散列输出,kali中RainbowCrack可以自动生成彩虹表
1.windows密码:win将密码存储到系统账户管理SAM注册文件中,偶尔使用活动目录,其将密码存储到LADP数据库中。SAM文件位于C:\<系统根目录>\sys32\config中 C:\Windows\System32\config
SAM文件在windows运行的时候不能被移动复制,但可以被转存到离线环境,进而暴力破解。TIPS:可以启动另外一个操作系统并挂载C盘等方式获取SAM文件
在系统C:\<系统根目录>\repair中,该备份文件不被保护,但是经过了压缩处理可以使用expand [文件名][目标位置] 在更新的系统中微软添加了SYSKEY工具将SAM文件中的散列化处理的密码用128位的加密密钥加密
当能够物理访问windows的攻击者可以获得SYSKEY
(1)启动另一个操作系统
(2)窃取SAM和SYSTEM文件老巢(C:\\sys32\config)
(3) 通过bkreg和bkhive从SYSTEM目录恢复启动密钥
(4) 转存那些密码的散列
(5) 用John the Ripper等工具离线破解
需要了解挂载windows系统的方法
2.linux密码
密码位于/etc/passwd和/etc/shadow shadow只有root可读,以MD5散列方式存储,一般获取shadow文件需要通过引导加载程序,例如grup
五. 身份认证攻击
1.重点是Cookie获取以及cookie注入
2.中间人攻击 ARP污染等 Ettercap工具等等的使用
3.Driftnet可用于截获所有网络中的图片,前提是主机已经开始了中间人攻击,此时目标数据包中的图片都可以被嗅探 driftnet -i eth0 -d /root/home/wiwei/image
4.SQL注入
5.XSS攻击
六. Web攻击
BeEF使用
Dos攻击
THC-SSL-DOS: thc-ssl-dos [选项] <受害者IP> <端口> and --accept(必写)
scapy工具:伪造网络数据包的工具,可发送大量出错数据包,达到Dos
send(IP(dst="10.0.0.1",ttl=0)/TCP(),iface="eth0",count=2000) scapy还有很多配置出错数据包的方法
低轨道离子加农炮(LOIC):网络压力测试工具,需要另外安装
DNSCheF:DNS代理,可以伪造DNS,将网络请求引导到攻击机
SniffJoke:对TCP做透明处理,数据包做处理,使得IDS/IPS等嗅探工具很难拦截到做了处理的流量
siege:http压力测试工具
Inundator:绕过入侵检测和防御系统工具,通过对目标系统日志文件发动洪水攻击,从而隐藏真实的攻击
TCPReplay:可以榨取到以libpcap格式存储的数据流测试网络设备。其可以归类网络流量,区别是流量是服务端还是客户端,可以重写2,3,4层首部。在将数据在网络中重放或传输到其他设备;