;merikenin.asm - Merikenin TCP/IP Stack Hardening and Basic Rootkit Checker version 1.0 ;The programmer : ev1lut10n ;dedicated to Merikenin ;thanks to : X-hack,Danzel,Superman,Cakill, nofia fitri,Dedy, Chaer, Paulus gandung,Tian,Zendy,Hendra, Wenkhairu and all my bro and friends ;current big project : "Making a linux botnet and windows botnet that can work synergy (my own idea)" ;website : http://www.jasaplus.com ;gopher://sdf.org/1/users/wisdomc0 section .bss pilih_on_heap resb 6 file: resd 1 section .data t00lname db ".::Merikenin TCP/IP Stack Hardening and Basic Rootkit Checker::.",13,10 pjg_t00lname equ $-t00lname c0d3r db "c0der : ev1lut10n",13,10 pjg_c0d3r equ $-c0d3r g0tr00t db "we got root access",13,10 pjg_g0tr00t equ $-g0tr00t n0tr00t db "we dont have root priv,sorry y0u can not use this t00l baby",13,10 pjg_n0tr00t equ $-n0tr00t ;define jynx rootkit checker jynx_ld_preload_poison_string db "ld_poison.so",0x00 jynx_ld_preload_so_path db "/etc/ld.so.preload",0x00 ;define haxpath checker for kbeast lkm _H4X_PATH_ db "/usr/_h4x_",0x00 ;software menu m3nu1 db "sys1 - Enable source validation by reversed path (checkin the source addr at ip datagram)",13,10 pjg_m3nu1 equ $-m3nu1 m3nu2 db "sys2 - Enable TCP Syn Cookies (protection against syn attack)",13,10 pjg_m3nu2 equ $-m3nu2 m3nu3 db "sys3 - Ignore ICMP Echo Broadcast Requests - (no smurf amplification)!!!",13,10 pjg_m3nu3 equ $-m3nu3 b0nus db "Some bonuses functions :" pjg_b0nus equ $-b0nus m3nu5 db "rkc1 - Checking Possible Jynx LD_Preload Rootkit",13,10 pjg_m3nu5 equ $-m3nu5 m3nu6 db "rkc2 - Checking Possible Kernel Beast Ver #1.0 LKM Rootkit -> _H4X_PATH_ /usr/_h4x_",13,10 pjg_m3nu6 equ $-m3nu6 m3nu7 db "quit - quit this t00l",13,10 pjg_m3nu7 equ $-m3nu7 ;eof software menu c0ns0l3 db "cmd:" pjg_c0ns0l3 equ $-c0ns0l3 pilih db "%s", 0 teks_continue db "/etc/ld.so.preload found beware ! Sorry i'm lazy it's your job to check for ld_poison.so at /etc/ld.so.preload",13,10 pjg_teks_continue equ $-teks_continue teks_dont_continue db "No /etc/ld.so.preload found ! Seems like your system is clean from jynx rootkit",13,10 pjg_teks_dont_continue equ $-teks_dont_continue teks_continuex db "/usr/_h4x_ found ! Please wait !!! You're being infected with Kernel Beast Ver #1.0, why u install kernel headers ???",13,10 pjg_teks_continuex equ $-teks_continuex teks_dont_continuex db "No /usr/_h4x_ found ! Seems like your system is clean from Kernel Beast Ver #1.0",13,10 pjg_teks_dont_continuex equ $-teks_dont_continuex section .text global _start _start: ;jmp _merikenin_sysc jmp long _merikenin_start ;starting jynx rootkit checking routine _merikenin_jynx: push ebp mov ebp,esp xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx call the_cek mov ebx,jynx_ld_preload_so_path int 0x80 mov dword [file],eax cmp dword [file],0 jle dont_continue je continue mov esp,ebp pop ebp continue: push ebp mov ebp,esp mov ecx,teks_continue mov edx,pjg_teks_continue call _merikenin_writeln jmp long _merikenin_out mov esp,ebp pop ebp dont_continue: push ebp mov ebp,esp mov ecx,teks_dont_continue mov edx,pjg_teks_dont_continue call _merikenin_writeln jmp long _merikenin_out mov esp,ebp pop ebp the_cek: push ebp mov ebp,esp mov eax,5 xor ecx,0 mov edx,0x100 mov esp,ebp pop ebp ret ;eof jynx rootkit checking ;start ipsecs kbeast checking _merikenin_ipsecs: push ebp mov ebp,esp xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx call the_cek2 mov ebx,_H4X_PATH_ int 0x80 mov dword [file],eax cmp dword [file],0 jle dont_continuex je continuex mov esp,ebp pop ebp continuex: push ebp mov ebp,esp mov ecx,teks_continuex mov edx,pjg_teks_continuex call _merikenin_writeln jmp long _merikenin_out mov esp,ebp pop ebp dont_continuex: push ebp mov ebp,esp mov ecx,teks_dont_continuex mov edx,pjg_teks_dont_continuex call _merikenin_writeln jmp long _merikenin_out mov esp,ebp pop ebp the_cek2: push ebp mov ebp,esp mov eax,5 xor ecx,0 mov edx,0x100 mov esp,ebp pop ebp ret ;eof ipsecs kbeast checking ;getpriv.s _merikenin_pr3p4r3_0pt: push ebx push esi push edi _merikenin_get_privilege: push ebp mov ebp, esp mov eax, 18h push eax int 80h cmp al,0 jz _merikenin_g0tr00t jmp _merikenin_n0tr00t mov esp, ebp pop ebp ;eof getpriv.s _merikenin_g0tr00t: push ebp mov ebp, esp mov ecx,g0tr00t mov edx,pjg_g0tr00t call _merikenin_writeln mov esp, ebp pop ebp jmp _merikenin_jmpmania _merikenin_n0tr00t: push ebp mov ebp,esp mov ecx,n0tr00t mov edx,pjg_n0tr00t call _merikenin_writeln mov esp,ebp pop ebp jmp _merikenin_out _merikenin_writeln: push ebp mov ebp,esp mov ebx,0x1 mov eax,0x4 int 80h ;mov ah,09h ;mov dx,offset str1ng ;int 21h mov esp,ebp pop ebp ret _merikenin_banner: push ebp mov ebp,esp mov ecx,t00lname mov edx,pjg_t00lname call _merikenin_writeln mov ecx,c0d3r mov edx,pjg_c0d3r call _merikenin_writeln mov esp,ebp pop ebp ret _merikenin_do: mov eax, 11 int 80h ret _merikenin_net.ipv4.icmp_echo_ignore_broadcasts_1: push ebp mov ebp, esp xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx push 0xb pop eax push edx push 0x313d ;=1 push 0x73747361 ;stsa push 0x6364616f ;cdao push 0x72625f65 ;rb_e push 0x726f6e67 ;rong push 0x695f6f68 ;i_oh push 0x63655f70 ;ce_p push 0x6d63692e ;mci. push 0x34767069 ;4vpi push 0x2e74656e ; .ten mov esi,esp push edx push 0x772d ;w- mov ecx,esp push edx push 0x6c746373 push 0x79732f6e push 0x6962732f mov ebx,esp push edx push esi push ecx push ebx mov ecx,esp int 80h mov esp,ebp pop ebp jmp long _merikenin_out _merikenin_net.ipv4.tcp_syncookies_1: push ebp mov ebp, esp xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx push 0xb pop eax push edx push 0x2031 ;1 push 0x3d736569 ;=sei push 0x6b6f6f63 ;kooc push 0x6e79735f ;nys_ push 0x7063742e ;pct. push 0x34767069 ;4vpi push 0x2e74656e ; .ten mov esi,esp push edx push 0x772d ;w- mov ecx,esp push edx push 0x6c746373 push 0x79732f6e push 0x6962732f mov ebx,esp push edx push esi push ecx push ebx mov ecx,esp int 80h xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx mov esp,ebp pop ebp jmp long _merikenin_out _merikenin_sysctl_w_net.ipv4.conf.all.rp_filter_1: push ebp mov ebp, esp xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx push 0xb pop eax push edx push 0x2031 ;1 push 0x3d726574 ;=ret push 0x6c69665f ;lif_ push 0x70722e6c ;pr.l push 0x6c612e66 ;la.f push 0x6e6f632e ;noc. push 0x34767069 ;4vpi push 0x2e74656e ; .ten mov esi,esp push edx push 0x772d ;w- mov ecx,esp push edx push 0x6c746373 push 0x79732f6e push 0x6962732f mov ebx,esp push edx push esi push ecx push ebx mov ecx,esp int 80h xor eax,eax xor ebx,ebx xor ecx,ecx xor edx,edx mov esp,ebp pop ebp jmp long _merikenin_out _merikenin_jmpmania: push ebp mov ebp, esp jmp _merikenin_start2 mov esp,ebp pop ebp _merikenin_start: push ebp mov ebp,esp call (_merikenin_banner) jmp _merikenin_pr3p4r3_0pt mov esp,ebp pop ebp _merikenin_start2: push ebp mov ebp, esp mov ecx,m3nu1 mov edx,pjg_m3nu1 call (_merikenin_writeln) mov ecx,m3nu2 mov edx,pjg_m3nu2 call (_merikenin_writeln) mov ecx,m3nu3 mov edx,pjg_m3nu3 call (_merikenin_writeln) mov ecx,m3nu5 mov edx,pjg_m3nu5 call (_merikenin_writeln) mov ecx,m3nu6 mov edx,pjg_m3nu6 call (_merikenin_writeln) mov ecx,c0ns0l3 mov edx,pjg_c0ns0l3 call (_merikenin_writeln) mov eax,3 mov ebx,0 mov ecx,pilih_on_heap int 80h push eax xor eax,eax mov eax, dword [pilih_on_heap] cmp eax,'sys1' je _merikenin_sysctl_w_net.ipv4.conf.all.rp_filter_1 cmp eax,'sys2' je _merikenin_net.ipv4.tcp_syncookies_1 cmp eax,'sys3' je _merikenin_net.ipv4.icmp_echo_ignore_broadcasts_1 cmp eax,'rkc1' je _merikenin_jynx cmp eax,'rkc2' je _merikenin_ipsecs jmp _merikenin_out mov esp,ebp pop ebp _merikenin_out: nop mov eax,0x01 int 80h