<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>大马 &#8211; ChaBug安全</title>
	<atom:link href="/tags/%E5%A4%A7%E9%A9%AC/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>一个分享知识、结识伙伴、资源共享的博客</description>
	<lastBuildDate>Sat, 15 Feb 2020 17:12:00 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.5</generator>
	<item>
		<title>通过hook eval解密混淆的PHP文件</title>
		<link>/web/1202.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Sat, 15 Feb 2020 17:12:00 +0000</pubDate>
				<category><![CDATA[渗透测试]]></category>
		<category><![CDATA[hook]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[二进制]]></category>
		<category><![CDATA[加密]]></category>
		<category><![CDATA[大马]]></category>
		<category><![CDATA[混淆]]></category>
		<guid isPermaLink="false">/?p=1202</guid>

					<description><![CDATA[扒开加密shell的底裤。 想找一款好用的大马，还得分析分析有没有后门，但很多大马都是加密的，于是想试试能不能解密这些鬼代码，遂有此文。 PHP混淆原理 一般来讲，混淆分为两种 1...]]></description>
										<content:encoded><![CDATA[<p>扒开<span class="wpcom_tag_link"><a href="/tags/%e5%8a%a0%e5%af%86" title="加密" target="_blank">加密</a></span><span class="wpcom_tag_link"><a href="/tags/shell" title="shell" target="_blank">shell</a></span>的底裤。</p>
<p><span id="more-1202"></span></p>
<p>想找一款好用的<span class="wpcom_tag_link"><a href="/tags/%e5%a4%a7%e9%a9%ac" title="大马" target="_blank">大马</a></span>，还得分析分析有没有后门，但很多大马都是加密的，于是想试试能不能解密这些鬼代码，遂有此文。</p>
<h2><span class="wpcom_tag_link"><a href="/tags/php" title="PHP" target="_blank">PHP</a></span><span class="wpcom_tag_link"><a href="/tags/%e6%b7%b7%e6%b7%86" title="混淆" target="_blank">混淆</a></span>原理</h2>
<p>一般来讲，混淆分为两种<br />
1. 利用拓展进行加密<br />
2. 不需要拓展，单文件加密</p>
<p>本文主要针对第二种，而单文件加密的一般都是对源码进行字符串操作，比如对字符串移位、拼接，或者重新定义变量，重新赋值数组，总之就是尽可能减少程序可读性。但是所有加密过的代码都会经过多次eval来重新还原为php代码执行，所以我们可以<span class="wpcom_tag_link"><a href="/tags/hook" title="hook" target="_blank">hook</a></span> PHP中的eval函数来输出经过eval函数的参数，参数就是源码。</p>
<h2>hook eval</h2>
<p>PHP中的eval函数在Zend里需要调用zend_compile_string函数，我们写一个拓展直接hook这个函数就行了。不过我不会写c代码，所以参考网上的文章，在GitHub中找到了现成的一个拓展库。</p>
<p>https://github.com/bizonix/evalhook 需要编译，不过我在文末提供了编译好的so文件。</p>
<p>修改 evalhook.c 中这部分代码，否则只能在命令行中使用。</p>
<p><img src="https://y4er.com/img/uploads/20200202214739.png" alt="image" /></p>
<pre><code class="language-c ">static zend_op_array *evalhook_compile_string(zval *source_string, char *filename TSRMLS_DC)
{
        int c, len, yes;
        char *copy;

        /* Ignore non string eval() */
        if (Z_TYPE_P(source_string) != IS_STRING) {
                return orig_compile_string(source_string, filename TSRMLS_CC);
        }

        len  = Z_STRLEN_P(source_string);
        copy = estrndup(Z_STRVAL_P(source_string), len);
        if (len &gt; strlen(copy)) {
                for (c=0; c&lt;len; c++) if (copy[c] == 0) copy[c] == '?';
        }
        php_printf("n--------- Decrypt start ------------n");
        php_printf(copy);
        php_printf("n--------- Decrypt done ------------n");
        return orig_compile_string(source_string, filename TSRMLS_CC);

}
</code></pre>
<p>centos php5.6+apache 然后运行</p>
<pre><code class="">yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install --enablerepo=remi --enablerepo=remi-php56 php-devel
phpize &amp;&amp; ./configure &amp;&amp; make
</code></pre>
<p>将 evalhook/modules/evalhook.so 拷贝到 php 的拓展目录下，并且向php.ini中添加</p>
<pre><code class="">extension=evalhook.so
</code></pre>
<p>重新启动apache之后，可以通过web访问php文件，会直接打印出源码。</p>
<p>拿一个大马举例，没加拓展之前访问。</p>
<p><img src="/wp-content/uploads/2020/02/20200202217147.png" alt="image" /></p>
<p>加了拓展之后</p>
<p><img src="/wp-content/uploads/2020/02/20200202211173.png" alt="image" /></p>
<h2>参考链接</h2>
<p><a class="wp-editor-md-post-content-link" href="http://weaponx.site/2018/04/27/%E8%A7%A3%E5%AF%86%E6%B7%B7%E6%B7%86%E7%9A%84PHP%E7%A8%8B%E5%BA%8F/">解密混淆的PHP程序</a><br />
http://blog.evalbug.com/2017/09/21/phpdecode_01/<br />
https://www.leavesongs.com/PENETRATION/unobfuscated-phpjiami.html<br />
https://github.com/bizonix/evalhook<br />
<a class="wp-editor-md-post-content-link" href="https://gitee.com/Y4er/static/raw/master/hook.so">放一个我基于PHP 5.6.40编译好的so文件</a></p>
<p><strong>文笔垃圾，措辞轻浮，内容浅显，操作生疏。不足之处欢迎大师傅们指点和纠正，感激不尽。</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP免杀大马的奇淫技巧</title>
		<link>/web/601.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Sat, 17 Nov 2018 14:48:19 +0000</pubDate>
				<category><![CDATA[渗透测试]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[免杀]]></category>
		<category><![CDATA[大马]]></category>
		<guid isPermaLink="false">/?p=601</guid>

					<description><![CDATA[Part 1 常见PHP大马: Part 2 大马后门检查: Fiddler 抓包 审计代码 这里我以http://webshell8.com/ 这里的大马为例子演示 修改并运行脚...]]></description>
										<content:encoded><![CDATA[<h2 class="md-end-block md-heading">Part 1</h2>
<p class="md-end-block">常见<span class="wpcom_tag_link"><a href="/tags/php" title="PHP" target="_blank">PHP</a></span><span class="wpcom_tag_link"><a href="/tags/%e5%a4%a7%e9%a9%ac" title="大马" target="_blank">大马</a></span>:</p>
<p class="md-end-block"><span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfqfzdtrj30zo0kr0yh.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfqfzdtrj30zo0kr0yh.jpg" /></span></p>
<p class="md-end-block"><span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfqq0ukjj31000niagi.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfqq0ukjj31000niagi.jpg" /></span></p>
<h2 class="md-end-block md-heading">Part 2</h2>
<p class="md-end-block">大马后门检查: <span spellcheck="false"><code>Fiddler</code></span> 抓包</p>
<p class="md-end-block"><span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfqy66gjj30ut0lb789.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfqy66gjj30ut0lb789.jpg" /></span></p>
<p class="md-end-block">审计代码</p>
<p class="md-end-block">这里我以<span class="md-link" spellcheck="false"><a href="http://webshell8.com/">http://webshell8.com/</a></span> 这里的大马为例子演示</p>
<p class="md-end-block">修改并运行脚本 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfr6sosvj30uk0dvmz0.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfr6sosvj30uk0dvmz0.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>Burp</code></span>抓包或者右键查看原代码 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfrofo55j30zo0n610l.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfrofo55j30zo0n610l.jpg" /></span></p>
<p class="md-end-block">修改并运行代码 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfrx13aoj30tf0h9taa.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfrx13aoj30tf0h9taa.jpg" /></span></p>
<p class="md-end-block">再使用<span spellcheck="false"><code>Burp</code></span>抓个包 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfs4c3j1j30zo0lntgg.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfs4c3j1j30zo0lntgg.jpg" /></span></p>
<p class="md-end-block">查找关键字<span spellcheck="false"><code>GetHtml</code></span> <span spellcheck="false"><code>hmlogin</code></span> <span spellcheck="false"><code>localhost</code></span>等 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfsbrf4cj30tf0bzabr.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfsbrf4cj30tf0bzabr.jpg" /></span></p>
<p class="md-end-block">把上图的<span spellcheck="false"><code>base64</code></span>代码解密下 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfsrowcuj30sf0iuq4w.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfsrowcuj30sf0iuq4w.jpg" /></span></p>
<h2 class="md-end-block md-heading">Part 3</h2>
<p class="md-end-block">大马源码<span class="wpcom_tag_link"><a href="/tags/%e5%85%8d%e6%9d%80" title="免杀" target="_blank">免杀</a></span></p>
<p class="md-end-block">这里我使用的是国外的一款大马<span spellcheck="false"><code>b374k</code></span>来进行免杀。 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfsz55kcj30zo0g40yd.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfsz55kcj30zo0g40yd.jpg" /></span></p>
<p class="md-end-block">执行代码 <span spellcheck="false"><code>eval</code></span> 或 <span spellcheck="false"><code>preg_replace的/e修饰符</code></span>来执行大马代码。 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbft9zeonj307208cjsk.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbft9zeonj307208cjsk.jpg" /></span></p>
<pre class="lang:default decode:true ">$a = 'phpinfo();';
eval($a);
//eval执行php代码</pre>
<p>&nbsp;</p>
<p class="md-end-block">编码</p>
<p class="md-end-block">如果直接去执行代码，是过不了waf的，我们一般需要将大马源码进行编码。 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfthzl8fj30d303kjre.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfthzl8fj30d303kjre.jpg" /></span></p>
<pre class="lang:default decode:true ">$code= file_get_contents('D:\phpStudy\WWW\Test\Zlib\help.txt'); //大马源码路径
$encode = base64_encode(gzdeflate($code));  //加密函数自己修改就行
echo $encode; //输出加密后代码</pre>
<p>&nbsp;</p>
<p class="md-end-block">在线加解密码 <span class=" md-link"><a spellcheck="false" href="http://www.zhuisu.net/tool/phpencode.php">点这里</a></span></p>
<p class="md-end-block">这里我先将b374k的源码去掉<span spellcheck="false"><code>&lt;?php ?&gt;</code></span>后，<span spellcheck="false"><code>base64</code></span>加密 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfts9awxj30sf0iwwgj.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfts9awxj30sf0iwwgj.jpg" /></span></p>
<p class="md-end-block">解码</p>
<p class="md-end-block">通过解码执行我们的代码。 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfu0ictaj30bw03eq2u.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfu0ictaj30bw03eq2u.jpg" /></span></p>
<p class="md-end-block">那我们来试试解码并执行刚刚base64加密的大马。</p>
<pre class="lang:default decode:true ">&lt;?php
eval(base64_decode('刚刚加密的代码'));
?&gt;</pre>
<p>&nbsp;</p>
<p class="md-end-block"><span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfu943qhj30zo0hbajy.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfu943qhj30zo0hbajy.jpg" /></span></p>
<p class="md-end-block">关键字免杀</p>
<pre class="lang:default decode:true ">// 类型这样的关键字如果没有混淆拆分是过不了waf的
eval(base64_decode('code'));
// 我们需要做的就是关键字免杀</pre>
<p>&nbsp;</p>
<p class="md-end-block md-focus">免杀 <span class="md-expand" spellcheck="false"><code>payload 1</code></span> 过狗过D盾 注意: <span spellcheck="false"><code>code</code></span>就是我们刚刚<span spellcheck="false"><code>加密的base64</code></span>代码。 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfuhuuyqj30ma0bgjrv.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfuhuuyqj30ma0bgjrv.jpg" /></span></p>
<p class="md-end-block">免杀 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfupwkd4j312m0n1wmt.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfupwkd4j312m0n1wmt.jpg" /></span></p>
<p class="md-end-block">D盾规则库 <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfuwhvw9j30n70g5gma.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfuwhvw9j30n70g5gma.jpg" /></span></p>
<p class="md-end-block">免杀 <span spellcheck="false"><code>payload 2</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfv3dci3j30m407mmxd.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfv3dci3j30m407mmxd.jpg" /></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfva5s6qj30zo0lxdnj.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfva5s6qj30zo0lxdnj.jpg" /></span></p>
<p class="md-end-block">总结，源码免杀就到这里了，其实只需要些php基础，轻松免杀。</p>
<h2 class="md-end-block md-heading">Part 4</h2>
<p class="md-end-block">只有几百字节的大马</p>
<p class="md-end-block">首先我们需要了解，几百字节是什么概念 <span spellcheck="false"><code>1kb</code></span> <span spellcheck="false"><code>=</code></span> <span spellcheck="false"><code>1024b</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfvieynkj304g04gdg9.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfvieynkj304g04gdg9.jpg" /></span></p>
<p class="md-end-block">那么我们怎么实现呢，2种思路<span spellcheck="false"><code>远程读取</code></span>和<span spellcheck="false"><code>远程下载</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfvq8foej305i05i752.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfvq8foej305i05i752.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>远程读取</code></span> <span spellcheck="false"><code>payload 3</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfvxu7w1j30tn087wf1.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfvxu7w1j30tn087wf1.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>上传txt</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfw74t0kj30vf0dkmzd.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfw74t0kj30vf0dkmzd.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>免杀</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfwefh6nj312e0l7dmt.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfwefh6nj312e0l7dmt.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>payload 4</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfwlf79dj30ll05xglt.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfwlf79dj30ll05xglt.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>免杀</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfwsa2dxj314w0kan4m.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfwsa2dxj314w0kan4m.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>远程下载</code></span> <span spellcheck="false"><code>payload 5</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbg5u7volj30pq08xaaf.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbg5u7volj30pq08xaaf.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>免杀</code></span> <span class="md-image md-img-loaded" contenteditable="false" data-src="https://ws1.sinaimg.cn/large/006xriynly1fxbfx94jzyj30zo0o8qau.jpg"><img src="https://ws1.sinaimg.cn/large/006xriynly1fxbfx94jzyj30zo0o8qau.jpg" /></span></p>
<p class="md-end-block"><span spellcheck="false"><code>大小</code></span>最小的一百多字节，其他2个两百多字节那样子。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP大马免杀思路附成品</title>
		<link>/tools/364.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Wed, 28 Feb 2018 23:17:00 +0000</pubDate>
				<category><![CDATA[工具分享]]></category>
		<category><![CDATA[D盾]]></category>
		<category><![CDATA[免杀]]></category>
		<category><![CDATA[大马]]></category>
		<category><![CDATA[过狗]]></category>
		<guid isPermaLink="false">/?p=258</guid>

					<description><![CDATA[PHP大马免杀 0x00 介绍 前篇文章我与某狗的恩恩怨怨也介绍了一种，免杀大马的姿势，今天再介绍一种，思路来源T00ls论坛。 0x01 源码 还是一样大马源码一份，然后base...]]></description>
										<content:encoded><![CDATA[<h1>PHP<span class="wpcom_tag_link"><a href="/tags/%e5%a4%a7%e9%a9%ac" title="大马" target="_blank">大马</a></span><span class="wpcom_tag_link"><a href="/tags/%e5%85%8d%e6%9d%80" title="免杀" target="_blank">免杀</a></span></h1>
<h2>0x00 介绍</h2>
<blockquote><p>前篇文章<a href="/archives/224.html">我与某狗的恩恩怨怨</a>也介绍了一种，免杀大马的姿势，今天再介绍一种，思路来源T00ls论坛。</p></blockquote>
<h2>0x01 源码</h2>
<p>还是一样大马源码一份，然后base64加密。<br />直接上代码了。</p>
<p>本地测试<span class="wpcom_tag_link"><a href="/tags/%e8%bf%87%e7%8b%97" title="过狗" target="_blank">过狗</a></span>过<span class="wpcom_tag_link"><a href="/tags/d%e7%9b%be" title="D盾" target="_blank">D盾</a></span>，当然这是静态免杀。<br />感觉你们会觉得我不上图，不信我，那就自己动手手试试= =。</p>
<h2>0x02 思路</h2>
<p>可以看到首先base64加密，然后就像编写一句话一样，去执行我们的代码，也就是base64加密的的，思路还是可以扩展很多的，但是会waf拦截某些函数执行，就换份大马源码，但是这种方法过狗足够了。</p>
<h2>0x03 成品</h2>
<p>上传到GitHub了 <a href="https://github.com/ChaBug/shell/blob/master/php/dama_bypass.php">下载地址</a><br />另外这个大马是国外的，用不习惯的自行加密更换</p>
<p>补图：(1.php是大马)<br /><img src="/wp-content/uploads/2018/02/3600173245.jpg" alt="bypass.jpg" title="bypass.jpg"></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
