渗透测试应该怎么做呢?
01、信息收集
1、域名、IP、端口
域名信息查询:信息可用于后续渗透
IP信息查询:确认域名对应IP,确认IP是否真实,确认通信是否正常
端口信息查询:NMap扫描,确认开放端口
发现:一共开放两个端口,80为web访问端口,3389为windows远程登陆端口,嘿嘿嘿,试一下
发现:是Windows Server 2003系统,OK,到此为止。
2、指纹识别
其实就是网站的信息。比如通过可以访问的资源,如网站首页,查看源代码:
看看是否存在文件遍历的漏洞(如图片路径,再通过…/遍历文件)
是否使用了存在漏洞的框架(如果没有现成的就自己挖)
02、漏洞扫描
1、主机扫描
Nessus
经典主机漏扫工具,看看有没有CVE漏洞:
2、Web扫描
AWVS(Acunetix | Website Security Scanner)扫描器
PS:扫描器可能会对网站构成伤害,小心谨慎使用。
03、渗透测试
1、弱口令漏洞
漏洞描述
目标网站管理入口(或数据库等组件的外部连接)使用了容易被猜测的简单字符口令、或者是默认系统账号口令。
渗透测试
① 如果不存在验证码,则直接使用相对应的弱口令字典使用burpsuite 进行爆破
② 如果存在验证码,则看验证码是否存在绕过、以及看验证码是否容易识别
风险评级:高风险
安全建议
① 默认口令以及修改口令都应保证复杂度,比如:大小写字母与数字或特殊字符的组合,口令长度不小于8位等
② 定期检查和更换网站管理口令
2、文件下载(目录浏览)漏洞
漏洞描述
一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等。
渗透测试
① 查找可能存在文件包含的漏洞点,比如js,css等页面代码路径
② 看看有没有文件上传访问的功能
③ 采用…/来测试能否夸目录访问文件
风险评级:高风险
安全建议
① 采用白名单机制限制服务器目录的访问,以及可以访问的文件类型(小心被绕过)
② 过滤【./】等特殊字符
③ 采用文件流的访问返回上传文件(如用户头像),不要通过真实的网站路径。
示例:tomcat,默认关闭路径浏览的功能:
param-namelistings/param-name
param-valuefalse/param-value
3、任意文件上传漏洞
漏洞描述
目标网站允许用户向网站直接上传文件,但未对所上传文件的类型和内容进行严格的过滤。
渗透测试
① 收集网站信息,判断使用的语言(PHP,ASP, *** P)
② 过滤规则绕过 *** :文件上传绕过技巧
风险评级:高风险
安全建议
① 对上传文件做有效文件类型判断,采用白名单控制的 *** ,开放只允许上传的文件型式;
② 文件类型判断,应对上传文件的后缀、文件头、图片类的预览图等做检测来判断文件类型,同时注意重命名(Md5加密)上传文件的文件名避免攻击者利用WEB服务的缺陷构造畸形文件名实现攻击目的;
③ 禁止上传目录有执行权限;
④ 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件。
4、命令注入漏洞
漏洞描述
目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句,导致各种调用系统命令的web应用,会被攻击者通过命令拼接、绕过黑名单等方式,在服务端运行恶意的系统命令。
渗透测试
风险评级:高风险
安全建议
① 拒绝使用拼接语句的方式进行参数传递;
② 尽量使用白名单的方式(首选方式);
③ 过滤危险 *** 、特殊字符,如:【|】【】【;】【’】【"】等
5、SQL注入漏洞
漏洞描述
目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句查询后台数据库相关信息
渗透测试
① 手动测试:判断是否存在SQL注入,判断是字符型还是数字型,是否需要盲注
② 工具测试:使用sqlmap等工具进行辅助测试
风险评级:高风险
安全建议
① 防范SQL注入攻击的更佳方式就是将查询的逻辑与其数据分隔,如Java的预处理,PHP的PDO
② 拒绝使用拼接SQL的方式
6、跨站脚本漏洞
漏洞描述
当应用程序的网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建 HTML或JavaScript 的浏览器 API 更新现有的网页时,就会出现 XSS 缺陷。XSS 让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。
三种XSS漏洞:
① 存储型:用户输入的信息被持久化,并能够在页面显示的功能,都可能存在存储型XSS,例如用户留言、个人信息修改等。
② 反射型:URL参数需要在页面显示的功能都可能存在反射型跨站脚本攻击,例如站内搜索、查询功能。
③ DOM型:涉及DOM对象的页面程序,包括:document.URL、document.location、document.referrer、window.location等
渗透测试
存储型,反射型,DOM型
风险评级:高风险
安全建议
① 不信任用户提交的任何内容,对用户输入的内容,在后台都需要进行长度检查,并且对【】【】【"】【’】【】等字符做过滤
② 任何内容返回到页面显示之前都必须加以html编码,即将【】【】【"】【’】【】进行转义。
7、跨站请求伪造漏洞
漏洞描述
CSRF,全称为Cross-Site Request Forgery,跨站请求伪造,是一种 *** 攻击方式,它可以在用户毫不知情的情况下,以用户的名义伪造请求发送给被攻击站点,从而在未授权的情况下进行权限保护内的操作,如修改密码,转账等。
渗透测试
风险评级:中风险(如果相关业务极其重要,则为高风险)
安全建议
① 使用一次性令牌:用户登录后产生随机token并赋值给页面中的某个Hidden标签,提交表单时候,同时提交这个Hidden标签并验证,验证后重新产生新的token,并赋值给hidden标签;
② 适当场景添加验证码输入:每次的用户提交都需要用户在表单中填写一个图片上的随机字符串;
③ 请求头Referer效验,url请求是否前部匹配Http(s)😕/ServerHost
④ 关键信息输入确认提交信息的用户身份是否合法,比如修改密码一定要提供原密码输入
⑤ 用户自身可以通过在浏览其它站点前登出站点或者在浏览器会话结束后清理浏览器的cookie;
8、内部后台地址暴露
漏洞描述
一些仅被内部访问的地址,对外部暴露了,如:管理员登陆页面;系统监控页面;API接口描述页面等,这些会导致信息泄露,后台登陆等地址还可能被爆破。
渗透测试
① 通过常用的地址进行探测,如login.html,manager.html,api.html等;
② 可以借用burpsuite和常规页面地址字典,进行扫描探测
风险评级:中风险
安全建议
① 禁止外网访问后台地址
② 使用非常规路径(如对md5加密)
9、信息泄露漏洞
漏洞描述
① 备份信息泄露:目标网站未及时删除编辑器或者人员在编辑文件时,产生的临时文件,或者相关备份信息未及时删除导致信息泄露。
② 测试页面信息泄露:测试界面未及时删除,导致测试界面暴露,被他人访问。
③ 源码信息泄露:目标网站文件访问控制设置不当,WEB服务器开启源码下载功能,允许用户访问网站源码。
④ 错误信息泄露:目标网站WEB程序和服务器未屏蔽错误信息回显,页面含有CGI处理错误的代码级别的详细信息,例如SQL语句执行错误原因,PHP的错误行数等。
⑤ 接口信息泄露:目标网站接口访问控制不严,导致网站内部敏感信息泄露。
渗透测试
① 备份信息泄露、测试页面信息泄露、源码信息泄露,测试 *** :使用字典,爆破相关目录,看是否存在相关敏感文件
② 错误信息泄露,测试 *** :发送畸形的数据报文、非正常的报文进行探测,看是否对错误参数处理妥当。
③ 接口信息泄露漏洞,测试 *** :使用爬虫或者扫描器爬取获取接口相关信息,看目标网站对接口权限是否合理
风险评级:一般为中风险,如果源码大量泄漏或大量客户敏感信息泄露。
安全建议
① 备份信息泄露漏洞:删除相关备份信息,做好权限控制
② 测试页面信息泄露漏洞:删除相关测试界面,做好权限控制
③ 源码信息泄露漏洞:做好权限控制
④ 错误信息泄露漏洞:将错误信息对用户透明化,在CGI处理错误后可以返回友好的提示语以及返回码。但是不可以提示用户出错的代码级别的详细原因
⑤ 接口信息泄露漏洞:对接口访问权限严格控制
10、失效的身份认证
漏洞描述
通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌, 或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。
渗透测试
① 在登陆前后观察,前端提交信息中,随机变化的数据,总有与当前已登陆用户进行绑定的会话唯一标识,常见如cookie
② 一般现在网站没有那种简单可破解的标识,但是如果是跨站认证,单点登录场景中,可能为了开发方便而简化了身份认证
风险评级:高风险
安全建议
① 使用强身份识别,不使用简单弱加密方式进行身份识别;
② 服务器端使用安全的会话管理器,在登录后生成高度复杂的新随机会话ID。会话ID不能在URL中,可以安全地存储,在登出、闲置超时后使其失效。
11、失效的访问控制
漏洞描述
未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
渗透测试
① 登入后,通过burpsuite 抓取相关url 链接,获取到url 链接之后,在另一个浏览器打开相关链接,看能够通过另一个未登入的浏览器直接访问该功能点。
② 使用A用户登陆,然后在另一个浏览器使用B用户登陆,使用B访问A独有的功能,看能否访问。
风险评级:高风险
安全建议
① 除公有资源外,默认情况下拒绝访问非本人所有的私有资源;
② 对API和控制器的访问进行速率限制,以更大限度地降低自动化攻击工具的危害;
③ 当用户注销后,服务器上的Cookie,JWT等令牌应失效;
④ 对每一个业务请求,都进行权限校验。
12、安全配置错误
漏洞描述
应用程序缺少适当的安全加固,或者云服务的权限配置错误。
① 应用程序启用或安装了不必要的功能(例如:不必要的端口、服务、网页、帐户或权限)。
② 默认帐户的密码仍然可用且没有更改。
③ 错误处理机制向用户披露堆栈跟踪或其他大量错误信息。
④ 对于更新的系统,禁用或不安全地配置最新的安全功能。
⑤ 应用程序服务器、应用程序框架(如:Struts、Spring、ASP.NET)、库文件、数据库等没有进行相关安全配置。
渗透测试
先对应用指纹等进行信息搜集,然后针对搜集的信息,看相关应用默认配置是否有更改,是否有加固过;端口开放情况,是否开放了多余的端口;
风险评级:中风险
安全建议
搭建最小化平台,该平台不包含任何不必要的功能、组件、文档和示例。移除或不安装不适用的功能和框架。在所有环境中按照标准的加固流程进行正确安全配置。
13、使用含有已知漏洞的组件
漏洞描述
使用了不再支持或者过时的组件。这包括:OS、Web服务器、应用程序服务器、数据库管理系统(DBMS)、应用程序、API和所有的组件、运行环境和库。
渗透测试
① 根据前期信息搜集的信息,查看相关组件的版本,看是否使用了不在支持或者过时的组件。一般来说,信息搜集,可通过http返回头、相关错误信息、应用指纹、端口探测(Nmap)等手段搜集。
② Nmap等工具也可以用于获取操作系统版本信息
③ 通过CVE,CNVD等平台可以获取当前组件版本是否存在漏洞
风险评级:按照存在漏洞的组件的安全风险值判定当前风险。
安全建议
① 移除不使用的依赖、不需要的功能、组件、文件和文档;
② 仅从官方渠道安全的获取组件(尽量保证是最新版本),并使用签名机制来降低组件被篡改或加入恶意漏洞的风险;
③ 监控那些不再维护或者不发布安全补丁的库和组件。如果不能打补丁,可以考虑部署虚拟补丁来监控、检测或保护。
详细学习可参考:
渗透测试平台远程执行数据库dll的命令
一、渗透测试概念
渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击 *** ,来评估计算机 *** 系统安全的一种评估 *** 。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
渗透测试还具有的两个显著特点是:
渗透测试是一个渐进的并且逐步深入的过程。
渗透测试是选择不影响业务系统正常运行的攻击 *** 进行的测试。
渗透测试完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节,能直观的让管理员知道自己 *** 所面临的问题。所以渗透测试是安全评估的 *** 之一。
TIPS:安全评估通常包括工具评估、人工评估、顾问访谈、问卷调查、应用评估、管理评估、 *** 架构评估、渗透测试等。
渗透测试与其他评估 *** 的区别:
通常评估 *** 是根据已知信息资产或其他被评估对象,去发现所有相关的安全问题。渗透测试是根据已知可利用的安全漏洞,去发现是否存在相应的信息资产,通常评估 *** 对评估结果更具有全面性,渗透测试则更注重安全漏洞的严重性。
渗透测试一方面可以从攻击者的角度,检验业务系统的安全防护措施是否有效,各项安全策略是否得到贯彻落实;另一方面可以将潜在的安全风险以真实事件的方式凸现出来,从而有助于提高相关人员对安全问题的认识水平。渗透测试结束后,立即进行安全加固,解决测试发现的安全问题,从而有效地防止真实安全事件的发生。
二、渗透测试分类
根据渗透 *** 和视角分类,渗透测试可以分为——
A、黑箱测试“zero-knowledge testing”/(黑盒子Black Box)
渗透者完全处于对系统一无所知的状态。除了被测试目标的已知 *** 息外,不提供任何其他信息。一般只从组织的外部进行渗透测试。
通常,这种类型的测试,最初的信息获取来自DNS、Web、Email及各种公开对外的服务器。
B、白盒测试
测试者可以通过正常渠道向被测单位取得各种资料,包括 *** 拓扑、员工资料甚至网站或其他程序的代码片段,也能与单位其他员工进行面对面的沟通。通常包括从组织外部和从组织内部两种地点进行渗透测试。这类测试的目的是模拟企业内部雇员的越权操作。
C、灰盒子(Gray Box)
介于以上两者之间
较为隐秘的进行测试。通常,接受渗透测试的单位 *** 管理部门会收到通知:在某些时间段进行测试。因此能够检测 *** 中出现的变化。
但在隐秘测试中,被测单位也仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得是否到位。
网站渗透测试,怎么进行
1.信息收集:
1)、获取域名的whois信息,获取注册者邮箱姓名 *** 等。
2)、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3)、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞。
4)、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5)、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针。
6)、google hack 进一步探测网站的信息,后台,敏感文件。
2.漏洞扫描:
开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等。
3.漏洞利用:
利用以上的方式拿到webshell,或者其他权限。
4.权限提升:
提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉, linu *** 牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权。
5.日志清理:
结束渗透测试工作需要做的事情,抹除自己的痕迹。
需要规避的风险:
1. 不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。
2. 测试验证时间放在业务量最小的时间进行。
3. 测试执行前确保相关数据进行备份
4. 所有测试在执行前和维护人员进行沟通确认。
渗透测试之端口扫描
端口扫描:端口对应 *** 服务及应用端程序
服务端程序的漏洞通过端口攻入
发现开放的端口
更具体的攻击面
UDP端口扫描:
如果收到ICMP端口不可达,表示端口关闭
如果没有收到回包,则证明端口是开放的
和三层扫描IP刚好相反
Scapy端口开发扫描
命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)
nmap -sU 192.168.45.129
TCP扫描:基于连接的协议
三次握手:基于正常的三次握手发现目标是否在线
隐蔽扫描:发送不完整的数据包,不建立完整的连接,如ACK包,SYN包,不会在应用层访问,
僵尸扫描:不和目标系统产生交互,极为隐蔽
全连接扫描:建立完整的三次握手
所有的TCP扫描方式都是基于三次握手的变化来判断目标系统端口状态
隐蔽扫描:发送SYN数据包,如果收到对方发来的ACK数据包,证明其在线,不与其建立完整的三次握手连接,在应用层日志内不记录扫描行为,十分隐蔽, *** 层审计会被发现迹象
僵尸扫描:是一种极其隐蔽的扫描方式,实施条件苛刻,对于扫描发起方和被扫描方之间,必须是需要实现地址伪造,必须是僵尸机(指的是闲置系统,并且系统使用递增的IPID)早期的win xp,win 2000都是递增的IPID,如今的LINUX,WINDOWS都是随机产生的IPID
1,扫描者向僵尸机发送SYN+ACY,僵尸机判断未进行三次握手,所以返回RST包,在RST数据包内有一个IPID,值记为X,那么扫描者就会知道被扫描者的IPID
2,扫描者向目标服务器发送SYN数据包,并且伪装源地址为僵尸机,如果目标服务器端口开放,那么就会向僵尸机发送SYN+ACK数据包,那么僵尸机也会发送RST数据包,那么其IPID就是X+1(因为僵尸机足够空闲,这个就为其收到的第二个数据包)
3,扫描者再向僵尸机发送SYN+ACK,那么僵尸机再次发送RST数据包,IPID为X+2,如果扫描者收到僵尸机的IPID为X+2,那么就可以判断目标服务器端口开放
使用scapy发送数据包:首先开启三台虚拟机,
kali虚拟机:192.168.45.128
Linux虚拟机:192.168.45.129
windows虚拟机:192.168.45.132
发送SYN数据包:
通过抓包可以查看kali给linux发送syn数据包
linux虚拟机返回Kali虚拟机SYN+ACK数据包
kali系统并不知道使用者发送了SYN包,而其莫名其妙收到了SYN+ACK数据包,便会发RST包断开连接
也可以使用下列该命令查看收到的数据包的信息,收到对方相应的SYN+ACK数据包,scapy默认从本机的80端口往目标系统的20号端口发送,当然也可以修改
如果向目标系统发送一个 随机端口:
通过抓包的获得:1,kali向linux发送SYN数据包,目标端口23456,
2,Linux系统由自己的23456端口向kali系统的20号端口返回RST+ACK数据包,表示系统端口未开放会话结束
使用python脚本去进行scapy扫描
nmap做隐蔽端口扫描:
nmap -sS 192.168.45.129 -p 80,21,110,443 #扫描固定的端口
nmap -sS 192.168.45.129 -p 1-65535 --open #扫描该IP地址下1-65535端口扫描,并只显示开放的端口
nmap -sS 192.168.45.129 -p --open #参数--open表示只显示开放的端口
nmap -sS -iL iplist.txt -p 80
由抓包可知,nmap默认使用-sS扫描,发送SYN数据包,即nmap=nmap -sS
hping3做隐蔽端口扫描:
hping3 192.168.45.129 --scan 80 -S #参数--scan后面接单个端口或者多个端口.-S表示进行SYN扫描
hping3 192.168.45.129 --scan 80,21,25,443 -S
hping3 192.168.45.129 --scan 1-65535 -S
由抓包可得:
hping3 -c 100 -S --spoof 192.168.45.200 -p ++1 192.168.45.129
参数-c表示发送数据包的数量
参数-S表示发送SYN数据包
--spoof:伪造源地址,后面接伪造的地址,
参数-p表示扫描的端口,++1表示每次端口号加1,那么就是发送SYN从端口1到端口100
最后面跟的是目标IP
通过抓包可以得知地址已伪造,但对于linux系统(192.168.45.129)来说,它收到了192.168.45.200的SYN数据包,那么就会给192.168.45.200回复SYN+ACK数据包,但该地址却是kali伪造的地址,那么要查看目标系统哪些端口开放,必须登陆地址为kali伪造的地址即(192.168.45.200)进行抓包
hping3和nmap扫描端口的区别:1,hping3结果清晰明了
2,nmap首先对IP进行DNS反向解析,如果没成功,那么便会对其端口发送数据包,默认发送SYN数据包
hping3直接向目标系统的端口发送SYN数据包,并不进行DNS反向解析
全连接端口扫描:如果单独发送SYN数据包被被过滤,那么就使用全连接端口扫描,与目标建立三次握手连接,结果是最准确的,但容易被入侵检测系统发现
response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))
reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))
抓包情况:首先kali向Linux发送SYN,Linux回复SYN+ACK给kali,但kali的系统内核不清楚kali曾给linux发送给SYN数据包,那么kali内核莫名其妙收到SYN+ACK包,那么便会返回RST请求断开数据包给Linux,三次握手中断,如今kali再给Linux发ACK确认数据包,Linux莫名其妙收到了ACK数据包,当然也会返回RST请求断开数据包,具体抓包如下:
那么只要kali内核在收到SYN+ACK数据包之后,不发RST数据包,那么就可以建立完整的TCP三次握手,判断目标主机端口是否开放
因为iptables存在于Linux内核中,通过iptables禁用内核发送RST数据包,那么就可以实现
使用nmap进行全连接端口扫描:(如果不指定端口,那么nmap默认会扫描1000个常用的端口,并不是1-1000号端口)
使用dmitry进行全连接端口扫描:
dmitry:功能简单,但功能简便
默认扫描150个最常用的端口
dmitry -p 192.168.45.129 #参数-p表示执行TCP端口扫描
dmitry -p 192.168.45.129 -o output #参数-o表示把结果保存到一个文本文档中去
使用nc进行全连接端口扫描:
nc -nv -w 1 -z 192.168.45.129 1-100: 1-100表示扫描1-100号端口
参数-n表示不对Ip地址进行域名解析,只把其当IP来处理
参数-v表示显示详细信息
参数-w表示超时时间
-z表示打开用于扫描的模式
使用 Linux 安全工具进行渗透测试
众多被广泛报道的大型消费企业入侵事件凸显了系统安全管理的重要性。幸运的是,有许多不同的应用程序可以帮助保护计算机系统。其中一个是 Kali,一个为安全和渗透测试而开发的 Linux 发行版。本文演示了如何使用 Kali Linux 来审视你的系统以发现弱点。
Kali 安装了很多工具,它们都是开源的,默认情况下安装了它们会让事情变得更容易。
(LCTT 译注:Kali 及其携带工具只应该用于对自己拥有合法审查权利的系统和设备,任何未经授权的扫描、渗透和攻击均是违法的。本文作者、译者均不承担任何非授权使用的结果。)
本文使用的系统是:
我在上面列出了硬件规格,因为一些任务要求很高,尤其是在运行 WordPress 安全扫描程序(WPScan)时对目标系统 CPU 的要求。
首先,我会在目标系统上进行基本的 Nmap 扫描(你可以阅读 使用 Nmap 结果帮助加固 Linux 系统一文来更深入地了解 Nmap)。Nmap 扫描是一种快速的 *** ,可以大致了解被测系统中哪些端口和服务是暴露的。
默认扫描显示有几个你可能感兴趣的开放端口。实际上,任何开放端口都可能成为攻击者破坏你 *** 的一种方式。在本例中,端口 21、22、80 和 443 是不错的扫描对象,因为它们是常用服务的端口。在这个早期阶段,我只是在做侦察工作,尽可能多地获取有关目标系统的信息。
我想用 Nmap 侦察 80 端口,所以我使用 -p 80 参数来查看端口 80, -A 参数来获取操作系统和应用程序版本等信息。
关键信息有:
现在我知道了这是一个 WordPress 服务器,我可以使用 WPScan 来获取有关潜在威胁的信息。一个很好的侦察 *** 是尝试找到一些用户名,使用 --enumerate u 告诉 WPScan 在 WordPress 实例中查找用户名。例如:
这显示有两个用户: admin 和 pgervase 。我将尝试使用密码字典来猜测 admin 的密码。密码字典是一个包含很多密码的文本文件。我使用的字典大小有 37G,有 3,543,076,137 行。
就像你可以选择不同的文本编辑器、Web 浏览器和其他应用程序 一样,也有很多工具可以启动密码攻击。下面是两个使用 Nmap 和 WPScan 的示例命令:
这个 Nmap 脚本是我使用的许多脚本之一,使用 WPScan 扫描 URL 只是这个工具可以完成的许多任务之一。你可以用你喜欢的那一个。
WPScan 示例在文件末尾显示了密码:
在末尾的“找到有效组合”部分包含了管理员用户名和密码,3231 行只用了两分钟。
我还有另一个字典文件,其中包含 3,238,659,984 行,使用它花费的时间更长并且会留下更多的证据。
使用 Nmap 可以更快地产生结果:
然而,运行这样的扫描可能会在目标系统上留下大量的 HTTPD 日志消息:
为了获得关于在最初的 Nmap 扫描中发现的 HTTPS 服务器的信息,我使用了 sslscan 命令:
它显示了有关启用的 SSL 协议的信息,在最下方,是关于 Heartbleed 漏洞的信息:
有很多 *** 可以保护你的系统免受大量攻击。几个关键点是:
本文对安全工具及其使用 *** 的介绍只是冰山一角。深入了解的话,你可能需要查看以下资源:
via:
作者:Peter Gervase选题:lujun9972译者:MjSeven校对:wxy
常用的windows渗透命令有哪些
基础: 如何去学习 ·要有学习目标 ·要有学习计划 ·要有正确的心态 ·有很强的自学能力 学习目标 ·1.明确自己的发展方向(你现在或者将来要做什么,程序员?安全专家? *** 黑客等) ·2.自己目前的水平和能力有多高 ·能简单操作windows2000 ·能简单配置windows2000的一些服务 ·能熟练的配置Windows2000的各种服务 ·能熟练配置win2000和各种 *** 设备联网 ·能简单操作Linux,Unix,Hp-unix, Solaris中的一种或者多种操作系统 ·能配置cicso,huawei,3com,朗迅等 *** 设备 ·会简单编写C/C++,Delphi,Java,PB,VB,Perl ·能简单编写Asp,Php,Cgi和script,shell脚本 ·3.必须学会不相信态度,尊重各种各样的能力 ·不要为那些装模做样的人浪费时间 ·尊重别人的能力, ·会享受提高自己能力的乐趣. ·在知道了自己的水平和能力之后就要开始自己的目标了 ·--------安全专家 ·--------黑客 ·--------高级程序员 ·黑客是建设 *** ,不是破坏 *** , 破坏者是骇客; ·黑客有入侵的技术,但是他们是维护 *** 的,所以和安全专家是差不多的; ·因为懂得如何入侵才知道如何维护 ·因为懂得如何维护才更要了解如何入侵 ·这是 黑客与安全专家的联系 ·但,他们都是在会编程的基础上成长的! ·下面我们开始我们的学习计划! 学习计划 有了学习计划才能更有效的学习 安全学习计划 不奢求对win98有多么精通,我们也不讲解win98如何应用,如何精通,我们的起步是win2000 s erver,这是我们培训的更低标准,你对英语有一定的了解也是必不可少 最基础 ·a.会装win2000,知道在安装的时候有两种分区格式,NTFS与FAT32 及他们的区别,知道win2 000可以在安装的时候分区,格式化硬盘, 可以定制安装,可以定制自己需要安装的一些组件 ,如果有 *** 适配器,可以直接加入域中 学习点:NTFS和FAT32分区的不同 各个组件的作用 域的定义 ·b.知道如何开,关机 知道注销的用处 ·c.知道win2000下面各主要目录的作用 Documents and Settings,WINNT,system32 Progra m Files ·d.知道管理工具里面各个组件的定义 ·e.学会应用命令提示符cmd(dos) ·f.知道计算机管理里面的各个选项的不通 ·g.知道win2000强大的 *** 管理功能 ·h.能非常熟练的操作win2000 ·i.知道IP地址,子网掩码,网关和MAC的区别 进阶 ·A.配置IIS,知道各个选项的作用 ·B.配置DNS,DHCP ·C.配置主控制域,辅助域 ·D.配置DFS ·E.配置路由和远程访问 ·F.配置安全策略IPSEC ·G.配置service(服务) ·H.配置磁盘管理,磁盘分额 ·i. 配置RAID(0,1,0+1,5) ·J.路由器的安装与简单配置 ·K.交换机的安装与简单配置 ·L.常见的VPN,VLAN,NAT配置 ·M.配置常见的企业级防火墙 ·N.配置常见的企业级防病毒软件 高级 ·之前我们学到的是任何一个想成为 *** 安全专家和黑客基本知识中的一部分 ·你作到了吗?? ·如果你做到了,足以找到一份很不错的工作! 配置负载均衡 ·配置WIN2000+IIS+EXCHANGE+MSSQL+SERVER-U+负载均衡+ASP(PHP.CGI)+CHECK PIONT(ISASERVER) · ·配置三层交换 *** · ·配置各种复杂的 *** 环境 ·能策划一个非常完整的 *** 方案 · ·能独自组建一个大型的企业级 *** · ·能迅速解决 *** 中出现的各种疑难问题 结束 ·在你上面的都学好了,你已经是一个高级人才了,也是我们VIP培训的目标! ·可以找到一份非常好的工作 ·不会再因为给女朋友买不起玫瑰而发愁了! 安全导读: ·系统安全服务(SYSTEM) ·防火墙系统(FIREWALL) ·入侵检测(IDS) ·身份验证(CA) ·网站监控和恢复(WEBSITE) ·安全电子商务(E-BUSINESS) ·安全电子邮件(E-MAIL) ·安全办公自动化(OA) ·Internet访问和监控(AC) ·病毒防范(VIRUS) ·虚拟局域网(VPN) 系统安全服务 ·系统安全管理 ·系统安全评估 ·系统安全加固 ·系统安全维护 ·安全技能学习 系统安全管理 ·信息系统安全策略 ·信息系统管理员安全手册 ·信息系统用户安全手册 ·紧急事件处理流程 系统安全评估 1、系统整体安全分析 · 分析用户的 *** 拓扑结构,以找出其结构性及 *** 配置上存在的安全隐患。 · 通过考察用户信息设备的放置场地,以使得设备物理上是安全的。 · 分析用户信息系统的管理、使用流程,以使得系统 能够安全地管理、安全地使用 2、主机系统安全检测 · 通过对主机进行安全扫描,以发现系统的常见的安全漏洞。 · 对于特定的系统,采用特别的工具进行安全扫描。 · 根据经验,对系统存在的漏洞进行综合分析。 · 给出系统安全漏洞报告。 · 指出各个安全漏洞产生的原因以及会造成的危险。 · 给出修复安全漏洞的建议 3、 *** 设备安全检测 · 通过对 *** 进行安全扫描,以发现 *** 设备的安全漏洞。 · 根据经验,对 *** 设备存在的漏洞进行综合析。 · 给出 *** 设备安全漏洞报告。 · 指出各个安全漏洞产生的原因以及会造成的险。 · 给出修复安全漏洞的建议。 安全系统加固 ·为用户系统打最新安全补丁程序。 ·为用户修复系统、 *** 中的安全漏洞。 ·为用户去掉不必要的服务和应用系统。 ·为用户系统设置用户权限访问策略。 ·为用户系统设置文件和目录访问策略。 ·针对用户系统应用进行相应的安全处理。 安全系统维护 ·防火墙系统维护,安全日志分析 ·IDS系统维护,安全日志分析 ·VPN系统维护,安全日志分析 ·认证系统维护,安全日志分析 ·服务器、主机系统,安全日志分析 ·其它各类安全设施维护及日志分析 安全技能培训 · *** 安全基础知识 · *** 攻击手段演示和防范措施 ·防火墙的原理和使用 ·VPN的原理和使用 ·漏洞扫描工具的原理和使用 ·IDS(入侵检测系统)的原理和使用 ·身份认证系统的原理和使用 ·防病毒产品的原理和使用 ·系统管理员安全培训 ·一般用户安全培训 防火墙系统 ·防火墙的定义 ·防火墙的分类 ·包过滤防火墙 ·应用网关防火墙 ·状态检测防火墙 ·一般企业防火墙配置 · *** 机构防火墙配置 ·涉密 *** 保密网关配置 ·高可用性和负载均衡防火墙系统 ·高速防火墙系统 防火墙的定义 ·用以连接不同信任级别 *** 的设备。 ·用来根据制定的安全规则对 *** 间的通信进行控制 防火墙的分类 ·包过滤 (Packet Filters) ·应用网关 (Application Gateways) ·状态检测(Stateful Inspection) 包过滤防火墙 ·包 过 滤 技 术 ·主要在路由器上实现,根据用户定义的内容(如IP地址、端口号)进行过滤。包过滤在网 络层进行包检查与应用无关。 · 优 点 · 具有良好的性能和可伸缩性。 · 缺点 · 由于包过滤技术是对应用不敏感的,无法理解特定通讯的含义,因而安全性很差。 应用网关防火墙 ·应用网关技术 ·第二代防火墙技术,其在应用的检查方面有了较大的改进,能监测所有应用层,同时对应 用“内容”(Content Information)的含义引入到了防火墙策略的决策处理。 · 优点 · 安全性比较高。 · 缺点 · 1、该 *** 对每一个请求都必须建立两个连接,一个从客户端到防火墙系统,另一个从 防火墙系统到服务器,这会严重影响性能。 · 2、防火墙网关暴露在攻击者之中。 · 3、对每一个 *** 需要有一个独立的应用进程或 daemon 来处理, 这样扩展性和支持 新应用方面存在问题。 检测状态防火墙 ·属第三代防火墙技术,克服了以上两种 *** 的缺点,引入了OSI全七层监测能力,同时 又能保持 Client/Server的体系结构,也即对用户访问是透明的。 ·防火墙能保护、限制其他用户对防火墙网关本身的访问。 ·状态检测技术在 *** 层截获数据包后交给INSPECT Engine,通过 INSPECT Engine 可以从数据包中抽取安全决策所需的所有源于应用层中的状态相关信息,并在动态状态表中 维持这些信息以提供后继连接的可能性预测。该 *** 能提供高安全性、高性能和扩展性、高伸缩性的解决方案。 入侵检测系统 ·处理攻击时遇到的典型问题 ·解决入侵的 *** 和手段 ·基于 *** 的入侵检测 ·基于主机的入侵检测 ·入侵检测系统典型配置 处理攻击时遇到的问题 ·获得的信息不足 ·不知到 *** 上发生了什么事。 ·无法判定系统是否已经被入侵。 ·信息不准确 ·人员少 ·没有足够的人员维护管理。 ·缺乏规范的处理程序 ·发现攻击时如何反应? ·下一步该如何处理? 解决入侵的 *** 和手段 ·采用入侵实时入侵监控系统(IDS) ·对系统、 *** 中发生的事件进行实时监控。 ·当发生入侵事件时能即时反应。 ·对入侵事件进行详细记录并跟踪。 基于主机的入侵检测 ·软件模块安装在包含有重要数据的主机上 ·监视操作系统的日志以发现攻击的特征。 ·监视 *** 所处主机上的所有进程和用户. ·监视暴力登录攻击(brute-force login), 试图改变或绕过安全设定,及特权的滥用等 ·当新的日志产生时,为了减小对CPU的影响, *** 程序暂时中断。 基于 *** 的入侵检测 ·软件安装在专门的主机上,放置于关键的网段 ·将配置该软件主机的网卡设置为混杂模式,使得该主机能接受网段上所有的包。 ·分析数据包以判断是否有黑客攻击。 ·监视网段上的所有数据。 ·对 *** 的流量无任何影响。 ·能检测到 denial of service attacks, unauthorized access attempts, pre-attack s cans等攻击。 身份认证系统 ·用户身份认证的 *** ·不同认证 *** 的安全级别 ·用户身份认证的常用方式 ·解决问题的 *** ·目前比较成熟的双因素认证 *** 用户身份验证 ·你知道的一些东西 · 密码, 身份证号,生日 ·你有的一些东西 · 磁卡, 智能卡,令牌, 钥匙 ·你独有的一些东西 · 指纹,声音,视网膜 密码是不安全的 ·可以破解密码的工具太多 ·大多密码在 *** 中是明文传输的 ·密码可以 *** 离线时被窥测 ·密码和文件从PC和服务器上被转移了 ·好记的密码容易被猜到,不易猜测的密码又太难记 解决 *** ·使用混合的工具:如IC卡+PIN 网站监控与恢复系统 ·典型的Web服务器应用 ·Web服务器存在的安全问题 ·网站安全解决 *** 典型web服务器应用 ·Internet--路由器--防火墙--web站点 · | · | · 内部网 ·所有的放在防火墙后面 Web服务器存在的安全问题 ·网页被非法篡改是网站内容提供者最头痛的问题。在采用防火墙后,Web服务器本身的漏 洞成为了网站被黑的主要问题。 ·Web应用服务器(如IIS,Apache中存在着大量的安 全漏洞.) ·用户自己开发的CGI、ASP、PHP应用中存在着大量潜在的漏洞。 网站安全 ·采用Web服务器监控与恢复系统 ·该系统提供对网站文件内容的实时监控,发现被改动后立即报警并自动恢复。 电子商务安全系统 ·典型的电子商务应用 ·电子商务中存在的安全问题 ·电子商务的安全解决 *** ·实时数据交换系统 典型电子商务应用 ·Internet---防火墙---Web服务器 · || | · || | · 内部网(数据库) 电子商务中存在的安全问题 ·1、Web服务器端 ·Web应用服务器(如IIS、Apache中存在着大量的安全漏洞。用户自己开发的CGI、ASP、PHP应用中存在着潜在的漏洞。 ·黑客通过这些漏洞攻击Web服务器,可非法篡改网页,造成恶劣影响,动摇了电子商务使用者的信心。 ·甚至可获得Web服务器上大量的敏感资料,如用户的信用卡号,用以连接内部数据库的帐号和口令。 ·可能通过控制Web服务器,来攻击内部数据库。 电子商务中存在的安全问题 ·2、SSL协议 ·SSL加密强度低。由于浏览器默认的加密模块只支持40位的低强度加密,而且即使在浏览器中安装更高位的加密模块,由于WEB服务器不提供对高位SSL链接的支持同样无法实现高强 度SSL加密链接。 ·无法解决电子商务中的用户签名。SSL链接建立WEB服务器和用户浏览器之间的安全通道只能保证在安全通道内的信息不被窃听或篡改,并不能对用户发送的信息进行签名以保证信息的有效性和不可抵赖性,而这正是电子商务中必须解决的问题。 电子商务的安全解决 *** ·将WEB服务器分为两部分:一般内容的WEB服务器和交易WEB服务器。 ·一般内容的WEB服务器放置在DMZ区内,采用WEB站点监控和恢复系统保护,防止主页被非法改动。 ·交易WEB服务器放置在内部网内,通过一台物理分隔的实时数据交换系统将其与DMZ区相 连。 ·在客户机和服务器端安装SSL *** ,从而获得128位的高强度加密通道 实时数据交换系统 ·将系统外部 Web服务器和内部应用Web服务器物理隔开. ·外部Web服务器用于存放一般的信息,内部Web服 务器用于存放敏感信息,并和内部数据
0条大神的评论