【Linux】Kali Linux 渗透安全学习笔记(3) - Nikto 简单应用

这篇具有很好参考价值的文章主要介绍了【Linux】Kali Linux 渗透安全学习笔记(3) - Nikto 简单应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Nikto 是一款不可多得的漏洞扫描工具。它用 Perl 编写,使用 rfp 的 LibWhisker 来执行快速安全扫描或信息检查。它使用起来非常方便,帮助文档和社区资源都比较全面,对于像我这种初学者来说简直就是福音。本章我将延续上一章 OneForAll 的用例继续进行渗透测试。

声明:

  1. 本文测试的站点为自家站点仅做学习使用,不存在侵犯网络信息安全问题;
  2. 本文只介绍工具的使用并不鼓吹任何非法活动,请各位看官三思而后行一切后果自负;
  3. 本文测试中结果虽然是真实的,但涉及的敏感信息都将采用“化名”进行脱敏;

在上一章节中我们得知,在 yzhcs.io 域名下存在两个功能模块的子域名 app.yzhcs.io 和 def.yzhcs.io ,下面就使用 Nikto 对两个子域名进行扫描。

PS:由于 kali linux(以下简称“kali”)已经自带 Nikto 因此就不再叙述其安装过程了。

在正式扫描之前我先创建一个文档,将两个域名放到 domain.txt 文档里面,如下图:

┌──(root💀b8ef6c2abc47)-[/home/nikto]
└─# vim domain.txt

┌──(root💀b8ef6c2abc47)-[/home/nikto]
└─# cat domain.txt 
app.yzhcs.io
def.yzhcs.io

接下来就可以通过命令行进行 nikto 扫描,如下图:

┌──(root💀b8ef6c2abc47)-[/]
└─# nikto --config /var/lib/nikto/nikto.conf.default -h /home/nikto/domain.txt -ssl -o /home/nikto/202308030747_nikto.csv -evasion 13458
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          132.19.52.123
+ Target Hostname:    app.yzhcs.io
+ Target Port:        443
---------------------------------------------------------------------------
+ SSL Info:        Subject:  /CN=app.yzhcs.io
                   Ciphers:  ECDHE-RSA-AES128-GCM-SHA256
                   Issuer:   /C=CN/O=TrustAsia Technologies, Inc./CN=TrustAsia RSA DV TLS CA G2
+ Using Encoding:     Random URI encoding (non-UTF8)
+ Using Encoding:     Premature URL ending
+ Using Encoding:     Prepend long random string
+ Using Encoding:     Fake parameter
+ Using Encoding:     Use Windows directory separator (\)
+ Start Time:         2023-08-03 00:10:40 (GMT0)
---------------------------------------------------------------------------
... 此处省略 1w 字
+ 8121 requests: 85 error(s) and 205 item(s) reported on remote host
+ End Time:           2023-08-03 00:51:34 (GMT0) (2454 seconds)

---------------------------------------------------------------------------
+ Target IP:          132.19.52.123
+ Target Hostname:    def.yzhcs.io
+ Target Port:        443
---------------------------------------------------------------------------
+ SSL Info:        Subject:  /CN=def.yzhcs.io
                   Ciphers:  ECDHE-RSA-AES128-GCM-SHA256
                   Issuer:   /C=CN/O=TrustAsia Technologies, Inc./CN=TrustAsia RSA DV TLS CA G2
+ Using Encoding:     Random URI encoding (non-UTF8)
+ Using Encoding:     Premature URL ending
+ Using Encoding:     Prepend long random string
+ Using Encoding:     Fake parameter
+ Using Encoding:     Use Windows directory separator (\)
+ Start Time:         2023-08-03 00:51:34 (GMT0)
---------------------------------------------------------------------------
... 此处省略 1w 字
+ 16401 requests: 128 error(s) and 200 item(s) reported on remote host
+ End Time:           2023-08-03 01:42:32 (GMT0) (3058 seconds)
---------------------------------------------------------------------------
+ 2 host(s) tested

本人使用的命令行非常简单,其中:

  • –config:自定义渗透配置文件,通过 config 参数应用到扫描当中
  • -h:域名地址(可以是域名本身,也可以是文档路径)
  • -ssl:指定只扫描 443 端口(建议加上默认情况下 nikto 会将 80 和 443 端口都扫描)
  • -o:输出地址
  • -evasion:是否启用 IDS/IPS 逃避技术

值得一提的是,我对于渗透配置文件做了一下修改,如下图:

# Number of failures before giving up
# Set to 0 to disable entirely
FAILURES=10000

默认情况下 FAILURES 参数只有 20,在大规模扫描时这 20 次失败一下子就用完了。因此这里将 FAILURES 参数改为了 10000,并且在命令行中使用 config 参数指向修改后的配置文件(由于本人使用 Docker 镜像的 kali 系统,因此只能通过 config 参数指定配置文件,不知道实机(或虚拟机)的情况下重启是否就不需要这个 config 参数了)。

从扫描结果我可以得到以下关键信息:

域名服务 请求数 错误数 发现条目 耗时(秒)
app.yzhcs.io 8121 85 205 2454
def.yzhcs.io 16401 128 200 3058

虽然错误数平均下来都有差不多 100 个,但是大部分都是重复的,这里归纳了一下主要是以下7个问题:

0x1 It may be possible to crash Nortel Contivity VxWorks by requesting ‘/cgi/cgiproc?$’ (not attempted!). Upgrade to version 2.60 or later.

问题解析:

Nortel Contivity VxWorks 存在一个可能导致崩溃的漏洞,攻击者可以通过请求 ‘/cgi/cgiproc?$’ 触发此漏洞。建议升级到版本 2.60 或更高版本修复此漏洞。

修复方式:

  1. 升级到最新版本;
  2. 禁用或限制访问 CGI 端点,如不需要使用 ‘/cgi/cgiproc?$’ 端点,可以考虑禁用或限制对该端点的访问;
  3. 实在没有办法就使用防火墙和访问控制列表(ACL)来限制对服务器和端点的访问,只允许受信任的 IP 地址或用户访问;

0x2 The anti-clickjacking X-Frame-Options header is not present.

问题解析:

网站缺少反点击劫持(clickjacking)的 X-Frame-Options 头部。攻击者会试图通过在一个页面上覆盖另一个透明的页面来欺骗用户点击,从而进行一些恶意操作。为了防止这种攻击,您可以在 HTTP 响应头中添加 X-Frame-Options 头部。

修复方式:

添加 X-Frame-Options 头部的目的是指示浏览器在渲染网页时是否允许将网页嵌套在 <frame><iframe> 中。这样可以防止其他网站将您的网页嵌套在它们的框架中,减少点击劫持的风险。在 nginx 服务器中添加(记得要先做好备份)的具体做法如下:

server {
    # ...其他配置项...

    # 添加 X-Frame-Options 头部
    # DENY:表示该页面不允许在任何 frame 中显示,包括在相同域名下。
		# SAMEORIGIN:表示该页面可以在相同域名下的 frame 中显示,但不允许在其他域名下显示。
    add_header X-Frame-Options SAMEORIGIN;
}

0x3 The site uses TLS and the Strict-Transport-Security HTTP header is not defined.

问题解析:

网站使用了 TLS(Transport Layer Security,传输层安全协议),但未定义 Strict-Transport-Security(STS)HTTP 头部。Strict-Transport-Security(STS)是一个安全策略,通过HTTP响应头部将网站要求浏览器仅通过HTTPS与服务器进行通信,从而强制使用安全的加密连接。这有助于防止中间人攻击和SSL剥离攻击,提高网站的安全性。

修复方式:

要设置 Strict-Transport-Security(STS)头部,您需要在服务器配置中添加相应的HTTP响应头。在 nginx 服务器中添加(记得要先做好备份)的具体做法如下:

server {
    # ...其他配置项...

    # 添加 Strict-Transport-Security 头部
    
    # max-age 参数指定了STS策略的持续时间,以秒为单位。
    # includeSubDomains 参数用于包括子域名在内,这意味着该STS策略也将应用于所有子域名。
    # preload 参数用于向浏览器提交您的网站以预加载HSTS列表。
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
}

0x4 The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type.

问题解析:

网站未设置 X-Content-Type-Options 头部。这可能导致用户代理(浏览器)根据 MIME 类型以不同的方式呈现网站内容。X-Content-Type-Options 头部是一种安全措施,用于防止浏览器将响应内容根据其识别的 MIME 类型进行解释。这有助于防止一些特定的攻击,例如 MIME 类型混淆攻击,从而提高网站的安全性。

修复方式:

在 nginx 服务器中添加(记得要先做好备份)的具体做法如下:

server {
    # ...其他配置项...

    # 添加 X-Content-Type-Options 头部
    
    # 将 X-Content-Type-Options 头部设置为 "nosniff",这表示浏览器将不会执行对响应内容进行 MIME 类型猜测(即不会"嗅探" MIME 类型)。
    add_header X-Content-Type-Options "nosniff";
}

0x5 This might be interesting.

问题解析:

在网站中,这些路径通常是公开访问的,并且可能包含一些敏感信息,比如版本号、文件名,或者其他可能对攻击者有用的信息。譬如目录索引开启了导致攻击者浏览目录结构,从而了解到整个网站的文件结构。除此之外,由于/js 目录可以被公开访问,因此会存在注入危险的可执行脚本的可能性…

修复方式:

可以考虑使用安全的内容传递机制,例如 Content Security Policy (CSP),来减少潜在的安全风险。

0x6 Uncommon header 'access-control-allow-headers ’ found, with contents: accept,authorization,Content-Type.

问题解析:

这个问题的确是存在,这是为了解决跨域问题而设置了 access-control-allow-headers 参数,而 access-control-allow-headers 参数中又将权限放大处理了。

修复方式:

明确需要的请求头部,避免过度开放。

0x7 Microsoft SharePoint Portal and Team Services vulnerable to NT or NTLM authentication bypass on Win2000 SP4 using IE 6.x.

问题解析:

发现服务器上运行的 Microsoft SharePoint Portal 和 Team Services 存在 NT 或 NTLM 认证绕过漏洞。NTLM(NT LAN Manager)是一种在 Windows 网络环境中使用的认证协议。认证绕过漏洞可能允许攻击者在特定情况下绕过认证机制,从而获得未经授权的访问权限。该漏洞可能影响运行 Windows 2000 SP4 操作系统,并使用 Internet Explorer 6.x 进行访问的 Microsoft SharePoint Portal 和 Team Services。

修复方式:

  1. 确保服务器上的操作系统和软件都是最新版本,并应用已知的安全更新和补丁;
  2. 由于该漏洞可能涉及 Internet Explorer 6.x,要使用更现代的浏览器(如 Chrome、Firefox 或 Edge);
  3. 禁用不安全的认证方式,如 NTLMv1 或 LM(LAN Manager)认证;

以上是一些我这边比较有代表性的问题,虽然里面有解决方案,但是各位还需按实际情况进行调整。文章来源地址https://www.toymoban.com/news/detail-628591.html

到了这里,关于【Linux】Kali Linux 渗透安全学习笔记(3) - Nikto 简单应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 「Kali Linux」网络安全黑客自学、网络渗透(文末送书)

    目录 1.背景介绍 2.读者对象 3.随书资源 4.本书目录 5.本书概览 6.活动参与方式  对于企业网络安全建设工作的质量保障,业界普遍遵循PDCA(计划(Plan)、实施(Do)、检查(Check)、处理(Act))的方法论。近年来,网络安全攻防对抗演练发挥了越来越重要的作用。 企业的安

    2024年02月08日
    浏览(48)
  • 渗透测试学习(一)—— Kali Linux的安装图文详解

    目录 一、Kali Linux 2022.4镜像下载 二、VMware 安装 Kali 镜像 安装版的Kali 免安装版Kali官方VMware镜像 打开Kali官网 www.kali.org 点击Download跳转到下载界面,这里我们选择虚拟机版本,博主采用的是VMware虚拟环境搭建,选择合适的下载方式。 直接下载可能比较慢,我们可以选择torre

    2024年02月02日
    浏览(69)
  • 渗透测试 ---利用Kali进行简单的信息收集

    目录 Kali环境安装配置更新 Linux镜像文件下载地址 默认用户名 更新命令 网络环境配置 二层发现 原理 工具 arping netdiscover 三层发现 原理 工具 ping fping hping3 四层发现 原理 工具 nmap hping3 Python脚本 端口扫描 原理 工具 nmap Dmitry netcat 端口Banner信息获取 原理 工具 nmap dmitry netcat

    2024年02月05日
    浏览(51)
  • kali安全渗透(开篇)

    法律就是秩序,有好的法律才有好的秩序——亚里士多德 中国工程院院士李建成教授指出,“网络安全建设,应当以法律为根,技术为基。”《网络安全法》是 在吸取国内外立法经验的基础上,经过多次公开征集意见,人大常委会三次审议之后完成的。尽管立法过 程历时较

    2024年02月03日
    浏览(33)
  • Kali-linux应用更新和配置额外安全工具

    本节将介绍更新Kali的过程和配置一些额外的工具。这些工具在后面的章节中将是有用的。Kali软件包不断地更新和发布之间,用户很快发现一套新的工具比最初在DVD ROM上下载的软件包更有用。本节将通过更新安装的方法,获取Nessus的一个激活码。最后安装Squid。 应用更新和配

    2024年02月06日
    浏览(44)
  • 【Kali Linux高级渗透测试】深入剖析Kali Linux:高级渗透测试技术与实践

    📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于恒川的日常汇报系列,大家有兴趣的可以看一看 📘相关专栏C语言初阶、C语言进阶系列、恒川等,大家有兴趣的可以看一看 📙Python零基础入门系列,J

    2024年02月10日
    浏览(46)
  • 网络安全--Kali渗透Windows

    这里我们学习使用Kali攻击机来渗透Windows,这里使用的是msfvenom木马来进行渗透。 命令: msfvenom -p windows/meterpreter/reverse_tcp lhost=127.0.0.1 lport=4444 -f exe -o payload.exe 这里说明一下,-p 是指使用的工具模块,lhost是本机的IP地址,lport是本机的端口, -f 是指生成什么样的文件,简称指定

    2024年02月05日
    浏览(50)
  • 【kali-漏洞利用】(3.4)Metasploit渗透攻击应用:MySQL渗透过程

    目录 一、渗透攻击MySQL 1.1、第一步:信息收集 db_nmap扫描(内置、外置都可) Metasploit模块 sqlmap 1.2、第二步:获取服务器权限(爆破) MySQL 口令爆破 哈希值爆破 泄露的源码中寻找数据库密码 向服务器写WebShell 1.3、第三步:提权 UDF提权(UDF提权) Mof提权 MySQL启动项提权 1

    2024年02月08日
    浏览(41)
  • Kali Linux渗透

    Kali Linux 是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。 黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试。 白盒测

    2023年04月24日
    浏览(42)
  • Kali Linux渗透测试技术详解_渗透测试入门

    知识点 1. Kali Linux是做渗透测试用的 2. 安装VMware Workstation虚拟机 3. 安装kali-linux系统 4. 基本用法-重新设置root密码 5 安装debian11系统-默认命令行模式登录 渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点、

    2024年02月13日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包