跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

渗透技巧——Windows平台运行Masscan和Nmap

精选回复

发布于

0x00 前言

在内部网的渗透中,信息收集尤为重要。

面对内网的复杂环境,虽然网络扫描很容易暴露自己,但是我们可以找到幸存主机、开放端口、运行服务、操作系统等信息,为进一步渗透打下基础。

扫描工具的选择不仅要考虑功能,还要考虑工具的适用性。

现实中的跳板通常不是Linux服务器,也没有合适的环境安装Nmap、Zmap和Masscan。

换句话说,Windows下有哪些可以直接使用的命令行扫描工具?

知名的开源扫描工具Nmap,Zmap,Masscan,在功能上各有特色。

适用性方面,Zmap需要在Windows下安装Cygwin,所以不考虑。

Masscan支持Windows平台的编译,Nmap提供命令行版本。看起来Masscan和Nmap符合要求。

但是Masscan和Nmap的使用需要WinPcap的支持,也就是说需要安装WinPcap才能使用。

那么,可以通过命令行安装WinPcap吗?

0x01 简介

本文正是要解决上述问题,介绍内容如下:

Windows平台编译Masscan

Windows命令行安装WinPcap

Masscan用法介绍

Nmap配置和使用简介

0x02 Windows平台编译Masscan

Masscan下载地址:

https://github.com/robertdavidgraham/masscan/

编译工具:vs2012

编译选项中没有添加vs2012的编译配置,所以直接编译会出错。

解决方法:

在string_s.h中添加vs2012配置信息

位于misc-string _ s.h。添加以下代码:

#如果已定义(_MSC_VER) (_MSC_VER==1700)

/*Visual Studio 2012*/

#包括

#包括

#定义strcasecmp _stricmp

#定义memcasecmp _memicmp

# ifndef PRIu64

#定义PRIu64 'llu '

#定义优先级64 'lld '

#定义PRIx64 'llx '

# endif

编译成功,执行masscan.exe,提示Packet.dll:未找到。

如下图

2-1.png

Packet.dll获取方法:

安装WinPcap后在System32下获取。

WinPcap下载地址:

https://www.winpcap.org/install/default.htm

在另一个系统上安装WinPcap,在System32下找到Packet.dll和Wpcap.dll,复制到测试系统下masscan.exe的同级目录下,再次运行。

程序正常启动,但无法扫描。错误如下:

失败:打开适配器时出错:系统找不到指定的设备。(20)

适配器[\设备\ NPF _ { 71 d19 b 82-0818-4685-a8e 7-a6 C7 c 812 F2 ea }]。初始化:失败

疑问:测试系统也需要安装WinPcap才能使用?

经过实际检验,确实如此。

0x03 Windows命令行安装WinPcap

测试32位系统:

使用ProcessMonitor监视WinPcap (32位系统)的安装过程,并获取以下信息:

在\system32\文件夹下释放packet.dll和wpcap.dll

在\system32\drivers\

安装服务npf

通过sc命令获取安装服务npf的配置信息:

sc qc npf

获取以下信息:

QueryServiceConfig成功。

服务名称:npf

类型:1内核驱动程序

开始_类型:3需求_开始

错误控制:1正常

二进制路径名:system32\drivers\npf.sys

装货订单组:

标签:0

DISPLAY_NAME:网络组数据包筛选器驱动程序

依赖关系:

服务启动名称:

如下图

2-2.png

检查运行状态:

sc查询npf

获取以下信息:

服务名称:npf

类型:1内核驱动程序

状态:4正在运行

(可停止,不可暂停,忽略关闭)

WIN32_EXIT_CODE : 0 (0x0)

服务退出代码:0 (0x0)

检查点:0x0

WAIT_HINT :0x0

如下图

2-3.png

相应的注册表将在以下位置创建键值来表示服务配置信息:

HKEY _ LOCAL _ MACHINE \ SYSTEM \ control set 001 \ Services \ NPF

HKEY _ LOCAL _ MACHINE \ SYSTEM \ current control set \ Services \ NPF

如下图

2-4.png

如下图

2-5.png

猜测,只要能模拟以上安装操作,就可以在命令行下安装WinPcap。

模拟安装操作如下:

1、释放文件

`

复制packet.dll % SystemRoot % \ system32

复制wpcap.dll % SystemRoot % \ system32 \

复制NPF . sys % SystemRoot % \ system32 \ drivers `文件

2、创建服务

`

sc create NPF binPath=system32 \ drivers \ NPF . sys type=kernel start=demand error=normal tag=no display name=" net group数据包筛选器驱动程序" ` n

3、启动服务

sc启动npf

测试命令如下:

masscan.exe-p80

成功执行masscan.exe,如下图所示

2-6.png

测试64位系统:

使用ProcessMonitor监视WinPcap (32位系统)的安装过程,并获取以下信息:

在\system32\文件夹下发布64位packet.dll和wpcap.dll。

在\system32\drivers\

在\syswow64\文件夹下释放32位packet.dll、wpcap.dll和pthreadVC.dll。

安装服务npf

经过实际测试和优化,在64位环境下实现了32位masscan.exe,不需要64位packet.dll和wpcap.dll,也不需要32位pthreadVC.dll。只需要64位驱动程序npf.sys。

而且,无论是32位系统还是64位系统,packet.dll和wpcap.dll在masscan.exe都可以放在同一个目录下(当然,既然是在vs2012编译,就需要msvcr110d.dll)。

也就是说,对于32位和64位系统,只需要将不同版本的npf.sys复制到\system32\drivers\文件夹中。

接下来,创建并安装服务npf,整个过程结束。

以上过程通过批处理自动实现,一键安装脚本代码如下:

@关闭回声

cd %~dp0

如果' % PROCESSOR _ ARCHITECTURE % '==' x86 '移动NPF _ x86 . sys % SystemRoot % \ system32 \ drivers \ NPF . sys

如果' % PROCESSOR _ ARCHITECTURE % '==' AMD64 '移动NPF _ x64 . sys % SystemRoot % \ system32 \ drivers \ NPF . sys

如果存在% SystemRoot % \ system32 \ drivers \ NPF . sys(回显移动成功!)else(回声移动错误!)

sc create NPF binPath=system32 \ drivers \ NPF . sys type=kernel start=demand error=normal tag=no display name=' net group数据包筛选器驱动程序'

sc启动npf

相关代码和所需的dll文件已上传到github,地址如下:

https://github.com/3gstudent/Winpcap_Install

0x04 Masscan使用介绍

指定要扫描的网段和端口:

masscan.exe-p80

找一个端口80开着的服务器,回显如下:

在192.168.81.143上发现开放端口80/tcp

扫描指定主机的所有开放端口:

masscan.exe-P0-65535 192 . 168 . 81 . 143

如下图

3-1.png

要指定主机的特定端口:

masscan.exe

获取横幅:

masscan.exe-横幅

开始扫描配置文件:

将配置信息保存在1.conf中:

masscan.exe-p80,443,3306 192.168.81.143 -横幅- echo1.conf

阅读配置信息1.conf并开始扫描:

masscan.exe-C1 . conf

扫描速度为每秒100,000个数据包(在Windos下最高为每秒300,000个数据包),默认为每秒100个数据包:

-费率100000

输出格式:

-oX (XML)

-oB(二进制)

-oG (Grep)

-oJ (Json)

-oL(列表)

-oU(独角兽扫描格式)

补充,默认情况下,masscan配置如下:

`

-sS:它仅执行SYN扫描(目前如此,将来会改变)

-Pn:不首先ping主机,这是异步操作的基础

-n:不进行DNS解析

随机化-主机:完全随机扫描

send-eth:使用原始libpcap发送

0x05 Nmap配置和使用介绍

NmapZip版下载地址:

https://nmap.org/dist/nmap-7.50-win32.zip

使用Nmap时,应该预先在命令行安装WinPcap。

添加vs2013的dll:msvcp120.dll和msvcr120.dll(Nmap.exe由vs2013编译)。

去掉不相关的文件,精简nmap。所需支持文件的最终列表如下:

libeay32.dll

msvcp120.dll

msvcr120.dll

nmap-MAC-前缀

nmap-os-db

nmap-有效载荷

nmap-服务

nmap.exe

ssleay32.dll

指定要扫描的网段和端口:

nmap.exe-p80

或者

nmap.exe-p80

扫描IP地址列表:

nmap.exe iL IP . txt

扫描指定主机的所有开放端口:

nmap.exe

要指定主机的特定端口:

nmap.exe

操作系统探测器(-O):

nmap.exe-O 192 . 168 . 81 . 143

在端口上运行的服务版本探测(-sV):

nmap.exe-瑞士法郎

端口扫描如下

4-1.png

版本检测如下

4-2.png

相比之下,版本检测可以识别端口上的服务版本。

注:

需要添加以下文件进行版本检测(-sV):

nse_main.lua

nmap-服务-探测

Nselib文件夹和文件夹中的文件

脚本文件夹和文件夹中的文件

路由检测(-traceroute)

nmap.exe-追踪路由192.168.81.143

全面检测(-A)

包括操作系统、服务版本和路由信息,是以上三者的集合。

nmap.exe A 192 . 168 . 81 . 143

扫描模式支持以下参数:

`

-sS/sT/sA/sW/sM:TCP SYN/Connect()/ACK/Window/Maimon扫描

-sU: UDP扫描

-sN/sF/sX: TCP Null、FIN和Xmas扫描

scan flags:自定义TCP扫描标志

-sI:空闲扫描

-sY/sZ: SCTP初始化/COOKIE-ECHO扫描

-所以:IP协议扫描

-b : FTP退回扫描

`

常用扫描方式介绍:

TCP同步扫描(-sS)

半开扫描(Half-open scanning),不建立三方握手连接,速度很快。

Nmap默认扫描模式

TCP连接扫描(-sT)

完成三次握手过程(SYN,SYN/ACK,ACK),当然速度会降低。

容易察觉

Udp扫描(-sU)

扫描UDP端口

TCP Null/FIN/Xmas扫描(-sN/-sF/-sX)

用于确定端口是否打开。

可以绕过一些无状态的防火墙。

空扫描(-sN)

未设置标志位(tcp报头为0)

手指扫描

仅设置了TCP FIN标志位。

圣诞节扫描(-sX)

设置芬兰、PSH和德国国旗。

TCP确认扫描(-sA)

用于确定端口是否打开。

用于发现防火墙规则并确定防火墙规则是有状态还是无状态,以及过滤哪些端口。

只有ACK标志位被置位

自定义TCP扫描(scan flags)

手动指定任何TCP标志位来设计自定义扫描。

可以用来绕过入侵检测系统。

需要对通信协议有深刻的理解。

空闲扫描(-sI)

扫描伪造的源地址

注:

源地址主机必须在线。

也可以伪造源端口,默认为端口80。

伪造的源端口格式如下:

` `

示例:

nmap.exe-sI 192 . 168 . 81 . 1

PING扫描(-sP)

使用ping扫描主机是否在线。

无PING扫描(-PN)

扫描但不ping。

注:

PN大写。

输出格式:

-开(标准)

-oX (XML)

-oS(脚本KIdd|3输出)

nmap的默认输出是大写格式,使用-oS会随机重写字母的大小写。

-oG (Grep)

-oA(输出到所有格式)

设置文件名,并以标准格式输出文件(。nmap)、XML(。xml)和Grep(。gnmap)格式。

注:

https://nmap.org/book/可以获得更多关于Nmap使用的介绍。

0x06 小结

介绍了Windows平台下命令行使用Masscan和Nmap的方法,从防御的角度提醒大家,内网安全同样重要,要谨慎对待。

留下回复

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。