理论知识

  1. 标志信息是指一些主机或服务响应的欢迎信息或版本信息
  2. SNMP(简单网络管理协议)是由一组网络管理的标准组成,包含一个应用层协议和一组资源对象
  3. SNMP能够支持网络管理系统,用以检测连接到网络上的设备是否有任何引起管理上关注的情况
  4. SNMP是一种简单管理协议,它使用UDP协议通过以太网来执行网络管理
  5. SNMP协议主要由两大部分组成,分别是SNMP管理站和SNMP代理,其中,SNMP管理站是一个中心节点,负责收集维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员,而SNMP代理是运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接受并执行管理站的命令,上传各种本地的网络信息
  6. SNMP管理站和SNMP代理之间是松散耦合的关系
  7. SNMP服务采用UDP协议在管理端和代理端之间传输信息
  8. 服务器信息块是一种IBM协议,用于在计算机间共享文件、打印机和串口等
  9. SMB协议可以用在TVP/IP上,也可以用在其他网络协议上
  10. SMB是一种客户机/服务器、请求/响应协议

实际操作

Netcat标志信息

Netcat是一个多功能网络化工具,使用该工具可以实现各种信息收集和扫描

使用方式如下nc -v 主机名/ip 端口

Python标志信息

在使用python解释器交互式,可以直接调用python模块,也可以导入任何希望使用的特定模块

(这里暂且看不懂python代码,想学这个的可以自行探索)

Dmitry工具

Dmitry是一个一体化的信息收集工具,使用该工具对目标主机实时扫描,也可以获取到一些标志信息

语法格式如下:dmitry -pd 目标

(查询时间较久,没有等待获取完)

Nmap NSE标志信息

在nmap工具中有一个集成的nmap scripting engine脚本,该脚本可以通过远程端口来读取正在运行的网络服务标志信息

语法:Nmap -sT 目标 -P 端口 --script=banner

(-p后面可以指定单个、多个端口号,也可以指定所有端口号和范围端口号,多个不连续端口号用逗号隔开,范围端口号用连接符连接,所有端口号用杠-代替)

Amap标志信息

Amap是一个应用程序映射工具,可以用来通过远程端口来读取正在运行的网络服务标志

(kali系统中默认没有安装,需要自行安装:agt install amap)

语法如下:amap -B 目标 端口

(这里没有出现想要的结果,不过命令没错)

系统识别

我们不仅可以通过相应工具识别目标主机上的服务指纹信息,换可以进行系统指纹信息识别

Nmap系统识别

Nmap工具中提供了-O选线,可以用来识别操作系统,语法格式如下:nmap -O 目标

输出信息解析:

MAC Address: 00:0C:29:3C:0F:8C (VMware)(mac地址)

Device type: general purpose(设备类型)

Running: Linux 2.6.X(运行系统)

OS CPE: cpe:/o:linux:linux_kernel:2.6(操作系统中央处理单元)

OS details: Linux 2.6.9 - 2.6.33(操作系统详细信息)

Network Distance: 1 hop(网络距离,即从源到目标经过的网络节点)

指定识别的操作系统

Nmap工具

当扫描多个主机时,可以使用--osscan-limit选项来指定识别特定主机的操作系统类型,语法如下:nmap -p0 目标段 -O --osscan-limit

推测操作系统

Nmap工具

当nmap无法确定所探测的操作系统时,会尽可能地提供最相近的匹配

使用格式如下:nmap -O --osscan-guess 目标或使用参数--fuzzy

(两个选项得到的结果只能说是基本相同,在试一遍可能给的结果会又不一样,暂且没试)

Ping系统识别

Ping的过程中,在响应包中将包括对应的TTL值,TTL是生成时间的缩写,不同操作对应响应的TTL值不同(TTL值对应表在附加中写出)

图中的ttl=64,则为linux操作系统

Ttl=128,则为Windows系统

Xprobe2系统识别

Xprobe2是一款远程主机操作系统探测工具,该工具通过ICMP协议来采取指纹,xprobe2通过模糊矩阵统计分析主动探测数据报文对应的ICMP数据报特征,进而探测得到远端操作系统的类型(kali系统中默认没有安装,命令:apt install xprobe2)

语法:xprobe2 目标

(xprobe2工具在NAT模式下就会出现上图的Bug或者kali新版本中出现这种情况:[+] Host 192.168.249.129 Running OS: �[�xYU (Guess probability: 100%))

某些输出信息解析:

[+] Target is 192.168.249.129(目标地址)

[+] Loading modules.(正在加载的模块)

[+] Following modules are loaded:(被加载的模块)

[+] Initializing scan engine(初始化扫描引擎)

[+] Running scan engine(正在实施扫描)

[+] Primary guess:主要猜测的系统(这句话的下面那一句)

[+] Other guesses:(其他猜测)

P0f系统识别

P0f是一款用于识别远程操作系统的工具,该工具与前面介绍的其他工具不同,它是一个完全被动地识别操作系统指纹信息的工具,不会直接作用于目标系统,当启动工具后,即可监听网络中的所有数据包,通过数据包识别出系统相关的信息(kali默认没有安装:apt install p0f)

  1. 首先启动p0f

以上几行信息表示的是无法捕捉到其他信息,但是p0f会一直处于监听监听状态

  1. 只有其他主机在网络中产生流量才会被p0f监听到

利用SNMP服务

暴力破解SNMP服务

如果要访问SNMP服务,则需要知道密码,所以,要利用SNMP服务来获取主机信息的话,则需要先知道其加密的密码串

Onesixtyoue工具

Onesixtyoue是一个专门针对于snmp协议的扫描器,如果指定其密码,即可获得目标主机的相关信息,如果不知道,也可以用来实施密码破解

语法如下:onesixtyoue 目标 -c 尝试的密码文件

(工具无法下载,暂不多说,可能需要重装系统,完全安装才可以)

Hydra工具

Hydra是著名的黑客组织THC的一款开源暴力破解工具,目前该工具支持破解的服务有FTP/MYSQL/SNMP/SSH等

语法如下:hydra -p /root/password.lst 目标 snmp

(具体操作就是如此,也不知道是靶机没有安装snmp服务,还是password.lst文件中写的命令都不对)

Nmap工具

Nmap工具中提供了一个脚本snmp-brute,可以用来snmp服务暴力破解

语法:

Nmap -sU -p 端口 --script=snmp-brute 目标 --script-args=snmp-brute.communitiesdb=root/password.lst

(我这里snmp密码破解的结果都是一样的,所以就不等了)

获取主机信息

onesixtyoue工具

Onesixtyoue是一个简单的snmp分析工具,使用该工具,仅请求指定地址的系统扫描述值,在使用onesixtyoue工具分析snmp时,需要指定目标ip地址和社区字符串,该工具默认的社区字符串是public

工具语法为:onesixtyoue 目标 public

SNMPwalk工具

Snmpwalk工具是一个比较复杂的snmp扫描工具,它可以收集使用snmp社区字符串设备的大量信息

语法如下:snmpwalk 目标 -c puclic -v public的版本

Snmp-check工具

Snmp-check是一款枚举snmp信息工具,该工具会显示具体信息名称,而不像snmpwalk工具一样只显示ios序列号

语法如下:snmp-check option 目标

Option选项及含义

-p:指定snmp的端口,默认161

-c:指定snmp的密码串,默认public

-v:指定snmp版本,可指定版本为1和2c,默认1

-t:指定超时值,默认5秒

利用SMB服务

暴力破解SMB服务

Hydra是一款非常强大的开源密码攻击工具,支持多种协议的破解

语法如下:hydra -L user file -p pass file 目标 smb

以上两种方法都可,(这里懒得建立user和pass文件,所以直接使用命令),第二种方法是直接指定暴力破解该用户的密码

判断操作系统类型

在linux系统中提供了一款名为smbclient的客户端工具,可以用来访问smb服务中的共享文件

语法如下:smbclient -L 目标 -U 用户

(我这里显示的是协议协商失败)

判断磁盘类型

语法:smbclient -L 目标 -U 用户

常见服务扫描策略

理论知识

  1. 网络基础服务是指连接到网络需要的基本服务,如DHCP、NTP和NetBIOS等
  2. DHCP是基于UDP协议工作的服务,该服务工作于UDP的67和68号端口,其中67端口为DHCP客户端广播请求,68号端口为DHCP服务器回应广播请求
  3. 文件共享是主动在网路上共享自己的计算机文件,最常见的文件共享服务有AFP和NFS等
  4. Web服务一般指网站服务,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等web客户端提供文件,也可以放置网站文件和数据文件,让用户下载浏览
  5. 最常见的web服务器有AJP和ASP.NET等
  6. HTTP服务是基于TCP协议工作的,其工作在TCP的80端口
  7. SSL(安全套接层)及其继承者传输层安全是为网络通信提供安全及数据完整性的一种安全协议
  8. 数据库服务由运行在局域网中的一台或多台计算机和数据库管理系统软件共同构成,为客户应用程序提供了数据服务
  9. 远程登录服务可以将用户计算机与远程主机连接起来,在远程计算机上运行程序,将相应的屏幕显示传送到本地主机,并将本地的输入发送给远程计算机
  10. 邮件服务器是一种用来负责电子邮件收发管理的软件

实际操作

网络基础服务

DHCP服务

Broadcats-dhcp-discover.nse脚本

Broadcats-dhcp-discover.nse脚本通过向广播地址255.255.255.255发送一个dhcp请求,来寻找提供dhcp服务的主机,该脚本在执行时,使用静态mac地址,以防止ip地址耗尽

语法如下:nmap --script=broadcast-dhcp-discover.nse

以上信息含义解析:

IP Offered: 192.168.0.105(提供的IP地址)

|     DHCP Message Type: DHCPOFFER(dhcp消息类型)

|     Server Identifier: 192.168.0.1(服务器标识符)

|     IP Address Lease Time: 2h00m00s(IP地址释放时间)

|     Domain Name Server: 211.138.24.66, 211.138.30.66(域名服务)

|     Subnet Mask: 255.255.255.0(子网掩码)

|_    Router: 192.168.0.1(路由地址)

dhcp-discover.nse脚本

dhcp-discover.nse脚本用来向目标主机发送一个DHCP INFORM请求到主机的UDP67号端口,来获取所有本地配置参数

语法:nmap -sU -p 67 --script=dhcp-discover 192.168.0.103

Daytime服务

Daytime服务是基于TCP的应用,该服务在TCP端口13侦听,一旦有连接建立就返回ASCII形式的日期和时间,在传送完后关闭连接,而服务接收到的数据则被忽略

语法:nmap -sV -p 13 --script=daytime 192.168.0.103

我这里只显示了daytime服务,却没显示ASCII格式的时间,不知道咋回事

NTP服务

ntp服务是基于udp协议的服务,该服务默认监听端口为123

Ntp-info.nse用来获取时间和配置信息

语法:nmap -sU -p 123 --script=ntp-info 192.168.0.103

LLTD服务

Lltd(链路层拓扑结构发现)作为Windows rally技术的关键部分,主要完成网络设备的发现和网络拓扑结构图的绘制

Lltd协议用来探测网络中的活动主机,并指定一个新的目标实施扫描

语法:nmap --script=lltd-discovery --script-args=lltd-discovery.interface=etho,newtargets=192.168.0.103

嗨,输了一大串命令,什么都没扫出来

NetBIOS服务

netbios协议是由ibm公司开放,主要用于数十台计算机的小型局域网

Netbios协议监听137、138和139三个端口

137提供netbios名称解析服务,138用于用户数据报服务,139提供会话服务

语法:nmap -sU --script=nbstat.nse -p 137 192.168.0.103

nmap  --script=nbstat.nse -p 137 192.168.0.103

两种方法皆可

文件共享服务

苹果AFP服务

AFP服务是基于TCP协议工作的,其工作在TCP的548端口

语法:nmap -sV -p 548 --script=afp-serverinfo.nse 192.168.249.129

命令没错,就是我这里显示的信息可以说就没显示信息

苹果DAAP服务

DAAP服务是基于TCP协议工作的服务,其工作在TCP的3689端口

语法:nmap -p 3689 --script=daap-get-library.nse 192.168.249.129

NFS服务

NFS服务是基于TCP协议工作的服务,其工作在TCP的111端口

获取NFS服务有两种脚本方式,分别是:

nmap -p 111 --script=nfs-ls.nse 192.168.249.129

(从上图信息可以看出目标主机开放了NFS服务,并且显示出了共享的文件以及共享文件的权限)

nmap -p 111 --script=nfs-showmount.nse 192.168.249.129

(可以看出目标主机共享的目录为根目录)

WEB服务

AJP服务

Ajp服务是基于tcp协议工作的服务,其工作在tcp的8009端口

Ajp-auth.nse脚本

使用ajp-auth.nse脚本获取ajp服务的认证摘要信息

使用方法:nmap -P 8009 --script ajp-auth.nse

(崩溃了,大多命令都是对的,就是输出信息有问题,不应该就这么点信息的)

Ajp-headers.nse脚本

获取服务器响应的头部

使用方法:nmap -p 8009 --script=ajp-headers 192.168.129.249

(又是输出信息不全)

ajp-methods.nse脚本

发送一个options请求和存在风险方法的列表,获取ajp服务支持的方法

使用方法:nmap -p 8009 --script=ajp-methods 192.168.129.249

ajp-request.nse脚本

请求url信息

使用方法:nmap -p 8009 --script=ajp-request 192.168.129.249

ASP.NET服务

asp.net是一个开发框架,用于通过html、css、javascript及服务器脚本来搭建网页和网站

http-aspnet-debug脚本

通过使用http debug请求来判断asp.net应用程序是否启用了debug功能

使用方法:nmap -p 80 --script=http-aspent-debug 192.168.129.249

(输出结果显然不对,不知道咋回事)

HTTP认证服务

获取http服务认证信息

语法:nmap --script http-auth -p 80 192.168.0.101

(输出结果又是这样,好像很多命令我得到的结果都是这样)

SSL服务

Ssl服务是基于TCP协议工作的,其工作在TCP的443端口

获取ssl服务的认证信息

Ssl-cert脚本

语法如下:nmap --script=ssl-cert -p 443 www.baidu.com

含义解释:

Public Key type: rsa(公钥类型)

Public Key bits: 2048(公钥字节)

Signature Algorithm: sha256WithRSAEncryption(签名算法)

Not valid before: 2022-02-21T08:42:02(有效时间之前)

Not valid after:  2022-08-02T01:16:03(有效时间之后)

MD5:   8d93 7ea3 564a ce78 d267 ab11 843d 28a6(MD5值)

SHA-1: fb4b a466 e60f 38bb d29d 92e7 fc53 5e31 c5cd ef0c(SHA-1值)

获取目标主机的日期和时间

ssl-date脚本

用法:nmap --script=ssl-date -p 443 www.baidu.com

获取暂时的Diffie-Hellman参数信息

ssl-dh-params脚本

语法如下:nmap --script=ssl-dh-params -p 443 www.baidu.com

获取目标主机的加密方式

ssl-enum-ciphers脚本

语法:

Sslv2脚本

Sslv2脚本用来判断目标服务器是否支持sslv2,并且支持的加密方式

语法如下: nmap --script=sslv2 -p 443 www.baidu.com

tls-nextprotoneg脚本

tls-nextprotoneg脚本通过使用next protocol negotiation extension来枚举tls服务支持的协议

语法如下:nmap --script=tls-nextprotoneg -p 443 www.baidu.com

上面的内容全部都是大学霸IT达人编著的kali linux网络扫描这本书中的,只是想和感兴趣的老铁们分享以下,另外,最重要的是想求助大佬们,看看上面的截图中,大多输出结果都是一样的,这是因为靶机的原因,还是什么原因,希望懂的大佬能够指点一下,谢过了哈)

kali linux网络扫描~目标识别及常见服务扫描策略相关推荐

  1. mac使用被动ftp模式(pasv)_网络安全工程师与白帽子黑客教你:Kali Linux之使用Metasploit进行FTP服务扫描实战...

    本分享仅做学习交流,请自觉遵守法律法规! 搜索:Kali与编程,学习更多网络攻防干货! 下篇文章将在明天下午五点发布,敬请关注! 一.背景介绍 FTP是用来在两台计算机之间传输文件,是Inter ...

  2. kali linux网络扫描~网络扫描

    网络扫描理论 理论知识 1.通过对一个网络中的主机实施扫描,即可发现该网络中活动的主机,当扫描到网络中活动的主机后,即可探测该活动主机中开放的所有端口 2.在TCP/IP协议中,最常用的协议是TCP和 ...

  3. kali linux 网络架构,Kali Linux网络扫描教程大学霸内部资料

    Kali Linux网络扫描教程大学霸内部资料 Kali Linux网络扫描教程大学霸内部资料 黑白教程:95元 彩色教程:118元 介绍:渗透测试是一门操作性极强的学科.掌握该技能的最佳方式就是大量 ...

  4. Kali Linux网络扫描教程(内部资料)

    Kali Linux网络扫描教程(内部资料) 试读样张:http://pan.baidu.com/s/1qWuNSYw 前  言 Kali Linux是业内最知名的安全渗透测试专用操作系统.它的前身就 ...

  5. Kali Linux 网络扫描秘籍 第二章 探索扫描(二)

    第二章 探索扫描(二) 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA 4.0 2.7 使用 Scapy 发现第三层 Scapy 是一种工具,允许用户制作并向网络中注入 ...

  6. kali linux网络扫描~无线网络扫描

    理论知识 无线网络是一种特殊的局域网,也就是人们常说的Wi-Fi网络,由于它采用无线方式传输数据,所以采用方式也不同 无线网络是采用无线通信技术实现的网络 无线网络既包括允许用户建立远距离无线连接的全 ...

  7. Kali Linux 网络扫描秘籍 翻译完成!

    Kali Linux 网络扫描秘籍 翻译完成! 原书:Kali Linux Network Scanning Cookbook 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓库 ...

  8. kali linux网络扫描~网络扫描基础技术

    理论知识 ICMP是TCP/IP协议簇的一个子协议,用于在IP主机.路由器之间传递控制消息,控制消息是指网络通不通.主机是否可达.路由是否可用等网络本身的消息 标准ICMP扫描就是简单的通过向目标主机 ...

  9. 【Linux】Linux网络编程(含常见服务器模型,上篇)

    基本数据结构介绍 Linux系统是通过提供嵌套字(socket)来进行网络编程的.网络程序通过socket和其他几个函数的调用,会返回一个通用的文件描述符,用户可以将这个描述符看成普通的文件的描述符来 ...

最新文章

  1. centos7+ansible自动化工具使用
  2. python4delphi 设置syspath
  3. 双向循环链表的冒泡排序
  4. leetcode 207. Course Schedule | 207. 课程表(Java)
  5. java file ip_java常用工具类 IP、File文件工具类
  6. Docker自动构建开发测试平台
  7. 【今日CV 计算机视觉论文速览】Mon, 28 Jan 2019
  8. 软考网络管理员学习笔记4之第四章局域网技术
  9. 程序员的算法课(15)-分治法获取文件中出现频次最高100词
  10. android开发学术报告,基于Android应用的安全防护技术研究
  11. mybatis配置文件祥解(mybatis.xml)
  12. Json本地校验工具--HiJson
  13. java进销存系统--采购入库
  14. 计算机用户删除了怎么恢复出厂设置,四种电脑快速恢复出厂设置方法
  15. 五月,温暖,风带着花香沁人心脾,独坐窗前
  16. 【游戏】——微信打飞机
  17. Photoshop的安装教程
  18. java星星闪烁代码_jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
  19. 第四章 SQL语法分类
  20. 如何通过银行卡号 判断归属银行

热门文章

  1. JSP+servlet实现登录与注册功能
  2. R 实战综合指数评价法示例教程
  3. 如何使用 Sublime Text 编辑器?从入门到精通(图文系列一)
  4. 显著性检测- HC模型
  5. 电路板中:铝基板与FR-4 PCB电路板有什么区别?
  6. NOR和NAND的区别
  7. 吴建国 安徽大学 计算机学院,安徽大学计算机科学与技术学院硕士生导师:谢莹副教授...
  8. c语言求婚代码大全,程序员七夕用40行代码向女友求婚成功,网友:求源码
  9. vue完整上传图片(阿里云OSS)
  10. python如何输入字符_python如何输入字符串