web渗透,获取到了服务器的webshell权限,但是还有没有其他的操作呢?
是,或者,否呢?
一、交代场景
记得在上大学那会就接触了黑客技术,仗着初生牛犊不怕虎的无知精神,给很多网站上传了很多菜刀小马,玩的很开心.
msf一套走,那会以为只有获取到了webshell,我就有了服务器的权限,回想起来,只能说一句,太年轻了。
那会并没有意识到这个严肃的问题,只是获取到了这个web站点的权限,后面有人问,3389可以使用吗?
处于内网的机器,也就是这台挂载有网站站点的服务器能不能远程呢?
当然了,答案是肯定的,lcx内网转发。
二、LCX
我们先来了解一个问题,NAT映射,这个有点头疼,对于做网络的工程师来说,倒是很常见。
先来看下面这段。
NAT:Network Address Translation,翻译过来就是网络地址转换协议。
什么意思呢?
来看一个操作。
· 打开你的命令行输入ipconfig查询你的Ip地址
· 打开百度,输入Ip查询,查询你的ip地址
ipconfig:
浏览器:
朋友们,看见没有,地址不一样哎。
发现了吧!同一台机器居然呈现出两个不一样的地址,但是众所周知,每个主机一般只有一个地址,不要抬杠,我知道服务器可以配置多个IP地址,电脑可以配置多个IP地址。
反正不是这个意思,就是我要表达的那个意思,只有一个地址,懂了吧!
网络被分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关。
这个就要提到公网IP和私网IP地址了,公网IP地址是Internet连接使用,私网IP地址一般不会对外传播,所以相对是安全的。
说这么多,就想表达一个意思,你在公网看到的域名地址是做过nat转换的,所以你看到的web站点是被映射以后的地址.
你通过渗透获取到了webshell,但是你并不能开启远程3389端口,所以这时候就需要上传一个LCX,端口转发,把内网服务器的3389端口映射到外网,这样就可以开启3389远程登录了。
三、实验
前提:已经获取到了服务器的webshell。
LCX命令解析
Lcx -Listen <监听slave请求的端口(对应slave的第二个参数)> <等待连接的端口>
Lcx -slave <你的ip> <监听端口(对应listen的第一个参数)> <目标ip> <目标端口>
所以既然我们只需要连接那台服务器,我们只需要设置目标ip参数为127.0.0.1就好了(127.0.0.1 Localhost即本机)因为别忘了slave是在对面服务器执行的。
当然了这里补充一点目标端口号是可以换的比如3306这样你就可以连接对面的MySQL数据库了。
有些人肯定要问了如果把这个127.0.0.1换成其他的ip会怎么样,如果你尝试过了那么恭喜你发现了新功能,你可以访问更多的3389。
LCX实验流程
上传一个lcx.exe到肉鸡上,在终端输入
这里意思就是将内网192.168.10.3的3389端口转发到外网113.47.x.x的51端口
然后再本机上(注意这里本机需要外网ip,否则会失败)的终端输入
这里意思是在本机上监听51端口并连接到10000端口(可以用别的端口)
最后win+R,输入mstsc打开远程桌面,输入127.0.0.1:10000就可以连接到肉鸡了。
四、总结
端口转发的时候需要一台公网服务器,lcx是一款轻便的端口转发工具,Lcx程序多用于被控制计算机处于内网的时候,被控制机可能中了木马程序。
虽然能够进行控制,但还是没有使用远程终端登录到本机进行管理方便,因此在很多情况下,都会想方设法在被控制计算机上开启3389端口.
然后通过lcx等进行端口转发,进而在本地连接到被控制计算机的远程终端并进行管理和使用。
在没有端口转发的情况下外网主机是不能直接连接内网主机的,但是lcx工具可以将内网主机(出入内网主机的需要能够ping通互联网)的某个端口抓发到外网的某个端口上面。
这样的话处于外网的主机可以将映射到外网的端口再反弹到另一个外网的端口上面(用的最多的是3389),这样我们就可以直接远程连接反弹的端口就可以与内网主机进行通信。
故内网已经打通,说实话lcx的工具如同在路由器上面做了端口转发。