Provate a dare la soluzione
Moderatore: Staff
Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Provate a dare la soluzione
Mi hanno passato questo piccolo rompicapo da risolvere
Ho capito di che si tratta, ma un po' per tempo.. un po' perchè mi manca qualche conoscenza tecnica non so dare ancora la risposta corretta.
Mi piacerebbe avere le vostre soluzioni/idee in merito
Ho capito di che si tratta, ma un po' per tempo.. un po' perchè mi manca qualche conoscenza tecnica non so dare ancora la risposta corretta.
Mi piacerebbe avere le vostre soluzioni/idee in merito
- Ansa89
- Iper Master
- Messaggi: 2703
- Iscritto il: mer 29 ago 2007, 17:57
- Nome Cognome: Stefano Ansaloni
- Slackware: 14.2 64bit
- Kernel: 4.9.61
- Desktop: XFCE 4.12
- Località: Modena
Re: Provate a dare la soluzione
Sembra un eseguibile dos (file ".com").
Probabilmente ti chiede una password e la controlla con una sua stringa interna, quindi si deve decompilare l'eseguibile e vedere cosa esce.
Non ho eseguito il file per due motivi:
- non sono su Windows.
- _MAI_ eseguire codice trovato su una pagina web a caso.
Probabilmente ti chiede una password e la controlla con una sua stringa interna, quindi si deve decompilare l'eseguibile e vedere cosa esce.
Non ho eseguito il file per due motivi:
- non sono su Windows.
- _MAI_ eseguire codice trovato su una pagina web a caso.
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Provate a dare la soluzione
complimenti... ci sei andato molto vicino...
è codice assembler x86 a 32bit (quindi coi sistemi a 64bit nn va bene)
in pratica stampa la soluzione.. io non l'ho eseguito perchè non ho ancora avuto il tempo materiale di farlo e comunque bisogna codificare in c un qualcosa che lo carichi in memoria e lo lanci e io col c sono un po' arrugginito..
per quanto riguarda la tua preoccupazione 160 byte mi sembrano un po' troppo pochi per un qualunque malware.. soprattutto se per trovare la soluzione hai capito che è codice macchina.. e quindi cosa fa lo sai
comunque ottima risposta
è codice assembler x86 a 32bit (quindi coi sistemi a 64bit nn va bene)
in pratica stampa la soluzione.. io non l'ho eseguito perchè non ho ancora avuto il tempo materiale di farlo e comunque bisogna codificare in c un qualcosa che lo carichi in memoria e lo lanci e io col c sono un po' arrugginito..
per quanto riguarda la tua preoccupazione 160 byte mi sembrano un po' troppo pochi per un qualunque malware.. soprattutto se per trovare la soluzione hai capito che è codice macchina.. e quindi cosa fa lo sai
comunque ottima risposta
- Ansa89
- Iper Master
- Messaggi: 2703
- Iscritto il: mer 29 ago 2007, 17:57
- Nome Cognome: Stefano Ansaloni
- Slackware: 14.2 64bit
- Kernel: 4.9.61
- Desktop: XFCE 4.12
- Località: Modena
Re: Provate a dare la soluzione
Quello non mi sembra codice assembler, mi sembra codice già compilato.
Comunque se ho un paio di minuti liberi, provo a risolverlo.
Comunque se ho un paio di minuti liberi, provo a risolverlo.
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Provate a dare la soluzione
scusa la domanda ignorante(sarà per questo che ancora non so scrivere la benedetta risposta) ma che differenza c'e'!??!!?
voglio dire un programma compilato non viene convertito alla fine in codice macchina!??!?!
io mi sono accorto che era comunque un eseguibile perchè un algoritmo di cifratura non poteva essere (ci sono caratteri ripetuti verso la fine e un algoritmo decente non fa di questi errori) poi con una tabella degli opcode delle istruzioni x86 ho iniziato un po' a disassemblarlo in maniera brutale e mi è sembrato avesse un senso.. sembrava il codice di una funzione che restituisse qualcosa
voglio dire un programma compilato non viene convertito alla fine in codice macchina!??!?!
io mi sono accorto che era comunque un eseguibile perchè un algoritmo di cifratura non poteva essere (ci sono caratteri ripetuti verso la fine e un algoritmo decente non fa di questi errori) poi con una tabella degli opcode delle istruzioni x86 ho iniziato un po' a disassemblarlo in maniera brutale e mi è sembrato avesse un senso.. sembrava il codice di una funzione che restituisse qualcosa
- Ansa89
- Iper Master
- Messaggi: 2703
- Iscritto il: mer 29 ago 2007, 17:57
- Nome Cognome: Stefano Ansaloni
- Slackware: 14.2 64bit
- Kernel: 4.9.61
- Desktop: XFCE 4.12
- Località: Modena
Re: Provate a dare la soluzione
Il codice macchina è una sequenza di zeri e uni che il processore è in grado di capire (ovviamente questa sequenza può essere rappresentata anche in ottale, o esadecimale per comodità); invece il codice assembler è codice scritto secondo un qualche standard assembly (es: AT&T).
In parole povere: l'assembly è un linguaggio di programmazione (tipo il C, il java, ecc); il codice macchina è il risultato della compilazione del codice sorgente.
In parole povere: l'assembly è un linguaggio di programmazione (tipo il C, il java, ecc); il codice macchina è il risultato della compilazione del codice sorgente.
- Plaoo
- Linux 3.x
- Messaggi: 809
- Iscritto il: gio 10 apr 2008, 17:40
- Slackware: 14 64
- Kernel: 3.2.9
- Desktop: KDE
- Località: Ittiri (SS)
Re: Provate a dare la soluzione
Non lo provo solamente perchè non posso fare copia-incolla visto che si tratta di un immagine.
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware
- Ansa89
- Iper Master
- Messaggi: 2703
- Iscritto il: mer 29 ago 2007, 17:57
- Nome Cognome: Stefano Ansaloni
- Slackware: 14.2 64bit
- Kernel: 4.9.61
- Desktop: XFCE 4.12
- Località: Modena
Re: Provate a dare la soluzione
Plaoo ha scritto:Non lo provo solamente perchè non posso fare copia-incolla visto che si tratta di un immagine.
Tieni e divertiti anche tu.
- Allegati
-
- test.tar.bz2
- (313 Byte) Scaricato 125 volte
- Plaoo
- Linux 3.x
- Messaggi: 809
- Iscritto il: gio 10 apr 2008, 17:40
- Slackware: 14 64
- Kernel: 3.2.9
- Desktop: KDE
- Località: Ittiri (SS)
Re: Provate a dare la soluzione
AHAHAHAH Grazie mille!!! E io che volevo uscire a farmi un giroAnsa89 ha scritto:
Tieni e divertiti anche tu.
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Provate a dare la soluzione
ecco il disassemblato prodotto con ndisasm -b 32 test.com
Codice: Seleziona tutto
00000000 EB04 jmp short 0x6
00000002 AF scasw
00000003 C2BFA3 ret 0xa3bf
00000006 81EC0001 sub sp,0x100
0000000A 0000 add [bx+si],al
0000000C 31C9 xor cx,cx
0000000E 880C mov [si],cl
00000010 0CFE or al,0xfe
00000012 C1 db 0xc1
00000013 75F9 jnz 0xe
00000015 31C0 xor ax,ax
00000017 BAEFBE mov dx,0xbeef
0000001A AD lodsw
0000001B DE02 fiadd word [bp+si]
0000001D 040C add al,0xc
0000001F 00D0 add al,dl
00000021 C1CA08 ror dx,0x8
00000024 8A1C mov bl,[si]
00000026 0C8A or al,0x8a
00000028 3C04 cmp al,0x4
0000002A 881C mov [si],bl
0000002C 0488 add al,0x88
0000002E 3C0C cmp al,0xc
00000030 FEC1 inc cl
00000032 75E8 jnz 0x1c
00000034 E95C00 jmp word 0x93
00000037 0000 add [bx+si],al
00000039 89E3 mov bx,sp
0000003B 81C30400 add bx,0x4
0000003F 0000 add [bx+si],al
00000041 5C pop sp
00000042 58 pop ax
00000043 3D4141 cmp ax,0x4141
00000046 41 inc cx
00000047 41 inc cx
00000048 7543 jnz 0x8d
0000004A 58 pop ax
0000004B 3D4242 cmp ax,0x4242
0000004E 42 inc dx
0000004F 42 inc dx
00000050 753B jnz 0x8d
00000052 5A pop dx
00000053 89D1 mov cx,dx
00000055 89E6 mov si,sp
00000057 89DF mov di,bx
00000059 29CF sub di,cx
0000005B F3A4 rep movsb
0000005D 89DE mov si,bx
0000005F 89D1 mov cx,dx
00000061 89DF mov di,bx
00000063 29CF sub di,cx
00000065 31C0 xor ax,ax
00000067 31DB xor bx,bx
00000069 31D2 xor dx,dx
0000006B FEC0 inc al
0000006D 021C add bl,[si]
0000006F 06 push es
00000070 8A14 mov dl,[si]
00000072 06 push es
00000073 8A34 mov dh,[si]
00000075 1E push ds
00000076 8834 mov [si],dh
00000078 06 push es
00000079 8814 mov [si],dl
0000007B 1E push ds
0000007C 00F2 add dl,dh
0000007E 30F6 xor dh,dh
00000080 8A1C mov bl,[si]
00000082 16 push ss
00000083 8A17 mov dl,[bx]
00000085 30DA xor dl,bl
00000087 8817 mov [bx],dl
00000089 47 inc di
0000008A 49 dec cx
0000008B 75DE jnz 0x6b
0000008D 31DB xor bx,bx
0000008F 89D8 mov ax,bx
00000091 FEC0 inc al
00000093 CD80 int 0x80
00000095 90 nop
00000096 90 nop
00000097 E89DFF call word 0x37
0000009A FF db 0xff
0000009B FF4141 inc word [bx+di+0x41]
0000009E 41 inc cx
0000009F 41 inc cx
- Plaoo
- Linux 3.x
- Messaggi: 809
- Iscritto il: gio 10 apr 2008, 17:40
- Slackware: 14 64
- Kernel: 3.2.9
- Desktop: KDE
- Località: Ittiri (SS)
Re: Provate a dare la soluzione
@Ansa89: tu mi hai passato un .com quando leggo int 80 che sarebbe interrupt per il richiamo delle syscall linux.
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware
- Ansa89
- Iper Master
- Messaggi: 2703
- Iscritto il: mer 29 ago 2007, 17:57
- Nome Cognome: Stefano Ansaloni
- Slackware: 14.2 64bit
- Kernel: 4.9.61
- Desktop: XFCE 4.12
- Località: Modena
Re: Provate a dare la soluzione
Sì, infatti mi stanno venendo dei dubbi.
Però:
Però:
Codice: Seleziona tutto
$ file test.com
test.com: DOS executable (COM)
- zoros
- Linux 4.x
- Messaggi: 1361
- Iscritto il: lun 28 mag 2007, 22:51
- Nome Cognome: Fabio`Zorba`
- Slackware: 14.1
- Kernel: 3.10.30-smp
- Desktop: KDE-3.5(works!)
- Località: Gorizia
- Contatta:
Re: Provate a dare la soluzione
provate a disassemblarlo a 64 bit, è molto più suggestivo, per la presenza di
e per la comparazione delle stringhe "AAAA" e "BBBB"
Codice: Seleziona tutto
00000017 BAEFBEADDE mov edx,0xdeadbeef
vorrei riavere le mie firme ...
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Provate a dare la soluzione
secondo me questi byte non rappresentano un eseguibile in se, ma del codice macchina da caricare in memoria tramite una programma ausiliare in c eppoi tramite puntatori(o qualcosa di simile) eseguirlo
- sya54M
- Master
- Messaggi: 1665
- Iscritto il: mer 6 giu 2007, 14:44
- Nome Cognome: Andrea Peluso
- Slackware: 64-current
- Kernel: ultimo
- Desktop: KDE
- Località: (Salerno)
- Contatta:
Re: Provate a dare la soluzione
infatti l'ho provato e non si esegue un bel niente ne su wine e ne su una macchina virtuale win7 da semplicemente errore perchè non è un eseguibilemiklos ha scritto:secondo me questi byte non rappresentano un eseguibile in se, ma del codice macchina da caricare in memoria tramite una programma ausiliare in c eppoi tramite puntatori(o qualcosa di simile) eseguirlo