欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

对安全审计软件的一次安全审计

来源:本站整理 作者:佚名 时间:2017-07-12 TAG: 我要投稿


前段时间,我们注意到,一些安全研究者正对杀毒软件等安全产品的重要漏洞进行了相关研究,而这些安全产品可能对企业和桌面用户造成破坏性影响。看看Google Project Zero对Kaspersky、Comodo、Avast等多种杀毒软件高危漏洞披露,也够让我们震惊的了。
关键的问题是,现在人们普遍认为安全产品本身就是安全可靠的,而其实,安全产品本身引入的攻击面正逐步增加。甚至有一些安全专家认为,大多数杀毒软件企业技术已经落后于那些具备沙盒防护、漏洞缓解和成熟漏洞众测项目的互联网大公司。安全产品其实并不安全。就如同一年前我们对名为LepideAuditor Suite的企业合规性审计软件进行的一些安全审计那样,它们也会出现漏洞,也会给用户造成安全影响。
软件安装
该软件套装为IT安全管理和审计之用,解压后,共包含四个安装组件,我们从Lepide Auditor Web Console开始安装:

安装非常简单,结合WAMP可以访问到一个web接口,登录端要求客户端IP、用户名和密码。

审计开始
待程序和服务启动之后,利用Process Explorer查看Lepide相关进程:

观察发现,其web控制端以NT AUTHORITY\SYSTEM权限7778端口运行,具体文件位置于C:\LepideAuditorSuiteWebConsole\apache。查看该目录发现,Lepide是PHP架构。
认证绕过
从简单的开始,我们决定从认证机制开始研究:

很快,在burpsuite帮助下,我们发现认证进程在获取服务端响应时需要花费稍长时间(大约为6秒),另外,程序在认证过程中还需要额外的服务端参数作为输入,这有点不正常。后经发现,原来这是Apache应用在执行DNS查询请求测试。
在没有用户登录账户和不具备太多登录功能的前提下,我们直接对其PHP源码进行了审计。首先来看看index.php页面的登录功能:

看到这里,我们认为,这种base64混淆技术不如ionCube或Zend Guard的JIT混淆技术好。破解了base64加密机制后,我们发现了以下代码:
 
session_start();
if((isset($_SESSION["username"]))&&($_SESSION["username"]!=""))
{
    //header("location: data.php" );
    //exit();
}
?>
 include_once("config.php"); ?>
$error='';
if(isset($_POST["submit"])){
    $servername = isset($_POST["servername"])?mysql_real_escape_string($_POST["servername"]):"";    $username = isset($_POST["username"])?mysql_real_escape_string($_POST["username"]):"";    $password = isset($_POST["password"])?mysql_real_escape_string($_POST["password"]):"";    if ($servername=="") {
        $error= "Please Enter Server Name";
    }
    elseif ($username=="") {
        $error= "Please Enter Username";
    }
    //elseif (strpos($username,'@')==false) {
    //  $error= 'Please Enter Valid Username';
    //}
    elseif ($username=="")  {
        $error= "Please Enter Password";
    }
    if($error=="")  {
        $port=1056;
        $sock=connect ($servername,$port);        if($sock) {
            $_SESSION["socket"]=$sock;
            $data= 601; //authenticate login
            if(sendtags($_SESSION["socket"],$data))
            {
                if(sendstringtoserver($_SESSION["socket"],$username))                {

[1] [2] [3] [4] [5] [6]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载