zoukankan      html  css  js  c++  java
  • Exp6 信息搜集与漏洞扫描

    信息搜集与漏洞扫描

    0x1 被动信息搜集

    被动信息搜集是指,使用一些公开的、间接的信息搜索技巧,在不接触到目标系统的情况下,挖掘目标信息。

    如果掌握一定的技巧,甚至可以确定目标网络中使用的操作系统和网站服务器类型。

    whois 查询

    我曾经就读的小学是江苏省常州市延陵小学,目前官网域名为czylxx.net

    我们可以对它进行whois查询

    1-1

    我们还可以获得注册人的部分信息(姓名,邮箱)

    1-2

    Netcraft查询

    Netcraft这个网站可以查询到特定网站的IP地址,依然以czylxx.net为例

    1-3

    我们甚至可以看到主机信息——win server 2012操作系统,IIS/8.5的web服务器

    针对这个IP——61.160.213.115进行一次whois查询

    1-4

    可以看到网站的服务器提供商。

    IP2Loaction

    如果目标在国内的话,我们更推荐纯真IP库(http://www.cz88.net)对目标的地理位置进行查询

    1-5

    nslookup

    我们再使用nslookup获取czylxx.net的更多信息

    1-6

    我们同样可以看到邮件服务器的DNS记录指向hostmaster.xinnetdns.com

    Google Hacking

    google搜索引擎的功能非常强大,掌握高超的搜索技巧,通过它就能找到相当多的信息

    使用VPN或代理服务器进入google,在czylxx.net域名下,搜索一些excel表格

    1-7

    google的搜索技巧非常多,但限于篇幅和个人兴趣,这里就不展开了

    黑客的搜索引擎——fofa.so

    FOFA是白帽汇推出的一款网络空间资产搜索引擎。它能够帮助用户迅速进行网络资产匹配、加快后续工作进程。例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。

    我们通过它来看一下我们学校的服务器中间件版本信息

    1-0-1

    研究生部的网站用的是IIS/7.0

    1-0-2

    我们还发现了一个从未见过的域名 xgc.besti.edu.cn

    1-0-3

    但是在浏览器中打不开,应该是现在已经访问不了。

    0x2 主动信息搜集

    主动信息搜集需要与目标系统进行直接的交互,从而进行更深入的了解。

    在我的实验环境中

    • 攻击机Kali,IP: 10.0.2.6
    • 靶机OWASP BWA,IP: 10.0.2.10

    限于篇幅与个人兴趣,这部分我只介绍nmap的使用。

    nmap基础

    nmap的参数虽然很多,但常用的只有那么几个。

    下面是nmap支持的部分扫描类型:

    • -sT TCP connect扫描,即“全连接扫描”,该扫描建立完整的三次握手过程
    • -sS TCP SYN扫描,即“半连接扫描”
    • -sP ping扫描,通过ICMP echo请求探测主机(原理同ping)
    • -sU UDP扫描

    还有TCP FIN扫描,ACK扫描, 圣诞树扫描之类的,看帮助文档就行了。

    nmap还提供了如下的扫描选项:

    • -A 完全扫描,提供所有能提供的信息
    • -O 操作系统探测
    • -sV 服务版本探测
    • -p 指定需要扫描的端口范围

    nmap还可以和metasploit的数据库进行绑定,在MSF中使用db_nmap,它的参数和nmap完全一致,而且结果会保存到MSF的数据库中。

    实战nmap端口扫描

    先进行一次主机发现,使用-sn选项对探索子网内活跃的主机。

    2-0

    我们发现10.0.2.10这个IP地址的主机是活跃的

    接着使用基本的端口扫描功能对OWASP靶机进行扫描,这里使用TCP SYN扫描

    2-1

    TCP SYN扫描比较隐秘,同时也是nmap的默认扫描方式。

    接下来看看OWASP靶机的服务版本信息,直接使用-A选项

    2-2

    -A选项相当于同时使用 -sV选项-O选项

    使用nmap脚本

    nmap的扩展性也非常强,可以编写脚本来完成一些工作。

    nmap本身自带了一些脚本,在Kali中,/usr/share/nmap/scripts目录下就是nmap所有的自带脚本。

    2-3

    使用--script=<script-name> 选项就可以使用这些脚本了。

    这里使用ssh-brute脚本尝试暴力破解ssh口令

    2-4

    nmap自带了口令字典,可以进行扫描(但是默认的字典成功率并不高)

    2-5

    非常幸运,我们破解成功了!存在用户名user口令user的ssh登录账号,以及用户名root口令ubuntu的ssh用户。

    这是nmap给出的username.lst,里面是用户名

    2-7

    nmap默认的password.lst口令字典

    2-6

    0x3 针对性扫描

    接下来,我们使用metasploit对目标进行针对性扫描,获取特定操作系统、服务、软件以及配置缺陷等信息。

    我们看一下linux metasploit目标提供的服务有那些:

    3-0

    然后我们对这些信息进行针对性扫描

    数据库口令猜测

    我们发现linux metasploit靶机中存在mysql数据库,postgresql数据库。

    现在就使用metasploit对数据库进行口令猜测

    mysql数据库口令破解——使用mysql_login模块

    我偷了个懒,直接复制了nmap的口令字典和用户名字典,然后设置如下参数

    set RHOSTS 10.0.2.11
    set STOP_ON_SUCCESS true
    set PASS_FILE passwords
    set USER_FILE usernames
    set USER_AS_PASS true
    set THREADS 50
    

    3-1

    输入run,运行该辅助模块,得到如下结果

    3-2

    postgresql数据库的弱口令破解也是如此,这里就不演示了。

    大家可以在weakpass.com网站上下载一些口令字典(虽然我还不知道好不好用)

    FTP扫描

    metasploit可以针对特定服务,对一个网段中的主机进行扫描,这里我们以FTP服务为例子。

    设置参数如下:

    use auxiliary/scanner/ftp/ftp_version
    set RHOSTS 10.0.2.0/24
    set THREAD 50
    

    我们可以发现在10.0.2.0/24这个网段中,有两台主机开启了FTP服务

    3-3

    然后我们看一下这些FTP是否允许匿名用户登录,使用scanner/ftp/anonymous模块

    3-4

    很可惜,没有支持匿名登录的FTP服务器

    3-5

    我们也可以继续尝试弱口令破解,这里就不演示了。

    对于其他服务器,比如SSH、Telnet、SMB等等,这里的思路都是类似的,先扫描发现这些服务,然后尝试弱口令破解。

    0x4 漏洞扫描

    接下来,我们使用漏洞扫描器进行漏洞扫描。使用漏洞扫描器会产生比较大的流量,如果要干坏事,就别用漏洞扫描器了,很容易被别人发现。

    但如果是自己利用漏洞扫描器发现自己系统的漏洞和未打的补丁,漏洞扫描器就非常方便了。

    依然以靶机linux metasploit(IP: 10.0.2.11)为目标,对它进行漏洞扫描

    使用OpenVAS进行漏洞扫描

    Kali上安装Openvas非常简单

    root@kali:~# apt-get update
    root@kali:~# apt-get dist-upgrade
    
    root@kali:~# apt-get install openvas
    root@kali:~# openvas-setup
    

    安装完成后,会显示admin账号的口令,用它登录web应用后,改一个简单一点的口令就行。

    记得执行openvas-check-setup命令判断是否安装成功

    4-1

    直接通过Task Wizard创建任务,输入要扫描的主机的IP即可

    4-2

    openvas扫描完毕后,我们来看一看生成的报告

    4-3

    有9个漏洞被openvas标记为“高危”的漏洞,我们来看一下

    4-4

    SSH的弱口令可以被暴力破解,mysql和postgresql都使用了默认的用户名口令

    openvas甚至给出了SSH的一些用户名和口令(还差root:ubuntu这一个账户)

    4-5

    再看另一个标记为“high”的漏洞:

    4-6

    这应该是一个关于Apache的漏洞(CVE-2011-3192),容易通过这个漏洞来引发“拒绝服务”(DOS)攻击

    在exploit-db中甚至有攻击代码

    4-7

    其实nmap中就有检测这个漏洞的脚本存在,我们看一下:

    4-8

    接着用nmap扫描一下:

    4-9

    我觉得OpenVAS就是用nmap发现了这个漏洞的。

    至于解决办法吗……更新apache版本吧(笑)

    也可以看一看https://wiki.apache.org/httpd/CVE-2011-3192给出的迁移办法吧,很详细。

    基础问题解答

    (1) 哪些组织负责DNS,IP的管理?

    答:

    顶级的管理者是ICANN,ICANN理事会是ICANN的核心权利机构,它设立三个支持组织,分别是:

    • 地址支持组织(ASO)负责IP地址系统的管理。
    • 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理。
    • 协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配。

    5个地区性注册机构:

    • ARIN主要负责北美地区业务
    • RIPE主要负责欧洲地区业务
    • APNIC主要负责亚太地区业务
    • LACNIC主要负责拉丁美洲美洲业务
    • AfriNIC主要负责非洲地区业务。

    (2) 什么是3R信息

    答:

    • Registrant:注册人
    • Registrar:注册商
    • Registry:官方注册局

    (3) 评价一下扫描结果的准确性

    答:还是挺不错的,linux metasploit的漏洞信息在《Metasploit魔鬼训练营》里面都列出来了,OpenVAS给出的扫描结果虽然没有具体到CVE编号,但都给出存在漏洞的服务器信息,也就是都沾边了。

    实验新得与体会

    从这篇报告中,我希望大家可以看出我对nmap工具情有独钟

    我第一次接触nmap是在冯雁老师的课上,当时用的是nmap的图形工具zenmap

    说来也奇怪,我在冯雁老师的课上用的最多的工具其实是wireshark,但我到现在看到wireshark的数据包都一头雾水。

    对nmap的使用我已经有自己的“三板斧”了,如果我能熟悉Lua语言的话,就可以编写自己的nmap脚本了。

    不过我以后也没时间玩nmap了吧。

    番外——Web应用的漏洞扫描

    Web应用的攻防技术比较热门,和系统攻防相比,Web应用的攻防技术门槛比较低。

    诸如pwn、逆向、二进制、内存攻防技术等等这些方向,对初学者来说不太友好,学习曲线很陡峭。

    我感觉自己在一学期的学习中掌握基础的Web应用的攻防技术还是有一点点希望的。

    在走出校园之前,我想尽可能的多体会一些攻防技术之美,就稍微探索一下Web方向吧。

    这部分内容参考《Metasploit魔鬼训练营》

    目标靶机OWASP BWA,IP地址:10.0.2.10

    使用W3AF扫描XSS漏洞

    W3AF是一款开源的Web应用攻击和统计平台,《Metasploit魔鬼训练营》对它的评价较高。

    W3AF的安装相当麻烦,使用过程中的参数的配置也比较繁琐,GUI界面操作一般。

    不过,《Metasploit魔鬼训练营》没有介绍“广为流传”的Burp Suite,而是选择了W3AF,应该是有原因的。

    让我们尝试使用一下W3AF吧。

    ww-0

    扫描目标

    我们的扫描的对象是OWASP中的一个Web应用——Mutillidae。

    ww-0-1

    主要的探测目标是找到该web应用的XSS漏洞。

    因此,这次扫描用到插件有audit(审计模块)中的xss,crawl(爬虫)中的web_spider

    配置扫描参数

    使用w3af_console打开W3AF的命令行,进行如下的配置

    plugins
    audit xss   				// 审计XSS漏洞
    crawl web_spider			// 配置网页爬虫
    crawl config web_spider		
    set only_forwad True
    back
    output html_file			//配置输出格式,选择了html和cvs两种输出方式
    output cvs_file
    back
    target						//设置扫描目标
    set target http://www.dvssc.com/mutillidae
    back
    start
    

    ww-1

    扫描结果

    W3AF发现了这个Web应用存在的XSS漏洞,并给出了报告

    下面是HTML格式的报告,报告比较长,不好截图

    ww-2

    我们在看一下CVS格式的报告,直接用Excel打开就可以了

    ww-3

    我们先把这个报告放在这里,等到后面做Web攻防实验的时候,在对它进行实际操作。

    使用sqlmap探测SQL注入点

    mutilliade有专门的SQL注入练习区。W3AF虽然也可以扫描SQL注入漏洞,但它毕竟过于臃肿,而且难用,我们需要更专门的工具。

    我们使用sqlmap这个注入神器对这里进行探测。

    s-1

    扫描登录表单

    首先输入sqlmap -u http://www.dvssc.com/mutilliade/index.php?page=login.php --forms,开始扫描

    s-2

    等待片刻,并与sqlmap进行一些交互后,得到如下信息

    s-3

    也就是说这个注入点存在基于错误的盲注基于时间的盲注UNION查询的SQL注入点

    我们甚至知道了后台数据库版本,Web应用的平台信息

    s-4

    数据库用的是MySQL,服务器操作系统是Ubuntu 10.04,Web应用平台为Apache 2.2.14/PHP 5.3.2

    我非常惊讶,sqlmap仅仅从一个表单中就能获取这么多信息,真是神器!

    更近一步——获取数据库名

    我们接着尝试用sqlmap获取数据库名,添加--dbs参数即可

    很快,我们就得到了sqlmap的扫描结果

    s-5

    用sqlmap获取表名

    到底哪个数据库才是存放用户名和口令的呢?我还得想办法获取这个信息。

    我准备直接上手和Web应用交互,获取线索。

    用户名和口令都输入test',看看会发生什么

    s-6

    我们得到了后台错误信息,从SQL语句中看到了表名

    s-7

    用户名和口令在表accounts中,这个表会在哪个数据库里呢?

    我觉得是mutillidae数据库,用sqlmap看看这个数据库中的有哪些表吧

    sqlmap -u http://www.dvssc.com/mutilliade/index.php?page=login.php --forms -D mutillidae --tables

    s-8

    我们的猜测应该没有错,在mutillidae数据库里存在accounts表

    接下来,我们获取accounts表的列名!

    用sqlmap获取列名

    直接输入

    sqlmap -u http://www.dvssc.com/mutilliade/index.php?page=login.php --forms -D mutillidae --tables -T accounts --columns

    我们得到如下结果

    s-9

    非常醒目的username和password字段。那么,我们一口气干到底吧!

    成功“拖库”

    使用sqlmap,在之前的基础上增加--dump选项,直接拖库

    s-10

    没想到口令居然都是用明文存储的,对于攻击者来说非常方便。

    这是用sqlmap导出的cvs格式的数据

    s-11

    小结

    这个番外本来只是展示一下专门针对Web应用的漏洞扫描的,

    只不过sqlmap过于强大,一下子就变成脚本小子玩“拖库”了

    但是,我们目前对Web攻防的技术和原理并没有深入的了解,暂时只是使用工具而已。

    等到了Web攻防基础实验的时候,咱们不用现成的工具,完成一次手工的SQL注入

  • 相关阅读:
    POJ 1681 Painter's Problem(高斯消元法)
    HDU 3530 Subsequence(单调队列)
    HDU 4302 Holedox Eating(优先队列或者线段树)
    POJ 2947 Widget Factory(高斯消元法,解模线性方程组)
    HDU 3635 Dragon Balls(并查集)
    HDU 4301 Divide Chocolate(找规律,DP)
    POJ 1753 Flip Game(高斯消元)
    POJ 3185 The Water Bowls(高斯消元)
    克琳:http://liyu.eu5.org
    WinDbg使用
  • 原文地址:https://www.cnblogs.com/wyf12138/p/8973406.html
Copyright © 2011-2022 走看看