Advanced Penetration Testing第九章—北国曝光

2018-10-19 7,392

我们今天的威胁是有组织的,专业的,非常唯利是图的。金融机构,医疗制药组织,执法机构,政府机构和其他高价值目标需要加强其IT基础设施和人力资本,以抵御专业人员针对性攻击。本书内容超越了传统Kali linux和Metasploit方面使用技巧,并为高安全性网络提供渗透测试提供不错的思路。国内翻译本略有删减,有兴趣还是建议阅读下原本。译者尽力将最接近书原版翻出来给大家。有其他问题欢迎大家一起讨论。仅将此文献给追求纯粹安全技术人们。——By Legend

 

第九章—北国曝光

在本书中,我们通过讨论针对不同部门活动目标的攻击,研究了APT场景建模所涉及到各方。在最后一章中,我们将做一些不同的事情。我们不是概述对合法目标的攻击,而是假设一个民族国家的假设情报收集,我选择朝鲜作为目标有几个原因,但主要是因为那个被大规模的秘密所围绕的隐士国家,各种IT技术,以及处理日常相当大的公民信息审查制度。这是一个有趣的例子,让我可以从公开的内容中推断出一些信息。

然而,这并不是与其他国家唯一不同的原因,朝鲜可以更容易被描述为类似与于在地缘政治和技术意义上的封闭公司,而不仅仅是另外一个国家(至少从宏观角度来看)。虽然我不愿意为这家公司工作,但好奇心对于一个优秀的安全顾问来说就像魔咒一样让我不得不被其的内部运作所吸引。

在这种背景下,我顺便介绍一些你应该熟悉的高级渗透测试的方法,无论他们是老技术,还是更新颖的方法,我们将朝鲜这个国家视为一个类似封闭企业,并对这完整的过程进行分析。

我们将看朝鲜的相关技术,例如:

l 朝鲜定制基于Linux的操作系统

l 他互联网存在(以及其IP地址的分配)

l 他的电信网络

l 移动网络和被批准的设备

l 朝鲜内联网


概况

虽然朝鲜民主主义人民共和国(朝鲜)使用各种各样的进口科技(金正恩就是苹果的忠实粉丝),普通民众就没有那么幸运。很少有社会成员享受不受限制的互联网接入(尽管随着进口中国的黑市手机逐步改变)。大多数有权使用计算机技术的人都是被迫使用经批准的操作系统和设备,并且只能自由使用可访问的内部互联网被称为“光明网”( )。这是一个内部网络,与公众完全隔离的我们知道的互联网。不用说,你不会在这里发现任何批评金和他政权的东西。该内联网可在不同的地方使用——大学和文化机构,据说可以通过拨号获得与朝鲜获得联系。朝鲜有自己的子网掩码22可分配(1024台主机)尽快这些公共IP地址都不够完全使用。但是IP分配还是非常保守;例如平壤大学只分配了一个IP地址。


操作系统

朝鲜推出的一种名为“Red Star”(红星)的朝鲜“官方”操作系统(在作者撰写此书时为3.0版本)。红星有两个版本——桌面版和服务器版,并且都基于Fedora Linux和朝鲜本地化。两者都是从头开始设计和高度定制化(尽管稍微不同,但如不你想尝试玩一下这个系统,我制这两个系统版本的种子来获取)。

Red Star桌面版3.0

首先,我们来看看Red Star桌面版包括如果利用他它的怪异风格。


图片1.png

如图9.1在Vmware启动时,显示启动时操作系统的外观。

图9.1 Red Star桌面版

读者可能会因为注意到它与Apple的OSX非常相似。

图片2.png

客观来讲实际已经实现的做的非常好了,但是我发现对韩语有点生疏,所以安装完的第一件事情就是把它弄成英语,这样就不会经常引用谷歌翻译。为此,我们首选需要获得shell,如图9.2和9.3所示。

图9.2。获得shell

 图片3.png

图9.3:一个shell

输入以下内容,如图9.4所示。

图片4.png


图9.4:修改为英语工作。

然后快速重启,你就会看到如图9.5所示内容。

图片5.png

 

图9.5:英文版Red Star Linux


基于开发人员角度的安全性的假设

操作系统的完整性是用户无法实现的root权限,类似SE Linux提供的的自主访问控制(Discretionary Access Control,DAC),然后运行各种令人不爽的服务着眼于监控用户及其活动。但是这里想说这个假设是假的,正如我们将要证明那样(注意这个安全模型与Red Star服3.0务器版有所不同,因为它默认授予root权限)。

图片6.png

首先是第一件事,要授予自己的root凭据,运行程序rootsetting,如下所示图9.6

 图片7.png

图9.6:运行rootseting

图片8.png


这里将提示您输入su密码,确认一下,如图9.7所示。

图9.7:输入您为用户创建的凭据。

此时,你可以使用su将privs提权为root,如图9.8所示。

图9.8:现在我们有root访问权限了。

首先,我们需要禁用SE Linux来禁用DAC,如图9.9所示。

图片9.png

图9.9:禁用自主访问控制


如果你尝试对系统进行某些修改,则运行的其他服务进行重启系统。他们还设计用于水印文件以便于朝鲜政府可以跟踪来源。这里你可以kill掉它们。(见图9.10)

图9.10:禁用监控进程

现在我们可以到处看看了。启动默认浏览器,被称为naenara(英语中意思为“my country”)。这只是一个定制版的Firefox,但有趣的是他们的主页是10.76.1.11,这显然是一个不可到达的一个

图片10.png


IP地址。这是Red Star计划在内联网中运行的,遗憾的是我们从这里看不到。浏览器默认的搜索引擎是Google Korea。现在,我们可以添加本地存储安装所有可选的安装包

Red star 3.0服务器版

虽然共享相同的代码库,但服务器版的操作系统使用时一个完全不同的安全模型。您被授权root权限;但是,root无法用桌面版中已相同的方式禁用SE Linux。如图9.11

图9.11:Red Star 服务器版安装界面

图片11.png

然后,你可以选择桌面管理器。如图9.12所示。

图片12.png

图9.12选择Desktop Manager

服务器版比桌面版显示友好。图9.13:显示它用英语呈现。

图9.13:使用英文,更好方便工作

有几种方法来禁用

图片13.png


SE Linux,但你无法修改bootloader选项或SE Linux配置文件。最好的方法是安装VMDK文件作为操作系统的卷并从那里修改它们,安装在裸机上,用另外一个操作系统启动并执行相同的操作。永久禁用SE Linux,你需要执行以下操作

/etc/selinux/configfile:

# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive

# SELINUXTYPE= can take one of these two values: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted

此时,你可以安装任何你想要的内容,就像桌面版那样。

虽然使用Red Star操作系统是对极权主义一次体验,那里人们每天都生活在那里,但它没有给我们多少机会来了解它们的网络技术布局。我曾考虑以游客身份去朝鲜旅游,并想办法进入他们的内部网,这样我就可以正确地绘制内部网。因此如果有人阅读到这篇文章想自愿参加这个特别的任务,你可以通过出版社联系我。

下一步是查看他们的公开的互联网地址。


朝鲜公共IP空间

朝鲜IP由Star Joint Venture Co LTD管理,位于Ryugyong-dong Potong-gang地区,并上中国的CNCGroup骨干网络。朝鲜已被分配a/22IP空间,换言之:

175.45.176.0/22 or 175.45.176.0-175.45.179.256

它有大约1000个IP地址。不用说,它现在还没这么多应用。使用Masscan,我们可以在大约一个小时内快速进行端口扫描,可以及时给我们一个大概了解怎么运行的。

Host: 175.45.178.154 () Ports: 5800/open/tcp////

Host: 175.45.178.154 () Ports: 6002/open/tcp////

Host: 175.45.178.154 () Ports: 5801/open/tcp////

Host: 175.45.178.131 () Ports: 36697/open/tcp////

Host: 175.45.178.133 () Ports: 2105/open/tcp////

Host: 175.45.178.154 () Ports: 6004/open/tcp////

Host: 175.45.178.131 () Ports: 80/open/tcp////

Host: 175.45.178.154 () Ports: 5900/open/tcp////

Host: 175.45.178.154 () Ports: 5804/open/tcp////

Host: 175.45.178.154 () Ports: 111/open/tcp////

Host: 175.45.178.133 () Ports: 53272/open/tcp////

Host: 175.45.178.154 () Ports: 5903/open/tcp////

Host: 175.45.178.129 () Ports: 22/open/tcp////

Host: 175.45.178.154 () Ports: 5802/open/tcp////

Host: 175.45.178.133 () Ports: 2103/open/tcp////

Host: 175.45.178.154 () Ports: 10000/open/tcp////

Host: 175.45.178.133 () Ports: 1801/open/tcp////

Host: 175.45.176.16 () Ports: 53/open/tcp////

Host: 175.45.176.9 () Ports: 53/open/tcp////

Host: 175.45.178.55 () Ports: 25/open/tcp////

Host: 175.45.178.154 () Ports: 22/open/tcp////

Host: 175.45.176.72 () Ports: 80/open/tcp////

Host: 175.45.178.154 () Ports: 5902/open/tcp////

Host: 175.45.178.154 () Ports: 5904/open/tcp////

Host: 175.45.178.154 () Ports: 3128/open/tcp////

Host: 175.45.178.154 () Ports: 39908/open/tcp////

Host: 175.45.178.133 () Ports: 2107/open/tcp////

Host: 175.45.178.154 () Ports: 6003/open/tcp////

Host: 175.45.178.154 () Ports: 5901/open/tcp////

Host: 175.45.178.154 () Ports: 5803/open/tcp////

Host: 175.45.176.15 () Ports: 53/open/tcp////

Host: 175.45.176.8 () Ports: 53/open/tcp////

Host: 175.45.178.154 () Ports: 3306/open/tcp////

Host: 175.45.178.154 () Ports: 6001/open/tcp////

Host: 175.45.176.73 () Ports: 80/open/tcp////

Host: 175.45.178.129 () Ports: 23/open/tcp////

# Masscan done at Tue Sep 27 12:20:31 2016

图片14.png

考虑到扫描质量,获得对此范围的可靠且准确扫描是一件非常痛苦的事情,进入朝鲜是不太可能的。例如,我们已知道Web服务器所在175.45.176.79为金日成大学(http://www.ryongnamsan.edu.kp/univ),但它在此扫描中并没有显示,虽然当时正在正常运行。尽管如此,它还没有从这些过滤信息中找到。

有一个容易受到攻击的老版本的VNC服务器位于:175.45.178.154

root@wil:~# telnet 175.45.178.154 5900

Trying 175.45.178.154… Connected to 175.45.178.154.

Escape character is '^]'. RFB 003.008

A MySQL server at 175.45.178.154.

A Telnet port for a Cisco router at 175.45.178.129.

root@wil:~# telnet 175.45.178.129 T

rying 175.45.178.129… Connected to 175.45.178.129.

Escape character is '^]'.

User Access Verification

Username:

一个不安全版本的squid代理,位于:175.45.178.154(图9.14)

图9.14:不安全的


Squid代理

在开放RPC端口上使用密码验证和各种SSH守护程序。甚至还还有一个Webmin服务器,如图9.15所示

图9.15:Webmin接口

将DNS服务器设置为175.45.176.16,将阻止所有KP顶级域名的解析。总而言之,我预计这个范围会比现在锁定的范围要多得多,因为这里有各种各样的攻击途径(你可以这么想)。然而,不管朝鲜是否如此,我们都将在国际法方面犯错误,不要让诱惑战胜我们。


朝鲜的电话系统

给朝鲜打电话也是件比较棘手的事情。大多的电话号码都不是可以直接联系,需要你通过运营商+85218111的接线员来操作。(850是朝鲜国家代码,2是平壤代码)。这有两种方式都可以,大多数线路无法直接呼叫到世界其他地方。在朝鲜的电话号码,可以接收国际电话(反之,可以不受限制地拨打国外电话)总是以381开头,直接按照区号。例如,英国驻平壤大使馆的电话号码是+850-2381-7982。可以拨打国际号码的电话不能在当地拨打;因此,这样的组织通常有两个号码,前缀为381.以取代382。

据邮电部国际关系处长Ri Jung Won所说,朝鲜目前的编号格式如下:

2011年分配清单

区号

客户号

城市名称

省份

2 11


平壤

平壤

2 12


平壤

平壤

2 18

3

平壤

平壤

2 381

4

平壤

平壤

2 771

4

平壤

平壤

2 772

4

平壤

平壤

2 880

13

平壤

平壤

2 881

13

平壤

平壤

2 882

13

平壤

平壤

2 883

13

平壤

平壤

2 885

13

平壤

平壤

195

7

平壤

平壤

31

6

平壤

South Phyongan

39

6

Nampo

Nampo

41

6

Sariwon

North Hwanghae

43


Songnim


45

6

Haeju

South Hwanghae

49

6

Kaesong

North Hwanghae

53

6

Hamhung

South Hamgyong

57

6

Wonsan

Kangwon

61

6

Sinuiju

North Phyongan

67

6

Kanggye

Jagang

73

6

Chongjin

North Hamgyong

79

6

Hyesan

Ryanggang

82


Rajin

Kwanbuk

85 29

4

Rason

Rason

86


Sonbong


图片15.png

移动网络有三个前缀

l 0191: Koryolink WCDMA Network

l 0192: Koryolink WCDMA Network

l 0193: SunNet GSM900 Network

罗先经济特区(Rason Economic Special Zone)前缀为3,鉴于许多国际企业在那里运营,更多线路可以直达(主要是俄罗斯、中国、韩国)。

不过,许多手机也被允许接听国际电话。虽然这是用户手机必备要求,但这里个人是不被允许的。这里的手机基础设施建设由埃及公司Orascom as Koryolink建造和运营;然而据报称,朝鲜政府拒绝支付Orascom项目费用,并在2015年11月声称,他们实际上已经失去了对基础设施的控制,并欠下了数百万的债务——这对于任何想要在这个封闭国家扩张的科技投资者来说,这是一个值得警惕的故事。

这很有趣,但它给我们带来了什么呢?在互联网大量普及之前,很多计算机服务器都是通过连接到电话网络进行访问,访问它们唯一方法是通过拨号调制调节器。寻找调制调节器进行攻击通常被称为战争拨号(war dialing)。其中包括使用程序进行自动拨出大量号码,这种攻击在美国特别受欢迎,并记录在电话线发现的东西,无论是语音、语音邮件、传真机、调试解调器、FBX还是其他音频。在英国,免费电话交换通常是有针对性的。主要是用于实现这目的的软件称为Toneloc(如图9.16),他可以生成多大10000个电话。它到今天仍然正常运行。

图片16.png

图9.16:Toneloc输出

有趣的是,如果我们能做同样的输出,找到调制解调器,给平壤每个人打电话。谁知道我摸会发现什么?当然,这种方法有一个小问题,那就是打电话到平壤会很贵,更何况打10000次电话就会让人望而却步。

我们所能做的就是使用VoIP电话解决方案来支付我们的成本——它仍然很贵,而且最便宜的解决方案是每分钟0.2美分(因为这已经是那些电话最小呼叫成本),但这是我们能做最好的方案了。这听起来仍然很贵。但请记住,你只需对有响应的号码付费即可。

现在我们唯一存在问题,我们无法通过Voip进行呼叫压缩,所以必须有一个略微不同方式进行。而不是使用调制解调器和录制连接,我们将会使用的工具对响应音频样本并执行对于分析音调。首先任何音调都会在一定频率内,我们采集响应应该会包含以下DTMF(dual-tone multifrequency双音多频):

2250hz+1625hz,1850hz,2000hz….

幸运的是,一位名叫HD Moore的小伙子创建一个工具名为WarVOX,替代我们人工做这艰苦的工作,我们需要做的就是利用WarVOX配合Voip相关信息,进行拨打相关范围号码。然后剩下要做就是等待了。具体工具可以访问https://github.com/rapid7/warvox获取。

关于WarVOX使用,你需要做的第一件事情就是添加你的VoIP服务,如图9.17所示。

图片17.png

图9.17:WarVOX配置

你已经准备好开始一份新工作(如图9.18)

图片18.png

图9.18:向WarVOX添加目标

WarVOX输出存储在PostgreSQL,因此我们可以按照自己喜欢的方式处理它。然后我们看看一些信息,虽然检测到很多传真机,但有少量运营商环境(少于50个)

示例1:未加密的思科路由

图片19.png

图片20.png

实例2:不加密的PPPD流

…… yyui343wfyyui343wfyyui343wfyyui343wfyyui343wfyyui343wfyyui343wfyyui343  wfyyui343wfyyui343wfyyui343wfyyui343wfyyui343wfyyui343wf


实例3:未知BBS和ASCII图案(如图9.19)

image.png

图9.19:复古

这里我们需要克制自己,为了进一步探测这些设施的好奇心。因为它是朝鲜,虽然我不太可能被引渡,但是法律终究是法律。虽然我住的地方进行战争拨号和端口扫描并不违法。但是这本书并不是教你如何打破法律的手册。


关于移动设备

在朝鲜只有一款智能手机和平板电脑被允许使用,并且都看可以进入朝鲜光明内联网。当然,它声称这些产品是在“亲爱的领袖“指导下在当地开发的,并伴随着必不可少他视察制造这些产品的工厂的照片。但实际上,这两款设备都是由中国制造,并在当地重新贴上它们的朝鲜的主义标签。

阿里郎(以朝鲜官方国歌命名)在朝鲜境内唯一获准使用的智能手机。尽管声称这是朝鲜用自己技术制造,但这是一款重定制版本中国阉割版的U1201,运行的是Android操作系统4.21版本(仅限于写这篇文章的时候),已经被修改成和红星操作系统一样比较压抑的操作系统。母庸置疑,无法接入互联网。

还有一款名为Samjiyon(三池渊)的“官方“平板电脑,它也是一个Android设备。它配置了3G,可以访问光明网,但制造商声称它没有WiFi适配器。事实证明,这是错误的。其实已经有WiFi硬件,但是被禁用。任何稍微懂一点Android人都可以开启它。据当地媒体报道,三池渊也是朝鲜自己发明的,考虑到中国有大量廉价平板电脑,要准确定位硬件型号是有那么点困难。但是,对该设备的Android system文件进行分析就会发现如9.20所示。

图9.20:

图片22.png

Yecon平板电脑设备信息

这是一款由香港公司生产的Yecon 75平板电脑,专门为朝鲜定制。


朝鲜内联网:光明网

关于朝鲜内联网相关信息是少之又少。这是一个基于IP的网络。将国内的各种网络连接在一起,比如大学和政府组织。朝鲜公民可以免费访问(前提下是他们得拥有相关设备),朝鲜政府打算为他们提供所有的他们需要的新闻和信息(或者更确切来讲,是他们看到的东西是政府希望他们看到的东西)。根据可靠的信息,内联网符合内网IP寻址,尽管可能有些不太一致。有几种不同IP格式再是有,开业在已知存在的主机列表中看到:

地址

相关机构名称

http://10.41.1.2

中央科学和技术信息局

http://10.76.12.2

映山红

http://10.208.0.34

开拓者

http://10.76.1.11

我的国家

http://192.168.1.101

大人物研究所

http://10.15.15.8

金泽大学

http://172.16.34.100

Achim (Morning)

http://10.21.1.22

平壤信息中心

http://192.168.10.10

科技电子展览中心

http://10.205.1.5

青津金属和采矿大学

http://10.61.61.3

中央电视

http://10.41.1.10

新世纪

http://10.41.50.3

Bangyong

http://10.66.1.3

Raeil

http://10.41.50.9

Invention

http://10.240.100.11

金日成大学信息中心

http://10.76.1.20

Osan Information Center

http://10.76.1.2

北极之星,全国网络信息中心

http://10.76.1.18

Woods of Korea

http://10.208.1.2

咸兴化学大学

http://172.16.4.200

Rungna Progam Center

http://10.15.15.5

金泽大学

http://10.10.3.100

劳动新闻

http://10.65.3.2

中央医学科学信息

http://10.17.1.5

国土资源部

http://172.16.11.23

中央情报和通讯局

我认为这路由表是一团糟,就像我说的,我很想深入这个东西里面并把它画出来。我甚至打算在外部可访问的手机范围内找到一个运营商,来获得相对于访问权限,但这也只是自己一厢情愿的想法。光明网没有互联网接入点,值得注意是,朝鲜人民尽管受到的政府废话连篇宣传,但越来越多的朝鲜人通过黑市上的中国电话接入互联网。这里说的是一个技术而非政治性文章,但一旦互联网接入越来越饱和,这样的政权不太可能长期存在。


音频和视频窃听

最后一节不够深入,无法将其归类为如其他章节一样payload或部署或管理C2(即命令控制服务器)方法或技巧。但正如我们在本章讨论Android设备提及到的,我想把它包括进来。作为一种攻击方式,它或许才刚起步,但未来会变得更加重要。假设C2已成功部署到目标那么捕获音频和视频就很简单,可以通过许多本机或者第三方的API实现。然而,当攻击移动设备或平板电脑时,这可能会更麻烦一点。当然,可以通过创建应用程序,只要安装并且获得一定权限,就可以通过推送通知、麦克风和打开摄像头甚至它们的内容流来远程获取。

然而,无论是IOS还是Android开发,应用程序在进入AppStore或者对应Android市场前都必须经过审核流程,在应用程序中使用某些不被运行的API,很有可能在这个过程中被拒绝。例如,在IOS操作系统上有一个名为PushKit的API,它包含两种形式的此类通知,一种是标准的,一个用于VoIP应用。后者需要远程启用呼叫设置,而不必连接一个持续连接 VoIP服务器,这将会快速耗尽电池。这个特殊的API非常适合我们的需求,但在一个显然不适合VoIP的应用程序中使用其功能,显然会在审查过程中被拒绝。

但是,使用HTML5,我们可以访问许多有趣的API调用 可用于访问麦克风和相机。这种方法的好处是恶意软件代码可以简单地插入到Web页面,并且还是跨平台的。攻击也可以在Android手机上运行和在Windows上运行Firefox浏览器效果一样。缺点是 HTML5仍然是一个新兴标准,并非所有API调用支持所有的浏览器。这当然会改进,HTML5未来可能会是有趣的攻击途径。

以下代码是演示使用的最简单方法

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||

navigator.mozGetUserMedia || navigator.msGetUserMedia;

var video = document.querySelector('video');

if (navigator.getUserMedia) {

navigator.getUserMedia({audio: true, video: true}, function(stream) {

 video.src = window.URL.createObjectURL(stream); }, errorCallback);

} else {

video.src = 'somevideo.webm'; // fallback.

}

这段代码是具有启发性和对应说明,需要你事先考虑如何集成C2中。

大多数调用浏览器的getUserMediaAPI都会向用户发起警告。但是,如果你通过SSL交互网页,则只会发生一次,并且假设未来可能会有更多权限。这也说明目前HTML5相关安全缺乏连贯性和一致性。

当然,诀窍取决于让用户访问你的Web页面,这将把我们带回社会工程系领域。有两种方法,第一种(这是目前最好的方法)是水坑攻击。也就是说,我们将恶意代码嵌入到网站一个隐藏的Iframe,而这个我们之前已经完成相关入侵,并且是目标信任。此方法好处是两方面。首先是目标信任更可能接受任何告警与其他安全相关信息。第二就是持久性:这种攻击只在浏览器不关闭情况下才有效。一个值得目标信任的网站,即使它是后台,目标也会积极参与到其中。

一个因此的iFrame示例如下:

<iframe width="700" scrolling="no" height="400" frameborder="0" src="hostile_code.html" seamless="seamless">

另外一种方法几乎于此相反。你注册一个与目标相似的域名,加载原始网站,并chuangj 一个包含恶意代码的iFrame。

还有其他办法从目标捕获音频/视频。Adobe Flash可能就是其中之一,这种技术正在走向如渡渡鸟般的路,所以我不推荐它。


本章摘要

这里稍微有点讽刺;各种Linux操作系统都是促进软件开源与协作性。看到Linux变成一种控制工具是让我很不爽地方。这最后一个章节目的是其他可能略微不同,不仅仅是因为我想要说明一些开源情报收集技术,还有我像以不同音符来完成我的乐章。因此你可以从本章的出几个结论,如果你正在读这篇文章,那么你很有可能生活在自由社会中,你可能任务这是理所当然。同时如书中学到教训,就是技术是一把双刃剑,对社会有着截然不同的影响,取决于谁在挥舞它。

 

 

 

本文作者:legend

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/76911.html

Tags:
评论  (0)
快来写下你的想法吧!

legend

文章数:14 积分: 82

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号