Exp5 信息搜集与漏洞扫描

Exp5 信息搜集与漏洞扫描

1.实验过程记录

1.1各种搜索技巧的应用

  • 使用Google Hacking

    网址如下https://www.exploit-db.com/google-hacking-database

    Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串,许多我们之前用过的模块和代码都能在网站上找到。

  • 搜索网址目录结构

    通俗的说网站目录就是根据不同类别,主题将站点归档到不同的目录下。

    我们可以借助Metasploit中的brute_dirs、dir_listing、dir_scanner等辅助模块来进行敏感目录扫描。这些方法的原理是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。简单来说就是枚举法。

    • brute_dirs

      msfconsole
      use auxiliary/scanner/http/brute_dirs
      set THREADS 50   #设置线程数为50,提高猜测速度
      set RHOSTS www.baidu.com
      exploit
      

  • dir_scanner

    msfconsole
    use auxiliary/scanner/http/dir_scanner
    set THREADS 50
    set RHOSTS www.baidu.com
    exploit
    

通过两种方式查询,可以看到百度的隐藏目录,得到的结果大致相同。

各http响应码含义如下:

```
1开头的http状态码
表示临时响应并需要请求者继续执行操作的状态代码。
100   (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。  
101   (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
```

```
2开头的http状态码
表示请求成功
200     成功处理了请求,一般情况下都是返回此状态码; 
201     请求成功并且服务器创建了新的资源。 
202     接受请求但没创建资源; 
203     返回另一资源的请求; 
204     服务器成功处理了请求,但没有返回任何内容;
205     服务器成功处理了请求,但没有返回任何内容;
206     处理部分请求;
```

```
3xx (重定向) 
重定向代码,也是常见的代码
300   (多种选择)  针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。 
301   (永久移动)  请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。 
302   (临时移动)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 
303   (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。 
304   (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。 
305   (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。 
307   (临时重定向)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
```

```
4开头的http状态码表示请求出错 
400    服务器不理解请求的语法。 
401   请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。 
403   服务器拒绝请求。 
404   服务器找不到请求的网页。 
405   禁用请求中指定的方法。 
406   无法使用请求的内容特性响应请求的网页。 
407   此状态代码与 401类似,但指定请求者应当授权使用代理。 
408   服务器等候请求时发生超时。 
409   服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。 
410   如果请求的资源已永久删除,服务器就会返回此响应。 
411   服务器不接受不含有效内容长度标头字段的请求。 
412   服务器未满足请求者在请求中设置的其中一个前提条件。 
413   服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。 
414   请求的 URI(通常为网址)过长,服务器无法处理。 
415   请求的格式不受请求页面的支持。 
416   如果页面无法提供请求的范围,则服务器会返回此状态代码。 
417   服务器未满足”期望”请求标头字段的要求。
```

```
5开头状态码并不常见,但是我们应该知道
500   (服务器内部错误)  服务器遇到错误,无法完成请求。 
501   (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。 
502   (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 
503   (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。 
504   (网关超时)  服务器作为网关或代理,但是没有及时从上游服务器收到请求。 
505   (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
```
  • 利用搜索引擎的技巧

    常用字段设置如下

    +:强制包含关键词
    -:消除无关性
    |:并行搜索
    “”:精确匹配
    《》:精确匹配/电影或小说
    『』:查找论坛版块
    intitle:把搜索范围限定在网页标题中
    inurl:把搜索范围限定在url链接中
    site:把搜索范围限定在特定站点中
    filetype:专业文档搜索
    

    例:在淘宝上买笔记本电脑

    +笔记本电脑  site:taobao.com
    

  • 路由侦查

    traceroute www.baidu.com
    

由于虚拟机使用的是nat连接,traceroute返回的TTL exceeded消息无法映射到源IP地址、源端口、目的IP地址、目的端口和协议,因此无法反向NAT将消息路由传递回来。

改用windows主机

tracert www.baidu.com

这里出现的 www.a.shifen.com是百度防止黑客恶意攻击的一个手段,这个 shifen 就是baidu的竞价排名系统,名字就叫"十分系统" 。

输出的信息第一列代表了生存时间(每途经一个路由器结点自增1)

第二至第四列表示“三次发送的ICMP包返回时间(共计3个,单位为毫秒ms)

第五列表示“途经路由器的IP地址(如果有主机名,还会包含主机名)

带有星号(*)的信息表示该次ICMP包返回时间超时。

1.2DNS IP注册信息的查询

  • whois查询

    进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到

    whois可进行域名注册信息查询,能够查询到3R注册信息:注册者姓名、组织和城市等。例如输入whois baidu.com

可得到网站名称Domain Name:baidu.com,注册机构ID Registry Domain ID:11181110_DOMAIN_COM-VRSN,注册服务器Registrar WHOIS Server:whois.markmonitor.com等信息。

  • nslookup查询

    nslookup可得到DNS解析服务器保存的Cache的结果,但结果不一定准确。

    输入nslookup baidu.com

  • dig域名查询

    dig可从官方DNS服务器上查询精确的结果。输入dig baidu.com

可以看到得到的结果与nslookup的结果基本相同,另外还可提供带关键字的查询选项

  • +[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。

  • +[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。

  • +[no]short:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。

  • +[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。

  • IP2Location地理位置查询

    • maxmind:https://www.maxmind.com/en/home

      在maxmind可以根据ip查询地理位置,首先通过ping www.cnblogs.com得到服务器的IP地址121.40.43.188,在网站中输入后可以看到地理位置

1.3基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)

主机发现

  • ping命令

    ping命令用发送ICMP报文的方法检测活跃主机,cmd中输入命令ping www.baidu.com

  • metasploit中的arp_sweep模块

    使用ARP请求枚举本地局域网络中的所有活跃主机

    msfconsole
    use auxiliary/scanner/discovery/arp_sweep 
    set RHOSTS 192.168.233.136/24   //24表示子网掩码的位数
    set THREADS 100
    run
    

  • metasploit中udp_sweep模块

    udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

    msfconsole
    use auxiliary/scanner/discovery/udp_sweep 
    set RHOSTS 192.168.233.136/24 
    set THREADS 100
    run
    

  • nmap -sn

    使用nmap -sn 192.168.233.136/24扫描本地局域网络中的所有活跃主机

端口扫描

  • nmap指令

    扫描类型:

    • -sT:TCP connect扫描
    • -sS:TCP syn扫描
    • -sF/-sX/-sN:通过发送一些标志位以避开设备或软件的检测
    • -sP:ICMP扫描
    • -sU:探测目标主机开放了哪些UDP端口
    • -sA:TCP ACk扫描

    扫描选项:

    • -Pn:在扫描之前,不发送ICMP echo请求测试目标是否活跃
    • -O:辨识操作系统等信息
    • -F:快速扫描模式
    • -p<端口范围>:指定端口扫描范围

    使用nmap -PU 192.168.233.136/24命令,扫描UDP端口

使用nmap -sT -p 1-1024 192.168.233.136/24使用TCP connect扫描1-1024端口

  • msf 中的 portscan 模块

    主要可以扫描以下几种端口:

    ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
    ftpbounce:通过FTP BOUNCE攻击的原理对TCP服务进行枚举
    syn:使用发送TCP SYN标志的方式探测开放的端口
    tcp:通过一次完整的TCP链接来判断端口是否开放
    xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
    

    对TCP端口进行探测

    msfconsole
    use auxiliary/scanner/portscan/tcp 
    set RHOSTS 192.168.233.0/24 
    set THREADS 100 
    set PORTS 1-1024 
    run
    

OS及服务版本探测

  • nmap -O

可以通过nmap -O 192.168.29.1对操作系统进行识别,获取目标机的操作系统和服务版本等信息

  • nmap -sV

    可以通过nmap -sV 192.168.29.1查看操作系统详细信息

具体服务的查点

  • Telnet服务扫描

    telnet命令用于登录远程主机,对远程主机进行管理。

    利用scanner进行Telent服务扫描

    msfconsole
    use auxiliary/scanner/telnet/telnet_version
    set RHOSTS 192.168.233.136/24 
    set THREADS 100
    run
    

  • SSH服务

    SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来

    use auxiliary/scanner/ssh/ssh_version 
    set RHOSTS 192.168.233.136/24 
    set THREADS 100
    run
    

  • Oracle数据库服务查点

    use auxiliary/scanner/oracle/tnslsnr_version
    set RHOSTS 192.168.233.136/24
    set THREADS 100
    run
    

1.4漏洞扫描

考虑到kali安装速度以及稳定性,选择使用新的虚拟机安装gvm。

下载好所需镜像文件后,打开VMWare,选择打开虚拟机,选择下好的ovf文件,等待导入成功

打开导入完成的虚拟机,输入用户名admin和密码123456,并记录ip:192.168.233.138

出现如下选项,选择cancel(用键盘的方向键移动,回车确认)

等待一段时间后,出现如下界面,回车即可

在主机中打开刚才的IP地址,选择接受风险并继续

输入用户名密码后进入界面,点上方task,选择第一个选项

输入主机的IP进行检测

等待完成后查看成果,选择PORTS查看一下开放端口,在主机CMD命令行中用netstat -a -n查看

2.问题与解决

在1.3使用ARP请求枚举本地局域网络中的所有活跃主机中,报错如下

显示无权限,所以我退出msfconsole后使用sudo su进入root权限,重新输入一遍命令后成功实现

3.实验后回答问题

  • 哪些组织负责DNS,IP的管理

    答:全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理,它还设立了三个支持组织,分别是:地址支持组织(ASO)负责IP地址系统的管理、域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理、协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配。

    全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。

  • 什么是3R信息

    答:3R是三个以R字母开头的单词,分别为: 注册人(Registrant),注册商(Registrar),官方注册局(Registry)。

  • 评价下扫描结果的准确性

    扫描结果基本准确,但不是百分之百,还是有部分端口无法扫描出来。

4.实验总结与体会

本次实验做起来还是比较顺利的,但是对于计算机网络的知识有一定的要求,需要进行一些复习才能理解实验是在干什么。在开始做第四个实验内容前我先比对了两位课题负责人的报告,发现直接安装了GVM的虚拟机会简单很多,不容易出错,所以省下了不少时间,非常感谢二位的试错。

这次实验我掌握了不少新技能,感觉对自己的电脑又了解了一些。

posted @ 2023-04-20 23:02  20201312许铮怡  阅读(63)  评论(0编辑  收藏  举报