56星座屋
当前位置: 首页 星座百科

服务好的端口扫描工具(端口扫描工具终极用法)

时间:2023-05-25 作者: 小编 阅读量: 3 栏目名: 星座百科

端口扫描工具终极用法|至察助安-网络安全干货博客为什么要做c段探测,运营商分配给IDC机房地址时大部分都是连续IP地址,租给客户时很大概率会分配同C段内IP地址,使用工具扫描可以探测出同段服务。老规矩先放出我最常用的命令组合方式,想了解原理继续看,不想了解直接套用就可以。

端口扫描工具终极用法 | 至察助安 - 网络安全干货博客

为什么要做c段探测,运营商分配给IDC机房地址时大部分都是连续IP地址,租给客户(渗透目标)时很大概率会分配同C段内IP地址(除非目标就一个IP地址),使用工具扫描可以探测出同段服务。

扫描工具UP主经常用的有三个:

  • Nmap
  • Masscan
  • zmap
Nmap用法

Nmap(Network Mapper,网络映射器) 是一款开放源代码的网络探测和安全审核的工具。老规矩先放出我最常用的命令组合方式,想了解原理继续看,不想了解直接套用就可以。

sudo nmap -v -sS -p8000-9000 -Pn -T4 -A 124.*.8.254 --script http-methods --script-args http.useragent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0"

-v 实时输出扫描详情

vulab@sechelper:~/masscan$ nmap -v 124.*.8.254Starting Nmap 7.80 ( https://nmap.org ) at 2022-09-05 04:01 UTCInitiating Ping Scan at 04:01Scanning 124.*.8.254 [2 ports]Completed Ping Scan at 04:01, 0.03s elapsed (1 total hosts)Initiating Parallel DNS resolution of 1 host. at 04:01Completed Parallel DNS resolution of 1 host. at 04:01, 0.01s elapsedInitiating Connect Scan at 04:01Scanning 124.*.8.254 [1000 ports]Discovered open port 443/tcp on 124.*.8.254Discovered open port 22/tcp on 124.*.8.254Discovered open port 80/tcp on 124.*.8.254...

-A 全面扫描

vulab@sechelper:~$ nmap -A 124.*.8.254 # nmap -A 124.*.8.1/24 扫描C段存活端口Starting Nmap 7.80 ( https://nmap.org ) at 2022-09-04 12:09 UTCNmap scan report for 124.*.8.254Host is up (0.037s latency).Not shown: 997 filtered portsPORTSTATE SERVICEVERSION22/tcpopentcpwrapped|_ssh-hostkey: ERROR: Script execution failed (use -d to debug)80/tcpopentcpwrapped|_http-server-header: nginx/1.18.0 (Ubuntu)443/tcp opentcpwrapped|_http-server-header: nginx/1.18.0 (Ubuntu)| ssl-cert: Subject: commonName=navi.sechelper.com| Subject Alternative Name: DNS:navi.sechelper.com| Not valid before: 2022-08-27T00:00:00|_Not valid after:2023-08-27T23:59:59| tls-alpn: |_http/1.1| tls-nextprotoneg: |_http/1.1

-Pn 禁ping扫描,扫描前不ping(不加这个参数Nmap会ping目标地址)

vulab@sechelper:~$ nmap -Pn 124.*.8.254Starting Nmap 7.80 ( https://nmap.org ) at 2022-09-04 13:02 UTCNmap scan report for 124.*.8.254Host is up (0.035s latency).Not shown: 997 filtered portsPORTSTATE SERVICE22/tcpopenssh80/tcpopenhttp443/tcp openhttpsNmap done: 1 IP address (1 host up) scanned in 25.80 seconds

-p 指定端口

vulab@sechelper:~$ nmap -p22,21,8000-9000 124.*.8.254Starting Nmap 7.80 ( https://nmap.org ) at 2022-09-04 21:20 CSTNmap scan report for 124.*.8.254Host is up (0.0031s latency).PORTSTATE SERVICE22/tcp opensshNmap done: 1 IP address (1 host up) scanned in 0.34 seconds

-sP 使用ping探测主机存活,不扫描端口

vulab@sechelper:~$ nmap -sP 192.168.111.1/24Starting Nmap 7.80 ( https://nmap.org ) at 2022-09-04 12:31 UTCNmap scan report for _gateway (192.168.111.2)Host is up (0.00032s latency).Nmap scan report for sechelper (192.168.111.133)Host is up (0.000091s latency).

-sS syn扫描/半开放扫描,准确率太低

vulab@sechelper:~$ sudo nmap -sS 124.*.8.254...Not shown: 979 filtered portsPORTSTATESERVICE22/tcpopenssh80/tcpopenhttp443/tcpopenhttps8002/tcp closed teradataordbms8042/tcp closed fs-agent8088/tcp closed radan-http8090/tcp closed opsmessaging...Nmap done: 1 IP address (1 host up) scanned in 867.60 seconds

-sT 连接扫描,准确率高

vulab@sechelper:~$ nmap -sT 124.*.8.254Starting Nmap 7.80 ( https://nmap.org ) at 2022-09-04 14:14 UTCNmap scan report for 124.*.8.254Host is up (0.037s latency).Not shown: 997 filtered portsPORTSTATE SERVICE22/tcpopenssh80/tcpopenhttp443/tcp openhttpsNmap done: 1 IP address (1 host up) scanned in 14.17 seconds

状态

含义

open

端口开着,正在被使用

closed

端口已关闭

filtered

扫描被阻拦, 无法确定端口是否开放

unfiltered

端口可被访问,但不能确定是开放还是关闭

表一 Nmap 端口状态表

-T 提升扫描速度,0-5,数值越高速度越快

vulab@sechelper:~/masscan$ nmap -A -v -p80 -T4 124.*.8.254...PORTSTATE SERVICE VERSION80/tcp openhttpnginx 1.18.0 (Ubuntu)| http-methods: |_Supported Methods: GET HEAD POST|_http-server-header: nginx/1.18.0 (Ubuntu)|_http-title: 403 ForbiddenService Info: OS: linux; CPE: cpe:/o:linux:linux_kernel...

绕过防火墙/安全设备

Nmap使用默认User-Agent,流量和日志里一览无遗(秃子头上的虱子),不封你封谁。大部分工具默认指纹都已被提取规则,使用的时候注意看下源码或者测试一下。

扫描时指定User-Agent,可以绕过部分安全检测

nmap -A -v -p80 124.*.8.254 --script http-methods --script-args http.useragent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0"

结果写入文件

原始结果

nmap -A -v -p80 -T4 124.*.8.254 -o 4.txt

保存为XML格式

nmap -A -v -p80 -T4 124.*.8.254 -oX 4.xml

参考:

  • PING/ICMP
  • SYN扫描/半开放扫描
Masscan用法

Masscan是一个互联网规模的端口扫描仪。它可以在5分钟内扫描整个互联网,从一台机器每秒传输1000万个数据包。这是我常用的端口扫描工具,老规矩先放我最常用参数组合,想了解原理继续看,不想了解直接套用。

masscan -p80,8000-9000 182.92.106.58 --rate=10000 --banners --source-port 61000 --http-user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0" -Pn

编译安装

vulab@sechelper:~$ apt install make gcc git -yvulab@sechelper:~$ git clone https://github.com/robertdavidgraham/masscan.gitvulab@sechelper:~$ cd masscanvulab@sechelper:~/masscan$ make && make install...c -g -ggdb-Wall -O2 -c src/stub-pfring.c -o tmp/stub-pfring.occ -g -ggdb-Wall -O2 -c src/syn-cookie.c -o tmp/syn-cookie.o...cc -g -ggdb-Wall -O2 -o bin/masscan tmp/crypto-base64.o tmp/crypto-blackrock2.o tmp/event-timeout.o tmp/in-binary.o tmp/in-filter.o tmp/in-report.o tmp/logger.o tmp/main-conf.o tmp/main-dedup.o tmp/main-...

vulab@sechelper:~/masscan$ masscan -h # 出现帮助信息表示安装成功usage:masscan -p80,8000-8100 10.0.0.0/8 --rate=10000 scan some web ports on 10.x.x.x at 10kppsmasscan --nmap list those options that are compatible with nmapmasscan -p80 10.0.0.0/8 --banners -oB <filename> save results of scan in binary format to <filename>masscan --open --banners --readscan <filename> -oX <savefile> read binary scan results in <filename> and save them as xml in <savefile>vulab@sechelper:~/masscan$ masscan --helpMASSCAN is a fast port scanner. The primary input parameters are theIP addresses/ranges you want to scan, and the port numbers. An exampleis the following, which scans the 10.x.x.x network for web servers: masscan 10.0.0.0/8 -p80The program auto-detects network interface/adapter settings. If thisfails, you'll have to set these manually. The following is anexample of all the parameters that are needed: --adapter-ip 192.168.10.123 --adapter-mac 00-11-22-33-44-55 --router-mac 66-55-44-33-22-11Parameters can be set either via the command-line or config-file. Thenames are the same for both. Thus, the above adapter settings wouldappear as follows in a configuration file: adapter-ip = 192.168.10.123 adapter-mac = 00-11-22-33-44-55 router-mac = 66-55-44-33-22-11All single-dash parameters have a spelled out double-dash equivalent,so '-p80' is the same as '--ports 80' (or 'ports = 80' in config file).To use the config file, type: masscan -c <filename>To generate a config-file from the current settings, use the --echooption. This stops the program from actually running, and just echoesthe current configuration instead. This is a useful way to generateyour first config file, or see a list of parameters you didn't knowabout. I suggest you try it now: masscan -p1234 --echo

-p 指定端口

vulab@sechelper:~/masscan$ sudo masscan -p 80 124.*.8.1/24Starting masscan 1.3.2 (http://bit.ly/14GZzcT) at 2022-09-05 02:12:22 GMTInitiating SYN Stealth ScanScanning 256 hosts [1 port/host]Discovered open port 80/tcp on 124.*.8.177Discovered open port 80/tcp on 124.*.8.39Discovered open port 80/tcp on 124.*.8.7Discovered open port 80/tcp on 124.*.8.186Discovered open port 80/tcp on 124.*.8.13Discovered open port 80/tcp on 124.*.8.77Discovered open port 80/tcp on 124.*.8.163Discovered open port 80/tcp on 124.*.8.133...

–rate=10000 发包频率,数值越大扫描越快,根据自己网络设置,频率太高误报越高

vulab@sechelper:~/masscan$ sudo masscan -p 80 124.*.8.1/24 --rate=10000

**–banners 指纹信息,配合 –source-port 61000 一起使用 **

Tcp协议连接目标端口时会在系统内分配一个端口与目标通讯,因为有时候从目标返回数据包会被防火墙过滤丢弃,导致masscan无法获取banner信息,所以需要设置一个固定的源端口,方便在防火墙配置白名单不丢弃/拦截此端口数据。

vulab@sechelper:~/masscan$ sudo iptables -A INPUT -p tcp --dport 61000 -j DROP

vulab@sechelper:~/masscan$ sudo masscan -p 80 124.*.8.254 --banners --source-port 61000 --rate=10000Starting masscan 1.3.2 (http://bit.ly/14GZzcT) at 2022-09-05 03:06:20 GMTInitiating SYN Stealth ScanScanning 1 hosts [1 port/host]Discovered open port 80/tcp on 124.*.8.254Banner on port 80/tcp on 124.*.8.254: [http.server] nginx/1.18.0 (Ubuntu)Banner on port 80/tcp on 124.*.8.254: [title] 403 ForbiddenBanner on port 80/tcp on 124.*.8.254: [http] HTTP/1.1 403 Forbidden\x0d\x0aServer: nginx/1.18.0 (Ubuntu)\x0d\x0aDate: Mon, 05 Sep 2022 03:06:22 GMT\x0d\x0aContent-Type: text/html\x0d\x0aContent-Length: 162\x0d\x0aConnection: close\x0d\x0a\x0d

绕过安全检测

在源码masscan/src/proto-http.c中预定义的User-Agent各大厂商肯定已经提取指纹规则,还在使用默认User-Agent不封你封谁,大部分工具默认指纹都已被提取规则,使用的时候注意看下源码或者测试一下。

服务器日志里看的清清楚楚,溯源一抓一个准。

扫描时指定User-Agent,可以绕过部分安全检测

vulab@sechelper:~/masscan$ sudo masscan -p 80 124.*.8.254 --banners --source-port 61000 --rate=10000 --http-user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0"Starting masscan 1.3.2 (http://bit.ly/14GZzcT) at 2022-09-05 03:15:14 GMTInitiating SYN Stealth ScanScanning 1 hosts [1 port/host]Discovered open port 80/tcp on 124.*.8.254Banner on port 80/tcp on 124.*.8.254: [http.server] nginx/1.18.0 (Ubuntu)Banner on port 80/tcp on 124.*.8.254: [title] 403 ForbiddenBanner on port 80/tcp on 124.*.8.254: [http] HTTP/1.1 403 Forbidden\x0d\x0aServer: nginx/1.18.0 (Ubuntu)\x0d\x0aDate: Mon, 05 Sep 2022 03:15:16 GMT\x0d\x0aContent-Type: text/html\x0d\x0aContent-Length: 162\x0d\x0aConnection: close\x0d\x0a\x0d

-Pn 扫描前不PING,直接开扫

vulab@sechelper:~/masscan$ sudo masscan -p 80 124.*.8.254 --banners --source-port 61000 --rate=10000 --http-user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0" -Pn

结果写入文件

-oJ 保存为Json格式

sudo masscan -p 80 124.*.8.254 --banners --source-port 61000 --rate=10000 --http-user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0" -oJ 22090501.json

-oX 保存为XML格式

sudo masscan -p 80 124.*.8.254 --banners --source-port 61000 --rate=10000 --http-user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0" -oJ 22090501.xml

重定向输出,保存为原始格式

sudo masscan -p 80 124.*.8.254 --banners --source-port 61000 --rate=10000 --http-user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0" > 22090501.txt

Zmap

ZMap是一种快速的单包网络扫描仪,专为互联网范围内的网络调查而设计。在具有千兆以太网连接的典型台式计算机上,ZMap能够在45分钟内扫描整个公共IPv4地址空间。

编译安装

sudo apt-get install build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc libjson-c-dev pkg-config libunistring-dev git -ygit clone https://github.com/zmap/zmap.gitcmake .make -j4

老规矩先放我最常用参数组合,想了解原理继续看,不想了解直接套用。

sudo zmap -B 1M -p80 --source-port=61000 124.*.8.1/24 -o 22090501.txt

参数解释

-B 扫描速率最大带宽

-p 端口号,单一

-o 输出到文件

zgrab

ZGrab是一种快速、模块化的应用层网络扫描仪,用于完成大型互联网范围的调查。ZGrab配合ZMap一起使用。

老规矩先放我最常用参数组合,想了解原理继续看,不想了解直接套用。

./zgrab2 http -p 80 -f 22090501.txt -o 22090502.json --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"

zmap和zgrab2联合使用

sudo zmap -B 1M -p80 --source-port=61000 124.*.8.1/24|ztee 22090503.csv| ./zgrab2 http -p80 --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" -o 22090504.json

编译安装

sudo apt install golang-gogit clone https://github.com/zmap/zgrab2.gitcd zgrab2make

使用刚才ZMap扫描结果,探测http服务的Banner信息

./zgrab2 http -f 22090501.txt -o 22090502.json

http端口默认是80,可以自行指定非默认端口的http服务

./zgrab2 http -p 8080 -f 22090501.txt -o 22090502.json

查看模块的帮助信息,例如查看http这个模块有哪些可设置参数

vulab@sechelper:~/zgrab2$ ./zgrab2 http -hUsage:zgrab2 [OPTIONS] http [http-OPTIONS]...[http command options]-p, --port=Specify port to grab on (default: 80)...--user-agent=Set a custom user agent (default: Mozilla/5.0 zgrab/0.x)...

绕过安全检测

查看服务器日志User-Agent一眼看出是zgrab在探测,默认的User-Agent是Mozilla/5.0 zgrab/0.x

vulab@sechelper:~/zgrab2$ ./zgrab2 http -p80 --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" -f 22090501.txt

关注 至察助安 ,专注网络安全优质知识分享,无优质,不分享。

    推荐阅读
  • 关于夏天的文章名家短(夏天的文章名家短示例)

    关于夏天的文章名家短北方的夏天,热得真够劲。树叶晒得发白,柏油马路晒得软软的,像糖稀。一家饭馆门外,好几个敞着怀、流着汗的工人,抱着啤酒罐罐,仰脖咕咚咚往下灌,活像在饮马,汗不住往外冒,似乎那一颗颗汗珠都是这啤酒挥发出来的。气候给我们脱去了衬衣、长裤,只穿汗背心和短裤叉,舒臂踢腿,奔跑追逐,别提多轻松。夜晚是迷人的,如果走出小镇步入田野,天上是皎月明星,地下是蛙鼓一片。

  • 结婚20周年属于什么婚(结婚20周年叫什么婚)

    结婚20周年属于什么婚金婚是指结婚50年,银婚是指结婚25年,然后一对夫妻结婚20年被称为瓷婚。两个人结为夫妻,并且向着上天宣誓说大家要互相扶持的相伴一生。就算经历了许多矛盾和大风大浪,也依然彼此扶持,并肩走向了美好的晚年生活。结婚20年的时候是被称为瓷婚,这就象征着人的面容就已经渐渐的褪色了,但是婚姻却依然维持着非常稳定的形态,这就是非常珍贵的瓷器,这需要双方共同呵护的婚姻。

  • 网络众筹背后的困难(的网络抱团自救)

    为了摆脱越陷越深的债务泥潭,负债青年们在网络上展开了抱团自救。今年5月,刘越终于决定向父母坦白他的负债情况,父母核实了他的借贷流水后,帮他还清了所有欠款并关掉了所有借款平台。在努力工作的同时,王兵低价卖掉了才买了2年的准新车,并严格控制自己的生活开销,连每天必抽的烟也都强制戒掉了。“截至2021年5月29日还剩各信用卡及网商贷共计30万元。加油!”大学生刘越在经历了负债风波后,决心从思想上调整自己。

  • 菱角蒸几分钟(菱角蒸多少分钟)

    但煮熟的菱角不能唔,一定要表面水分晾干,用布袋或者沙袋装使菱角表面通风就行。将洗净的菱角,放入锅中,再倒入清水没过菱角,放入葱段,姜片,花椒,八角,香叶;5、盖上盖子,大火煮沸后,改中火蒸25分钟即可;6、吃的时候,直接掰开外壳食用。

  • 连续打嗝三天停不下来是什么原因(突然打嗝又止不住)

    嗳气伴有烧心、反酸、胀痛、黑色的大便等,可能是病理性的,需尽早去消化科就诊。呃逆频繁或持续时间太久,可能是某些疾病的征兆。持续性是临床判断其是否为病理性打嗝的重要依据,超过48小时属于持续性或顽固性打嗝,患者应及时就医。屏息时一定要量力而行,避免因为缺氧导致头晕等症状。

  • 科目二技巧全程详解(科目二图文讲解)

    下面就把科目才考试时要注意的事项给大家说一下。所以只要有一点错误。都是会立即被扣分的。所以也相对比较严格,这就要求大家把技能学好学扎实。看两边线与车身平行,倒车镜与边线生命就可停车。坡道起步容易溜车、熄火、压线不准。一定要掌握好半联动的使用。当看不到T形口就打方向打死进库。从左侧倒车镜看内库角与车身的距离变化。科目2考试,目前的情况,都是通过率都不是太高。大家一定要掌握好学车的技巧和方法。

  • 别克envision车型申报图(揭秘别克全新一代中型SUV)

    2014年7月1日,上海通用官方宣布了别克品牌全系一代中型SUV正式定名为Envision,和2011年4月上海车展推出的Envision概念车同名。据悉,在产品设计之初,别克Envision的主要对标车型是类似奥迪Q5这样的中型SUV产品。别克Envision的前进气格栅更加突出立体感,同时配备了日间行车灯和氙气前大灯组。车尾设计则是这款SUV的一大亮点,尾灯组采用当下流行的LED灯组,在同级别产品中属于领先水平。别克Envision也是近几年来别克在中国市场最重要的一款SUV。

  • 嘴巴周围长水泡这可不是上火(嘴上长泡仅仅是因为上火)

    而西医学称本病为单纯疱疹,是由于感染人单纯疱疹病毒引起的,常围绕口、鼻分布的群集性疱疹。男性同性恋发生肛交者可发生肛门直肠炎及肛门疱疹和溃疡;女性如感染部位深,可发生宫颈炎等。皮损局限于接触部位,表现为簇集性水疱,是由于单纯疱疹病毒直接接种于擦伤或正常皮肤内所致。多半发生于患有湿疹或异位性皮炎的患者。在疱疹出现前24小时局部可能伴有神经痛。病情严重时,可用40%疱疹净二甲亚砜溶液湿敷后外涂3%酞丁安膏。

  • 当一个男人爱上你的表现(一个男人爱上你的五个表现)

    —01—朋友的弟弟最近恋爱了,其实,确切的说,还在单恋阶段,或是暧昧阶段。她说她和一个男人在一起三年了,两个人都是单身,她也是男人事业上很好的帮手,可是,男人就是很少在外人面前承认他们的关系,他在外人面前的身份还是单身。希望你不会继续被他伤害下去,直到榨干了你最后一点价值然后被抛弃,希望你现在就可以及时醒悟,离开这个自私的男人。

  • 婚礼祝贺词成语(婚礼主持词中韵味成语)

    “两位新人相识相爱,谨遵高堂之命、媒妁之言,花前月下叙真情,良辰美景诉衷肠,终成秦晋,喜结连理。”春秋时代,秦、晋两国世代多互为婚嫁,后遂以秦晋代指婚姻关系。相传宋康王夺了随从官韩凭的妻子,囚禁了韩凭。她留下遗书说是与韩凭合葬,康王却把他们分葬两处。有了这些句子,难怪人们把结婚称为“喜结连理”。夫妻相亲相爱,一直到老。白头偕老,指夫妻相亲相爱,共同生活一辈子。