🤲🏼 NEW | abuse.ch Community Hub! Earn recognition 🏅 for the malware intelligence you share, climb the leaderboards 📈, and connect with like-minded contributors who share your hunting focus 🤝. Ready to unlock your profile? Go to the Community Hub →

MalwareBazaar Database

You are currently viewing the MalwareBazaar entry for SHA256 ff33bc871d0f05d3049b84dee6edd44a9d761395a0617d09d6216adcb6b0bbc8. While MalwareBazaar tries to identify whether the sample provided is malicious or not, there is no guarantee that a sample in MalwareBazaar is malicious.

Database Entry



Mirai


Vendor detections: 9


Intelligence 9 IOCs YARA 11 File information Comments

SHA256 hash: ff33bc871d0f05d3049b84dee6edd44a9d761395a0617d09d6216adcb6b0bbc8
SHA3-384 hash: a17e1ab1d783147be6f06cef6c2fc37ebc6954a7c15d5197676a0ba3aac6583ee5517c35346706a1af282a4fb312e549
SHA1 hash: ae848e121a31b3c571fdd8d05dfe8d5cb93b6cc2
MD5 hash: 3d05db587b2c77c320a2fd0261a0590f
humanhash: diet-friend-table-don
File name:na
Download: download sample
Signature Mirai
File size:1'288'875 bytes
First seen:2026-10-28 03:47:01 UTC
Last seen:2026-10-28 11:34:12 UTC
File type: elf
MIME type:application/x-executable
ssdeep 24576:S7PjxB4gb5n8X1zaP7axA+d+a4TIucpWETPjkjcSV:SDjxB4m5n8XlaPWi+d+a4TjxQP4X
TLSH T1DF556BBBF2A770BCC167D030478BCBA2AC35B4B501212D7B61C4A9763D62DE11766B27
telfhash t10ad1bb700bf635b061dbca20f343f1754d3214ba65f439e42662be88ef95e414c6e52b
TrID 50.1% (.) ELF Executable and Linkable format (Linux) (4022/12)
49.8% (.O) ELF Executable and Linkable format (generic) (4000/1)
Magika elf
Reporter abuse_ch
Tags:elf mirai Prometei

Intelligence


File Origin
# of uploads :
2
# of downloads :
89
Origin country :
DE DE
Vendor Threat Intelligence
No detections
Verdict:
Unknown
Threat level:
  2.5/10
Confidence:
100%
Tags:
base64 gcc
Verdict:
Malicious
Uses P2P?:
false
Uses anti-vm?:
false
Architecture:
x86
Packer:
not packed
Botnet:
unknown
Number of open files:
123
Number of processes launched:
30
Processes remaning?
false
Remote TCP ports scanned:
not identified
Behaviour
Persistence
Botnet C2s
TCP botnet C2(s):
not identified
UDP botnet C2(s):
not identified
Verdict:
Malicious
File Type:
elf.64.le
First seen:
2026-10-28T12:29:00Z UTC
Last seen:
2026-10-28T12:54:00Z UTC
Hits:
~10
Status:
terminated
Behavior Graph:
%3 guuid=8d574f2e-1600-0000-120a-6c81280d0000 pid=3368 /usr/bin/sudo guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369 /tmp/sample.bin delete-file write-file guuid=8d574f2e-1600-0000-120a-6c81280d0000 pid=3368->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369 execve guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3383 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3383 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3384 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3384 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3388 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3388 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3389 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3389 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3531 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3531 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3532 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3532 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3709 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3709 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3710 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3710 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3952 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3952 clone guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3954 /tmp/sample.bin guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3954 clone guuid=47dc4255-1700-0000-120a-6c8166100000 pid=4198 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=47dc4255-1700-0000-120a-6c8166100000 pid=4198 execve guuid=4299f778-1700-0000-120a-6c811b110000 pid=4379 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=4299f778-1700-0000-120a-6c811b110000 pid=4379 execve guuid=e5d4209d-1700-0000-120a-6c81c1110000 pid=4545 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3369->guuid=e5d4209d-1700-0000-120a-6c81c1110000 pid=4545 execve guuid=d23f604c-1600-0000-120a-6c81390d0000 pid=3385 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3384->guuid=d23f604c-1600-0000-120a-6c81390d0000 pid=3385 execve guuid=6f07ab4c-1600-0000-120a-6c813a0d0000 pid=3386 /usr/bin/pgrep guuid=d23f604c-1600-0000-120a-6c81390d0000 pid=3385->guuid=6f07ab4c-1600-0000-120a-6c813a0d0000 pid=3386 execve guuid=7f2a2853-1600-0000-120a-6c813e0d0000 pid=3390 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3389->guuid=7f2a2853-1600-0000-120a-6c813e0d0000 pid=3390 execve guuid=fb1e5653-1600-0000-120a-6c813f0d0000 pid=3391 /usr/bin/pgrep guuid=7f2a2853-1600-0000-120a-6c813e0d0000 pid=3390->guuid=fb1e5653-1600-0000-120a-6c813f0d0000 pid=3391 execve guuid=5cdba491-1600-0000-120a-6c81cd0d0000 pid=3533 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3532->guuid=5cdba491-1600-0000-120a-6c81cd0d0000 pid=3533 execve guuid=a6392b92-1600-0000-120a-6c81d00d0000 pid=3536 /usr/sbin/killall5 guuid=5cdba491-1600-0000-120a-6c81cd0d0000 pid=3533->guuid=a6392b92-1600-0000-120a-6c81d00d0000 pid=3536 execve guuid=dbec22d0-1600-0000-120a-6c817f0e0000 pid=3711 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3710->guuid=dbec22d0-1600-0000-120a-6c817f0e0000 pid=3711 execve guuid=b3ccfed0-1600-0000-120a-6c81800e0000 pid=3712 /usr/bin/pgrep guuid=dbec22d0-1600-0000-120a-6c817f0e0000 pid=3711->guuid=b3ccfed0-1600-0000-120a-6c81800e0000 pid=3712 execve guuid=c9b0dc16-1700-0000-120a-6c81740f0000 pid=3956 /usr/bin/dash guuid=8bac5a30-1600-0000-120a-6c81290d0000 pid=3954->guuid=c9b0dc16-1700-0000-120a-6c81740f0000 pid=3956 execve guuid=15261b17-1700-0000-120a-6c81750f0000 pid=3957 /usr/sbin/killall5 guuid=c9b0dc16-1700-0000-120a-6c81740f0000 pid=3956->guuid=15261b17-1700-0000-120a-6c81750f0000 pid=3957 execve guuid=711f7a55-1700-0000-120a-6c8169100000 pid=4201 /usr/bin/systemctl guuid=47dc4255-1700-0000-120a-6c8166100000 pid=4198->guuid=711f7a55-1700-0000-120a-6c8169100000 pid=4201 execve guuid=bfad2879-1700-0000-120a-6c811d110000 pid=4381 /usr/bin/systemctl guuid=4299f778-1700-0000-120a-6c811b110000 pid=4379->guuid=bfad2879-1700-0000-120a-6c811d110000 pid=4381 execve guuid=cdec629d-1700-0000-120a-6c81c2110000 pid=4546 /usr/bin/systemctl guuid=e5d4209d-1700-0000-120a-6c81c1110000 pid=4545->guuid=cdec629d-1700-0000-120a-6c81c2110000 pid=4546 execve guuid=2fdaba13-0000-0000-120a-6c8101000000 pid=1 /usr/lib/systemd/systemd guuid=ad5c8c9e-1700-0000-120a-6c81c7110000 pid=4551 /usr/sbin/uplugplay guuid=2fdaba13-0000-0000-120a-6c8101000000 pid=1->guuid=ad5c8c9e-1700-0000-120a-6c81c7110000 pid=4551 execve guuid=cc87b6aa-1700-0000-120a-6c81ea110000 pid=4586 /usr/sbin/uplugplay guuid=ad5c8c9e-1700-0000-120a-6c81c7110000 pid=4551->guuid=cc87b6aa-1700-0000-120a-6c81ea110000 pid=4586 clone guuid=a0fed2aa-1700-0000-120a-6c81eb110000 pid=4587 /usr/bin/dash guuid=cc87b6aa-1700-0000-120a-6c81ea110000 pid=4586->guuid=a0fed2aa-1700-0000-120a-6c81eb110000 pid=4587 execve guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591 /usr/sbin/uplugplay dns net send-data write-config guuid=a0fed2aa-1700-0000-120a-6c81eb110000 pid=4587->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591 execve 307c4fa1-d271-522b-893e-8c79d271b863 177.221.180.26:80 guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->307c4fa1-d271-522b-893e-8c79d271b863 send: 1075B 99a07b9c-a06a-5036-a75d-39daa574df85 255.255.255.255:53 guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->99a07b9c-a06a-5036-a75d-39daa574df85 send: 100B 8b0a01dc-0728-52c1-8024-c4ba7801b8d6 8.8.8.8:53 guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->8b0a01dc-0728-52c1-8024-c4ba7801b8d6 send: 36B guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4648 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4648 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4724 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4724 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4732 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4732 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4795 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4795 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4796 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4796 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4806 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4806 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4807 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4807 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4830 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4830 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4831 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4831 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4859 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4859 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4860 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4860 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4868 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4868 clone guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4870 /usr/sbin/uplugplay guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4591->guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4870 clone guuid=24718bd5-1700-0000-120a-6c817e120000 pid=4734 /usr/bin/dash guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4732->guuid=24718bd5-1700-0000-120a-6c817e120000 pid=4734 execve guuid=e3e1fad5-1700-0000-120a-6c8181120000 pid=4737 /usr/bin/hostnamectl guuid=24718bd5-1700-0000-120a-6c817e120000 pid=4734->guuid=e3e1fad5-1700-0000-120a-6c8181120000 pid=4737 execve guuid=62ea6fe3-1700-0000-120a-6c81bd120000 pid=4797 /usr/bin/dash guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4796->guuid=62ea6fe3-1700-0000-120a-6c81bd120000 pid=4797 execve guuid=13739de3-1700-0000-120a-6c81bf120000 pid=4799 /usr/bin/uptime guuid=62ea6fe3-1700-0000-120a-6c81bd120000 pid=4797->guuid=13739de3-1700-0000-120a-6c81bf120000 pid=4799 execve guuid=76a957e5-1700-0000-120a-6c81c8120000 pid=4808 /usr/bin/dash guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4807->guuid=76a957e5-1700-0000-120a-6c81c8120000 pid=4808 execve guuid=f73886e5-1700-0000-120a-6c81ca120000 pid=4810 /usr/bin/uname guuid=76a957e5-1700-0000-120a-6c81c8120000 pid=4808->guuid=f73886e5-1700-0000-120a-6c81ca120000 pid=4810 execve guuid=1e8d67eb-1700-0000-120a-6c81e1120000 pid=4833 /usr/bin/dash guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4831->guuid=1e8d67eb-1700-0000-120a-6c81e1120000 pid=4833 execve guuid=780095eb-1700-0000-120a-6c81e3120000 pid=4835 /usr/bin/hostnamectl guuid=1e8d67eb-1700-0000-120a-6c81e1120000 pid=4833->guuid=780095eb-1700-0000-120a-6c81e3120000 pid=4835 execve guuid=d1272ff2-1700-0000-120a-6c81fd120000 pid=4861 /usr/bin/dash guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4860->guuid=d1272ff2-1700-0000-120a-6c81fd120000 pid=4861 execve guuid=773a5bf2-1700-0000-120a-6c81ff120000 pid=4863 /usr/bin/uptime guuid=d1272ff2-1700-0000-120a-6c81fd120000 pid=4861->guuid=773a5bf2-1700-0000-120a-6c81ff120000 pid=4863 execve guuid=21e6c1f3-1700-0000-120a-6c8108130000 pid=4872 /usr/bin/dash guuid=4c5bf7aa-1700-0000-120a-6c81ef110000 pid=4870->guuid=21e6c1f3-1700-0000-120a-6c8108130000 pid=4872 execve guuid=d062f0f3-1700-0000-120a-6c810a130000 pid=4874 /usr/bin/uname guuid=21e6c1f3-1700-0000-120a-6c8108130000 pid=4872->guuid=d062f0f3-1700-0000-120a-6c810a130000 pid=4874 execve
Result
Threat name:
Prometei
Detection:
malicious
Classification:
troj.evad
Score:
84 / 100
Signature
Drops files in suspicious directories
Executes the "dmidecode" command for reading DMI BIOS info like hardware or serial numbers (indicative of machine fingerprinting or VM-detection)
Malicious sample detected (through community Yara rule)
Multi AV Scanner detection for submitted file
Sample deletes itself
Yara detected Prometei
Behaviour
Behavior Graph:
behaviorgraph top1 dnsIp2 2 Behavior Graph ID: 1993717 Sample: na.elf Startdate: 28/10/2026 Architecture: LINUX Score: 84 74 177.221.180.26, 37458, 37460, 80 WI-MAXINTERNETLTDABR Brazil 2->74 76 c.root-servers.net 2->76 78 Malicious sample detected (through community Yara rule) 2->78 80 Multi AV Scanner detection for submitted file 2->80 82 Yara detected Prometei 2->82 11 systemd uplugplay 2->11         started        13 na.elf 2->13         started        17 systemd snapd-env-generator 2->17         started        19 2 other processes 2->19 signatures3 process4 file5 21 uplugplay 11->21         started        72 /usr/sbin/uplugplay, ELF 13->72 dropped 86 Drops files in suspicious directories 13->86 88 Sample deletes itself 13->88 23 na.elf sh 13->23         started        25 na.elf sh 13->25         started        27 na.elf sh 13->27         started        29 6 other processes 13->29 signatures6 process7 process8 31 uplugplay sh 21->31         started        33 sh pgrep 23->33         started        35 sh pidof 25->35         started        37 sh pgrep 27->37         started        39 sh pidof 29->39         started        41 sh pgrep 29->41         started        43 sh pidof 29->43         started        45 3 other processes 29->45 process9 47 sh uplugplay 31->47         started        process10 49 uplugplay sh 47->49         started        51 uplugplay sh 47->51         started        53 uplugplay sh 47->53         started        55 9 other processes 47->55 process11 57 sh dmidecode 49->57         started        60 sh dmidecode 51->60         started        62 sh dmidecode 53->62         started        64 sh dmidecode 55->64         started        66 sh dmidecode 55->66         started        68 sh dmidecode 55->68         started        70 6 other processes 55->70 signatures12 84 Executes the "dmidecode" command for reading DMI BIOS info like hardware or serial numbers (indicative of machine fingerprinting or VM-detection) 57->84
Threat name:
Linux.Trojan.Prometei
Status:
Malicious
First seen:
2026-10-28 03:47:30 UTC
File Type:
ELF64 Little (Exe)
AV detection:
20 of 38 (52.63%)
Threat level:
  5/5
Result
Malware family:
prometei_elf
Score:
  10/10
Tags:
family:prometei_elf botnet discovery linux miner persistence privilege_escalation
Behaviour
Reads runtime system information
Reads CPU attributes
Enumerates running processes
Modifies systemd
Write file to user bin folder
Deletes itself
Modifies the /etc/hosts DNS resolution file
Family: Prometei
Prometei payload
Please note that we are no longer able to provide a coverage score for Virus Total.

YARA Signatures


MalwareBazaar uses YARA rules from several public and non-public repositories, such as YARAhub and Malpedia. Those are being matched against malware samples uploaded to MalwareBazaar as well as against any suspicious process dumps they may create. Please note that only results from TLP:CLEAR rules are being displayed.

Rule name:CP_Script_Inject_Detector
Author:DiegoAnalytics
Description:Detects attempts to inject code into another process across PE, ELF, Mach-O binaries
Rule name:exploit_any_poppopret
Author:Jeff White [karttoon@gmail.com] @noottrak
Description:Identify POP -> POP -> RET opcodes for quick ROP Gadget creation in target binaries.
Rule name:F01_s1ckrule
Author:s1ckb017
Rule name:Linux_Hacktool_Flooder_1a4eb229
Author:Elastic Security
Rule name:Linux_Hacktool_Flooder_f454ec10
Author:Elastic Security
Reference:0297e1ad6e180af85256a175183102776212d324a2ce0c4f32e8a44a2e2e9dad
Rule name:malwareelf55503
Rule name:MIRAI_OHSHIT_payload
Author:AfterPacket
Description:MIRAI_OHSHIT ELF payload -- compiled-in C2 set, all architectures
Reference:https://github.com/Afterpacket/drosera-threat-intel
Rule name:Prometei_Main
Author:@bartblaze
Description:Identifies Prometei botnet main modules.
Reference:https://malpedia.caad.fkie.fraunhofer.de/details/win.prometei
Rule name:RANSOMWARE
Author:ToroGuitar
Rule name:TH_Generic_MassHunt_Linux_Malware_2026_CYFARE
Author:CYFARE
Description:Generic Linux malware mass-hunt rule - 2026
Reference:https://cyfare.net/
Rule name:unixredflags3
Author:Tim Brown @timb_machine
Description:Hunts for UNIX red flags

File information


The table below shows additional information about this malware sample such as delivery method and external references.

Web download

Mirai

elf ff33bc871d0f05d3049b84dee6edd44a9d761395a0617d09d6216adcb6b0bbc8

(this sample)

  
Delivery method
Distributed via web download

Comments