昨天,我的下载文件夹中出现了一个不应该存在的文件。
Virustotal 自 2012 年起就知道该文件并将其报告为干净的 - 但似乎其他人也遇到过这种情况。
还有人知道更多吗?还有人见过这种情况吗?我认为这是无害的,是由错误引起的,但也许不是?
File: a.out 1759 bytes
MD5 f61595bec6cc87903ce1677723c878cb
SHA1 fbe66f197516eed6bb357db1bb19ed0d2c3d8fa8
SHA256 e20c67711743553e16501b65a9921f59643edafd32d46e37f916d43e0023ffc3
ssdeep
12:Bvw/bg0scb46s4czclqJ/dXrI2+1E2X3VE6XVZ6tXcq/+/39WuZ8KVXMnikezGFE:GfE6s+u+NHdX+tMqQMOMW
Disassembly:
a.out: file format elf64-x86-64
Disassembly of section .interp:
0000000000400158 <.interp>:
400158: 2f (bad)
400159: 6c insb (%dx),%es:(%rdi)
40015a: 69 62 2f 6c 64 36 34 imul $0x3436646c,0x2f(%rdx),%esp
400161: 2e 73 6f jae,pn 4001d3 <_GLOBAL_OFFSET_TABLE_+0x4001d3>
400164: 2e 31 00 xor %eax,%cs:(%rax)
Disassembly of section .hash:
0000000000400168 <.hash>:
400168: 01 00 add %eax,(%rax)
...
Disassembly of section .dynstr:
0000000000400178 <.dynstr>:
400178: 00 6c 69 62 add %ch,0x62(%rcx,%rbp,2)
40017c: 72 74 jb 4001f2 <_GLOBAL_OFFSET_TABLE_+0x4001f2>
40017e: 2e 73 6f jae,pn 4001f0 <_GLOBAL_OFFSET_TABLE_+0x4001f0>
400181: 2e 31 00 xor %eax,%cs:(%rax)
Disassembly of section .eh_frame:
0000000000400188 <.eh_frame>:
400188: 14 00 adc $0x0,%al
40018a: 00 00 add %al,(%rax)
40018c: 00 00 add %al,(%rax)
40018e: 00 00 add %al,(%rax)
400190: 01 7a 52 add %edi,0x52(%rdx)
400193: 00 01 add %al,(%rcx)
400195: 78 10 js 4001a7 <_GLOBAL_OFFSET_TABLE_+0x4001a7>
400197: 01 1b add %ebx,(%rbx)
400199: 0c 07 or $0x7,%al
40019b: 08 90 01 00 00 24 or %dl,0x24000001(%rax)
4001a1: 00 00 add %al,(%rax)
4001a3: 00 1c 00 add %bl,(%rax,%rax,1)
...
4001ae: 00 00 add %al,(%rax)
4001b0: 00 0e add %cl,(%rsi)
4001b2: 10 46 0e adc %al,0xe(%rsi)
4001b5: 18 4a 0f sbb %cl,0xf(%rdx)
4001b8: 0b 77 08 or 0x8(%rdi),%esi
4001bb: 80 00 3f addb $0x3f,(%rax)
4001be: 1a 3b sbb (%rbx),%bh
4001c0: 2a 33 sub (%rbx),%dh
4001c2: 24 22 and $0x22,%al
4001c4: 00 00 add %al,(%rax)
...
Disassembly of section .dynamic:
00000000006001c8 <_DYNAMIC>:
6001c8: 01 00 add %eax,(%rax)
6001ca: 00 00 add %al,(%rax)
6001cc: 00 00 add %al,(%rax)
6001ce: 00 00 add %al,(%rax)
6001d0: 01 00 add %eax,(%rax)
6001d2: 00 00 add %al,(%rax)
6001d4: 00 00 add %al,(%rax)
6001d6: 00 00 add %al,(%rax)
6001d8: 04 00 add $0x0,%al
6001da: 00 00 add %al,(%rax)
6001dc: 00 00 add %al,(%rax)
6001de: 00 00 add %al,(%rax)
6001e0: 68 01 40 00 00 pushq $0x4001
6001e5: 00 00 add %al,(%rax)
6001e7: 00 05 00 00 00 00 add %al,0x0(%rip) # 6001ed <_DYNAMIC+0x25>
6001ed: 00 00 add %al,(%rax)
6001ef: 00 78 01 add %bh,0x1(%rax)
6001f2: 40 00 00 add %al,(%rax)
6001f5: 00 00 add %al,(%rax)
6001f7: 00 06 add %al,(%rsi)
6001f9: 00 00 add %al,(%rax)
6001fb: 00 00 add %al,(%rax)
6001fd: 00 00 add %al,(%rax)
6001ff: 00 78 01 add %bh,0x1(%rax)
600202: 40 00 00 add %al,(%rax)
600205: 00 00 add %al,(%rax)
600207: 00 0a add %cl,(%rdx)
600209: 00 00 add %al,(%rax)
60020b: 00 00 add %al,(%rax)
60020d: 00 00 add %al,(%rax)
60020f: 00 0c 00 add %cl,(%rax,%rax,1)
600212: 00 00 add %al,(%rax)
600214: 00 00 add %al,(%rax)
600216: 00 00 add %al,(%rax)
600218: 0b 00 or (%rax),%eax
60021a: 00 00 add %al,(%rax)
60021c: 00 00 add %al,(%rax)
60021e: 00 00 add %al,(%rax)
600220: 18 00 sbb %al,(%rax)
600222: 00 00 add %al,(%rax)
600224: 00 00 add %al,(%rax)
600226: 00 00 add %al,(%rax)
600228: 15 00 00 00 00 adc $0x0,%eax
...
当时没有运行编译作业。
Ubuntu 12.04.04 LTS 64 位。
使用 Firefox 从 sourceforge 下载软件包时出现此文件。
与其中一个下载内容具有相同的时间戳。
计算机通过带防火墙的路由器连接到互联网。
- 我确信该文件不是我自己创建的。
- 除了我发起的下载之外,浏览器不显示任何下载。
- 当时没有网站可能被感染 —— 除非 Nixnote 的 sourceforge 页面被黑客入侵。
- 统计数据未显示任何值得注意的信息,没有设定出生日期。
readelf 输出:
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x0
Start of program headers: 64 (bytes into file)
Start of section headers: 744 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 5
Size of section headers: 64 (bytes)
Number of section headers: 10
Section header string table index: 7
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .interp PROGBITS 0000000000400158 00000158
000000000000000f 0000000000000000 A 0 0 1
[ 2] .hash HASH 0000000000400168 00000168
000000000000000c 0000000000000004 A 3 0 8
[ 3] .dynsym DYNSYM 0000000000400178 00000178
0000000000000000 0000000000000018 A 4 1 8
[ 4] .dynstr STRTAB 0000000000400178 00000178
000000000000000c 0000000000000000 A 0 0 1
[ 5] .eh_frame PROGBITS 0000000000400188 00000188
0000000000000040 0000000000000000 A 0 0 8
[ 6] .dynamic DYNAMIC 00000000006001c8 000001c8
00000000000000d0 0000000000000010 WA 4 0 8
[ 7] .shstrtab STRTAB 0000000000000000 00000298
000000000000004c 0000000000000000 0 0 1
[ 8] .symtab SYMTAB 0000000000000000 00000568
0000000000000138 0000000000000018 9 9 8
[ 9] .strtab STRTAB 0000000000000000 000006a0
000000000000003f 0000000000000000 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000400040 0x0000000000400040
0x0000000000000118 0x0000000000000118 R E 8
INTERP 0x0000000000000158 0x0000000000400158 0x0000000000400158
0x000000000000000f 0x000000000000000f R 1
[Requesting program interpreter: /lib/ld64.so.1]
LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
0x00000000000001c8 0x00000000000001c8 R 200000
LOAD 0x00000000000001c8 0x00000000006001c8 0x00000000006001c8
0x00000000000000d0 0x00000000000000d0 RW 200000
DYNAMIC 0x00000000000001c8 0x00000000006001c8 0x00000000006001c8
0x00000000000000d0 0x00000000000000d0 RW 8
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .hash .dynsym .dynstr .eh_frame
03 .dynamic
04 .dynamic
Dynamic section at offset 0x1c8 contains 8 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [librt.so.1]
0x0000000000000004 (HASH) 0x400168
0x0000000000000005 (STRTAB) 0x400178
0x0000000000000006 (SYMTAB) 0x400178
0x000000000000000a (STRSZ) 12 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000000 (NULL) 0x0
There are no relocations in this file.
There are no unwind sections in this file.
Symbol table '.dynsym' contains 0 entries:
Num: Value Size Type Bind Vis Ndx Name
Symbol table '.symtab' contains 13 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000400158 0 SECTION LOCAL DEFAULT 1
2: 0000000000400168 0 SECTION LOCAL DEFAULT 2
3: 0000000000400178 0 SECTION LOCAL DEFAULT 3
4: 0000000000400178 0 SECTION LOCAL DEFAULT 4
5: 0000000000400188 0 SECTION LOCAL DEFAULT 5
6: 00000000006001c8 0 SECTION LOCAL DEFAULT 6
7: 00000000006001c8 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC
8: 0000000000000000 0 OBJECT LOCAL DEFAULT 6 _GLOBAL_OFFSET_TABLE_
9: 0000000000600298 0 NOTYPE GLOBAL DEFAULT ABS _edata
10: 0000000000600298 0 NOTYPE GLOBAL DEFAULT ABS _end
11: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _start
12: 0000000000600298 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
Histogram for bucket list length (total of 1 buckets):
Length Number % of total Coverage
0 1 (100.0%)
No version information found in this file.
答案1
a.out
是使用编译器套件编译某些内容的默认输出文件名GCC
。
make
如果您最近下载了需要编译的内容并运行过gcc
,那么答案可能就是如此。您可能可以弄清楚它是什么,strings a.out | less
并查看它包含哪些字符串;这往往比十六进制化更容易一些。
如果你确定这不是你自己创作的,请检查创作日期 ( stat a.out
) 并检查浏览器的下载历史记录。这可能会提示你从哪里下载的。
如果做不到这一点,请检查您的正常浏览历史记录。可能会解释您在做什么(以及您是否接触过任何可能感染您的东西)。
答案2
如果您运行命令ld -lrt
,ld 将创建一个具有相同哈希值的文件“a.out”。
您可能使用错误输入的ls -lrt
命令创建了此文件。
答案3
也许您从 sourceforge 下载了该文件作为安装程序?如果它是病毒,最好检查一下... 按 Ctrl-Alt-T,将打开一个终端。输入
file ~/Downloads/a.out
如果它没有显示任何错误,请使用 readelf 命令和 elfedit 命令进行调查。在此处发布输出。
J.P
答案4
我也遇到过这种情况(我使用的是 Ubuntu 16.04 LTS,文件出现在我的主文件夹中)。当我回溯并查看我在终端中使用过的命令时,我发现我在尝试理解汇编语言时使用了“as”命令。用户输入“as”而不是“ls”的可能性很小,这种情况会发生(可能吗?)。
只是一个想法。