漏洞扫描 - 灰信网(软件开发博客聚合)



漏洞扫描

【主机漏洞】HTTP TRACE / TRACK Methods Allowed

1、影响说明

TRACE and TRACK are HTTP methods that are used to debug web server connections.
TRACE 和 TRACK方法是 web 服务器连接的调试方法.
Servers supporting this method are subject to cross-site-scripting attacks when
used in conjunction with various weaknesses in browser.
这些 HTTP 方法被开启时可能导致服务器容易遭受 (与其他多种浏览器漏洞配合的) XSS 攻击

TRACE方法用于调用请求消息的远程应用层回送。
请求的最终接收方应该以 200(OK)响应的实体主体向客户端反映接收到的消息。
TRACE 可让客户端查看在请求链的另一端收到什么,并将这项数据用于测试或诊断信息
TRACE方法是HTTP(超文本传输)协议定义的一种协议调试方法,该方法使得服务器原样返回任何客户端请求的内容。
恶意攻击者可以通过TRACE方法返回的信息了解到网站前端的某些信息,如缓存服务器等,从而为进一步的攻击提供便利。
  • 1
  • 2
  • 3
  • 4
  • 5

2、检测方法

  • 基于 Nmap 的方式

    nmap -n -p80 -sT --script http-methods,http-trace 192.168.1.1

  • 使用 curl, 如果该问题已修复,服务器会返回 405 Method Not Allowed 的响应

    curl -i -X TRACE http://192.168.1.1/

3、解决方案

4、常见的HTTP Method深度解析

SSH 支持弱加密算法漏洞(SSH Weak Algorithms Supported)

1、漏洞描述

SSH的配置文件中加密算法没有指定,默认支持所有加密算法,包括 arcfour,arcfour128,arcfour256等弱加密算法。
这个漏洞属于SSH的配置缺陷,SSH服务启用了Arcfour (也称RC4)这个不安全算法。

2、漏洞验证
使用 nmap 、Nessus 等工具可以进行验证,这里使用 nmap 进行验证。
使用 Nmap 验证:

nmap --script ssh2-enum-algos -sV -p 22 10.4.225.229

可以看到支持 arcfour、arcfour128、arcfour256 等弱加密算法。

3、漏洞修复

  • 方案一:修改 SSH 配置文件,添加加密算法:

vi /etc/ssh/sshd_config
最后添加一下内容(去掉 arcfour、arcfour128、arcfour256 等弱加密算法)
Ciphersaes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc
保存文件后重启 SSH 服务:service sshd restart
验证
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc
ssh -vv -oMACs=hmac-md5

  • 方案二:升级 openssh 版本为最新版本
SSL Weak Cipher Suites Supported(SSL支持弱密码套件)

修改SSL配置文件中的的SSL Cipher参数

不同Web服务软件的配置文件位置及参数名称不同,需根据实际情况查找。
具体安全算法配置可参考此网站:https://cipherli.st/
如Apache修改以下内容:

验证方法:
nmap -p 443 --script “ssl-enum-ciphers” xx.xx.xx.xx

作者:Shad0wpf
链接:https://www.jianshu.com/p/0106ff85df0b
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

【主机漏洞】 Apache Tomcat Default Files

1、影响说明
docs, examples 等目录以及默认的 404 页面会泄露 Tomcat 的版本信息。
此外,攻击者可以利用 example 中的部分示例代码读写 session, 有一定潜在危害。
2、检测方法

http://192.168.1.1:8080/docs/
http://192.168.1.1:8080/examples/
http://192.168.1.1:8080/PageNotExist.jsp
也可以使用 wget 来访问。
wget --no-check-certificate https://192.168.112.114/PageNotExist.jsp

3、修复参考

1 删除 /docs/, /examples/。
2 隐藏 404 页面的 Tomcat 版本信息,可以考虑使用自定义的 404 页面

4、修复细节

对于隐藏 404 页面的 Tomcat 版本信息,以下两种方案二选一即可,建议使用重打包 Tomcat jar 的方式。

5、自定义 404 页面

Tomcat配置400/404/500自定义错误页面
https://blog.csdn.net/JustinQin/article/details/78879185
how to build server level custom error page in tomcat?
https://stackoverflow.com/questions/13914575/how-to-build-server-level-custom-error-page-in-tomcat
史上最全 web.xml 配置文件元素详解
https://www.cnblogs.com/hafiz/p/5715523.html
web.xml 参考
https://tomcat.apache.org/tomcat-5.5-doc/appdev/deployment.html

6、隐藏 Tomcat 版本信息

重打包 Tomcat jar
https://jingyan.baidu.com/article/d2b1d102a9dc955c7e37d487.html
http://blog.51cto.com/chicozy/1878453

unzip catalina.jar
vim org/apache/catalina/util/ServerInfo.properties
#
# server.info=Apache Tomcat
# server.number=0.0.0.0
# server.built=Nov 7 2016 20:05:27 UTC
#
jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

# restart tomcat
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
AMQP Cleartext Authentication(AMQP明文验证)

1、详情
远程高级消息队列协议(AMQP)服务支持一种或多种允许以明文形式发送凭据的身份验证机制。
2、禁用AMQP配置中的明文身份验证机制。

DNS 服务器缓存窥探攻击

参考:https://support.microsoft.com/zh-cn/help/2678371/microsoft-dns-server-vulnerability-to-dns-server-cache-snooping-attack

web漏洞描述以及修复建议
Network Time Protocol (NTP) Mode 6 Scanner

修改NTP配置文件
#vi /etc/ntp.conf
添加以下内容(建议使用此方式):

restrict default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
  • 1
  • 2

或在提供NTP查询的网段加入noquery参数:

restrict 1.1.2.1 mask 255.255.255.0 nomodify notrap noquery

建议方法中两条配置为高版本NTP中的默认配置,noquery参数限制了mode 6 query,可根据NTP服务端实际配置参考修改。
noquery:Deny ntpq and ntpdc queries. Time service is not affected.
notrap:Decline to provide mode 6 control message trap service to matching hosts.
nomodify:Deny ntpq and ntpdc queries which attempt to modify the state of the server.
参考文档:http://doc.ntp.org/current-stable/accopt.html
http://support.ntp.org/bin/view/Support/AccessRestrictions
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
SMB Password Encryption Not Required

Linux:修改smb配置文件
#vi /etc/samba/smb.conf
添加以下内容:

encrypt passwords = yes

其它和密码明文相关的参数有client plaintext auth =no、client NTLMv2 auth = yes、min protocol = LANMAN1等
如min protocol = SMB2,密码加密将不生效,依然为密码明文传输。
Samba配置参考:https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
  • 1
  • 2
  • 3
  • 4
  • 5
SMB Signing Disabled

Linux:修改smb配置文件
#vi /etc/samba/smb.conf
添加以下内容:

server signing = mandatory
  • 1

Windows:编辑注册表
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
修改RequireSecuritySignature值为1

SNMP使用默认团体名

SNMP团体名可猜
SNMP团体名可读
修改SNMP默认community的值

参考链接
http://wp.blkstone.me/2018/07/http-trace-track-methods-allowed/#i-2
https://blog.csdn.net/qq_40606798/article/details/86512610
http://wp.blkstone.me/2018/07/apache-tomcat-default-files/
https://www.jianshu.com/p/0106ff85df0b

版权声明:本文为Xiayuyuren_Study原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

智能推荐

定义: 将一个请求封装成一个对象,从而让你可用不同的请求把客户端进行参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 Command:声明执行操作的接口; Concr...

概述 安全研究员 Andrew Danau 在解决一道 CTF 题目时发现,向目标服务器 URL 发送 %0a符号时,服务返回异常,疑似存在漏洞。当 Nginx 将包含 PATH_INFO 为空的参数通过 FastCGI 传递给 PHP-FPM 时,PHP-FPM 接收处理的过程中存在逻辑问题。通过精心构造恶意请求可以对 PHP-FPM 进行内存污染,进一步可以复写内存并修改 PHP-F...

一、下载Git for windows和Ruby并安装 二、Jekyll环境配置 Jekyll的中文网:http://jekyllcn.com Jekyll的官网:https://jekyllrb.com/ 在一个空文件夹中右键选择打开Git Bash Here,然后依次按以下命令执行,可能会比较慢,因为要下载安装,所以要耐心等待: 1 2 3 4 5 执行$ bundle exec jekyll...

1. 相关概念 1. 1 单链表定义 单链表是线性表链式存储的一种,其储存不连续。单链表的数据结构中包含两个变量:结点数据data和指向下一结点的指针next。一个结点只知道下一个结点的地址。 注:一个单链表必须有一个头指针,指向单链表中的第一个结点。否则链表会在内存中丢失。 1. 2 关于头指针 链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点...

MySQL管理 1. MySQL管理简介 (1) MySQL组件 (2) MySQL的常规管理 2. 数据目录 (1) 数据目录位置 (2) 数据目录结构 1. MySQL管理简介 (1) MySQL组件 (2) MySQL的常规管理 2. 数据目录 数据目录存储所有的数据库以及提供服务器运作信息的状态文件和日志。 (1) 数据目录位置 查看数据库目录的位置 未连接上服务器 查看服务器启动时读取的...

猜你喜欢

VAR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的要求。VAR模型对于相互联系的时间序列变量系统是有效的预测模型,同时,向量自回归模型也被频繁地用于分析不同类型的随机误差项对系统变量的动态影响。如果变量之间不仅存在滞后影响,而不存在同期影响关系,则适合建立VAR模型,因为VAR模型实际上是把当期关系隐含到了随机扰动项之中。 1 平稳性与协整...

1、jquery ajax中都支持哪些数据类型? 正确答案: A B C D      2、下面哪些语句可以 在JS里判断一个对象oStringObject是否为String。 正确答案: A    A、oStringObject instanceof String B、typeof oStringObject == 'string' C...

1.源代码 2.运行结果截图 3.总结与分析 分析对比: c++对字符串处理更加,高效,安全,方便 1.安全性: 使用C++字符串变量输入字符串时,不用像C语言那样担心输入的字符串长度超过已经定义的字符型数组长度,若使用C语言输入字符串时输入的字符串长度超过定义的字符数组长度,则程序在运行时会异常,使用用C++字符串变量输入字符串时可以输入任意长度的字符串,(例:string a;cout<...

** ubuntu20.04安装百度输入法,亲测有效! ** 百度输入法,本人已经在Ubuntu20.04版本上成功安装,有图有真相。 百度已经提供Ubuntu20.04版本的输入法了,到百度输入法官网下载百度Linux版本的输入法就可以进行安装和使用,文章末尾我也会提供下载链接。 解压百度输入法 我们如果到百度输入法官网去下载,最好选择百度Linux版本的“Ubuntu&De...

在 Ubuntu 16.04 系统上安装 ROS Kinetic的方法 1、配置源,可以使用ROS官方源也可以使用国内源 ROS官方源: 设置官方源密匙key 国内镜像源: 设置国内镜像源密匙key 我安装使用的是国内源 2、更新apt功能包的列表 3、安装 ROS,直接安装Desktop-Full 版本 4、初始化 rosdep: 5、配置环境 为了方便每次打开新的终端时可以自动配置好 ros ...


yg9538 July 22, 2022, 10:48 p.m. 278 收藏文档