1.测试过程及方法
1.1渗透测试概念
渗透测试 (Penetration Test)是一种通过模拟黑客攻击手段,评估信息系统安全的测试方法。测试全程从一个网络攻击者视角进行,包括对系统的任何弱点、技术缺陷或漏洞的主动分析和尝试利用,是一种主动防御的黑盒测试方法。目前,渗透测试越来越多的被用来保证信息系统和服务的安全性,使安全漏洞在暴露之前就被修复,避免黑客和其他恶意用户利用漏洞对信息系统发起网络入侵、窃取数据等攻击。
场站渗透测试,一般需要局方配合人员在站控层交换机上开个口,提供一个空闲IP地址。并询问清楚是否有设备清单(主要做跟主站有互通的设备),是否有四方远动服务器、南瑞科技的测控装置等高危设备,如果都没有,接入笔记本,可以开始全网段探测。
渗透测试做完后,跟局方配合人员沟通确认,服务器是否都正常。确定正常后,方可离场返回。
1.2使用工具介绍
ØHscan
一款运行在Win NT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式,可以扫描很多弱口令以及安全漏洞,包括FTP/SMTP/FINGER/IIS/CGI/POP3/NT/IMAP/MSSQL/MYSQL/CISCO等以及指定范围端口扫描。
ØNmap
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络端口。确定哪些服务运行在哪些端口,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。
ØKali linux
Kali Linux是一个高级渗透测试和安全审计Linux发行版。
这是黑客必备工具之一
Kali 并不是为普通用户准备的。它并不是一个运行在你的笔记本电脑上的普通 Linux 发行版,而是一个很酷的“黑客操作系统“。
ØMetasploit
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
1.3测试过程介绍
(1)制订渗透方案并实施:根据渗透测试对象,制定测试方案,包括拟采取计划、措施、工具、方法以及相关风险规避和保障措施。
(2)信息预收集分析:包括侦查各类渗透测试对象的相关信息。
(3)查找漏洞:查找漏洞:主要包括工具扫描和人工分析两步骤。
(4)结果总结:编写渗透测试分析报告,提出安全加固解决方案,提交相关管理人员指导整改。
2.工具使用介绍
2.1常用环境配置
2.1.1java环境配置
直接安装软件包里的jdk_8.0.1310.11_64.exe,安装完成后在CMD下,输入java -version 查看java版本情况,如果出现如下打印,则表示java环境安装及配置成功。
否则需要检查修改java环境变量:
2.1.2Python环境配置
直接安装软件包里的python-2.7.17.amd64.msi,即完成python2 的环境安装。
将需要执行的python文件放置在安装目录 C:Python27下,方便快速执行python命令。
2.1.3其他环境配置
暂无。
2.2常用工具使用说明
2.2.1端口扫描工具Nmap使用
安装后,直接打开nmap工具,在命令栏下输入
nmap -T3 -A -v -p 0-65535192.168.0.1/24
其中端口可以跟部分端口,也可以0-65535 全端口探测。
IP地址可以全网段扫描,也可以部分网段或单个IP扫描,比如192.168.0.1-10.
参数介绍:
-T:设置时间模板
模板名称有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。前两种模式用于IDS躲避,Polite模式降低了扫描 速度以使用更少的带宽和目标主机资源。默认模式为Normal,因此-T3 实际上是未做任何优化。Aggressive模式假设用户具有合适及可靠的网络从而加速 扫描。Insane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。
如果用于有足够的带宽或以太网连接,仍然建议使用-T4选项。
-A:启用OS检测、版本检测、脚本扫描和跟踪路由
-v:提高输出信息的详细度
点击“扫描”,开始端口扫描。
扫描完成后,端口6中状态如下:
端口状态:
1、Open:端口开启,有程序监听此端口
2、Closed:端口关闭,数据能到达主机,但是没有程序监听此端口
3、Filtered:数据未能到达主机
4、Unfiltered:数据能到达主机,但是Nmap无法判断端口开启还是关闭
5、Open | filtered:端口没返回值,主要出现在UDP,IP,FIN,NULL和Xmas扫描
6、Closed | filtered:只出现在IP ID idle 扫描
重点针对Open的端口进行渗透验证即可。
2.2.2弱口令检查工具
HScan工具
HScan工具是免安装版,直接双击hscangui.exe打开程序
在左下角的Menu-Modules里面,选择需要爆破的服务,比如FTP,点击OK。
在左下角的Menu-Parameter里面,填入需要爆破的IP或IP段。
保存后,点击Menu-Strat开始运行。爆破结果会在下方空白处显示。
超级弱口令检查工具
超级弱口令检查工具也是免安装版,直接双击SNETCracker.exe打开程序。
首先选择需要检查的服务(可多选),然后在,目标处输入检查的IP、域名或IP范围,可以是单个IP或IP段,IP范围格式必须为:192.168.1.1-192.168.1.200。也可导入地址,导入地址必须是单个IP一行,然后取消“不根据检查服务自动选择密码字典”,即可工具自动选择服务对应的账户和密码文件进行破解,其他选项根据需求选择,点开始即可检查。
2.2.3ajp13漏洞渗透工具
使用nmap扫描探测8009端口是否开启,
将ajpfuzzer_v0.6.jar文件放在笔记本电脑某盘的tool目录下 比如C:tool目录下
CMD下进入C:tool目录, 并执行java -jar ajpfuzzer_v0.6.jar 进入程序
之后执行 connect 172.16.30.18 8009 尝试连接目标服务器的ajp服务
连接成功后,如下图显示,输入10 可以执行显示如下信息
或者在kali下执行
或者 输入?list,可以查看具体可执行命令
进一步利用方法:
通过执行python脚本,可以任意读取文件。
python CNVD-2020-10487-Tomcat-Ajp-lfi.py172.50.6.89 -p 8009 -f /WEB-INF/web.xml
2.2.4Redis未授权访问
使用nmap扫描探测6379端口是否开启,
将redis-2.4.5-win32-win64.zip文件放在笔记本电脑某盘的tool目录下 比如C:tool目录下,并直接解压至tool目录下,
如下所示:
CMD下进入C:tool64bit目录,执行redis-cli.exe -h 10.35.6.156尝试连接开启了redis的服务器。
连接成功后,尝试执行info命令。
上图所示,info命令执行成功,即表示存在redis未授权服务,进一步操作即可获取ssh权限。
2.2.512345-达梦数据库客户端
使用nmap扫描探测12345或54321端口是否开启,
工具环境:安装达梦数据库管理工具客户端。
启动“管理工具Manager”
1.输入目标主机IP和默认口令均为:SYSDBA。
2.如果登录成功则存在未授权访问,如果登录失败则该漏洞不存在。
3Kali系统工具使用介绍
3.1VMware 工具安装
选择kali系统下面的VMware安装文件,点击运行安装。
安装后需要输入key进行激活,key在vmware-key.txt文件中,取前几个尝试激活。
激活后打开VMware虚机软件。
检查编辑-虚拟机网络编辑器的配置,默认如下图的VMnet1配置为仅主机,VMnet8配置为NAT模式,并且主机连接状态都为“已连接”。基本可判定虚机网络状态基本正常。
3.2Kali系统启动
将工具包里的kali-linux-2020.2a-vmware-amd64.zip文件解压缩。
打开vmware工具,点击工具栏的“文件-打开”选项,选择上述文件解压缩文件夹里的Kali-Linux-2020.2a-vmware-amd64.vmx文件,点击“打开”。
这时左侧我的计算机下会出现一条Kali-linux的新内容。
一般不需要修改虚拟机配置。直接点击“开启此虚拟机”。
之后弹出一个对话框,此处选择“我已移动该虚拟机”。
启动完成后,输入用户名密码:root 、 toor进入系统。
右键选择“Open Terminal Here”进入命令窗口模式。
尝试ping下,看网络是否连通。网络连通即可正常使用了。
4Metasploit工具使用介绍
进入kali系统后,命令行窗口输入msfconsole 进入metasploit工具:
命令介绍:
search 搜索模块名称和描述
use 按名称选择模块
options 显示全局选项或一个或多个模块
set设置配置参数(IP或端口)
run或exploit运行
例如:主机端开启了445端口,使用MS17-010的辅助模块进行验证永恒之蓝漏洞:
search ms17-010
use auxiliary/scanner/smb/smb_ms17_010
options
set RHOSTS 172.20.72.147
run
执行结果中如果有如上图所示的绿色+号,Host is likely VULNERABLE to MS17-010! 的内容,则说明此IP存在MS17-010的永恒之蓝漏洞。
其它利用方法见具体漏洞测试方法。
5常见漏洞测试方法
5.1常见漏洞
5.1.1SSH弱密码登陆(高危)
漏洞描述
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。使用root账号root等弱密码可以轻松ssh连接到对应服务器,直接获取服务器控制权。
漏洞详情
在条件允许的情况下,可以尝试使用Hscan工具对ssh进行口令爆破。
之后根据爆破结果,使用MobaXterm进行登陆验证。
修改建议
修改口令,增加口令复杂度,如包含大小写字母、数字和特殊字符等。
5.1.2FTP弱密码登陆(高危)
漏洞描述
在FTP客户端和服务器端,数据以明文的形式传输,任何对通讯路径上的路由具有控制能力的人,都可以通过嗅探获取FTP的密码和数据。并且使用常见账号的弱密码如root、root 等,可以轻松登陆FTP服务器,常常会被黑客利用。
漏洞详情
使用nmap扫描探测FTP服务是否开启,使用Hscan工具尝试爆破FTP用户名和密码。
然后使用FTP连接工具 ,配置用户名和密码为爆破出来的用户名和密码,或者其它常见弱密码,如 root、root;oracle、oracle;ftp、ftp等,尝试连接FTP服务器。
修改建议
1、关闭FTP服务,
2、或使修改FTP密码,配置符合密码强度要求的密码。
3、加强访问控制,限制不必要的服务器登录。
5.1.34 FTP匿名访问(中危)
漏洞描述:
在FTP客户端和服务器端,数据以明文的形式传输,任何对通讯路径上的路由具有控制能力的人,都可以通过嗅探获取FTP的密码和数据。FTP匿名登录漏洞,指使用 FTP 的用户启用了匿名登录功能,容易被黑客攻击,发生恶意文件上传或更严重的入侵行为。
漏洞详情:
使用nmap扫描探测FTP服务是否开启,
使用FTP连接工具 ,配置用户名为anonymous,密码为空,尝试连接FTP服务器。
如果连接成功,则表示此处存在FTP匿名登陆漏洞。
如果nmap扫描结果下,有如下显示,也表示此IP存在匿名访问漏洞。可进一步用上述工具连接验证。
方法二:
用kali下面的/auxiliary/scanner/ftp/anonymous/进行扫描探测。
修改建议:
1、关闭FTP服务,
2、或使修改配置文件,禁止匿名用户登录。
3、加强访问控制,限制不必要的服务器登录。
5.1.4Telnet登录弱密码(中危)
漏洞描述
Telnet为高危服务,数据以明文的形式传输,任何对通讯路径上的路由具有控制能力的人,都可以通过嗅探获取你的密码和数据。Telnet弱密码为root/root.
漏洞详情
使用nmap扫描探测23端口的Telnet服务是否开启,
使用Hscan工具尝试爆破Telnet用户名和密码。
之后根据爆破结果,使用MobaXterm进行登陆验证
修改建议
1、关闭Telnet服务。
2、或者加强访问控制,限制不必要的服务器登录。
3、修改口令,增加口令复杂度,如包含大小写字母、数字和特殊字符等。
5.1.5Telnet未授权访问(中危)
漏洞描述:
Telnet为高危服务,数据以明文的形式传输,任何对通讯路径上的路由具有控制能力的人,都可以通过嗅探获取你的密码和数据。存在未授权访问漏洞更导致直接可以操控服务器。
漏洞详情:
使用nmap扫描探测23端口的Telnet服务是否开启,
在cmd下或在kali下,尝试命令连接telnet服务器。
或者利用telnet客户端尝试连接服务器。
修改建议:
1、关闭Telnet服务。
2、或者加强访问控制,限制不必要的服务器登录。
5.1.6MYSQL数据库弱密码登陆(高危)
漏洞描述
MySQL 弱口令漏洞指 MySQL 数据库 root 账号对应的密码长度太短或者复杂度不够,如仅包含数字,或仅包含字母等。
弱口令容易被暴力破解,一旦被恶意利用来登录系统,会导致数据泄露,如果得到了root权限登录mysql服务,则可以写入恶意文件,危害更大。
漏洞详情
使用nmap扫描探测3306端口是否开启,
使用mysql数据库连接工具,使用常见root账号的密码进行登录测试。
方法二:
mysql -h 193.100.100.250 -P 3306 -u root -proot
在kali下使用如上命令,尝试连接mysql数据库,如果连上,表示mysql数据库存在弱密码root。
修改建议
修改口令,增加口令复杂度,如包含大小写字母、数字和特殊字符等。
5.1.7VNC弱密码登陆(高危)
漏洞描述:
VNC 是虚拟网络控制台Virtual Network Console的英文缩写。它是一款优秀的远程控制工具软件由美国电话电报公司AT&T的欧洲研究实验室开发。VNC是基于 UNXI 和 Linux 的免费开源软件由 VNC Server 和 VNC Viewer 两部分组成。VNC 默认端口号为 5900、5901。VNC 弱口令漏洞如被利用可能造成恶意用户直接控制target主机。
漏洞详情:
使用nmap扫描探测5900、5901端口是否开启,
方法一:使用VNC的连接客户端进行连接,需要输入密码时尝试常用弱密码
如果不需要输入密码,直接能连上,说明此处存在VNC未授权访问漏洞。
如果输入弱密码如root、root能连上,则此处存在VNC弱密码登陆漏洞
方法二:在kali 下使用 vncviewer 192.168.15.8 ,需要输入密码时尝试常用弱密码,进行连接测试
修改建议:
1、关闭VNC服务
2、或者配置 VNC 客户端登录口令认证并配置符合密码强度要求的密码。
3、以最小普通权限身份运行操作系统。
5.1.8达梦数据库默认口令(中危)
漏洞描述
达梦数据库管理系统是一款高性能数据库管理系统,默认端口是12345或者54321。默认管理员用户名和密码均为SYSDBA。
漏洞详情
工具环境:达梦数据库管理工具客户端。
1.输入目标主机IP和默认口令均为:SYSDBA。
2.如果登录成功则存在未授权访问,如果登录失败则该漏洞不存在。
修改建议
修改默认密码。
5.1.9ajp13未授权访问漏洞(中危)
漏洞描述
此漏洞源于Apache Tomcat错误处理了某些请求,可被利用注入任意AJP消息并泄露敏感信息或绕过身份验证机制。成功利用需要不使用org.apache.jk.server.JkCoyoteHandler AJP连接器,接受POST请求,不处理请求主体。
漏洞详情
使用nmap扫描探测8009端口是否开启,
将ajpfuzzer_v0.6.jar文件放在笔记本电脑某盘的tool目录下 比如C:tool目录下
进入C:tool目录, 并执行java -jar ajpfuzzer_v0.6.jar 进入程序
之后执行 connect 172.16.30.18 8009 尝试连接目标服务器的ajp服务
连接成功后,如下图显示,输入10 可以执行显示如下信息(如执行结果不一致,则表示不存在该漏洞)
或者在kali下执行
或者 输入?list,可以查看具体可执行命令
进一步利用方法:
通过执行python脚本,可以任意读取文件。
python CNVD-2020-10487-Tomcat-Ajp-lfi.py172.16.31.177 -p 8009 -f /WEB-INF/web.xml
修改建议
1、关闭服务。
2、或配置验证登录。
5.1.10Tomcat-Ajp协议任意文件读取漏洞(高危)
漏洞描述
Apache Tomcat服务器通过Connector连接器组件与客户程序建立连接,被分别过配置了两个Connector:HTTP和AJP,我们通常使用HTTP Connector,也就是8080端口来访问Tomcat,它的配置文件在conf/serve.xml,它的配置如下:
connectionTimeout="20000"
redirectPort="8443"/>
AJP协议(Apache Jserv Protocol)使用8009端口,它能够优化HTTP请求,多用于集群,反向代理的场景,它的配置如下:
漏洞因为Tomcat AJP协议存在缺陷而产生,攻击者可通过该漏洞读取配置文件以及执行恶意代码。
漏洞详情
使用nmap扫描探测8009端口是否开启,
通过执行python脚本,可以任意读取文件。
python CNVD-2020-10487-Tomcat-Ajp-lfi.py172.16.31.177 -p 8009 -f /WEB-INF/web.xml
修改建议
1、在server.xml中注释掉AJP,或者绑定到127.0.0.1
2、更新到如下Tomcat 版本
Tomcat 分支 版本号
Tomcat 7 7.0.0100
Tomcat 8 8.5.51
Tomcat 9 9.0.31
5.1.11Redis未授权访问(高危)
漏洞描述
Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下,利用 Redis 自身的提供的config 命令,可以进行写文件操作,攻击者可以成功将自己的ssh公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以使用对应私钥直接使用ssh服务登录目标服务器、添加计划任务、写入Webshell等操作。
漏洞详情
使用nmap扫描探测6379端口是否开启,
将redis-2.4.5-win32-win64.zip文件放在笔记本电脑某盘的tool目录下 比如C:tool目录下,并直接解压至tool目录下,
如下所示:
进入C:tool64bit目录,执行redis-cli.exe -h 10.35.6.156尝试连接开启了redis的服务器。
上图所示即表示存在redis未授权服务,进一步操作即可获取ssh权限。
执行info 命令要能看到版本等信息才表示存在该漏洞。
如果不存在redis未授权访问,Redis连的时候,也可以测试是否有弱口令。
修改建议
1、禁止使用root权限启动redis服务。
2、对redis访问启动密码认证。
3、添加IP访问限制,并更改默认6379端口。
5.1.12MS17-010,永恒之蓝漏洞(高危)
漏洞描述:
永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻
击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。
恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
漏洞详情:
使用nmap扫描探测445端口是否开启
方法一:使用kali下面的metasploit工具里面的/auxiliary/scanner/smb/smb_ms17_010辅助扫描工具,设置好主机和端口信息后进行漏洞探测。执行结果中如有下图所示的绿色+号,Host is likely VULNERABLE to MS17-010! 的内容,则说明此IP存在MS17-010的永恒之蓝漏洞。,
方法二:
Kali下搞不出来,可以用nmap工具试下。
nmap --script smb-vuln-ms17-010 192.168.100.3
修改建议:
1、关闭445端口
2、或者使用微软官方的MS17-010补丁修复对应的服务器。
5.1.13MS08-067, Windows Server服务RPC请求缓冲区溢出漏洞(高危)
漏洞描述
MS08-067 漏洞是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的。
NetPathCanonicalize 函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行。
漏洞详情
使用nmap扫描探测135和445端口是否开启
针对135端口,可以使用如下命令进行ms08-067漏洞探测
nmap -n --script smb-vuln-ms08-067 10.35.4.138 --open
针对445端口,一方面可以使用如下nmap命令进行探测
nmap -sV -Pn -p 445 --script smb-vuln-ms08-067.nse 172.16.12.2
也可以使用kali下面的metasploit工具里面的/exploit/windows/smb/ms08_067_netapi辅助扫描工具,设置好主机和端口信息后进行漏洞探测。
修改建议
1、关闭135、445端口
2、升级官方补丁
3、或者添加端口访问控制。
5.1.14MS14-066,Securl channel远程代码执行漏洞(高危)
漏洞描述
通过向windows server上Secure Channel相关服务监听的端口发送畸形网络数据包,从而可以达到远程任意代码执行(RCE)的效果,获取受害者用户主机的代码执行权限。
漏洞详情
使用nmap扫描探测3389和443端口是否开启
方法一:
工具使用方法:
cd /usr/local/tools/winshock-test
./winshock_test.sh 10.0.0.1 3389
./winshock_test.sh 10.0.0.2 443
当出现SUPPORTED字样时即为该漏洞存在。
修改建议
1、关闭443和3389端口
2、升级官方补丁
3、或者添加端口访问控制。
也可以联系号主进行购买,我们零漏安全团队推出文库~文库地址:https://y.shironekosan.shop/?post=13目前多个POC,陆续更新上来,预计一两月完成主页置顶有提供免费的socks5高匿名国内代理如需注册账号或其他文库数据请发送:如需注册联系我请点击:联系作者
长按二维码识别关注
原文始发于微信公众号(Tokaye安全):渗透测试日常培训
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论