meterpreter跳板机

背景:渗透测试者A拿到了B主机的控制权,但没有拿到ssh密码(不能打ssh隧道)。现需横向移动渗透内网主机C,为了避免动作过大不便直接在B上对C进行渗透,其中C不能出公网。现需让B转发A到C的流量,并最终使C反弹shell至A。

方案:使用meterpreter来“打路由”或者做端口映射两种方案

工作原理:

打路由:在A与B的session中增加一条目的为192.168.1.0/24,下一跳为该sessionID的路由

端口映射:在A本地侦听一个空闲端口,通过A与B的session与C指定端口做映射

操作步骤:

一、打路由:

meterpreter > run autoroute -s 192.168.1.0/24   ====>添加到目标内网路由

meterpreter > run autoroute -p  ===>查看路由是否添加成功

此时使用msf框架内的扫描模块即可扫描192.168.1.2

1、在C中植入反弹木马时应设置lhost为192.168.1.1  ====>重要!!!B上的meterpreter会自动在192.168.1.1开启相应侦听端口,并将收到的流量转发至A

2、此方法的优点是足够灵活,写一条路由就可以到整个网段的全部端口了。缺点是只在MSF框架内有效,即:使用MSF内的工具可以访问到192.168.1.2,使用MSF外的工具就访问不到192.168.1.2了

二、端口映射:

meterpreter > portfwd add -L 100.1.1.1 -l 4444 -r 192.168.1.2 -p 3389

-L 在本地哪个IP上侦听端口

-l 在本地哪个端口上做映射

-r 映射至哪台目标设备

-p 映射至目标设备具体哪个端口

注意:此方式缺点是只能一对一做映射,不够灵活。但优点是基于操作系统层面做的端口映射,即:使用MSF外的工具访问4444也能映射至目标设备的3389

用meterpreter实现跳板机的更多相关文章

  1. 【自动部署】Ansible 怎么通过堡垒机/跳板机 访问目标机器

    Ansible机器的 /root/.ssh/config 配置如下即可:Host 目标机器IP User root IdentityFile=/root/.ssh/xxx_id_rsa ProxyCo ...

  2. navicat使用跳板机连接数据库-ssh

    1. 目标数据库的域名/IP,端口,用户名,密码:如图1 2. 这时候不要点OK!选择SSH这个tab 3. 选中User SSH Tunnel:填写跳板机域名/IP,用户名,密码(注意:端口22不要 ...

  3. Shell实现跳板机,为什么用跳板机

    整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1.     问题 ...

  4. 跨越跳板机传文件nc

    从线上服务器与本机互传文件 传输方 nc -l 10000 < a.tar 接收方 nc xx.xx.xx.xx 10000 >a.tar 原理: 文件传输方运行nc,指定端口,设置监听文 ...

  5. 在有跳板机的情况下,SecureCRT自动连接到目标服务器

    为了服务器的安全,运维人员经常会要求我们先登录到跳板机,然后再SSH连接到目标服务器.但是这样是很繁琐的,每次在SecureCRT创建一个连接,都需要输入SSH命令,然后输入密码. 下面的方法可以实现 ...

  6. iTerm 使用expect实现自动远程登录,登录跳板机

    #!/usr/bin/expect set timeout 10 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2] exp ...

  7. CentOS7 开源跳板机(堡垒机) Jumpserver

    开源跳板机(堡垒机)Jumpserver 环境 CentOS 7   x64       关闭 selinux  firewalld jumpserver: 172.24.0.14 testserve ...

  8. 那就用pthon来写个跳板机吧

    1.需求 程序一: 1.后台管理 - 堡垒机上创建用户和密码(堡垒机root封装的类,UserProfile表) - .bashrc /usr/bin/python3 /data/bastion.py ...

  9. jmeter连接配置带跳板机(SSH)的mysql服务器

    jmeter连接配置mysql服务器时,如果数据库服务器没有通过ssh连接,则只需要配置相应的jdbc参数就可以了,即请求域名或ip地址:3306,如果数据库服务器是通过SSH连接的,那需要通过中间远 ...

随机推荐

  1. sketch2code 有的叫screenshot to code什么的

    先mark一下项目,回头再深究 https://github.com/mzbac/sketch2code https://www.floydhub.com/emilwallner/datasets/h ...

  2. 方便快捷的求导求积分解方程在线工具sage介绍

      有时候我们需要进行一些复杂的数学计算,比如求导, 求积分,解方程,还是用abcd字母代表变量的方程等,这就需要进行复杂的数学运算还需要具备良好的数学基础.不过现在有一个非常方便的在线工具,只需要几 ...

  3. 你不知道的JS之作用域和闭包(四)(声明)提升

    原文:你不知道的js系列 先有鸡还是先有蛋? 如下代码: a = 2; var a; console.log( a ); 很多开发者可能会认为结果会输出 undefined,因为 var a 在 a ...

  4. Update API

    Update API可以根据提供的脚本更新文档. 该操作从索引获取文档,运行脚本(脚本语言和参数是可选的),并返回操作的结果(也允许删除或忽略该操作). 使用版本控制来确保在“get”(查询文档)和“ ...

  5. 问题:这个新申请的内存为什么不能free掉?(已解决)

    一.问题描述 先上代码, /*** 省略 ***/ uChar *base64 = NULL; /*** 省略 ***/ base64 = (一段内存) /*** 省略 ***/ base64 = s ...

  6. C盘突然爆满

    C盘突然爆满!幸好还开的机!~~ 因为是突然就爆满了,想着应该是虚拟内存的原因!于是就开始了探索.... 1.文件夹选项中把所有文件都显示出来. 2.在C盘你就会看到一个“pagefile.sys”的 ...

  7. Mesos源码分析(3): Mesos Master的启动之二

    2. process::firewall::install(move(rules));如果有参数--firewall_rules则会添加规则   对应的代码如下: // Initialize fire ...

  8. [Swift]LeetCode65. 有效数字 | Valid Number

    Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...

  9. the python challenge闯关记录(9-16)

    9 第九关 是一张图,上面有很多的黑点,查看网页源代码发现了上一关的提示: 还发现了一大串的数字 感觉又是一个使用PIL库进行图像处理的题,百度后知道要将这些点连接起来并重新画图.但是不能在原始图上修 ...

  10. python之Django学习笔记(三)---URL调度/URL路由

    在django中,用户发起url请求消息首先到工程的urls.py中查找是否有匹配的url路径 刚创建好的工程中urls.py只有下面几行代码: from django.contrib import ...