Alfred
Alfred
信息收集
nmap扫下端口。
8080端口是一个后台登录的,弱口令admin admin进行登录。
漏洞利用
参考链接:
https://www.jenkins.io/doc/book/managing/script-console/
里面有这样一句话:
Jenkins 具有 Groovy 脚本控制台,允许用户在 Jenkins 控制器运行时或代理运行时运行任意 Groovy 脚本。
去访问script
然后去网上了搜了一下Groovy命令执行的函数。参考链接:https://www.cnblogs.com/yyhuni/p/18012041
1 |
|
可以看到命令执行成功。
这里我们去github上面找一个powershell反弹shell的脚本。
这里使用的nishang里面的代码
https://github.com/samratashok/nishang/blob/master/Shells/Invoke-PowerShellTcp.ps1
在攻击机上面开一个python服务,使得80开启。
1 |
|
可以看到普通shell已经拿到。
使用msfvenom生成的exe文件获取meterpreter
1 |
|
生成完之后利用
1 |
|
进行同样的操作。
已经上传进去了。
然后进入msf进行监听端口。
1 |
|
最后运行exe文件 Start-Process “shell-name.exe” 等待监听
提权
现在还不是administrator权限。
先到powershell模式下
1 |
|
查看一下分配的权限 whoami /priv
这里的话其实能提权的地方不少,但是有的需要远程登陆到windows上才行,但也有我们能用的。
SeImpersonatePrivilege和SeDebugPrivilege
对于模拟令牌,有不同的级别:
- SecurityAnonymous:当前用户/客户端无法冒充其他用户/客户端
- SecurityIdentification:当前用户/客户端可以获取客户端的身份和权限,但不能冒充客户端
- SecurityImpersonation:当前用户/客户端可以在本地系统上模拟客户端的安全上下文
- SecurityDelegation:当前用户/客户端可以在远程系统上模拟客户端的安全上下文
下面是一些比较常见的滥用的权限:
- SeImpersonatePrivilege
- SeAssignPrimaryPrivilege
- SeTcbPrivilege
- SeBackupPrivilege
- SeRestorePrivilege
- SeCreateTokenPrivilege
- SeLoadDriverPrivilege
- SeTakeOwnershipPrivilege
- SeDebugPrivilege
参考:https://www.exploit-db.com/papers/42556
下面是再meterpreter中使用这个提权方法。
1 |
|
这样即便有了更高权限,但是仍然不是特权用户,是由于 Windows 处理权限的方式 - 它使用进程的主令牌而不是模拟令牌来确定进程可以做什么或不能做什么。
我们ps看一下进程,找与getuid一样的程序。
还是有挺多的。 使用命令迁移,迁移到与getuid名称一样的程序。