Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
inaz2
3,640 views
How to apt-get from the internal network: remote sshd with kneesocks
2014/09/14 すみだセキュリティ勉強会2014#3
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Downloaded 10 times
1
/ 45
2
/ 45
3
/ 45
4
/ 45
5
/ 45
6
/ 45
7
/ 45
8
/ 45
9
/ 45
10
/ 45
11
/ 45
12
/ 45
13
/ 45
14
/ 45
15
/ 45
16
/ 45
17
/ 45
18
/ 45
19
/ 45
20
/ 45
21
/ 45
22
/ 45
23
/ 45
24
/ 45
25
/ 45
26
/ 45
27
/ 45
28
/ 45
29
/ 45
30
/ 45
31
/ 45
32
/ 45
33
/ 45
34
/ 45
35
/ 45
36
/ 45
37
/ 45
38
/ 45
39
/ 45
40
/ 45
41
/ 45
42
/ 45
43
/ 45
44
/ 45
45
/ 45
More Related Content
PDF
Abusing Interrupts for Reliable Windows Kernel Exploitation (ja)
by
inaz2
PDF
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
by
inaz2
PPTX
ConfD で Linux にNetconfを喋らせてみた
by
Akira Iwamoto
PPTX
pipework - Advanced Docker Networking
by
saba syake
PDF
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク
by
CODE BLUE
PDF
Step-Oriented Programming による任意コード実行の可能性
by
kozossakai
PPTX
plotnetcfg入門 | Introduction to plotnetcfg
by
Kentaro Ebisawa
PPTX
Introduction to Ostinato, network packet crafting and generator.
by
Kentaro Ebisawa
Abusing Interrupts for Reliable Windows Kernel Exploitation (ja)
by
inaz2
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
by
inaz2
ConfD で Linux にNetconfを喋らせてみた
by
Akira Iwamoto
pipework - Advanced Docker Networking
by
saba syake
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク
by
CODE BLUE
Step-Oriented Programming による任意コード実行の可能性
by
kozossakai
plotnetcfg入門 | Introduction to plotnetcfg
by
Kentaro Ebisawa
Introduction to Ostinato, network packet crafting and generator.
by
Kentaro Ebisawa
What's hot
PPTX
Dockerと外部ルータを連携させる仕組みを作ってみた
by
npsg
PDF
10分で作るクラスライブラリ
by
_norin_
PPTX
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
PDF
Di shen pacsec_jp-final
by
PacSecJP
PPTX
ラズパイ2で動く Docker PaaSを作ってみたよ
by
npsg
PDF
Free bsd jail入門
by
Tsubasa Nomura
PDF
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
by
VirtualTech Japan Inc.
PDF
Lagopus, raw socket build
by
Masaru Oki
PDF
HTTP2 時代の Web - web over http2
by
Jxck Jxck
PDF
Janog33.5
by
(^-^) togakushi
PDF
Man-in-the-Middle Attack for SSH with Scala and JSch
by
Atsuhiko Yamanaka
ODP
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
by
(^-^) togakushi
PDF
SSH力をつけよう
by
(^-^) togakushi
PDF
Node-v0.12のTLSを256倍使いこなす方法
by
shigeki_ohtsu
PDF
Lagopus 0.2.2
by
Masaru Oki
PDF
HTTP/2, QUIC入門
by
shigeki_ohtsu
PDF
Hack for Docker's Network
by
Masahito Yoshida
PDF
Walter ファミリーの紹介 at Shibuya.go#1
by
Gosuke Miyashita
ODP
sshdのお話
by
(^-^) togakushi
PDF
Open vSwitchソースコードの全体像
by
Sho Shimizu
Dockerと外部ルータを連携させる仕組みを作ってみた
by
npsg
10分で作るクラスライブラリ
by
_norin_
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
Di shen pacsec_jp-final
by
PacSecJP
ラズパイ2で動く Docker PaaSを作ってみたよ
by
npsg
Free bsd jail入門
by
Tsubasa Nomura
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
by
VirtualTech Japan Inc.
Lagopus, raw socket build
by
Masaru Oki
HTTP2 時代の Web - web over http2
by
Jxck Jxck
Janog33.5
by
(^-^) togakushi
Man-in-the-Middle Attack for SSH with Scala and JSch
by
Atsuhiko Yamanaka
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
by
(^-^) togakushi
SSH力をつけよう
by
(^-^) togakushi
Node-v0.12のTLSを256倍使いこなす方法
by
shigeki_ohtsu
Lagopus 0.2.2
by
Masaru Oki
HTTP/2, QUIC入門
by
shigeki_ohtsu
Hack for Docker's Network
by
Masahito Yoshida
Walter ファミリーの紹介 at Shibuya.go#1
by
Gosuke Miyashita
sshdのお話
by
(^-^) togakushi
Open vSwitchソースコードの全体像
by
Sho Shimizu
Viewers also liked
PDF
Making a Proxy for Fun and Profit
by
inaz2
PDF
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~
by
inaz2
PDF
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux
by
inaz2
PDF
HTTPプロクシライブラリproxy2の設計と実装
by
inaz2
PDF
WinDbg Primer
by
inaz2
PPT
バイオメトリクス認証Hacks(AVtokyo2008 After Party: KA – E – DA - MA(Biometrics Authenti...
by
Tomohiro Hanada
PDF
Abusing Interrupts for Reliable Windows Kernel Exploitation (en)
by
inaz2
PDF
Protecting Passwords
by
inaz2
PDF
proxy2: HTTPS pins and needles
by
inaz2
PDF
Why is Security Management So Hard?
by
inaz2
PDF
とある診断員と色々厄介な脆弱性達
by
zaki4649
Making a Proxy for Fun and Profit
by
inaz2
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~
by
inaz2
Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux
by
inaz2
HTTPプロクシライブラリproxy2の設計と実装
by
inaz2
WinDbg Primer
by
inaz2
バイオメトリクス認証Hacks(AVtokyo2008 After Party: KA – E – DA - MA(Biometrics Authenti...
by
Tomohiro Hanada
Abusing Interrupts for Reliable Windows Kernel Exploitation (en)
by
inaz2
Protecting Passwords
by
inaz2
proxy2: HTTPS pins and needles
by
inaz2
Why is Security Management So Hard?
by
inaz2
とある診断員と色々厄介な脆弱性達
by
zaki4649
Similar to How to apt-get from the internal network: remote sshd with kneesocks
PDF
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
by
博文 斉藤
PDF
SSH力をつかおう
by
(^-^) togakushi
PPTX
root権限無しでKubernetesを動かす
by
Akihiro Suda
ODP
tcpdumpとtcpreplayとtcprewriteと他。
by
(^-^) togakushi
PDF
OpenStack + Common Lisp
by
irix_jp
PDF
Scapy presentation
by
ashigirl ZareGoto
PDF
[Basic 6] DNS / ソケット通信 / その他
by
Yuto Takei
PDF
TCP connectionの保存と復元
by
mittyorz
PDF
Play_using_Proxy
by
Kunio Miyamoto, Ph.D.
PDF
Play_using_Proxy
by
Kunio Miyamoto, Ph.D.
PPTX
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
by
cyberblack28 Ichikawa
PDF
Janogia20120921 yoshinotakeshi
by
Keisuke Ishibashi
PDF
SSH Tips & Tricks
by
Nobutoshi Ogata
PDF
#dnstudy 01 Unboundの紹介
by
Takashi Takizawa
PDF
Ethernetの受信処理
by
Takuya ASADA
PDF
how to defend DNS authoritative server against DNS WaterTorture
by
@ otsuka752
PDF
HttpとTelnetをつなぐ何か
by
ShigekiYamada
PDF
SDN Lab環境でのRobotFramework実践活用
by
Toshiki Tsuboi
PDF
20130315 abc firefox_os
by
Tomoaki Konno
PDF
Scapy presentation Remake(訂正)
by
ashigirl ZareGoto
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
by
博文 斉藤
SSH力をつかおう
by
(^-^) togakushi
root権限無しでKubernetesを動かす
by
Akihiro Suda
tcpdumpとtcpreplayとtcprewriteと他。
by
(^-^) togakushi
OpenStack + Common Lisp
by
irix_jp
Scapy presentation
by
ashigirl ZareGoto
[Basic 6] DNS / ソケット通信 / その他
by
Yuto Takei
TCP connectionの保存と復元
by
mittyorz
Play_using_Proxy
by
Kunio Miyamoto, Ph.D.
Play_using_Proxy
by
Kunio Miyamoto, Ph.D.
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
by
cyberblack28 Ichikawa
Janogia20120921 yoshinotakeshi
by
Keisuke Ishibashi
SSH Tips & Tricks
by
Nobutoshi Ogata
#dnstudy 01 Unboundの紹介
by
Takashi Takizawa
Ethernetの受信処理
by
Takuya ASADA
how to defend DNS authoritative server against DNS WaterTorture
by
@ otsuka752
HttpとTelnetをつなぐ何か
by
ShigekiYamada
SDN Lab環境でのRobotFramework実践活用
by
Toshiki Tsuboi
20130315 abc firefox_os
by
Tomoaki Konno
Scapy presentation Remake(訂正)
by
ashigirl ZareGoto
Recently uploaded
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
PDF
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
PDF
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
PDF
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
PDF
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
PPTX
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
How to apt-get from the internal network: remote sshd with kneesocks
1.
HOW TO APT-GET
FROM THE INTERNAL NETWORKREMOTE SSHDWITH KNEESOCKS 2014/09/14 すみだセキュリティ勉強会2014#3 @inaz2
2.
About me •@inaz2
•Security engineer & Python programmer •Girls Idol Freak •ももいろテクノロジー •http://inaz2.hatenablog.com/ 2
3.
ONE DAY
4.
I wanted to
apt-get from sv2 LAN: 192.168.0.0/24 Internal: 10.0.0.0/24 .1 .2 .2 .3 router sv1 sv2 Internet 4
5.
I wanted to
apt-get from sv2 LAN: 192.168.0.0/24 Internal: 10.0.0.0/24 .1 .2 .2 .3 router sv1 sv2 Internet $ sudo apt-get update Err http://security.ubuntu.com precise-security Release.gpg Temporary failure resolving 'security.ubuntu.com' 5
6.
THE NEXT DAY
7.
I used HTTP
Proxy LAN: 192.168.0.0/24 Internal: 10.0.0.0/24 .1 .2 .2 .3 router sv1 sv2 HTTP Proxy Internet 7
8.
I used HTTP
Proxy LAN: 192.168.0.0/24 Internal: 10.0.0.0/24 .1 .2 .2 .3 router sv1 sv2 HTTP Proxy Internet $ sudo http_proxy=http://10.0.0.2:8080/ apt-get update Get:1 http://jp.archive.ubuntu.com precise Release.gpg [198 B] 8
9.
HTTP Proxy worked,
but … •別のマシンにProxyサーバを立てる必要がある •http_proxy環境変数を読まないコマンドもある •HTTP以外のプロトコルには使えない 9
10.
HTTP Proxy worked,
but … •別のマシンにProxyサーバを立てる必要がある •http_proxy環境変数を読まないコマンドもある •HTTP以外のプロトコルには使えない 10 汎用性低い
11.
OpenSSHDynamic Port Forwarding
•ssh-D 1080 user@sv1 •localhost:1080 を指定することで、sv1をSOCKS Proxyとして 使うことができる •HTTPに限らず、あらゆるTCP/UDPプロトコルに使える •OpenSSHはほとんどのサーバで動いている 11
12.
OpenSSHDynamic Port Forwarding
•ssh-D 1080 user@sv1 •localhost:1080 を指定することで、sv1をSOCKS Proxyとして 使うことができる •HTTPに限らず、あらゆるTCP/UDPプロトコルに使える •OpenSSHはほとんどのサーバに入っている 汎用性高い 12
13.
SOCKSIFY(1) •DanteというSOCKS Proxy実装に含まれるコマンド
•https://www.inet.no/dante/ •sudoapt-get install dante-client •ライブラリ関数をフックすることで、任意のコマンドを SOCKS Proxyに対応させることができる •このようなプログラムはProxifierと呼ばれる •http://en.wikipedia.org/wiki/Comparison_of_proxifiers 13
14.
SOCKSIFY(1) •DanteというSOCKS Proxy実装に含まれるコマンド
•https://www.inet.no/dante/ •sudoapt-get install dante-client •ライブラリ関数をフックすることで、任意のコマンドを SOCKS Proxyに対応させることができる •このようなプログラムはProxifierと呼ばれる •http://en.wikipedia.org/wiki/Comparison_of_proxifiers $ SOCKS_PROXY=localhost:1080 socksifycurl http://www.example.com/ 14
15.
SOCKSIFY(1) •DanteというSOCKS Proxy実装に含まれるコマンド
•https://www.inet.no/dante/ •sudoapt-get install dante-client •ライブラリ関数をフックすることで、任意のコマンドを SOCKS Proxyに対応させることができる •このようなプログラムはProxifierと呼ばれる •http://en.wikipedia.org/wiki/Comparison_of_proxifiers $ SOCKS_PROXY=localhost:1080 socksifycurl http://www.example.com/ curl: (7) Failed to connect to 0.0.0.1: Network is unreachable 15 ( ꒪⌓꒪)
16.
OpenSSHsource code •channels.c:
channel_decode_socks5() •https://github.com/openssh/openssh-portable/blob/master/channels.c 16
17.
OpenSSHsource code •channels.c:
channel_decode_socks5() •https://github.com/openssh/openssh-portable/blob/master/channels.c UDP非対応 17
18.
socksify+ openssh= FAIL
•socksifyがDNS問い合わせをProxy経由で行おうとする •DNS問い合わせはUDPなので、OpenSSHはエラーを返す •即ち死 18
19.
Force TCP DNS
request •tsocks •http://sourceforge.net/projects/tsocks/ •res_init(3) をフックして、TCP問い合わせを有効にする •redsocks •http://darkk.net.ru/redsocks/ •DNS requestをキャッチしたら、truncatedフラグ付きの偽応答を返 し、TCPで再度requestさせる •どちらにしても、requestする側が外側のDNSサーバのアドレ スを知っていなければならない 19
20.
Force TCP DNS
request •tsocks •http://sourceforge.net/projects/tsocks/ •res_init(3) をフックして、TCP問い合わせを有効にする •redsocks •http://darkk.net.ru/redsocks/ •DNS requestをキャッチしたら、truncatedフラグ付きの偽応答を返 し、TCPで再度requestさせる •どちらにしても、requestする側が外側のDNSサーバのアドレ スを知っていなければならない 20 微妙…
21.
SOCKS5 proxy-end DNS
resolution •SOCKS5ではDNS名前解決をProxy側で行うようにできる •requestする側がDNSサーバのアドレスを知らなくても大丈夫 •とりあえずDNSはなんとかできる •DNS以外のUDPは依然としてダメだが、問題になることは少ない 21
22.
SOCKS5 proxy-end DNS
resolution •SOCKS5ではDNS名前解決をProxy側で行うようにできる •requestする側がDNSサーバのアドレスを知らなくても大丈夫 •とりあえずDNSはなんとかできる •DNS以外のUDPは依然としてダメだが、問題になることは少ない 22 いい感じ
23.
proxychains-ng •https://github.com/rofl0r/proxychains-ng •proxy-end
DNS resolution対応 •認証付きProxy対応 •HTTP、SOCKS4、SOCKS5混在の多段Proxy接続可能 23
24.
proxychains-ng •https://github.com/rofl0r/proxychains-ng •proxy-end
DNS resolution対応 •認証付きProxy対応 •HTTP、SOCKS4、SOCKS5混在の多段Proxy接続可能 $ proxychains4 curl http://www.example.com/ [proxychains] configfile found: /etc/proxychains.conf [proxychains] preloading /usr/lib/libproxychains4.so <!doctypehtml> ... 24
25.
proxychains-ng works, but
… •設定ファイルの書き換えが必須 •環境変数から設定できるようにしたい •デバッグ出力を完全に消せない •明示的に指定しない限り、入出力に触れないでほしい •多機能すぎてオーバーヘッド大きそう •せっかくならオーバーヘッドを最小化したい •認証も多段接続もいらない 25
26.
KNEESOCKS
27.
kneesocksgithub 27
28.
kneesocksgithub 28
29.
SOCKS5 protocol in
1 minute client proxy 1. support only NO-AUTH 2. ok, go with NO-AUTH 3. please connect to 203.0.113.1:80 4. succeeded GET / HTTP/1.1 HTTP/1.1 200 OK … usual payload 203.0.113.1 29
30.
Typical code for
TCP connect 30
31.
Typical code for
TCP connect 31
32.
Hooking libcfunctions •libkneesocks.so
•改変したconnect, getaddrinfo(+ gethostbyname) を実装した共有ラ イブラリ •kneesocks[command] •LD_PRELOAD=libkneesocks.so [command] するだけのシェルスク リプト •libkneesocks.soを優先的に読ませる 32
33.
Outline of libkneesocks.so
•init() •orig_connect= dlsym(RTLD_NEXT, “connect”) •connect(s, {“203.0.113.1”, 80}, ...) •connect_proxy(s, {“203.0.113.1”, 80},...) •unset non-blocking flag •orig_connect(s, {“127.0.0.1”, 1080},...) •establish SOCKS connection for {“203.0.113.1”, 80} •restore non-blocking flag •return s 33
34.
Hooking DNS lookup
•ドメイン名からIPアドレスへの変換は getaddrinfo(or gethostbyname) で行われる •getaddrinfoをフックして、常に0.0.0.1を返すようにする •SOCKS4aの仕様にならう •このとき、ドメイン名をThread Local Storageに記憶 •0.0.0.1へのconnectが来たら、記憶したドメイン名をProxyに 投げて解決させる 34
35.
Request with domain
name •RFC 1928 -SOCKS Protocol Version 5 •http://tools.ietf.org/html/rfc1928 35
36.
Request with domain
name •RFC 1928 -SOCKS Protocol Version 5 •http://tools.ietf.org/html/rfc1928 36
37.
Request with domain
name •RFC 1928 -SOCKS Protocol Version 5 •http://tools.ietf.org/html/rfc1928 37 ¥x0fwww.example.com
38.
Typical code for
TCP connect saved_node= “www.example.com” return orig_getaddrinfo(“0.0.0.1”, ...) orig_connect(s, {“127.0.0.1”, 1080}, ...) if dstaddris “0.0.0.1”: establish SOCKS5 connection to saved_node(=“www.example.com”) return s 38
39.
Install, setup proxy
and run •sudoapt-get install build-essential •git clone https://github.com/inaz2/kneesocks.git •cd kneesocks •make •sudomake install •ssh-D 1080 user@sv1 -f sleep 3600 •kneesockscurl http://www.example.com/ •sudokneesocksapt-get update •kneesocksgit clone https://github.com/rapid7/metasploit-framework.git •kneesocksbundle install backgroundで1時間接続 39
40.
Configuration via envvariables
•socks_proxy=localhost:1080 kneesocks[command] •localhost:1080 の部分を変える(上記はデフォルト値) •DEBUG=1 kneesocks[command] •標準エラー出力にデバッグログを吐かせる $ DEBUG=1 kneesockscurl http://www.example.com/ [kneesocks] getaddrinfo: node=www.example.com, service=80 [kneesocks] connect: type=stream, family=2, address=0.0.0.1, port=80 [kneesocks] connect_proxy: saved_node=www.example.com <!doctypehtml> ... 40
41.
WONTFIX •gethostbyname2, gethostbyname_r,
gethostbyname2_r •GNU拡張(IPv6対応版とreentrant版) •gethostbyname系関数はすでにobsoleteなので放置 •getaddrinfoを使わず、直接DNSrequestを投げるプログラム •dig, nslookup •libcをstatic linkしているプログラム •connectの前にgetaddrinfoを2連続で呼ぶプログラム •よく使うものであったら教えてください 41
42.
Pros and cons
•Pros •SSHサーバさえ立っていれば、あとはローカルで完結 •DNSサーバのアドレスを知らなくてもよい •任意のプログラムに統一的なインタフェースで使える •オーバーヘッド最小 •Cons •Linuxでしか使えない •事前にコンパイルとインストールが必要 42
43.
Recap •Proxyプロトコルは楽しい •標準Cライブラリ関数のフックは楽しい
•kneesocksお手軽便利 •「kneesocksを履かせる」という言い回し推奨 43
44.
References •ssh-Linux SOCKS5
tunneling not working with udptraffic -Super User •http://superuser.com/questions/639425/linux-socks5-tunneling-not-working-with-udp-traffic •How Socks 5 Works •http://samsclass.info/122/proj/how-socks5-works.html •mallocfailure (その4) -Wataru's memo •http://memo.wnishida.com/?date=20060730 •スレッドローカルストレージ(TLS) -Linuxの備忘録とか・・・ •http://wiki.bit- hive.com/north/pg/%A5%B9%A5%EC%A5%C3%A5%C9%A5%ED%A1%BC%A5%AB%A5% EB%A5%B9%A5%C8%A5%EC%A1%BC%A5%B8%28TLS%29 •opensshとproxychains-ngによるSOCKS Proxy経由のインターネット接続-ももいろテ クノロジー •http://inaz2.hatenablog.com/entry/2014/08/20/004106 44
45.
THANK YOU! @inaz2
Download