Powershell์—์„œ Reverse Socks5 ํ”„๋ก์‹œ ์ž‘์„ฑ.1๋ถ€

3๋ถ€๋กœ ๊ตฌ์„ฑ๋œ ์—ฐ๊ตฌ๊ฐœ๋ฐœ ์ด์•ผ๊ธฐ. 1๋ถ€๋Š” ํƒ๊ตฌ์ ์ด๋‹ค.
๋„ˆ๋„๋ฐค๋‚˜๋ฌด๊ฐ€ ๋งŽ์•„ ๋” ๋งŽ์€ ํ˜œํƒ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ ์„ฑ๋ช…

์นจํˆฌ ํ…Œ์ŠคํŠธ ๋ฐ RedTeam ์บ ํŽ˜์ธ ์ค‘์—๋Š” VPN, RDP, Citrix ๋“ฑ๊ณผ ๊ฐ™์€ ๊ณ ๊ฐ์˜ ํ‘œ์ค€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•ญ์ƒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ์ง„์ž…์„ ์œ„ํ•œ ์•ต์ปค๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๊ณณ์—์„œ๋Š” ํ‘œ์ค€ VPN์ด MFA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๊ณ  ํ•˜๋“œ์›จ์–ด ํ† ํฐ์ด ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋‹ค๋ฅธ ๊ณณ์—์„œ๋Š” ์ž”์ธํ•˜๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜์–ด VPN ๋กœ๊ทธ์ธ์ด ์ฆ‰์‹œ ํ‘œ์‹œ๋˜์ง€๋งŒ ๋‹ค๋ฅธ ๊ณณ์—์„œ๋Š” ์ˆ˜๋ฐ˜๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ์ˆ˜๋‹จ์€ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์šฐ๋ฆฌ๋Š” ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค ๋˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์†Œ์œ„ "์—ญ๋ฐฉํ–ฅ ํ„ฐ๋„"์„ ์ง€์†์ ์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ํ„ฐ๋„ ์•ˆ์—์„œ ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ๊ณ ๊ฐ์˜ ๋‚ด๋ถ€ ๋ฆฌ์†Œ์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ณต๊ท€ ํ„ฐ๋„์—๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ฒƒ์€ ๋ฌผ๋ก  Meterpreter์ž…๋‹ˆ๋‹ค. ์—ญ๋ฐฉํ–ฅ ํฌํŠธ ์ „๋‹ฌ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” SSH ํ„ฐ๋„๋„ ํ•ด์ปค ์ง‘๋‹จ ์‚ฌ์ด์—์„œ ํฐ ์ˆ˜์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ญ๋ฐฉํ–ฅ ํ„ฐ๋„๋ง์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ƒ๋‹นํžˆ ๋งŽ์œผ๋ฉฐ ๊ทธ ์ค‘ ๋งŽ์€ ๋ฐฉ๋ฒ•์ด ์ž˜ ์—ฐ๊ตฌ๋˜๊ณ  ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌผ๋ก  ๋ณด์•ˆ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์ž๋Š” ์ด๋Ÿฌํ•œ ํ–‰๋™์„ ์˜†์œผ๋กœ ์น˜์šฐ๊ณ  ์ ๊ทน์ ์œผ๋กœ ๊ฐ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด MSF ์„ธ์…˜์€ Cisco ๋˜๋Š” Positive Tech์˜ ์ตœ์‹  IPS์— ์˜ํ•ด ์„ฑ๊ณต์ ์œผ๋กœ ๊ฐ์ง€๋˜๋ฉฐ ์—ญ๋ฐฉํ–ฅ SSH ํ„ฐ๋„์€ ๊ฑฐ์˜ ๋ชจ๋“  ์ผ๋ฐ˜ ๋ฐฉํ™”๋ฒฝ์—์„œ ๊ฐ์ง€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ข‹์€ RedTeam ์บ ํŽ˜์ธ์—์„œ ๋ˆˆ์— ๋„์ง€ ์•Š๊ฒŒ ํ•˜๋ ค๋ฉด ๋น„ํ‘œ์ค€ ์ˆ˜๋‹จ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ญ๋ฐฉํ–ฅ ํ„ฐ๋„์„ ๊ตฌ์ถ•ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ์˜ ์‹ค์ œ ์ž‘๋™ ๋ชจ๋“œ์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊น๊ฒŒ ์ ์‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋น„์Šทํ•œ ๊ฒƒ์„ ์ฐพ๊ฑฐ๋‚˜ ๋ฐœ๋ช…ํ•ด ๋ด…์‹œ๋‹ค.

๋ฌด์—‡์ด๋“  ๋ฐœ๋ช…ํ•˜๊ธฐ ์ „์— ์šฐ๋ฆฌ๊ฐ€ ๋‹ฌ์„ฑํ•˜๊ณ  ์‹ถ์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๊ฐœ๋ฐœ์ด ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ๋Œ€ ์Šคํ…”์Šค ๋ชจ๋“œ์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ„ฐ๋„์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๊ฐ ๊ฒฝ์šฐ๋งˆ๋‹ค ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ํฌ๊ฒŒ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•˜์ง€๋งŒ ์—…๋ฌด ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ์ฃผ์š” ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Windows-7-10 OS์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ์—… ๋„คํŠธ์›Œํฌ๋Š” Windows๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—;
  • ํด๋ผ์ด์–ธํŠธ๋Š” ips๋ฅผ ์‚ฌ์šฉํ•œ ์–ด๋ฆฌ์„์€ ์ฒญ์ทจ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด SSL์„ ํ†ตํ•ด ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฐ๊ฒฐํ•  ๋•Œ ํด๋ผ์ด์–ธํŠธ๋Š” ์ธ์ฆ์„ ํ†ตํ•ด ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ์ž‘์—…์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํšŒ์‚ฌ์—์„œ๋Š” ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์€ ์ด์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ์•Œ์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ํ”„๋ก์‹œ๋Š” ํˆฌ๋ช… ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ๊ทธ๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ ๋ถ€๋ถ„์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    ๊ณ ๊ฐ์˜ ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์ž‘์—…ํ•˜๋ ค๋ฉด ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์— OpenVPN์„ ์„ค์น˜ํ•˜๊ณ  ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋ณธ๊ฒฉ์ ์ธ ํ„ฐ๋„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋‹คํ–‰ํžˆ openvpn ํด๋ผ์ด์–ธํŠธ๋Š” ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Œ). ๊ทธ๋Ÿฌ๋‚˜ ์ฒซ์งธ, ์šฐ๋ฆฌ๊ฐ€ ๋กœ์ปฌ ๊ด€๋ฆฌ์ž๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด ํ•ญ์ƒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ๋‘˜์งธ, ๊ดœ์ฐฎ์€ SIEM ๋˜๋Š” HIPS๊ฐ€ ์ฆ‰์‹œ ์šฐ๋ฆฌ๋ฅผ "๋ฐ€๊ณ "ํ•  ์ •๋„๋กœ ์†Œ์Œ์ด ๋„ˆ๋ฌด ๋งŽ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ์†Œ์œ„ ์ธ๋ผ์ธ ๋ช…๋ น์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋งŽ์€ bash ์‰˜์ด ๊ตฌํ˜„๋˜๊ณ  ๋ช…๋ น์ค„์„ ํ†ตํ•ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋‹จ์–ด ๋งคํฌ๋กœ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ).
  • ํ„ฐ๋„์€ ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋™์‹œ์— ๋งŽ์€ ์—ฐ๊ฒฐ์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์—ฐ๊ฒฐ์—๋Š” ํŠน์ • ์ฃผ์†Œ์™€ ํฌํŠธ๋กœ ์šฐ๋ฆฌ ์„œ๋ฒ„์— ์˜ค๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•ด์„œ๋งŒ ํ„ฐ๋„์ด ์„ค์ •๋˜๋„๋ก ์ผ์ข…์˜ ์ธ์ฆ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” ์›๋ž˜ ๋„๋ฉ”์ธ๊ณผ ๊ด€๋ จ๋œ ๊ณ ์–‘์ด ๋˜๋Š” ์ „๋ฌธ ์ฃผ์ œ๊ฐ€ ํฌํ•จ๋œ ๋žœ๋”ฉ ํŽ˜์ด์ง€๊ฐ€ 'ํƒ€์‚ฌ ์‚ฌ์šฉ์ž'๋ฅผ ์œ„ํ•ด ์—ด๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ ๊ฐ์ด ์˜๋ฃŒ ๊ธฐ๊ด€์ธ ๊ฒฝ์šฐ ์ง„๋ฃŒ์†Œ ์ง์›์ด ์•ก์„ธ์Šคํ•œ ๋ฆฌ์†Œ์Šค, ์˜์•ฝํ’ˆ ํŽ˜์ด์ง€, ์ง„๋‹จ ์„ค๋ช…์ด ํฌํ•จ๋œ Wikipedia ๋˜๋Š” Komarovsky ๋ฐ•์‚ฌ์˜ ๋ธ”๋กœ๊ทธ ๋“ฑ์„ ํ™•์ธํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ์ •๋ณด ๋ณด์•ˆ ๊ด€๋ฆฌ์ž์˜ ๊ฒฝ์šฐ .์—ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๋„๊ตฌ ๋ถ„์„

์ž์‹ ์˜ ์ž์ „๊ฑฐ๋ฅผ ์žฌ์ฐฝ์กฐํ•˜๊ธฐ ์ „์— ๊ธฐ์กด ์ž์ „๊ฑฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๊ทธ๊ฒƒ์ด ์ •๋ง๋กœ ํ•„์š”ํ•œ์ง€ ์ดํ•ดํ•ด์•ผ ํ•˜๋ฉฐ ์•„๋งˆ๋„ ๊ทธ๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ฑ ์ž์ „๊ฑฐ์˜ ํ•„์š”์„ฑ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•œ ์‚ฌ๋žŒ์€ ์•„๋งˆ๋„ ์šฐ๋ฆฌ ๋ฟ๋งŒ์ด ์•„๋‹ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰(์šฐ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Google์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค)๊ณผ Github์—์„œ "์—ญ๋ฐฉํ–ฅ ์–‘๋ง"์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ด๋„ ๋งŽ์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์€ ์—ญ๋ฐฉํ–ฅ ํฌํŠธ ํฌ์›Œ๋”ฉ๊ณผ ์ด์™€ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ–์ถ˜ SSH ํ„ฐ๋„์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. SSH ํ„ฐ๋„ ์™ธ์—๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

github.com/klsecservices/rpivot
Kaspersky Lab ์ง์›๋“ค์ด ์˜ค๋žซ๋™์•ˆ ์—ญ๋ฐฉํ–ฅ ํ„ฐ๋„์„ ๊ตฌํ˜„ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ๋ณด๋ฉด ์ด ์Šคํฌ๋ฆฝํŠธ์˜ ๋ชฉ์ ์ด ๋ฌด์—‡์ธ์ง€ ๋ถ„๋ช…ํ•ด์ง‘๋‹ˆ๋‹ค. Python 2.7์—์„œ ๊ตฌํ˜„๋œ ํ„ฐ๋„์€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค(์ง€๊ธˆ ๋งํ•˜๋Š” ๊ฒƒ์ด ์œ ํ–‰์ž…๋‹ˆ๋‹ค - hello RKN).

github.com/tonyseek/rsocks
์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๊ตฌํ˜„๋œ Python์˜ ๋˜ ๋‹ค๋ฅธ ๊ตฌํ˜„์ด์ง€๋งŒ ๋” ๋งŽ์€ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ˆ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์†”๋ฃจ์…˜์„ ํ”„๋กœ์ ํŠธ์— ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•œ API๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

github.com/llkat/rsockstun
github.com/mis-team/rsockstun
์ฒซ ๋ฒˆ์งธ ๋งํฌ๋Š” Golang์˜ ๋ฆฌ๋ฒ„์Šค ์‚ญ์Šค ๊ตฌํ˜„์˜ ์›๋ณธ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค(๊ฐœ๋ฐœ์ž๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š์Œ).
๋‘ ๋ฒˆ์งธ ๋งํฌ๋Š” Golang์—๋„ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ๊ฐœ์ •ํŒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๋ฒ„์ „์—์„œ๋Š” SSL์„ ๊ตฌํ˜„ํ•˜๊ณ , NTLM ์ธ์ฆ์ด ์žˆ๋Š” ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ž‘์—…ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ž˜๋ชป๋œ ๊ฒฝ์šฐ ๋žœ๋”ฉ ํŽ˜์ด์ง€(๋˜๋Š” ๋žœ๋”ฉ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋””๋ ‰์…˜), ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ๋ชจ๋“œ(์˜ˆ: ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ ํ„ฐ๋„๊ณผ ๋™์‹œ์— ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Œ), ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ•‘์„ ๋ณด๋‚ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ด์•„ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

github.com/jun7th/tsocks
Python์—์„œ "์ค‘๊ตญ ์นœ๊ตฌ"์˜ ๋ฆฌ๋ฒ„์Šค ์‚ญ์Šค๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์œผ๋ฅด๊ณ  "๋ถˆ๋ฉธ์˜" ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์ค‘๊ตญ์ธ์ด ์กฐ๋ฆฝํ•˜์—ฌ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์„ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ(exe)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ค‘๊ตญ์˜ ์‹ ๋งŒ์ด ์ด ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์ฃผ์š” ๊ธฐ๋Šฅ ์™ธ์— ๋ฌด์—‡์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜์„ธ์š”.

github.com/securesocketfunneling/ssf
๋ฆฌ๋ฒ„์Šค ์‚ญ์Šค ๋“ฑ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ C++์˜ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์—ญ๋ฐฉํ–ฅ ํ„ฐ๋„ ์™ธ์—๋„ ํฌํŠธ ์ „๋‹ฌ, ๋ช…๋ น ์…ธ ์ƒ์„ฑ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MSF ๋ฏธํ„ฐํ”„๋ฆฌํ„ฐ
์—ฌ๊ธฐ์—๋Š” ๊ทธ๋“ค์ด ๋งํ–ˆ๋“ฏ์ด ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค. ์–ด๋Š ์ •๋„ ๊ต์œก์„ ๋ฐ›์€ ํ•ด์ปค๋“ค์€ ๋ชจ๋‘ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋งค์šฐ ์ž˜ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ๋ณด์•ˆ ๋„๊ตฌ๋กœ ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์— ์„ค๋ช…๋œ ๋ชจ๋“  ๋„๊ตฌ๋Š” ์œ ์‚ฌํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ ์ค€๋น„๋œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ชจ๋“ˆ์ด ๋„คํŠธ์›Œํฌ ๋‚ด๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜์–ด ์™ธ๋ถ€ ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฝํ•˜๊ณ  ์ด๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•˜๋Š” SOCKS4/5 ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๋ชจ๋“  ๋„๊ตฌ์˜ ๋‹จ์ ์€ ํด๋ผ์ด์–ธํŠธ ์ปดํ“จํ„ฐ์— Python์ด๋‚˜ Golang์„ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด ํšŒ์‚ฌ ์ด์‚ฌ๋‚˜ ์ง์žฅ์ธ์˜ ์ปดํ“จํ„ฐ์— Python์ด ์„ค์น˜๋˜๋Š” ๊ฒƒ์„ ์ž์ฃผ ๋ณด์…จ๋‚˜์š”?). ๋ฐ”์ด๋„ˆ๋ฆฌ(์‹ค์ œ๋กœ๋Š” Python)๋ฅผ ์ด ๋จธ์‹ ์œผ๋กœ ๋“œ๋ž˜๊ทธํ•˜๊ณ  ํ•œ ๋ณ‘์— ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ ์ด๋ฏธ ๊ฑฐ๊ธฐ์—์„œ ์ด ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. exe๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋„ ๋กœ์ปฌ ๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹  ๋˜๋Š” HIPS์˜ ์„œ๋ช…์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๊ฒฐ๋ก ์€ Powershell ์†”๋ฃจ์…˜์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ œ ํ† ๋งˆํ† ๊ฐ€ ์šฐ๋ฆฌ์—๊ฒŒ ๋‚ ์•„๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ powershell์ด โ€‹โ€‹์ด๋ฏธ ๋ชจ๋‘ ํ•ดํ‚น ๋‹นํ–ˆ๊ณ  ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๊ณ  ์ฐจ๋‹จ๋˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ๋“ฑ๋“ฑ. ์‚ฌ์‹ค, ๋ชจ๋“  ๊ณณ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ฑ…์ž„๊ฐ ์žˆ๊ฒŒ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , powershell.exe -> cmdd.exe์˜ ์–ด๋ฆฌ์„์€ ์ด๋ฆ„ ๋ณ€๊ฒฝ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ powerdll๋กœ ๋๋‚˜๋Š” ๋“ฑ ์ฐจ๋‹จ์„ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค (์—ฌ๊ธฐ์—๋„ hello RKN์— ๋Œ€ํ•œ ์œ ํ–‰ ๋ฌธ๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ™‚).

๋ฐœ๋ช…์„ ์‹œ์ž‘ํ•ด๋ณด์ž

๋จผ์ € Google์„ ๊ฒ€์ƒ‰ํ•ด ๋ณด๋ฉดโ€ฆ ์ด ์ฃผ์ œ์— ๋Œ€ํ•ด ์•„๋ฌด ๊ฒƒ๋„ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค(๋ˆ„๊ตฐ๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๊ฒฝ์šฐ ๋Œ“๊ธ€์— ๋งํฌ๋ฅผ ๊ฒŒ์‹œํ•˜์„ธ์š”). ์˜ค์ง ๊ตฌํ˜„ Powershell์˜ Socks5๋Š” ์ผ๋ฐ˜์ ์ธ "์ง์ ‘"์‚ญ์Šค์ด๋ฉฐ ์ž์ฒด ๋‹จ์ ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค (๋‚˜์ค‘์— ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค). ๋ฌผ๋ก  ์†์„ ์•ฝ๊ฐ„๋งŒ ์›€์ง์—ฌ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ๊ฒƒ์ด ์•„๋‹Œ ๋‹จ์ผ ์Šค๋ ˆ๋“œ ์‚ญ์Šค ์ผ๋ฟ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ธฐ์„ฑํ’ˆ์„ ์ฐพ์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์ „ํžˆ ๋ฐ”ํ€ด๋ฅผ ์žฌ๋ฐœ๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ž์ „๊ฑฐ์˜ ๊ธฐ์ดˆ๋กœ ์‚ผ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ์šฐ๋ฆฌ์˜ ๋ฐœ์ „ Golang์—์„œ reverse sox๋ฅผ โ€‹โ€‹์‹คํ–‰ํ•˜๊ณ  powershell์—์„œ ์ด๋ฅผ ์œ„ํ•œ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

RSocksTun
๊ทธ๋ ‡๋‹ค๋ฉด rsockstun์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋‚˜์š”?

RsocksTun(์ดํ•˜ rs)์˜ ์ž‘๋™์€ Yamux ๋ฐ Socks5 ์„œ๋ฒ„๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. Socks5 ์„œ๋ฒ„๋Š” ์ผ๋ฐ˜ ๋กœ์ปฌ ์–‘๋ง5์ด๋ฉฐ ํด๋ผ์ด์–ธํŠธ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์˜ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ(๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์— ๋Œ€ํ•ด ๊ธฐ์–ตํ•˜์‹œ๋‚˜์š”?)์€ yamux(๋˜ ๋‹ค๋ฅธ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ). ์ด ๊ตฌ์„ฑํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ ์–‘๋ง5 ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์™ธ๋ถ€ ์—ฐ๊ฒฐ์„ ๋ฐฐํฌํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋‹จ์ผ TCP ์—ฐ๊ฒฐ(๋ฏธํ„ฐํ”„๋ฆฌํ„ฐ์™€ ๊ฑฐ์˜ ์œ ์‚ฌ)์„ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๋ชจ๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

yamux ์ž‘๋™ ๋ฐฉ์‹์˜ ํ•ต์‹ฌ์€ ์ŠคํŠธ๋ฆผ์˜ ์ถ”๊ฐ€ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์„ ๋„์ž…ํ•˜์—ฌ ๊ฐ ํŒจํ‚ท์— ๋Œ€ํ•ด 12๋ฐ”์ดํŠธ ํ—ค๋” ํ˜•์‹์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์—ฌ๊ธฐ์„œ ๋…์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์ŠคํŠธ๋ฆผ "์Šค๋ ˆ๋“œ"์™€ ํ˜ผ๋™ํ•˜์ง€ ์•Š๋„๋ก ์˜๋„์ ์œผ๋กœ ์Šค๋ ˆ๋“œ ๋Œ€์‹  "์ŠคํŠธ๋ฆผ"์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋„ ์ด ๊ฐœ๋…์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค). yamux ํ—ค๋”์—๋Š” ์ŠคํŠธ๋ฆผ ๋ฒˆํ˜ธ, ์ŠคํŠธ๋ฆผ ์„ค์น˜/์ข…๋ฃŒ๋ฅผ ์œ„ํ•œ ํ”Œ๋ž˜๊ทธ, ์ „์†ก๋œ ๋ฐ”์ดํŠธ ์ˆ˜ ๋ฐ ์ „์†ก ์ฐฝ ํฌ๊ธฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Powershell์—์„œ Reverse Socks5 ํ”„๋ก์‹œ ์ž‘์„ฑ.1๋ถ€

์ŠคํŠธ๋ฆผ ์„ค์น˜/์ข…๋ฃŒ ์™ธ์—๋„ yamux๋Š” ์„ค์ •๋œ ํ†ต์‹  ์ฑ„๋„์˜ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐ ์œ ์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. Keeplive ๋ฉ”์‹œ์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ž‘๋™์€ Yamux ์„ธ์…˜์„ ์ƒ์„ฑํ•  ๋•Œ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์„ค์ •์—๋Š” ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”์™€ ํŒจํ‚ท ์ „์†ก ๋นˆ๋„(์ดˆ)๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. Keepalive ๋ฉ”์‹œ์ง€๋Š” yamux ์„œ๋ฒ„ ๋˜๋Š” yamux ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Keepalive ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ๋ฉด ์›๊ฒฉ ๋‹น์‚ฌ์ž๋Š” ์ˆ˜์‹ ํ•œ ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ๋™์ผํ•œ ๋ฉ”์‹œ์ง€ ์‹๋ณ„์ž(์‹ค์ œ๋กœ๋Š” ์ˆซ์ž)๋ฅผ ๋ณด๋‚ด ์‘๋‹ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ keepalive๋Š” yamux์— ๋Œ€ํ•ด์„œ๋งŒ ๋™์ผํ•œ ํ•‘์ž…๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ์˜ ์ „์ฒด ์ž‘๋™ ๊ธฐ์ˆ : ํŒจํ‚ท ์œ ํ˜•, ์—ฐ๊ฒฐ ์„ค์ • ๋ฐ ์ข…๋ฃŒ ํ”Œ๋ž˜๊ทธ, ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ช…์„ธ์„œ ์•ผ๋ฌต์Šค๋กœ.

์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๊ฒฐ๋ก 

๋”ฐ๋ผ์„œ ๊ธฐ์‚ฌ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ ์šฐ๋ฆฌ๋Š” ์—ญ๋ฐฉํ–ฅ ํ„ฐ๋„์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋„๊ตฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ํ•ด๋‹น ๋„๊ตฌ์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์„ ์‚ดํŽด๋ณด๊ณ  Yamux ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ์˜ ์ž‘๋™ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์—ฐ๊ตฌํ•˜๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑ๋œ powershell ๋ชจ๋“ˆ์˜ ๊ธฐ๋ณธ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ถ€๋ถ„์—์„œ๋Š” ์‚ฌ์‹ค์ƒ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ชจ๋“ˆ ์ž์ฒด๋ฅผ ๊ฐœ๋ฐœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. ์ „ํ™˜ํ•˜์ง€ ๋งˆ์„ธ์š” :)

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€