41

论Nmap中一些常用的NSE脚本

 4 years ago
source link: https://www.tuicool.com/articles/3Y3Uzye
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

nQfEbu6.jpg!web

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

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

root@kali:~# nmap site.test.lan
Starting 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 SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
90/tcp open dnsix
3306/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

信息收集

q6bMFrq.jpg!web

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

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

aeyuUnN.jpg!web

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

权限

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

Fnqyyaa.jpg!web

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

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

BjINjmf.jpg!web

从上图可以看到,网站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

zmQf6ja.jpg!web

FTP

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

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

Ubem2ye.jpg!web

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

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

6ZJvaeY.jpg!web

MySQL

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

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

yaEnIfy.jpg!web

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

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

jYB3Yv6.jpg!web

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

希望这篇文章能对你有所帮助,感谢阅读。

*参考来源: Medium ,线性代数lzh编译整理,转载请注明来自 FreeBuf.COM


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK