3、SSL隧道
0x00 原理解釋
關於隧道技術的定義請參考前一篇文章:https://blog.csdn.net/Fly_hps/article/details/80625377,其實不同的隧道技術,利用原理都一樣,分為3個版本:
- Client(攻擊者or客戶端)
- Server(隧道技術的服務端,提供埠轉發也就是資料包重新封裝)
- Content-Server(目標伺服器,這裡一般是內網其它機器)
0x01 BackTrack實驗
先來看看實驗之前的情況
客戶端訪問目標機:
服務端訪問目標機:
所以本次實驗的環境大致如下:
如果我們在繞過一些安全裝置,如IDS、IPS、防火牆等時,就可以採用如下的做法利用
SSL Stunnel 服務端配置:
mkdir /etc/stunnel #建立配置檔案目錄
touch /etc/stunnel/stunnel.conf #建立配置檔案
openssl req -new -x509 -days 365 -nodes -config /etc/ssl/openssl.cnf -out stunnel.pem -keyout stunnel.pem #生成證照
vim stunnel.conf #編輯配置檔案
cert = /etc/stunnel/stunnel.pem
chroot = /var/log/stunnel/
pid = /stunnel.pid
[telnets]
accept = 2323
connect = 192.168.11.128:23
mkdir /var/log/stunnel/ #生成快取目錄
stunnel /etc/stunnel/stunnel.conf #啟動服務端
netstat -tulnp | grep 2323 #檢視埠開放情況
SSL Stunnel 客戶端:
mkdir /etc/stunnel #建立配置檔案目錄
touch /etc/stunnel/stunnel.conf #建立配置檔案
vim stunnel.conf #編輯配置檔案
chroot = /var/log/stunnel/
pid = /stunnel.pid
client = yes
[telnets]
accept = 2323
connect = 192.168.11.135:2323
mkdir /var/log/stunnel/ #生成快取目錄
stunnel /etc/stunnel/stunnel.conf #啟動客戶端
成果圖:
我這裡說明一下,大家可能覺得我的攻擊端與服務端都是一個,其實不是,攻擊端使用的是kali克隆機;
0x02 Kali下的實驗
與Bt5下面是一致的,這裡就不再重複了。其實很多人會發現在kali2.0中,/usr/share/doc/stunnel4/examples/目錄中有一個配置檔案的樣本,不過這個配置檔案過於複雜,但是在一些複雜的環境中可能會用到,如:要求配置pem與ca證照等;所以這裡我個人建議在學習的過程中,還是可以自己嘗試著去寫,或者刪除樣本中不需要的冗餘項。
這裡推薦一篇不需要使用工具,就可以建立起ssl隧道技術的文章:http://my.oschina.net/leejun2005/blog/94401
0x03 原理與思考
其實隧道技術就是一個資料包的封裝過程,我們通過前期的資訊收集發現,IPS/IDS/防火牆允許哪種資料包通過時,我們就可以利用隧道技術進行繞過,將我們的一些攻擊程式碼封裝在特定的資料包中,這樣就可以各種666了;
思考1:是否可以利用隧道技術進行內網滲透呢?
事實證明是可以的,我在伺服器端新增了一塊網路卡,設定為10.0.0.13,然後把目標機的IP設定為10.0.0.12;修改相應的ssl隧道配置檔案,其實只是將伺服器端的配置檔案中connect那一行修改為10.0.0.12:23就可以了;在客戶端進行telnet連結同樣是可以的;
其實內網滲透時,我們常用的技術是埠轉發,不過埠轉發需要滿足一個條件就是需要我們的伺服器可以訪問外網。當然很多的伺服器是可以訪問外網的,但是如果遇到不能訪問外網的伺服器,就可以使用代理技術或者隧道技術。
思考2:隧道技術與傳統的代理技術有什麼區別?
其實代理技術就是隧道技術的一種體現。代理就是通過proxy(隧道伺服器)、client(隧道攻擊端)、Content Server(目標機)之間建立了隧道,這種隧道使得客戶端感覺不到代理的存在,在客戶端看來,它是直接跟要請求資源伺服器在通訊。而在本文講述的這種隧道技術,客戶端的感覺就是跟自己再通訊,這種隧道技術利用了資料轉發的過程;http://www.tuicool.com/articles/rq2I7zE
相關文章
- 9、http隧道、https、SSL層、http代理、線上代理、socks代理區別HTTP
- error:14090086:SSL routines:ssl3_get_server_certificateErrorServer
- WebGL 3D 工業隧道監控實戰Web3D
- 隧道雲 cpolar
- 4、DNS隧道DNS
- 5、SSH隧道
- 6、ICMP隧道
- 7、IP隧道
- 8、ISATAP隧道
- 什麼是隧道代理 為什麼選隧道代理
- 基於 HTML5 的 WebGL 3D 隧道監控HTMLWeb3D
- Error connecting with SSL. error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol versionErrorTLSProtocol
- 隧道代理ip使用
- Dnscat2隧道DNS
- python3.10呼叫郵件SMTP報錯: ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997)解決PythonErrorAI
- OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failurErrorServerAI
- 如何用webgl(three.js)搭建處理3D隧道、3D橋樑、3D物聯網裝置、3D高速公路、三維隧道橋樑裝置監控-第十一課WebJS3D
- IP隧道是什麼?
- IPSEC隧道抓包分析
- 2、HTTP隧道技術HTTP
- DNS隧道技術解析DNS
- 深入 HTTP/3(2)|不那麼 Boring 的 SSLHTTP
- 內網-隱藏隧道通訊技術,場景復現(ICMP隧道)內網
- 基於 HTML5 結合網際網路+ 的 3D 隧道HTML3D
- RAKsmart:SSL證書上線,鉅惠大放價,SSL證書免費使用3個月!!!
- SSH反向隧道的工作原理
- SSH 隧道遠端連線
- OpenvSwitch系列之八 vxlan隧道
- ssh埠轉發(ssh隧道)
- 1、網路隧道技術
- 基於 HTML5 的結合網際網路+ 的 3D 隧道HTML3D
- 基於 WebGL 的 HTML5 3D 工控隧道視覺化系統WebHTML3D視覺化
- kafka ssl sasl_ssl 配置Kafka
- ssl
- 9.5內網橫向&代理&隧道內網
- 隧道代理技術是什麼?
- 隧道代理IP的基本要求
- DNS隧道技術繞防火牆DNS防火牆