专栏首页FreeBuf论Nmap中一些常用的NSE脚本

论Nmap中一些常用的NSE脚本

在这篇文章中,我们将研究最著名的渗透工具之一 Nmap 一款标志性的跨平台扫描器。它的原意为Network Mapper(网络映射器),具有相当强大的扫描功能,几乎适用于任何渗透场景。不少人甚至认为它就是全球最好的扫描软件。除了常规的网络扫描,Nmap还可根据NSE (Nmap scripting Engine)的脚本进行大量渗透工作,这种脚本是基于Lua编程语言,有点像javascript。正是NSE,使得Nmap不再普通。

首先,我们扫描目标主机,检测开放的端口:

root@kali:~# nmap site.test.lanStarting Nmap 7.70 ( https://nmap.org ) at 2019–05–31 11:58 MSK
Nmap scan report for site.test.lan (192.168.60.50)
Host is up (0.000030s latency).
Not shown: 995 closed ports
PORT STATE SERVICE21/tcp open ftp22/tcp open ssh80/tcp open http90/tcp open dnsix3306/tcp open mysql
MAC Address: 6E:93:12:AA:1F:6D (Unknown)

接着,让我们瞄准80端口,通常web服务就在这里。一旦启用Nmap中的http-enum脚本,它将收集web服务的所有有用的信息,就如漏洞扫描器Nikto一般:

nmap site.test.lan --script http-enum

信息收集

从上图中,我们可以了解到该站点使用了WordPress。于是,我们可以使用针对WordPress的脚本http-wordpress-enum进行深度扫描。这个脚本还会确定网站使用了多少和WordPress相关的插件。

nmap -p80 --sc ript http-wordpress-enum --script-args http-wordpress-enum.search-limit=all site.test.lan

一般来说,标准的Nmap中集成了近600个脚本,如果没有你需要的,也可以自己编写脚本。

权限

假如我们想在站点上寻找登录授权页面,还可使用如下脚本http-auth-finder。

你也可以使用命令参数—script=auth,所有和授权有关的脚本都将被启用,对目标主机进行探测。而一旦找到和登录授权有关的页面,我们就可以尝试使用类似于http-form-brute的脚本爆破出一些账户密码:

nmap -p-80 --script=http-form-brute --script-args=http-form-brute.path=/wp-login.php site.test.lan

从上图可以看到,网站site.test.lan的管理员密码为12345。

对于WordPress来说,Nmap已做的足够出色,它获取了大量和渗透有关的信息,而如果想对WordPress进行更深一步的漏洞探测,你也可以使用已集成在kali linux中的WPScan,这款软件有大量专门针对WordPress的PoC。

SSH

此外,我们也可以对22端口(SSH服务)进行密码爆破,涉及脚本为ssh-brute

nmap -p22 --script ssh-brute site.test.lan

FTP

而通常开放在21端口的FTP服务也往往是爆破对象,我们可以先使用脚本ftp-syst获取一些服务信息:

nmap -p21 --script ftp-syst site.test.lan

之后使暴力破解脚本得到FTP服务的用户密码:

nmap -p21 192.168.60.50 --script ftp-brute --script-args userdb=/root/user.txt,passdb=/root/pass.txt

MySQL

Nmap也可对MySQL服务(通常开放在端口3306上)进行扫描爆破,脚本mysql-info将探测出一些MySQ服务的详细信息(需要带上命令参数-sV -sC):

nmap -p3306 -sV -sC site.test.lan

你可以看到MySQL服务的协议版本号、流标识符、状态和密码salt等信息。更重要的是,你还可以列出有效的MySQL用户:

nmap -p3306 --script mysql-enum site.test.lan

在得到有效用户名后,你就可以配合密码字典进行密码暴力破解。

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 直男福利!手把手教你做一只口红色号识别器,秒变李佳琦

    快乐橙、伤心紫,姨妈红,鸡屎绿…直男眼里没什么区别的颜色,在女生眼里各种色调、质地细微的区别都能分析一清二楚。

    大数据文摘
  • 云数据库MySQL CPU飙升排查流程

    在日常使用MySQL的过程中,会遇到 CPU 使用率过高甚至达到 100% 的情况。CPU飙升会导致数据库无法连接,事务无法提交等一系列问题。本文基于日常问题处...

    苏欣
  • HANA如此高大上,屌丝程序员可以玩吗?

    HANA是SAP推出的一款In-Memory数据库,能够既支持行式和列式存储,客户可以只有一份数据Copy就能够实现OLTP和OLAP的操作,尤其在OLAP场景...

    Bruce Li
  • 10个简单步骤理解SQL

    本文是为了以下读者而特地编写的: 1. 在工作中会用到 SQL 但是对它并不完全了解的人。 2. 能够熟练使用 SQL 但是并不了解其语法逻辑的人。 3. 想...

    数据和云
  • 如何不宕机实现数据库迁移

    由于业务的扩展或者其他原因,常常会有迁移系统数据库的场景,对于有大量用户7*24小时不间断使用的系统,如何不宕机实现数据库迁移,这是个很有挑战的话题。

    Bruce Li
  • 深入探讨 MySQL 的 order by 优化

    为什么是再说呢?因为前面已经写过 《order by 原理以及优化》 ,介绍 order by 的基本原理以及优化。如果觉得对 order by 原理了解不透彻...

    用户2781897
  • Python代码告诉你国庆哪些景点爆满

    举国欢庆的国庆节马上就要到来了,你想好去哪里看人山人海了吗?还是窝在家里充电学习呢?说起国庆,塞车与爆满这两个词必不可少,去年国庆我在想要是我能提前知道哪些景点...

    Rookie
  • 索引使用策略及优化

    MySQL的优化主要分为结构优化(Scheme optimization)和查询优化(Query optimization)。本章讨论的高性能索引策略主要属于结...

    互扯程序
  • TP5系列 | 数据库迁移工具migration

    migration用谷歌翻译是移民的意思,在PHP中我们将它理解为迁移,将Migration用在数据库上就理解为数据库迁移咯。在migration开发之...

    Tinywan
  • 腾讯云-ASP.NET Core+Mysql+Jexus+CDN上云实践

    云服务器(Cloud Virtual Machine,CVM)为您提供安全可靠的弹性计算服务。 只需几分钟,您就可以在云端获取和启用 CVM,来实现您的计算需求...

    痴者工良

扫码关注云+社区

领取腾讯云代金券