2018-2019 20165226 Exp6 信息搜集与漏洞扫描
2018-2019 20165226 Exp6 信息搜集与漏洞扫描
目录
一、实验内容说明及基础问题回答
**** 1、实验内容 > (1)各种搜索技巧的应用 > > (2)DNS IP注册信息的查询 > > (3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点 > > (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞2、基础问题回答
(1)哪些组织负责DNS,IP的管理。
全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。ICANN理事会是ICANN的核心权利机构,它设立三个支持组织,分别是:
地址支持组织(ASO)负责IP地址系统的管理。
域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理。
协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配。
全球一共有5个地区性注册机构:
ARIN主要负责北美地区业务
RIPE主要负责欧洲地区业务
APNIC主要负责亚太地区业务
LACNIC主要负责拉丁美洲美洲业务
AfriNIC主要负责非洲地区业务。
(2)什么是3R信息。
Registrant:注册人
Registrar:注册商
Registry:官方注册局
(3)评价下扫描结果的准确性。
总体挺不错,linux metasploit的漏洞信息在《Metasploit魔鬼训练营》里面已列出,此处不再赘述,openvas也能给出存在的漏洞的服务器信息。
二、实验过程
Task1 各种搜索技巧的应用
检测特定类型的文件
- 有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找 - 按以下步骤进行 - 百度`site:edu.cn filetype:xls`,会出现一堆文件格式为`XLS/Microsoft Excel`的网址 - 点击某个网址,直接提示下载该文件,下载后打开,就可以获得某些信息了 - 如果我们想在格式搜索的基础上加关键字,可以用`site:edu.cn filetype:xls 大学`来搜索与大学有关的XLS文件搜索网址目录结构
- 利用metasploit的dir_scanner辅助模块,暴力猜解,获取网站目录结构 - 输入以下指令: ``` msfconsole msf > use auxiliary/scanner/http/dir_scanner msf auxiliary(scanner/http/dir_scanner) > set THREADS 50 msf auxiliary(scanner/http/dir_scanner) > set RHOSTS www.baidu.com msf auxiliary(scanner/http/dir_scanner) > exploit ``` - 发现了百度网站下的3个目录 ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420202217118-38703162.png)tracert
- tracert可用于对经过的路由进行探测 - 在主机cmd中输入命令`tracert www.baidu.com`Task2 DNS IP注册信息的查询
whois
- `whois`用来进行域名注册信息查询 - 在终端输入`whois gitee.com`可查询到3R注册信息,包括注册人的姓名、组织和城市等信息 - 进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到dig
- 使用dig查询官方DNS服务器上精确的结果 - 输入`dig baidu.com` ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420205055871-1889048683.png)- dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
+[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
+[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
......
- 尝试下+trace查询选项,在终端输入
dig baidu.com +trace
nslookup
- 查询相关的ip地址 - 输入`nslookup baidu.com` ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420205438442-138624159.png)shodan
- 根据上一步的IP地址,定位相应的信息 - 输入`220.181.57.216` ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420210247786-599179459.png)-
得到查询结果
-
试着查询自己目前IP所在地址,结果无法搜索到结果,弹出类似的在澳大利亚的IP,应该是学校设置了IP信息隐藏
Task3 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
主机发现
1、ping - ping命令用发送ICMP报文的方法检测活跃主机 - 输入命令`ping www.baidu.com` ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420210857790-912241264.png)2、metasploit中的ARP扫描器 udp_sweep 模块
- arp_sweep使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器 udp_sweep 使用UDP数据包探测
- 输入以下指令
msfconsole
msf > use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
msf auxiliary(scanner/discovery/arp_sweep) > show options //查询模块参数
msf auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 172.30.2.1/24 //用set进行hosts主机段设置
msf auxiliary(scanner/discovery/arp_sweep) > set THREADS 50 //加快扫描速度
msf auxiliary(scanner/discovery/arp_sweep) > run //执行run进行扫描
3、nmap -sn
nmap -sn
参数可以用来探测某网段的活跃主机- 输入命令
nmap -sn 172.30.2.0/24
端口扫描
1、nmap -sS - 通过之前的`-sn`探索子网内活跃的主机,发现`172.30.2.3`这个地址的主机是活跃的 - 使用基本的端口扫描功能对靶机进行扫描,这里使用TCP SYN扫描。输入命令`nmap -sS 172.30.2.3` ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190424220005170-443999463.png)2、nmap -PU
- nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。
- 输入命令
nmap -PU 72.30.2.1/24
OS及服务版本探测
1、nmap -O - `nmap -O`选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息 - 输入命令`nmap -O 172.30.2.166` ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420213906984-808615645.png)2、nmap -sV
nmap -sV
查看目标主机的详细服务信息- 输入命令
nmap -sV -Pn 172.30.2.166
,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标
3、nmap -A
- 直接使用-A选项查看靶机的服务版本信息
- 输入
nmap -A 172.30.2.104
具体服务的查点
1、Telnet服务扫描 - telnet命令用于登录远程主机,对远程主机进行管理 - 输入以下指令 ``` msfconsole msf > use auxiliary/scanner/telnet/telnet_version //进入telnet模块 msf auxiliary(telnet_version) > set RHOSTS 172.30.2.0/24 //扫描172.30.2.0网段 msf auxiliary(telnet_version) > set THREADS 100 //提高查询速度 msf auxiliary(telnet_version) > run ``` ![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190422113645993-394140103.png)2、SSH服务扫描
- 输入以下指令
msfconsole
msf > use auxiliary/scanner/ssh/ssh_version
msf auxiliary(ssh_version) > show options
msf auxiliary(ssh_version) > set RHOSTS 172.30.2.0/24
msf auxiliary(ssh_version) > set THREADS 200
msf auxiliary(ssh_version) > run
3、Oracle数据库服务查点
- 输入以下指令
msfconsole
msf > use auxiliary/scanner/oracle/tnslsnr_version
msf auxiliary(ssh_version) > show options
msf auxiliary(ssh_version) > set RHOSTS 172.30.2.0/24
msf auxiliary(ssh_version) > set THREADS 200
msf auxiliary(ssh_version) > run
4、口令猜测与嗅探
- 首先从网上社工库下载破解的字典password.txt
- 再运行以下指令
msfconsole
msf > use auxiliary/scanner/ssh/ssh_login //进入ssh_login模块
msf auxiliary(scanner/ssh/ssh_login) > set RHOSTS 172.30.2.0/24 //设置目标IP或IP段
msf auxiliary(scanner/ssh/ssh_login) > set USERNAME root //设置目标系统的管理员账号
msf auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /root/20165226/exp6/password.txt //设置破解的字典
msf auxiliary(scanner/ssh/ssh_login) > set THREADS 200 //提高查询速度
msf auxiliary(scanner/ssh/ssh_login) > run
Task4 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
1、检查安装状态,开启openvas - 下载安装openvas ``` root@lxs:~# apt-get update root@lxs:~# apt-get dist-upgraderoot@lxs:~# apt-get install openvas
root@lxs:~# openvas-setup
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425182646540-1596059501.png)
- 执行`openvas-check-setup`命令判断是否安装成功,然后再修改密码,具体可以查看本文问题与思考中的操作
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425190247831-1583939851.png)
- 使用openvas-start开启服务,会自动打开浏览器主页https://127.0.0.1:9392
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425182712338-2105349401.png)
2、新建任务,开始扫描
- 在菜单栏选择`Scans`->`Tasks`
- 进入后点击紫色烟花"Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址`172.30.2.166`,并单击"Start Scans"确认,开始扫描
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425190532615-1956382338.png)
3、查看并分析扫描结果
- 扫描5个主机,发现两台主机等级high,两台log,一台medium,然后生成如下结果报告
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425212222119-633887395.png)
- 打开其中一个主机,查看该扫描结果的详细信息,并点击其中的`Full and fast`:
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425190626249-1225271762.png)
- 点击进入`Buffer overflow`查看详细结果,其中标注了漏洞的危险等级
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425190716006-996470004.png)
- 点开一个危险等级较高的漏洞
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425190740290-1469558969.png)
- 详细描述如下
- 其中的Summary是该漏洞的描述,意思是该主机运行的3CTFTPSVC TFTP服务器,容易出现缓冲区溢出漏洞
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425191400557-1088434940.png)
- Solution是关于该漏洞的解决方案:该漏洞至少一年内没有解决方案或打补丁。而且可能不会再进行修复。一般解决方案是升级到一个较新的版本,删除产品或更换另一个产品。
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425191406711-1106037332.png)
[<font size=3 face="微软雅黑">返回目录</font>](#00)
<hr><hr>
<h4 id=3><font size=5 face="微软雅黑"> 三、问题与思考</font></h4>
- 问题1:在扫描时发现端口号被关,导致无法获取信息
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420221223681-652825356.png)
- 问题1解决方案:通过`-sn`重新获取活跃的主机,然后一个一个试,最后得到了版本信息
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190420221448313-402500336.png)
- 问题2:在安装openvas时出现以下错误
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190422133203528-1389377115.png)
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190422133206020-1525852962.png)
- 问题2解决方案:根据报错去解决问题。一般在报错ERROR后面会有FIX,FIX就是建议的解决方法,我们根据FIX可以去解决报错。后来发现下载后没有安装配置文件,于是导致一系列问题,以后一定按步骤来!!
- 根据FIX去更新nvt`sudo greenbone-nvt-sync`
- 建立本地scapdata数据库` sudo greenbone-scapdata-sync`
- 问题3:出现如下问题:
ERROR: redis-server is not running or not listening on socket: /var/run/redis-openvas/redis-server.sock
FIX: You should start the redis-server or configure it to listen on socket: /var/run/redis-openvas/redis-server.sock
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190424220127620-1859204156.png)
- 问题3解决方案:
- 尝试1:在vi/etc/redis/redis.conf依次更改:(其实是去掉unixsocket的两行注释)
> ```
port 0
unixsocket /var/run/redis/redis-server.sock
unixsocketperm 700
timeout 0
> ```
> 失败
- 尝试2:在vi/etc/redis/redis.conf依次更改:
> ```
port 0
unixsocket /var/run/redis-openvas/redis-server.sock
unixsocketperm 700
timeout 0
> ```
> 之后利用指定配置开启redis服务:`redis-server/etc/redis/redis.conf`,重启
> 失败again
- 尝试3:通过查找资料,发现在openvassd.conf中也需要修改
> - 输入`vi /etc/openvas/openvassd.conf`
> - 在最后面添加一行 地址跟unixsocket的要一样,再重启
> - 最后,再次`openvas-setup`,终于成功!!!
>> - 运行 openvas-setup 这步最后一行显示的`User created with password f9d65d43-8a7f-4302-ab55-4f3302df69bb`,这个密码显然不符合我们的使用习惯,用以下指令进行密码修改来升级
>> `openvasmd --user admin --new-password xxxxxx`
>> `openvas-feed-update`
> - 至此可以成功启动openvas
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190424232311421-1053949131.png)
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190422133656610-1678877693.png)
- 问题4:使用`openvas-start`开启服务之后,自动打开浏览器主页`https://127.0.0.1:9392`,接着出现以下画面
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425182254002-705329004.png)
- 问题4解决方案:点击`Advanced`->`Add Exception`->`Confirm Sercurity Exception`
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425182510834-1514994512.png)
![](https://img2018.cnblogs.com/blog/1047870/201904/1047870-20190425182516890-21779938.png)
[<font size=3 face="微软雅黑">返回目录</font>](#00)
<h4 id=3><font size=5 face="微软雅黑"> 四、实验总结</font></h4>
- 通过本次实验我学会了如何利用各种工具对主机、端口、操作系统、网络服务进行扫描,了解了如何利用工具进行信息搜集,此外还掌握了漏洞的扫描和分析的基本方法,收益匪浅。openvas除了能查看分析主机漏洞外,还能查看解决方案,性能挺好。
- 本次实验最伤神的是openvas的下载安装及配置,多次返回快照重新下载,校网网速实在捉急,耗费了不少流量。安装过程耗时挺长,但是在check时仍不断报错,于是根据FIX提示不断进行更改,终于,成功了!!!
[<font size=3 face="微软雅黑">返回目录</font>](#00)
<hr><hr>