对 *** 系统进行渗透测试,通常是按什么顺序
侦查阶段,入侵阶段,控制阶段。
渗透测试的本质是一个不断提升权限的过程。黑客通过对目标系统权限的提升,可以获取更多关于目标系统的敏感信息,也可以通过渗透测试对目标系统进行信息安全风险评估。
渗透测试最重要的环节是对目标系统的Web应用进行渗透测试,找出Web应用的安全漏洞,因此渗透测试是做好Web安全防护的之一步,亦是进一步进行纵深防御的敲门砖。
扩展资料:
*** 系统进行渗透测试注意事项:
提供完整的电脑漏洞扫描服务, 并随时更新其漏洞数据库。
不同于传统的漏洞扫描软件, Nessus 可同时在本机或远端上摇控, 进行系统的漏洞分析扫描。
其运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源(例如加快CPU速度或增加内存大小),其效率表现可因为丰富资源而提高。
参考资料来源:百度百科-渗透测试
参考资料来源:百度百科- *** 系统
一个完整的渗透测试流程,分为那几块,每一块有哪些内容
包含以下几个流程:
信息收集
之一步做的就是信息收集,根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。
漏洞探测
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:SQL注入 。
漏洞利用
探测到了该网站存在漏洞之后,就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。
内网渗透
当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息。
内网中也有可能存在供内网使用的内网服务器,可以进一步渗透拿下其权限。
痕迹清除
达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马。
撰写渗透测试保告
在完成了渗透测试之后,就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的 *** 。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击。
渗透测试之操作系统识别
利用TTL起始值判断操作系统,不同类型的操作系统都有默认的TTL值(简陋扫描,仅作参考)
TTL起始值:Windows xp(及在此版本之前的windows) 128 (广域网中TTL为65-128)
Linux/Unix64(广域网中TTL为1-64)
某些Unix:255
网关:255
使用python脚本进行TTL其实质判断
使用nmap识别操作系统:nmap -O 192.168.45.129 #参数-O表示扫描操作系统信息,nmap基于签名,指纹,特征,CPE编号等 *** 去判断目标系统的信息
CPE:国际标准化组织,制定了一套标准,将各种设备,操作系统等进行CPE编号,通过编号可以查询到目标系统
使用xprobe2进行操作系统识别,专门用来识别目标操作系统:xprobe2 192.168.45.129,但结果并不是很精确
被动操作系统识别:不主动向目标主机发数据包,基于 *** 监听原理
通过抓包分析,被动扫描,使用kali中的p0f工具进行 *** 监听
p0f:p0f是一种被动指纹识别工具,可以识别您连接的机器,连接到您的盒子的机器,甚至连接在盒子附近的机器,即使该设备位于数据包防火墙后面。
p0f的使用:只要接收到数据包就可以根据数据包判断其信息,首先输入p0f,然后在浏览器里面输入目标系统的网址,便会获得目标系统的信息
或者使用p0f结合ARP地址欺骗识别全网OS
snmp扫描:简单 *** 管理协议,明文传输,使用 *** 嗅探也可获取到信息
SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单 *** 管理协议"。SNMP是一种简单 *** 管理协议,它属于TCP/IP五层协议中的应用层协议,用于 *** 管理的协议。SNMP主要用于 *** 设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。
snmp的基本思想是为不同种类、不同厂家、不同型号的设备定义一个统一的接口和协议,使管理员可以通过统一的外观面对这些需要管理的网管设备进行管理,提高网管管理的效率,简化 *** 管理员的工作。snmp设计在TCP/IP协议族上,基于TCP/IP协议工作,对 *** 中支持snmp协议的设备进行管理。
在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP *** (Agent)), *** 实现设备与管理站的SNMP通信。如下图
管理站与 *** 端通过MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和 *** 都实现了相应的MIB对象,使得双方可以识别对方的数据,实现通信。管理站向 *** 申请MIB中定义的数据, *** 识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给管理站,完成一次管理操作。
已有的设备,只要新加一个SNMP模块就可以实现 *** 支持。旧的带扩展槽的设备,只要插入SNMP模块插卡即可支持 *** 管理。 *** 上的许多设备,路由器、交换机等,都可以通过添加一个SNMP网管模块而增加网管功能。服务器可以通过运行一个网管进程实现。其他服务级的产品也可以通过网管模块实现 *** 管理,如Oracle、WebLogic都有SNMP进程,运行后就可以通过管理站对这些系统级服务进行管理。
使用UDP161端口(服务端),162端口(客户端),可以监控 *** 交换机,防火墙,服务器等设备
可以查看到很多的信息,但经常会被错误配置,snmp里面
有一些默认的Community,分别是Public/private/manager
如果目标的community是public,那么就可以发送SNMP的查询指令,对IP地址进行查询
在kali中存在对snmp扫描的工具,为onesixtyone
在Windows XP系统安装SNMP协议:
1,在运行框输入appwiz.cpl
2,找到管理和监控工具,双击
3,两个都勾选,然后点OK
使用onesixtyone对目标系统进行查询:命令为:onesixtyone 192.168.45.132 public
onesixtyone -c 字典文件 -I 主机 -o 倒入到的文件 -w 100
onesixtyone默认的字典在:/usr/share/doc/onesixtyone/dict.txt
使用snmpwalk查找目标系统的SNMP信息:snmpwalk 192.168.45.129 -c public -b 2c
snmpcheck -t 192.168.45.129
snmpcheck -t 192.168.45.129 -w 参数-w检测是不是有可写权限
*** B协议扫描:server message block,微软历史上出现安全问题最多的协议,在Windows系统上默认开发,实现文件共享
在Windows系统下管理员的Sid=500,
*** B扫描:nmap -v -p 139,445 192.168.45.132 --open 参数-v表示显示详细信息,参数--open表示显示打开的端口
nmap 192.168.45.132 -p 139,445 --script= *** b-os-discovery.nse
*** b-os-discovery.nse:这个脚本会基于 *** B协议去判别操作系统,主机名,域名,工作组和当前的时间
nmap -v -P 139,445 --script= *** b-check-vulns --script-args=unsafe=1 192.168.45.132
脚本 *** b-check-vulns:检查已知的 *** B重大的漏洞
后面给脚本定义参数 --script-args=unsafe=1,unsafe可能会对系统有伤害,导致宕机,但要比safe准确
nbtscan -r 192.168.45.0/24参数-r使用本地137端口进行扫描,兼容性较好,可以扫描一些老版本的Windows
nbtscan可以扫描同一局域网不同的网段,对于局域网扫描大有裨益
enum4linux -a 192.168.45.132 :
*** TP扫描:目的在于发现目标系统的邮件账号
使用nc -nv 192.168.45.132 25
VRFY root :确定是不是有root用户
nmap扫描 *** TP服务:
nmap *** tp.163.com -p25 --script= *** tp-enum-users.nse --script-args= *** tp-enum-
users.methods={VRFY}
脚本 *** tp-enum-users.nse用于发现远程系统上所有user的账户
nmap *** tp.163.com -p25 --script= *** tp-open-relay.nse,如果邮件服务器打开了open-relay功能,那么黑客可以拿管理员的邮箱去发送钓鱼邮件
防火墙识别:通过检查回包,可能识别端口是否经过防火墙过滤
设备多种多样,结果存在一定的误差
之一种情况:攻击机向防火墙发送SYN数据包,防火墙没有给攻击机回复,攻击机再发送ACK数据包,若防火墙返回RST数据包,那么证明该端口被防火墙过滤
第二种类似
第三种:攻击机向防火墙发送SYN数据包,防火墙返回SYN+ACK或者SYN+RST数据包,攻击者再发送ACK数据包,若防火墙返回RST数据包,那么就可以证明防火墙对于该端口没被过滤.unfiltered=open
第四种情况类似,证明该端口是关闭的,或者防火墙不允许其他用户访问该端口
使用python脚本去判定:
使用nmap去进行防火墙识别:nmap有系列防火墙过滤检测功能
nmap -sA 192.168.45.129 -p 22 参数-sA表示向目标主机发送ACK数据包,参数-sS表示向目标发送SYN数据包,通过抓包分析收到的数据包判断是否有防火墙检测功能
负载均衡识别:负载均衡可以跟为广域网负载均衡和服务器负载均衡
在kali中使用lbd命令用于识别负载均衡机制
格式:lbd +域名/IP地址,如lbd
WAF识别:WEB应用防火墙,在kali中最常用的waf检测扫描器
输入:wafw00f -l:可以检测出这个工具可以检测到的waf类别
探测微软公司的WAF:wafw00f
使用nmap中的脚本去扫描目标网站使用的waf信息:nmap --script=http-waf-detect.nse
脚本详情:
nmap补充:
参数:-iL:把IP地址做成文件,使用该参数扫描这个文件里面的IP! nmap -iL ip.txt
-iR:随机选取目标进行扫描,后面跟需要扫描的主机个数,例:nmap -iR 20 -p 22:随机扫描20个主机的22号端口,默认发送SYN数据包
参数-sn表示不做端口扫描
参数-Pn表示跳过主机发现,扫描所有在线的主机,扫防火墙帮助很大
参数p0表示进行IP协议ping
参数-n/-R表示不进行DNS解析
参数--dns-servers表示指定一个DNS服务器去解析
参数--traceroute表示进行路由追踪
参数-sM表示发送ACK+FIN
参数-sF发送FIN数据包
参数-sV根据特征库匹配开放的服务,加上参数--version-intensity 后面加等级,0最小,9最完善
参数--script=脚本名
参数--script=arge.脚本.脚本名
参数--script-updatedb更新脚本
参数--script-help=脚本名 查看脚本的信息
参数-O检测操作系统类型
参数--scan-delay 表示每次探测间隔多长时间,后面个时间,如nmap 192.168.45.132 --scan-delay 10s :间隔十秒
参数-f表示设置MTU更大传输单元
参数-D表示伪造源地址,增加一些虚假的扫描IP,例:nmap -D 192.138.1.1,192.151.141.4 172.16.45.1 :扫描172.16.45.1主机,用这两个地址做干扰,防止被发现
参数-S表示伪造源地址,但要获取得到的IP地址,那么就得登陆到伪造的IP上
参数--proxies指定 *** 服务器
参数--spoof-mac欺骗mac地址 nmap 10.1.1.1 --spoof-mac=00:11:22:33:44:55
参数-6表示扫描IPv6
0条大神的评论