渗透(4)
前言
通过后门进入到目标主机之后用getsystem是不能直接拿到系统的system权限的,第一次会超时,第二次会报错,那么需要怎么使用MSF拿到系统权限呢?
UAC
基础概念
UAC:用户账户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。
利用方法
绕过UAC进行提权-需要弹窗提问
在默认情况下,UAC是开启的,当程序需要更多的权限时,需要弹窗确认。
这里使用msf中的local/ask模块:
随后使用run
命令开始攻击,目标主机进行弹窗提问:
当目标主机点击了“是”则会成功提权:
绕过UAC进行提权-不用弹窗提问
利用local/bypassuac
利用系统漏洞直接提权
此local_exploit模块可以列出所有的可以进行提权的Payload
1 |
|
可以看到列出了很多漏洞其中Yes的都是可以利用的漏洞:
经过测试下来有一半左右是可用的,拿到webshell以后,再反弹shell给msf,然后结合msf做内网渗透。
Linux提权合集
https://github.com/SecWiki/linux-kernel-exploits
在kali的msf中可以用自带的模块进行提权
1 |
|
Linux Suid提权
基本概念
suid:在Linux系统中,suid(set user ID upon execution)是一个特殊的权限位,它允许一个程序在执行时临时地以文件所有者的权限运行,而不是以执行该程序的用户权限运行。
https://gtfobins.github.io GTFOBins是 Unix 二进制文件的精选列表,可用于绕过配置错误的系统中的本地安全限制。
注意:
1.只有可以执行的二进制程序文件设定SUID权限才可利用,非二进制文件设置SUI权限没任何意义
2.命令执行者要对该程序文件拥有执行(x)权限
3.SUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
具体操作
如何设置Suid:
1 |
|
查找具有Suid权限的文件:
1 |
|
Find命令实现Suid提权:
1 |
|
接下来给find命令权限(此处需要root才能,所以意义不大还是要拿到root):
1 |
|
Linux Sudo提权
由于root账户密码的敏感性和root账号的无限制权限,一般会通过useradd创建一些普通用户, 只让他们拥有不完全的权限; 如有必要,再来申请执行一些root权限的指令。
sudo命令的执行流程是: 当前用户转换到root, 然后以root身份执行命令, 执行完成后, 直接退回到当前用户。
注意: 执行sudo时输入的密码, 是当前用户的密码, 并非root密码。
ubuntu桌面版默认禁止root账号,自然也不会开启root账号的远程登录(ssh登录)。
如果需要切换到root账号, 可以使用命令sudo ‐i, 然后输入自己的用户密码来从而切换成root身份。但如果使用命令su ‐ root来切换root身份就行不通,因为你输入的密码压根就不是root的密码。当然,你可以通过sudo passwd root
修改root用户的密码从而解锁root用户,但这种方式并不被推荐。
Linux脏牛提权
脏牛漏洞(CVE‐2016–5195),又叫Dirty COW,存在Linux内核中已经有长达9年
的时间,在2007年发布的Linux内核版本中就已经存在此漏洞,在2016年10月18后
才得以修复,因此影响范围很大。
漏洞具体是由于get_user_page内核函数在处理Copy‐on‐Write的过程中,可能
产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区
域的机会。
修改su或者passwd程序就可以达到root的目的。
漏洞危害
低权限用户利用脏牛漏洞可以在众多Linux系统上实现本地提权
影响范围
内核版本低于以下版本也存在:
Centos7 /RHEL7 3.10.0‐327.36.3.el7
Cetnos6/RHEL6 2.6.32‐642.6.2.el6
Ubuntu 16.10 4.8.0‐26.28
Ubuntu 16.04 4.4.0‐45.66
Ubuntu 14.04 3.13.0‐100.147
Debian 8 3.16.36‐1+deb8u2
Debian 7 3.2.82‐1
漏洞实操
首先需要一个低版本的Ubuntu:
首先在kali上面扫描网段里面存活的主机,这里发现192.168.56.137:
接下来扫描主机开启的服务,发现了三个端口,逐一查看:
进入1898端口发现了可渗透界面:
可以看到msf中已经有了很多的drupal漏洞:
利用msf进行攻击:
首先下载好脏牛漏洞的exp:
Exp项目地址:
- https://github.com/FireFart/dirtycow 需要gcc编译,会自动创建一个具备Root权限的新用户firefart
- https://github.com/gbonacini/CVE‐2016‐5195 需要make编译,会自动打开一个root shell
这里利用upload上传exp到目标主机,然后利用python开启虚拟终端的环境:
1 |
|
利用脏牛漏洞成功进入root: