主动信息收集的原理 全球网络攻防实时地图 通以下链接,我们可以发现,现在这个安静的网站环境下,一直存在着攻击和渗透。
主动信息收集的特点
直接与目标系统交互通信
无法避免留下访问的痕迹
使用受控的第三方电脑进行探测,使用代理或已经被控制的机器,做好被封杀的准备
扫描发送不同的探测,根据返回结果判断目标状态
扫描敏感目录/文件
扫描敏感目录需要强大的字典,需要平时积累,拥有强大的字典能够更高效地找出网站的管理后台,敏感文件常见的如**.git文件泄露,.svn文件泄露,phpinfo泄露,robots.txt,网站banner,网站后台,测试文件,备份,github源码,JS敏感文件,网页源代码**等,这一步一半交给各类扫描器就可以了,将目标站点输入到域名中,选择对应字典类型,就可以开始扫描了,十分方便。
JS敏感文件
1 2 3 python3 PackerFuzzer.py -u https://www.liaoxuefeng.com cd reports
1 2 python3 JSFinder.py -u http://www.jiangjiyue.com -d -ou mi_url.txt -os mi_subdomain.txt
dirsearch
dirsearch是一个基于python3的命令行工具,常用于暴力扫描页面结构,包括网页中的目录和文件。
相比其他扫描工具disearch的特点是:
支持HTTP代理
多线程
支持多种形式的网页(asp,php)
生成报告(纯文本,JSON)
启发式检测无效的网页
递归扫描
用户代理随机化
批量处理
扫描器与字典(注:字典必须是文本文件)
简单使用 1 2 3 4 5 6 7 8 dirsearch -u https://target dirsearch -e php,html,js -u https://target dirsearch -e * -u https://target -w /path/to/wordlist
图中,每一列的含义分别是:扫描时间,状态码,大小,扫描的目录,重定向的地址
参数列表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 -h, --help -u URL, --url=URL -L URLLIST, --url-list=URLLIST -e EXTENSIONS, --extensions=EXTENSIONS -w WORDLIST, --wordlist=WORDLIST -l, --lowercase -f, --force-extensions -s DELAY, --delay=DELAY -r, --recursive Bruteforce recursively –scan-subdir=SCANSUBDIRS, --scan-subdirs=SCANSUBDIRS –exclude-subdir=EXCLUDESUBDIRS, --exclude-subdirs=EXCLUDESUBDIRS -t THREADSCOUNT, --threads=THREADSCOUNT -x EXCLUDESTATUSCODES, --exclude-status=EXCLUDESTATUSCODES -c COOKIE, --cookie=COOKIE –ua=USERAGENT, --user-agent=USERAGENT -F, --follow-redirects -H HEADERS, --header=HEADERS –random-agents, --random-user-agents –timeout =TIMEOUT –ip=IP –proxy=HTTPPROXY, --http-proxy=HTTPPROXY –max-retries=MAXRETRIES -b, --request-by-hostname –simple-report=SIMPLEOUTPUTFILE –plain-text-report=PLAINTEXTOUTPUTFILE –json-report=JSONOUTPUTFILE
Dirbuster
DirBuster支持全部的Web目录扫描方式。它既支持网页爬虫方式扫描,也支持基于字典暴力扫描,还支持纯暴力扫描。该工具使用Java语言编写,提供命令行(Headless)和图形界面(GUI)两种模式。其中,图形界面模式功能更为强大。用户不仅可以指定纯暴力扫描的字符规则,还可以设置以URL模糊方式构建网页路径。同时,用户还对网页解析方式进行各种定制,提高网址解析效率。
启动dirbuster 1 2 3 4 5 6 ┌──(root㉿kali)-[/home] └─ Command 'dirbuster' not found, but can be installed with: apt install dirbuster Do you want to install it? (N/y)
设置相关参数
目标ip地址或域名,默认80端口,特殊端口需要加到后面
请求方式,用get方式或者HEAD加GET自动切换
选择线程数,用于执行暴力破解的线程数完全取决于计算机的硬件
选择字典类型,字典列表目录为:/usr/share/dirbuster/wordlists
自动生成,和步骤4二选一,建议使用字典
选择扫描方式
如果用URL Fuzz,可以指定目录,指定扫描admin目录下面的所有文件,dir代表字典的每一行
点击开始
查看结果
Scan Information
:扫描信息
Results -List View
:结果列表
Results -Tree View
:结果树
Errors
:错误
为确定文件是否存在,最常见的响应如下所示
200:文件存在;
404:服务器中不存在该文件;
301:这是重定向到给定的URL;
401:访问此文件需要身份验证;
403:请求有效但服务器拒绝响应。
导出结果
dirb
dirb是一个基于字典的web目录扫描工具,采用递归的方式来获取更多的目录,可以查找到已知的和隐藏的目录,它还支持代理和http认证限制访问的网站在渗透测试过程中,是一个非常好用的工具
dirb命令参数 1 2 3 4 5 6 7 8 9 格式:dirb <url_base> [<wordlist_file(s)>] [options] -a 设置user-agent -p <proxy[:port]>设置代理 -c 设置cookie -z 添加毫秒延迟,避免洪水攻击 -o 输出结果 -X 在每个字典的后面添加一个后缀 -H 添加请求头 -i 不区分大小写搜索
1 dirb http://192.168.64.170 -w /usr/share/wordlists/dirb/big.txt
基于ping命令的探测
PING命令也延伸出了很多其他的命令,如ARPING、FPING、HPING等
ping
PING命令是我们常用的判断主机之间网络是否畅通,同样也是能判断我们的目标主机是否存活
1 2 3 4 5 6 7 8 9 10 11 ┌──(root㉿kali)-[/home] └─ PING www.a.shifen.com (180.101.50.188) 56(84) bytes of data. 64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=1 ttl=51 time=35.0 ms 64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=2 ttl=51 time=35.1 ms 64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=3 ttl=51 time=35.0 ms 64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=4 ttl=51 time=35.2 ms --- www.a.shifen.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 34.986/35.067/35.152/0.060 ms
ARPING ARP协议概述
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。计算机通过 ARP协议将IP地址转换成MAC地址。
ARP协议工作原理
在以太网中,数据传输的目标地址是MAC地址,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
计算机使用者通常只知道目标机器的IP信息,”地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
简单地说,ARP协议主要负责将局域网中的32位IP地址转换为对应的48位物理地址,即网卡的MAC地址,保障通信顺利进行。
windows下查看MAC地址:ipconfig /all
使用arping命令查看局域网中的IP是否有冲突
1 2 3 4 5 6 └─ ARPING 192.168.2.107 Timeout Timeout Timeout
netdiscover
netdiscover是一个主动/被动的ARP侦查工具.使用netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。
主动模式
主动模式顾名思义就是主动的探测发现网络内主机,但是这种方式往往会引起网络管理员的注意
1 2 3 4 5 6 ┌──(root㉿kali)-[/home] └─
被动模式
被动模式的方法更加隐蔽,但是速度会比较慢,网卡被设置为混杂模式来侦听网络内的arp数据包进行被动式探测,这种方式就需要网络内设备发送arp包才能被探测到。
1 2 3 4 ┌──(root㉿kali)-[/home] └─
arp-scan
arp-scan是Kali Linux自带的一款ARP扫描工具。该工具可以进行单一目标扫描,也可以进行批量扫描。
同时,该工具会自动解析Mac地址,给出MAC对应的硬件厂商,帮助用户确认目标。
指令介绍
参数名
参数含义
使用示例
-f
从指定文件中读取主机名或地址
arp-scan -f ip.txt
-l
从网络接口配置生成地址
arp-scan -l
-i
各扫描之间的时间差
arp-scan -l -i 1000
-r
每个主机扫描次数
arp-scan -l -r 5
-V
显示程序版本并退出
arp-scan -l -V
-t
设置主机超时时间
arp-scan -t 1000 192.168.2.0/24
-I
使用网络接口
arp-scan -I eth0 -l
-g
不显示重复的数据
arp-scan -l -g
-D
显示数据包往返时间
arp-scan -l -D
1 2 3 4 5 6 7 8 9 10 11 ┌──(root㉿kali)-[/home] └─ Interface: eth0, type : EN10MB, MAC: 00:0c:29:3e:50:4d, IPv4: 192.168.2.106 Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.2.1 2c:b2:1a:0c:d4:49 Phicomm (Shanghai) Co., Ltd. 192.168.2.104 84:14:4d:f7:61:b0 (Unknown) 192.168.2.180 2a:3e:a4:7a:f0:e6 (Unknown: locally administered) 192.168.2.201 96:89:f9:d7:d9:7b (Unknown: locally administered) 4 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9.7: 256 hosts scanned in 1.920 seconds (133.33 hosts/sec). 4 responded
FPING
Fping就是ping命令的加强版他可以对一个IP段进行ping扫描,而ping命令本身是不可以对网段进行扫描的
1 2 3 4 5 6 7 8 9 10 ┌──(root㉿kali)-[/home] └─ 或 ┌──(root㉿kali)-[/home] └─ -a 表示只显示存活主机 -g 表示对地址段进行扫描,如果不加可以对某个IP进行扫描 > fping.txt 表示将扫描的结果重定向到fping.txt ,原因是如果扫描一个网段的话输出结果是非常多的,我们输出重定向到文件中只会获得存活的主机信息。
Nmap
Nmap 是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。它不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。
特点 Nmap 对于网络检查的作用,应该相当于网址导航、搜索引擎的作用:入口。
检测活在网络上的主机(主机发现)
检测主机上开放的端口(端口发现或枚举)
检测到相应的端口(服务发现)的软件和版本
检测操作系统,硬件地址,以及软件版本
检测脆弱性的漏洞(Nmap 的脚本)
Nmap 使用不同的技术来执行扫描,包括:TCP 的 connect 扫描,TCP 反向的 ident 扫描,FTP 反弹扫描等。所有这些扫描的类型有自己的优点和缺点。
目标探测
目标探测的目的主要有 2 个:
-P*
选项(用于选择 ping 的类型)可以结合使用。可以通过使用不同的 TCP 端口/标志位和 ICMP 码来发送许多探测报文,增加穿透防火墙的机会。注意,即使指定了 -P*
选项,在局域网中,默认通过 ARP(-PR
)来探测目标,因为它总是更快更有效。
-sn
不进行端口扫描(Ping 扫描):此选项告诉 Nmap 在主机发现后不进行端口扫描,只打印出探测到的可用主机。
-sP
该选项告诉 Nmap 仅仅进行 ping 扫描(主机发现),然后打印出对扫描做出响应的那些主机。没有进一步的测试(如端口扫描或者操作系统探测)。相当于执行了 ping xxxx
。当目标为整个局域网的时候,这个方法类似 ping 广播地址,但是它更可靠,因为许多主机对广播请求不响应。同 -sn
-Pn
:该选项完全跳过 Nmap 目标存活判断,即认为每个目标都是存活的。一般来说,Nmap 首先判断目标是否存活,如果存活再进行进一步的探测,如端口扫描、版本探测、或者操作系统探测等等。用 -P0
会使得 Nmap 对每一个目标都直接进行所要求的扫描。
-PU
: UDP ping,它发送一个空的(除非指定了 --data-length
)UDP报文到给定的端口
-PR
:ARP Ping
--system-dns
:默认情况下,Nmap 通过直接发送查询到你的主机上配置的域名服务器来解析域名。为了提高性能会并发执行许多请求(一般几十个)。如果您希望使用系统自带的解析器,就指定该选项(原理是通过调用 getnameinfo()
函数,调用一次解析一个 IP)
1 2 3 nmap -sP 192.168.1.0/24 nmap -sP -PI -PT 192.168.1.0/24
端口扫描
状态
详细的参数说明
Open
端口开启,数据有到达主机,有程序在端口上监控
Closed
端口关闭,数据有到达主机,没有程序在端口上监控
Filtered
数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤
UnFiltered
数据有到达主机,但是不能识别端口的当前状态
Open|Filtered
端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
Closed|Filtered
只发生在IP ID idle扫描
--script=
表示启用脚本扫描。具体而言,它会使用 default
和 safe
脚本组合,用于对目标进行扫描和信息收集。
auth
处理身份验证
broadcast
网络广播
brute
暴力猜解
default
默认
discovery
服务发现
dos
拒绝服务
exploit
漏洞利用
external
外部扩展
fuzzer
模糊测试
intrusive
扫描可能造成不良后果
malware
检测后门
safe
扫描危害较小
version
版本识别
vuln
漏洞检测
-sS
TCP SYN 扫描执行得很快
-sT
TCP connect()
扫描:当 SYN 扫描不能用,例如当用户没有权限发送原始报文或者扫描 IPv6 网络时,TCP 扫描默认使用 TCP Connect() 扫描
-sU
: UDP 扫描
-P <port ranges>
只扫描指定的端口:该选项指明你想扫描的端口,覆盖默认值。单个端口加上连字符表示端口范围(如 1-1023
)也可以。
-p-
:全端口扫描
服务和版本探测
-sV
: 打开版本探测。也可以用-A
同时打开操作系统探测和版本探测。
--allports
不排除端口:默认情况下,Nmap 版本探测会跳过 TCP 端口 9100
操作系统探测
-O
启用操作系统检测.也可以使用-A
来同时启用操作系统检测和版本检测
输出
-oN <filespec>
:要求将标准输出直接写入指定的文件。如上所述,这个格式与交互式输出略有不同。
-oX <filespec>
:要求 XML 输出直接写入指定的文件
-oA <basename>
: 输出至所有格式
--append-output
: 在输出文件中添加:当使用文件作为输出格式,如-oX
或-oN
,默认该文件被覆盖。如果希望文件保留现有内容,将结果添加在现有文件后面,就使用--append-output
选项。所有指定的输出文件都被添加。但对于XML
(-oX
)扫描输出文件无效,无法正常解析,需要手工修改
激进扫描模式
-A
:这个选项启用额外的高级和高强度选项,目前还未确定代表 的内容。目前,这个选项启用了操作系统检测(-O
)和版本扫描(-sV
),以后会增加更多的功能。目的是启用一个全面的扫描选项集合,不需要用户记忆大量的选项。这个选项仅仅启用功能,不包含用于可能所需要的时间选项(如 -T4
)或细节选项(-v
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 nmap -sT -sV -Pn -v 192.168.1.12 -p- nmap -p80 [域名] 对某个端口进行探测 nmap -p80,135 [域名] 对某几个端口进行探测 nmap -p1-100 [域名] 对某个端口范围进行探测 nmap -p- [域名] 对所有端口范围进行探测 nmap -p T:25,U:53 [域名] 指定协议探测端口 nmap -p smtp [域名] 通过协议名来扫描端口 nmap -p s* [域名] 通过名称范围扫描 nmap -p [1-65535] [域名] 扫描注册在nmap中的端口
使用nmap进行半连接扫描 nmap扫描类型主要有TCP的全连接扫描(会在被扫描机器留下记录),半连接扫描(不会留下记录)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ┌──(root㉿kali)-[/home] └─ Starting Nmap 7.92 ( https://nmap.org ) at 2023-04-05 13:49 CST Nmap scan report for 154.40.42.101 Host is up (0.19s latency). PORT STATE SERVICE 80/tcp open http 443/tcp filtered https 8080/tcp open http-proxy 9090/tcp open zeus-admin Nmap done : 1 IP address (1 host up) scanned in 1.48 seconds
masscan
masscan是为了尽可能快速的扫描整个互联网而创建的,根据其作者robert graham描述 可以不到6分钟内完成每秒大约1000万个数据包
基本使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 masscan 10.10.10.0/24 -p443 masscan 10.10.10.0/24 -p80,443 masscan 10.10.10.0/24 -p22-25 masscan 10.10.10.0/24 --top-ports 100 --rate 100000 masscan 10.10.10.0/24 --top-ports 100 --excludefile exclude.txt masscan 10.10.10.0/24 --top-ports 100 > result.txt masscan 10.10.10.0/24 -p80 --banners --source-ip x.x.x.x
命令行模式详细参数 以下为扩展内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <ip/range> IP地址范围,有三种有效格式,1、单独的IPv4地址 2、类似"10.0.0.1-10.0.0.233" 的范围地址 3、CIDR地址 类似于"0.0.0.0/0" ,多个目标可以用都好隔开 -p <ports,--ports <ports>> 指定端口进行扫描 --banners 获取banner信息,支持少量的协议 --rate <packets-per-second> 指定发包的速率 -c <filename>, --conf <filename> 读取配置文件进行扫描 --echo 将当前的配置重定向到一个配置文件中 -e <ifname> , --adapter <ifname> 指定用来发包的网卡接口名称 --adapter-ip <ip-address> 指定发包的IP地址 --adapter-port <port> 指定发包的源端口 --adapter-mac <mac-address> 指定发包的源MAC地址 --router-mac <mac address> 指定网关的MAC地址 --exclude <ip/range> IP地址范围黑名单,防止masscan扫描 --excludefile <filename> 指定IP地址范围黑名单文件 --includefile,-iL <filename> 读取一个范围列表进行扫描 --ping 扫描应该包含ICMP回应请求 --append-output 以附加的形式输出到文件 --iflist 列出可用的网络接口,然后退出 --retries 发送重试的次数,以1秒为间隔 --nmap 打印与nmap兼容的相关信息 --http-user-agent <user-agent> 设置user-agent字段的值 --show [open,close] 告诉要显示的端口状态,默认是显示开放端口 --noshow [open,close] 禁用端口状态显示 --pcap <filename> 将接收到的数据包以libpcap格式存储 --regress 运行回归测试,测试扫描器是否正常运行 --ttl <num> 指定传出数据包的TTL值,默认为255 --wait <seconds> 指定发送完包之后的等待时间,默认为10秒 --offline 没有实际的发包,主要用来测试开销 -sL 不执行扫描,主要是生成一个随机地址列表 --readscan <binary-files> 读取从-oB生成的二进制文件,可以转化为XML或者JSON格式. --connection-timeout <secs> 抓取banners时指定保持TCP连接的最大秒数,默认是30秒。
nc
nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
作用
实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
端口的扫描,nc可以作为client发起TCP或UDP连接
机器之间传输文件
机器之间网络测速
参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ┌──(root㉿kali)-[/home] └─ (UNKNOWN) [154.40.42.101] 90 (?) : No route to host (UNKNOWN) [154.40.42.101] 89 (?) : Connection timed out (UNKNOWN) [154.40.42.101] 88 (kerberos) : No route to host (UNKNOWN) [154.40.42.101] 87 (?) : No route to host (UNKNOWN) [154.40.42.101] 86 (?) : Connection timed out (UNKNOWN) [154.40.42.101] 85 (?) : No route to host (UNKNOWN) [154.40.42.101] 84 (?) : Connection timed out (UNKNOWN) [154.40.42.101] 83 (?) : No route to host (UNKNOWN) [154.40.42.101] 82 (?) : Connection timed out (UNKNOWN) [154.40.42.101] 81 (?) : No route to host (UNKNOWN) [154.40.42.101] 80 (http) open
wafw00f
Web应用防护系统(也称为:网站应用级入侵防御系统)。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
在KaliLinux中提供了一款防火墙探测工具“wafw00f”,这个工具可以通过发送正常以及不正常甚至是包含恶意代码的HTTP请求,来探测网站是否存在防火墙,并识别该防火墙的厂商及类型。
wafw00f常用指令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ┌──(root㉿kali)-[/opt/TOP10] └─ Usage: wafw00f url1 [url2 [url3 ... ]] example: wafw00f http://www.victim.org/ 用法:wafw00f url1 [url2 [url3 ... ]] 示例:wafw00f http://www.victim.org/ 选项: -h, --help 显示帮助信息并退出 -v, --verbose 启用详细模式,多个-v选项增加详细程度 -a, --findall 查找与签名匹配的所有WAF,不在第一个匹配上停止测试 -r, --noredirect 不跟随3xx响应的重定向 -t TEST, --test =TEST 测试特定的WAF -o OUTPUT, --output=OUTPUT 将输出写入csv、json或文本文件中,具体格式取决于文件扩展名。对于标准输出,请指定-作为文件名。 -f FORMAT, --format=FORMAT 强制输出格式为csv、json或文本。 -i INPUT, --input-file=INPUT 从文件中读取目标。输入格式可以是csv、json或文本。对于csv和json,需要一个“url”列名或元素。 -l, --list 列出WAFW00F能够检测到的所有WAF -p PROXY, --proxy=PROXY 使用HTTP代理执行请求,例如:http://hostname:8080,socks5://hostname:1080,http://user:pass@hostname:8080 -V, --version 打印当前版本的WafW00f并退出。 -H HEADERS, --headers=HEADERS 通过文本文件传递自定义标头,以覆盖默认的标头设置。
测试单个 URL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ┌──(root㉿kali)-[/opt/TOP10] └─ ______ / \ ( Woof! ) \ ____/ ) ,, ) (_ .-. - _______ ( |__| ()``; |==|_______) .)|__| / (' /|\ ( |__| ( / ) / | \ . |__| \(_)_)) / | \ |__| ~ WAFW00F : v2.2.0 ~ The Web Application Firewall Fingerprinting Toolkit [*] Checking https://icp.chinaz.com/ [+] Generic Detection results: [-] No WAF detected by the generic detection [~] Number of requests: 7
常见的waf拦截页面(83个国内外WAF)
enum4linux enum4linux介绍
Enum4linux是一个用于枚举来自Windows和Samba系统的信息的工具。
它是用Perl编写的,基本上是一个包装Samba工具smbclient,rpclient,net和nmblookup。
工具的用法可以在下面找到例子,以前版本的工具可以在页面底部找到。
dnstracer用于获取给定主机名从给定域名服务器(DNS)的信息,并跟随DNS服务器链得到权威结果。
主要特性:
RID循环(当Windows 2000上的RestrictAnonymous设置为1时)
用户列表(当Windows 2000上的RestrictAnonymous设置为0时)
组成员信息列表
共享枚举
检测主机是否在工作组或域中
识别远程操作系统
密码策略检索(使用polenum)
enum4linux功能 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ┌──(root㉿kali)-[/opt/TOP10] └─ enum4linux v0.9.1 (http://labs.portcullis.co.uk/application/enum4linux/) Copyright (C) 2011 Mark Lowe (mrl@portcullis-security.com) 简单的封装了在samba包中的工具,以提供类似的enum.exe功能(以前从www.bindview.com)。 为了方便起见,还增加了一些附加功能,例如RID循环。 用法: ./enum4linux.pl [选项] ip地址 枚举选项: -U 获取用户列表 -M 获取机器列表* -S 获取共享列表 -P 获取密码策略信息 -G 获取组和成员列表 -d 详述适用于-U和-S -u user 用户指定要使用的用户名(默认"" ) -p pass 指定要使用的密码(默认为"" ) 以下选项是enum.exe未实现的: -L, -N, -D, -f 其他选项: -a 做所有简单枚举(-U -S -G -P -r -o -n -i),如果您没有提供任何其他选项,则启用此选项 -h 显示此帮助消息并退出 -r 通过RID循环枚举用户 -R range RID范围要枚举(默认值:500-550,1000-1050,隐含-r) -K n 继续搜索RID,直到n个连续的RID与用户名不对应,Impies RID范围结束于999999.对DC有用 -l 通过LDAP 389 / TCP获取一些(有限的)信息(仅适用于DN) -s 文件暴力猜测共享名称 -k user 远程系统上存在的用户(默认值:administrator,guest,krbtgt,domain admins,root,bin,none) 用于获取sid与“lookupsid known_username” 使用逗号尝试几个用户:“-k admin,user1,user2” -o 获取操作系统信息 -i 获取打印机信息 -w wrkg 手动指定工作组(通常自动找到) -n 做一个nmblookup(类似于nbtstat) -v 详细输出,显示正在运行的完整命令(net,rpcclient等) RID循环应从Windows(或Samba)主机中提取一个用户列表,其中限制匿名设置为1(Windows NT和2000)或启用“网络访问:允许匿名SID /名称转换”(XP,2003)。 注意:Samba服务器通常似乎有RID在范围3000-3050。 依赖性信息:您将需要安装samba包,因为此脚本基本上只是一个包装rpcclient,net,nmblookup和smbclient。 Polenum从http://labs.portcullis.co.uk/application/polenum/需要获取密码政策信息。
enum4linux用法示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ┌──(root㉿kali)-[/home/] └─$ enum4linux -A 10.10.10.9 Starting enum4linux v0.9.1 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Fri Aug 4 20:29:56 2023 =========================================( Target Information )========================================= Target ........... 10.10.10.9 RID Range ........ 500-550,1000-1050 Username ......... '' Password ......... '' Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none =============================( Enumerating Workgroup/Domain on 10.10.10.9 )============================= [+] Got domain/workgroup name: MYGROUP ====================================( Session Check on 10.10.10.9 )==================================== [+] Server 10.10.10.9 allows sessions using username '' , password '' =================================( Getting domain SID for 10.10.10.9 )================================= Domain Name: MYGROUP Domain Sid: (NULL SID) [+] Can't determine if host is part of domain or part of a workgroup enum4linux complete on Fri Aug 4 20:29:56 2023
CTF-Show WP