tag:blogger.com,1999:blog-61437193270943868012024-03-15T22:29:09.971+01:00L'eucaliptoDocumentazione su sicurezza informatica, Windows, Linux, OpenBSD e Python.Unknownnoreply@blogger.comBlogger32125tag:blogger.com,1999:blog-6143719327094386801.post-54378483511550693002022-07-19T17:46:00.001+02:002022-07-19T17:46:14.275+02:00Reddit da shell<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>mio_primo</title>
<style>
html {
line-height: 1.5;
font-family: Georgia, serif;
font-size: 20px;
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 1em;
}
}
@media print {
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
font-size: 85%;
margin: 0;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="usare-reddit-da-linea-di-comando">Usare reddit da linea di comando</h1>
<h2 id="introduzione">Introduzione</h2>
<p>Ci sono diverse applicazioni scaricabili da <a href="https://github.com">github</a> per gestire o utilizzare <a href="https://reddit.com">reddit</a> da linea di comando o da shell. In questo articolo ne vedremo un piccolo elenco e ne illustreremo una veloce e concisa spiegazione. Ma prima di questo bisogna chiedersi quali vantaggi ci sono nell’uso della linea di comanda per gestire un account di un social network.</p>
<h2 id="perché-usare-la-linea-di-comando-per-gestire-reddit">Perché usare la linea di comando per gestire reddit ?</h2>
<p>La ragione principale per utilizzare la shell o la linea di comando su reddit è che mediante l’interfaccia testuale è possibile <strong>aumentare la velocità di interazione</strong> col social network. Sia perché i <strong>tempi</strong> di invio e attesa di risposta dei dati sono <strong>inferiori</strong> e sia perché la linea di comando è più <strong>immediata</strong>. Inoltre la linea di comando permette di creare semplici o anche complessi script per automatizzare tante operazioni. È possibile per esenzio sfruttare cron e una lista di link da postare ogni ora in modo del tutto automatico. Un <strong>risparmio enorme di tempo e risorse</strong>.</p>
<h2 id="ecco-come-utilizzare-reddit-dalla-linea-di-comando.">Ecco come utilizzare Reddit dalla linea di comando.</h2>
<p>I tool funzionanti (quindi che ho testato personalmente) a linea di comando che funzionano in ambiente sia <a href="https://www.linux.it">Linux</a> che <a href="https://www.openbsd.org">OpenBSD</a> o <a href="https://www.freebsd.org">FreeBSD</a>, sono i seguenti:</p>
<ul>
<li><p><a href="https://gitlab.com/aaronNG/reddio">reddio</a>, questo tool è molto ben fatto, non necessita di molta configurazione, è scriptabile e una volta presa la mano funziona molto bene. Ecco uno screenshot del software che estrae tre post dal sub <a href="https://reddit.com/r/SecurityIT">r/SecurityIT</a>. Aproposito se vi interessa la sicurezza informatica questo sub vi piacerà di sicuro.</p>
<figure>
<img src="reddio_10072022.png" alt="reddio" /><figcaption aria-hidden="true">reddio</figcaption>
</figure></li>
<li><p><a href="">tuir</a></p></li>
</ul>
<h2 id="reddio">Reddio</h2>
<p>Con reddio potete gestire in modo del tutto completo il vostro account reddit effettuando post, commenti, up e downvote, login e logout, cancellazione di post e commenti, entre ed uscire da sub, seguire gente, nascondere o rendere visibili commenti, segnare come letti ecc. E come già detto è possibile utilizzare il comando per creare degli script. Di seguito in questo articolo vedremo un piccolo script per postare su un determinato sub articoli presi dal web semplicemente fornendo il solo link all’articolo. Vediamo adesso come procedere all’installazione. ### <em>Installazione</em> Personalmente non mi piace lanciare tanti comandi, tribolare per l’installazione e l’uso dei software quindi ecco di seguito una sola riga di codice per effettuare l’installazione pronta e funzionante, è sufficiente fare copia e incolla dell’intera riga sul vostro terminale:</p>
<pre><code>mkdir /tmp/reddio && cd /tmp/reddio && git clone https://gitlab.com/aaronNG/reddio && \
mkdir $HOME/.local/bin ; make PREFIX="$HOME/.local" install \ && PATH=$HOME/.local/bin:$PATH </code></pre>
<h3 id="utilizzo"><em>Utilizzo</em></h3>
<h4 id="logon">Logon</h4>
<p>A questo punto, se tutto è andato come doveva, avete già il software pronto e funzionante. Ma per prima cosa dovete effettuare il logon su reddit con il seguente comando:</p>
<pre><code>$ reddio login</code></pre>
<p>a questo punto <strong>reddio</strong> vi restituirà un link che dovrete fare copia incolla sul browser per concedere l’autorizzazione a reddio di interagire in nome e per conto vostro. <img src="logon_reddio.png" alt="login" /></p>
<p>A questo punto il browser vi presenterà la seguente finestra su cui dovrete cliccare su <strong>Accetta</strong>.</p>
<figure>
<img src="autorizzazione_reddio.png" alt="autorizzazione" /><figcaption aria-hidden="true">autorizzazione</figcaption>
</figure>
<p>Se non siete già loggati vi presenterà il form di logon. Una volta che avrete fatto click sul tasto accetta potrete chiudere il browser e tornare al terminale. Su questo, se tutto è andato come si deve, vi restituirà il messaggio <strong>login successful</strong>.</p>
<h4 id="print-stampa-dei-titoli-dei-post-e-dei-commenti">print (stampa dei titoli dei post e dei commenti)</h4>
<p>Potete già fare una prova scaricando le intestazione di qualche post dal sub <a href="https://reddit.com/r/SecurityIT">r/SecurityIT</a> nel mondo seguente:</p>
<pre><code>$ reddio pri -l2 r/SecurityIT
1 r/SecurityIT Lounge (self.SecurityIT)
https://www.reddit.com/r/SecurityIT/comments/hr1pwj/rsecurityit_lounge/
[S] 0 comments | 2 years ago by u/OceanBottle on r/SecurityIT t3_hr1pwj
1 [ITA] - C'è un nuovo malware in giro che sfugge a qualsiasi verifica | Tom's Hardware (tomshw.it)
https://www.tomshw.it/hardware/ce-un-nuovo-malware-in-giro-che-sfugge-a-qualsiasi-verifica/
0 comments | 4.8 hours ago by u/OceanBottle on r/SecurityIT t3_vwakh5
1 [ITA] - NSO Group a rischio chiusura, ma l’era dello spyware Pegasus continua. (cybersecurity360.it)
https://www.cybersecurity360.it/nuove-minacce/nso-group-a-rischio-chiusura-ma-non-finisce-lera-dello-spyware-pegasus-quali-scenari/
0 comments | 1.3 days ago by u/OceanBottle on r/SecurityIT t3_vvhraj</code></pre>
<p>Quindi con questo comando è possibile stampare 2 (<strong>-l2</strong>) due titoli di post dal sub <strong>r/SecurityIT</strong>. Inoltre come potete vedere è possibile abbreviare il comando <strong>print</strong> con <strong>prin</strong> oppure <strong>pri</strong> o anche <strong>p</strong>. La stesso genere di abbreviazioni si puo’ fare anche con gli altri comandi:</p>
<pre><code>comment delete edit login logout message print submit
(un)follow (un)hide (un)marknsfw (un)read (un)save
(un)spoiler (un)subscribe upvote downvote unvote</code></pre>
<p>Adesso vogliamo stampare i commenti di un dato post. Quindi proviamo di nuovo a stampare il primo post sul sub <a href="https://reddit.com/r/italia">r/Italia</a> e successivamente un paio di commenti:</p>
<pre><code>$ reddio print -l1 r/ITALIA
7 L'ammazzacaffè (self.Italia)
https://www.reddit.com/r/Italia/comments/vvldzv/lammazzacaffè/
[S] 14 comments | 1.2 days ago by u/AutoModerator on r/Italia t3_vvldzv
453 Ricordatevi per quale generazione ci hanno imposto di sacrificare la nostra gioventù, la nostra felicità e la nostra spensieratezza (i.redd.it)
https://i.redd.it/rsdqdslntsa91.jpg
216 comments | 14.1 hours ago by u/Conteconentecontepi on r/Italia t3_vw0b68</code></pre>
<p>Ok, adesso vogliamo stampare 2 commenti dal secondo post, quello con 216 commenti e 453 upvote. Per fare ciò ci serve l’id del post che è <strong>t3_vw0b68</strong>. Lo trovate in fondo alla terza riga del post, quella dove è indicato il numero di commenti <strong>216</strong>. Ecco come fare:</p>
<pre><code>$ reddio print -l2 comments/t3_vw0b68
466 Ricordatevi per quale generazione ci hanno imposto di sacrificare la nostra gioventù, la nostra felicità e la nostra spensieratezza (i.redd.it)
https://i.redd.it/rsdqdslntsa91.jpg
225 comments | 14.2 hours ago by u/Conteconentecontepi on r/Italia t3_vw0b68
__________________________________________________
[0] 1 u/Due_Concentrate5312 5 minutes ago t1_ifpg3cx
Ma quanto prendono di pensione ? Secondo me un po' se ne pentono , o no?
[0] 1 u/Huge-Ad-2411 11.5 minutes ago t1_ifpfl3z
Questa notizia è come il Natale ogni anno arriva
227 more</code></pre>
<p>Come vedete i commenti nel frattempo sono aumentati da 216 a 225. Ho limitato la stampa dei commenti a 2 (<strong>-l2</strong>) per evitare di dover di riportare sul blog tutti gli oltre 200 commenti. Quindi per stampare i commenti bisogna utilizzare la sintassi <strong>comments/<strong>xxxIDxxx</strong> L’id ovviamente è quello del post sopra. Di seguito come leggere i messaggi nella </strong>inbox**:</p>
<pre><code>$ reddio p -l2 message/inbox</code></pre>
<p>Mentre per leggere i messaggi privati sempre nella imbox ecco come fare:</p>
<pre><code>$ reddio p -l2 message/messages </code></pre>
<p>Per leggere i dati del karma bisogna far seguire all’username la stringa <strong>about</strong>, così:</p>
<pre><code>$ reddio p user/USERNAME_CHE_VI_INTERESSA/about
1648 comment karma
950 submission karma</code></pre>
<p>Potete anche ottenere informazioni su un certo sub come su un utente sempre con la parola chiave <strong>about</strong>, così:</p>
<pre><code>$ reddio p r/SecurityIT/about
r/SecurityIT t5_2v50ww
SecurityIT
A public subreddit with 33 subscriber(s) created 2 years ago
__________________________________________________
Parliamo di IT security in ITaliano. Questo sub nasce con l'obiettivo di diffondere la conoscenza
dell'argomento al puro e semplice scopo di avere gli strumenti per potersi difendere.
Non vengono caldeggiate ne promosse ne incentivate attività fuori dalla legge, al contrario
l'obiettivo è proprio quello di opporsi a questo genere di abusi. L'idea romantica dell'hacker
buono l'abbiamo spedita in soffitta da un bel po'.
__________________________________________________
Parliamo di IT security in ITaliano.</code></pre>
<p>In questo modo si ottengono informazioni specifiche sul sub, come gli iscritti, l’età e la descrizione del sub. È possibile anche avere la lista dei post upvotati di un certo utente come segue:</p>
<pre><code>$ reddio p -l3 user/leucalipto/upvoted</code></pre>
<p>Ovviamente è possibile ottenere nello stesso modo i post <strong>downvotati</strong>, <strong>hidden</strong> oppure <strong>saved</strong>. Possiamo anche ottenere i post di un certo sub ma ordinati secondo un criterio differente, per esempio:</p>
<ul>
<li><p>ordinati per <strong>hot</strong> (cioè molto discussi):</p>
<p><code>$ reddio p -l3 r/SecurityIT/hot</code></p></li>
<li><p>ordinati per <strong>new</strong> (nuovi):</p>
<p><code>$ reddio p -l3 r/SecurityIT/new</code></p></li>
<li><p>ordinati per <strong>rising</strong> (in ascesa):</p>
<p><code>$ reddio p -l3 r/SecurityIT/rising</code></p></li>
<li><p>ordinati per <strong>controversial</strong> (ovviamente controversi)</p>
<p><code>$ reddio p -l3 r/SecurityIT/controversial</code></p></li>
<li><p>ordinati per <strong>top</strong> (cioè i più discussi in un certo lasso di tempo):</p>
<p><code>$ reddio p -l3 r/SecurityIT/top</code></p></li>
</ul>
<p>Quindi, per quanto riguarda l’opzione <strong>print</strong> queste sono le cose principali. Se volete approfondire ecco un sunto dell’uso di <strong>print</strong>:</p>
<pre><code>Common listings:
comments/<id>
r/<subreddit>/{hot,new,rising,controversial,top,gilded}
r/<subreddit>/{about,comments}
user/<yourname>/m/<multiname>/{hot,new,rising,controversial,top,gilded}
user/<username>
user/<username>/{about,comments,submitted,gilded}
user/<username>/{upvoted,downvoted,hidden,saved}
message/{inbox,unread,messages,comments,selfreply,mentions,sent}
info/<id1>,<id2>,<id3>...
by_id/<submission1_id>,<submission2_id>,<submission3_id>...</code></pre>
<h4 id="submit-come-inviare-post"><strong>submit</strong> (come inviare post)</h4>
<p>Passiamo al comando <strong>submit</strong> che, come già detto, possiamo abbreviare con <strong>su</strong>, ma non <strong>s</strong> in quanto si potrebbe confondere col comando <strong>save</strong>. Quindi per inviare un post con annesso un URL possiamo fare:</p>
<pre><code>$ reddio subm -l ansa.it r/test Sito ansa
# sintassi:
# subm = submit
# -l ansa.it = questo è l'url che vogliamo postare
# r/test = questo è il subreddit su cui vogliamo postare
# Sito ansa = È il titolo del post
#</code></pre>
<p>mentre per inviare un messaggio ad uno specifico sub si fa come segue:</p>
<pre><code>$ reddio subm -t "Mio testo" r/test Mio titolo</code></pre>
</body>
</html>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-8792404742846645482022-06-06T03:43:00.001+02:002022-07-01T11:02:14.881+02:00ImageMagick: come ruotare, aggiungere testo, scalare le immagini<p style="text-align: justify;">Di seguito come fare alcune operazione usando il tool da linea di comando <a href="https://imagemagick.org/index.php" target="_blank">ImageMagick</a>.
<br />
<p style="text-align: justify;">Di seguito come ruotare di 180° un'immagine:</p>
<div style="background-color: #dfdfdf; border-radius: 1px; border: 1px solid rgb(0, 0, 0); padding: 1px;">
$ convert tua_immagine.jpg -rotate 180 mia_immagine.jpg<br />
</div>
<p style="text-align: justify;">e adesso come fare un resize o scalare un'immagine in modo da ridurla al 24% della dimensione originale</p>
<div style="background-color: #dfdfdf; border-radius: 1px; border: 1px solid rgb(0, 0, 0); padding: 1px;">
$ convert tua_immagine.jpg -resize 24% mia_immagine.jpg<br />
</div>
<p style="text-align: justify;">Ed infine come aggiungere testo alla poszione +100+200 in bianco all'immagine usando font ubuntu-mono-bold.</p>
<div style="background-color: #dfdfdf; border-radius: 1px; border: 1px solid rgb(0, 0, 0); padding: 1px;">
$ convert temp3.jpg -font Ubuntu-Mono-Bold -fill white -gravity North -pointsize 38 -annotate +100+200 'SIM THINGSMOBILE 06-06-22' mia_carta_didentita.jpg
</div>
<p style="text-align: justify;">Il testo che viena aggiunto come potete notare è relativo ad una sim. Infatti di solito quando invio la mia carta d'identità in giro per internet cerco sempre di scriverci sopra dove la mando, così in caso di data breach è possibile risalire da dove è stata rubata.</p>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-76198003574050674662022-01-21T19:59:00.010+01:002022-12-10T03:53:23.702+01:00Appunti su OpenBSD 7.0<h2 style="text-align: left;">Autologin X</h2>
<p style="text-align: left;">Per effettuare l'auto-login su X è necessario aggiungere la seguente riga al file <b>/etc/X11/xenodm/xenodm-config</b>:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
DisplayManager*autoLogin: lewis <br />
</div>
<p style="text-align: left;">Dove ovviamente <b>lewis</b> è il vostro nome utente</p>
<br />
<h2 style="text-align: left;">Spegnere schermo console</h2>
<p style="text-align: left;">Per effettuare lo spegnimento automatico dello schermo del vostro laptop dopo un certo tempo inserite la seguente variabile nel file <b>/etc/wsconsctl.conf</b>:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
echo display.screen_off=10000 >> /etc/wsconsctl.conf<br />
</div>
<p style="text-align: left;">Dove <b>10000</b> è il valore in millisecondi. Quindi dopo 10 secondi verrà spento lo schermo.
<br />
</p><h2 style="text-align: left;">OpenBSD non legge ~/.profile e ~/.kshrc</h2>
<p style="text-align: left;">Questo problema si verifica sotto <b>X</b> e sebbene nel man di <b>ksh</b> si legge che la shell carica <b>~/.profile</b> allo startup questo però non avviene se vi trovate in ambiente Xorg. La soluzione consiste nell'aggiungere <b>. ~/.profile</b> ad <b>~/.xsession</b>, il seguente è il contenuto del file sul mio pc:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
/home/lewis/.screenlayout/ottima.sh & <br />
xwallpaper --stretch /home/lewis/wallpapers/openbsd.jpg <br />
export LC_MESSAGES=it_IT.UTF-8 <br />
. ~/.profile <br />
exec openbox-session
</div><p></p>
<h2 style="text-align: left;">Configurare nvim (neovim) per sviluppare in python</h2>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ git clone https://github.com/offa/nvim-config <br />
$ cd nvim-confi <br />
$ bash ./install.sh <br />
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-20085545445361697092021-11-20T00:42:00.012+01:002021-11-21T05:33:59.034+01:00Windows10: installazione di Windows su pennina usb live<p style="text-align: justify;"><span style="font-size: medium;">In questo breve articolo vedremo come installare <a href="https://www.microsoft.com/it-it/software-download/windows10ISO" target="_blank">Windows10</a> su una pennina USB in modo da utilizzarlo in <a href="https://it.wikipedia.org/wiki/Live_CD" target="_blank">modalità live</a>, un po' come le distribuzioni <a href="https://it.wikipedia.org/wiki/Ubuntu" target="_blank">Linux</a>. Possiamo usare una immagine ISO di Windows scaricata direttamente dal sito <a href="https://www.microsoft.com/it-it" target="_blank">microsoft</a> cliccando su <a href="https://www.microsoft.com/it-it/software-download/windows10ISO" target="_blank"><b>questo link</b>.</a> Oppure possiamo farla scaricare al tool che utilizzeremo per scrivere la ISO sulla pennina. Questo tool si chiama <a href="https://rufus.ie/it/" target="_blank">Rufus</a>. Quindi quello che serve è:</span></p><p style="text-align: justify;"><span style="font-size: medium;">- <u><b>una pennina usb</b></u>, almeno da 8 giga, meglio 16 o di più.</span></p><p style="text-align: justify;"><span style="font-size: medium;">- <u><b>Rufus che potete scaricare da <a href="https://github.com/pbatard/rufus/releases/download/v3.17/rufus-3.17p.exe">qui</a></b></u> in modalità portable oppure da <b><a href="https://rufus.ie/it/" target="_blank">qui</a></b> in caso il link precedente non fosse più funzionante.</span></p><p style="text-align: justify;"><span style="font-size: medium;">- e in ultimo la <u><b>iso di windows</b></u>.</span></p><p><span style="font-size: small;"> </span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-size: small;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi4BmXvzoXL1GoHyJGX2Qv30NarI6TLBFPQKRoLvWKdFPqLxr9VY9y8ELQtknOl6MTSd9hlbCj_JXERZX_CnmOne_9M0sT3YP6uWGCv-YNcnM-ckQShMEi37mfc0xNKvBb_Qt4Te5CBlYY50PE67IKLc637CpxzEdrJipMSEvBpfANNdFdTDXkNasSVLQ=s725" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="725" data-original-width="474" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEi4BmXvzoXL1GoHyJGX2Qv30NarI6TLBFPQKRoLvWKdFPqLxr9VY9y8ELQtknOl6MTSd9hlbCj_JXERZX_CnmOne_9M0sT3YP6uWGCv-YNcnM-ckQShMEi37mfc0xNKvBb_Qt4Te5CBlYY50PE67IKLc637CpxzEdrJipMSEvBpfANNdFdTDXkNasSVLQ=w261-h400" width="261" /></a></span></div><span style="font-size: small;"><br /></span><p></p><p style="text-align: justify;"><span style="font-size: medium;">Guardando qui sopra lo screenshot il procedimento da seguire è indicato nei seguenti punti:</span></p><p style="text-align: justify;"><span style="font-size: medium;">1) Inserite la pennina nella porta usb del vostro pc o del vostro laptop. Quindi selezionatela dal menù a tendina della prima voce col nome di <b>"Dispositivo/Unità"</b><br /></span></p><p style="text-align: justify;"><span style="font-size: medium;">2) A destra di Selezione Boot cliccate <b>"Seleziona"</b>, quindi andate a selezionare la ISO di windows.<br /><b></b></span></p><p style="text-align: justify;"><span style="font-size: medium;">3) Alla voce successiva <b>"Opzioni Immagine"</b>, selezionate <b>"Windows To Go"</b></span></p><p style="text-align: justify;"><span style="font-size: medium;">A questo punto il resto può' essere lasciato inalterato, come nello screen.</span></p><p style="text-align: justify;"><span style="font-size: medium;">4) Quindi fate click su <b>"AVVIA"</b>, per procedere alla scrittura sulla pennina.<br /></span></p><p style="text-align: justify;"><span style="font-size: medium;">Il tempo necessario per completare la scrittura dell'immagine sulla pennina è da <b>un minimo di 15 minuti</b> fino ad un <b>massimo di 1 ora,</b> per un pc lento.</span></p><p style="text-align: justify;"><span style="font-size: medium;">Considerate che anche il primo boot dalla pennina sarà piuttosto lento in quanto dovranno essere installati e configurati dei software. Oltre alla creazione di un utente e altri dettagli che si devono sbrigare alla prima installazione.</span></p><p style="text-align: justify;"><span style="font-size: medium;"> </span></p><h2 style="text-align: justify;"><span style="font-size: medium;">Effettuare il download della ISO direttamente da RUFUS</span></h2><p style="text-align: justify;"><span style="font-size: medium;">In caso non abbiate ancora effettuato il download della ISO, potete farlo direttamente da rufus. Dovete selezionare la freccia verso il basso del menu <b>SELEZIONA</b> e quindi scegliere <b>DOWNLOAD. </b>Vi verranno fatto delle semplici domande sulla versione del sistema operativo e quindi rufus procederà ad effettuare il download. Fra le opzioni che vi verranno chieste troverete anche quella di fare il download tramite browser. <br /></span></p><p style="text-align: justify;"><span style="font-size: medium;">Spero di esservi stato utile.</span></p><p style="text-align: justify;"><span style="font-size: medium;">Se avete domande postate pure sui commenti. <br /></span></p><p><span style="font-size: small;"><br /></span></p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-7456199384425287662021-11-09T17:52:00.007+01:002022-06-07T22:06:08.462+02:00ffmpeg: varie manipolazioni su un video usando ffmpeg. Rimuovere l'audio. Unire due o più video. Stampare su video i sottotitoli.<p>In questo articolo vedremo come fare diverse manipolazioni sui video con ffmpeg. Vedremo come rimuovere l'audio, unire due o più video, infine scaricare i sottotili da un video youtube e scriverli sul video stesso.<br /><br /></p>
<h2 style="text-align: left;">Rimuoviamo l'audio da un video</h2>
<p>Vediamo quindi come rimuovere l'audio usando <a href="https://ffmpeg.org/" target="_blank">ffmpeg</a> da un video di esempio come segue:
</p><div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ ffmpeg -i video_di_esempio.mp4 -c copy -an video_senza_audio.mp4<br />
</div>
<br /><br />
<h2 style="text-align: left;">Unire due o più video</h2>
<p>In questo secondo paragrafo vediamo come unire due o più video in uno unico. Per concatenare due o più video bisogna prima creare un file di testo con la lista dei video con annesso il relativo <b>PATH</b> del file. E poi lanciare <a href="https://ffmpeg.org/" target="_blank">ffmpeg</a> con i parametri per dargli in pasto il file che contiene i path dei file da concatenare. Nel seguente modo.
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
login@laptop:~$ echo "file '/home/login/video_n1'" >> mieivideo.txt<br />
login@laptop:~$ echo "file '/home/login/video_n2'" >> mieivideo.txt<br />
login@laptop:~$ echo "file '/home/login/video_n3'" >> mieivideo.txt<br />
</div>
<p>A questo punto bisogna lanciare ffmpeg con il file di testo con la lista dei file, così:
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ ffmpeg -safe 0 -f concat -i mieivideo.txt -c copy video_unito.mp4</div>
<br /><br />
<h2 style="text-align: left;">Scaricare i sottotitoli da un video youtube e stamparli sul video stesso.</h2>
<p>Prima di tutto scarichiamo il video con <a href="https://youtube-dl.org/"target="_blank">youtube-dl</a>:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ youtube-dl "https://youtu.be/xxxxxxxxx" <br /></div>
<p>Poi scarichiamo i sottotitoli, così:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ youtube-dl --all-subs --skip-download "https://youtu.be/xxxxxxxxx" </div>
<p>Quindi nella directory dove vi trovare ci sarà un file <b>.vtt</b> che contiene i sottotitoli. A questo punto procediamo col imprimere i sottotitoli nel video e crearne uno nuovo, ma prima rinominate il file dei sottotitoli in qualcosa tipo <b>subtitles.IT.vtt</b>. Quindi procedete come segue per stampare i sottotitoli sul video:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ ffmpeg -i miovideo.mp4 -vf subtitles=subtitles.it.vtt video_nuovo.mp4 </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-32024428713062797102021-10-12T03:48:00.004+02:002021-10-15T01:33:51.392+02:00Windows10: come risolvere gli errori di installazione OOBEKEYBOARD, OOBELOCAL, OOBEREGION<p>Durante l'installazione di windows10 mi capita spesso (in realtà sempre) di imbattermi in questi tre fastidiosissime errori (ma dico, ma alla microsoft non sanno ancora fare un tool di installazione per un sistema operativo ????):</p>
<p><code>
OOBEKEYBOARD
OOBELOCAL
OOBEREGION
</code></p>
<p>per risolvere questo problema non dovete assolutamente spegnere la macchina ma procedere come segue:</p>
<ol>
<li>per prima cosa dovete aprire un command prompt premendo contemporaneamente i tasti <strong>SHIFT+F10</strong></li>
<li><p>DIGITARE TUTTE le seguenti linee di comandi:</p>
<p><code> <br>
net user Administrator /active:yes <br>
net user /add user_name password <br>
net localgroup administrators user_name /add <br>
cd %windir%\system32\oobe <br>
msoobe.exe <br>
</code></p></li>
<li><p>A questo punto dovete forzare lo spegnimento della macchina tenendo premuto il pulsante di accenzione finchè la macchina si ritroverà ad essere senza corrente e riavviare la macchina</p></li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-89129295961379753602021-10-12T03:32:00.001+02:002021-10-12T03:49:25.228+02:00Windows10: come installare il pacchetto dotnet3.5 su una macchina offline.<p>Oggi mi sono trovato a dover installare il pacchetto dotnet3.5 su una macchina windows10 a 32bit piuttosto vecchia e non collegata ad internet.
Quindi stiamo parlando di un'installazione offline del framework dotnet3.5.
Se hai provato a scaricare il pacchetto da oltre 200 megabytes per installarlo sulla macchina non collegata ad internet, non te lo farà installare.
L'unico modo è installarlo direttamente dall'iso o dalla pennina usb di installazione del sistema operativo.
Quindi una volta inserita la pennina nella porta usb dovete procedre digitando il seguente comando dal prompot dei comand aperto come amministratore.
Ammettiamo che la pennina sia su "D:".</p>
<p><code>
cmd> dism /online /enable-feature /featurename:netfx3 /source:D:\Sources\SXS /limitaccess
</code></p>
<p>A questo punto procederà partendo con l'installazione ci vorrano da pochi secondi a qualche minuto a seconda della potenza della vostra macchina.
In caso abbiate nuovamente bisogno della ISO di installazione potete scaricarla da <a href="https://www.microsoft.com/it-it/software-download/windows10">ISO QUI</a>.</p>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-43196924944391483482021-10-11T04:08:00.001+02:002021-10-12T03:50:29.981+02:00Ubuntu: creare una pennina usb per l'installazione di windows 10.
<p>In questo veloce articolo vedremo com vedremo come creare una pennina usb formattata per installare windows10 ma da Ubuntu.
Infatti il semplice download della iso e la scrittura dell'imagine con il classico <strong>dd</strong> non è sufficiente.
Bisogna scrivere il MBR (master boot record) in modo specifico con uno strumento adatto.
Serve infatti una utility da linea di comando per scrivere correttamente il <a href="https://it.wikipedia.org/wiki/Master_boot_record">MBR</a>.</p>
<h2>ms-sys</h2>
<p>L'utility si chiama <a href="http://ms-sys.sourceforge.net/">ms-sys</a>, ad oggi 11 ottobre 2021 la versione stabile è la 2.6.0.
Dovete fare il download del pacchetto, scompattarlo e compilare i sorgenti.
La procedure è molto semplice:</p>
<p><code>
$ wget https://sourceforge.net/projects/ms-sys/files/ms-sys%20stable/2.6.0/ms-sys-2.6.0.tar.gz <br>
$ tar xvfz ms-sys-2.6.0.tar.gz <br>
$ cd ms-sys-2.6.0 <br>
$ make <br>
</code></p>
<p>Io non ho avuto problemi di sorta, ho solo dovuto installare il pacchetto gettext con apt:</p>
<p><code>
$ sudo apt install gettext <br>
</code></p>
<p>Se avrete problemi nel compilarei, in quanto vi manca <strong>msgfmt</strong>, allora dovete installare <strong>gettext</strong>.</p>
<h2>Creiamo la pennina per l'installazione.</h2>
<p>A questo punto abbiamo tutto per procedere nella creazione della pennina. Quindi procediamo.
<ul>
<li><p>Prima di tutto scarichiamo la iso di <a href="https://www.microsoft.com/it-it/software-download/windows10">Microsoft Windows 10</a></p></li>
<li>Nel frattempo che scarica formattiamo la pennina con gparted (o chi preferisce puo' utilizzare fdisk, l'importante è che ricordiate di rendere bootabile la partizione). In questo caso utilizzeremo gparted.
<ol>
<li>Apriamo il software (gparted) e selezioniamo il device della nostra pennina.</li>
<li>Cancelliamo tutte le partizioni. Oppure passiamo al punto successivo in caso sia nuova oppure non ci sia la tabella delle partizioni.</li>
<li>Creaimo una nuova tabelle delle partizioni msdos.</li>
<li>Creiamo una nuova partizone NTFS.</li>
<li>Applichiamo i cambiamenti, cioè scriviamo quello che è stato impostato.</li>
<li>Rendiamo bootabile la partizione facendo click destro sulla partizione e selezioniamo <strong>manage flags</strong>, quindi dalla finestra che si apre selezioniamo <strong>boot</strong>.</li>
<li>Fine</li>
</ol></li>
<li><p>A questo punto dobbiamo montare la iso in questo modo:</p>
<p><code>$ sudo mount -t auto -o loop,ro Win10_21H1_Italian_x32.iso /mnt</code></p></li>
<li><p>poi copiamo con rsync o con cp il contenuto della iso sulla pennina. Immaginiamo che la pennina sia montato su /media/vostro_username/windows10, così:</p>
<p><code>$ sudo rsync -av --progress /mnt/* /media/vostro_username/windows10/</code></p></li>
<li><p>Una volta terminata la copia diamo un doppio sync:</p>
<p><code>$ sudo sync && sudo sync</code></p></li>
<li><p>Smontiamo la pennina con: </p>
<p><code>$ sudo umount /media/vostro_username/windows10</code></p></li>
<li><p>Infine usiamo il fatidico comando <strong>ms-sys</strong> sul device della pennina, in questo caso ho <strong>/dev/sdb1</strong>:</p>
<p><code>$ sudo ./ms-sys -n /dev/sdb1</code></p></li>
<li>FINE, possiamo riavviare e far partire l'installazione di windows10 dalla pennina.</li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-45917780473881655772021-10-10T04:35:00.006+02:002021-10-13T01:13:00.069+02:00Progetti in rete per costruirsi uno sniffer usb<p>Sto cercando in rete qualche progetto software o hardware, gratis o a pagamento per farmi uno sniffer usb.
Non voglio però spendere troppo perché come vedrete ci sono progetti che costano anche più di mille dollari.
Io preferirei spendere il meno possibile ma faccio comunque una lista riassuntiva per farmi un idea.</p>
<ol>
<li>Al primo posto in ordine rigorosamente casuale abbiamo questo prodotto che si chiama <a href="https://www.bugblat.com/products/minisniff2/index.html">MiniSniffer2</a> che costa 90 dollari più 20 di spedizione per un totoale di oltre <strong>110 verdoni</strong>. Marca <a href="https://www.bugblat.com/">BugBlat</a></li>
<li>Secondo posto abbiamo <a href="https://shop.lambdaconcept.com/home/35-usb2-sniffer.html">USB2 sniffer</a> della marca <a href="https://lambdaconcept.com/">LambdaConcept</a> che costa <strong>219 Eurozzi</strong>. Il software lo trovate <a href="https://github.com/ultraembedded/usb2sniffer">qui</a></li>
<li>Terzo posto per <a href="https://github.com/matlo/serialusb">SerialUSB</a> un progetto software che necessita dell'acquisto di un adattatore da <strong>pochi euro</strong> ma che però sembra non possa andare oltre i 50KB al secondo. Vedi le <a href="https://github.com/matlo/serialusb#limitations">limitazioni</a>. Si tratta essenzialmente di proxy utile per il reversing ma non per diagnosticare problemi hardware.</li>
<li>Poi abbiamo <a href="https://github.com/matlo/bb_usb_sniffer">BB USB sniffer</a>, è uno sniffer fatto sopra la <a href="https://beagleboard.org/beagleboard-xm">BeagleBoard-xM</a>. Una SBC (cioè una <a href="https://it.wikipedia.org/wiki/Computer_a_scheda_singola">Single Board Computer</a> tipo Raspberry). E costa <strong>149 verdoni</strong>. Di beagleboard ne esistono di diversi tipi, è possibile che questo progetto possa essere applicato anche ad altri modelli.Il progetto ha preso spunto da altri progetti (piuttosto vecchi) dello stesso tipo come <a href="https://elinux.org/BeagleBoard/GSoC/2010_Projects/USBSniffer#Usage_instructions">questo</a>, <a href="https://github.com/jadonk/beagleboard-usbsniffer-kernel">questo</a> e <a href="http://beagleboard-usbsniffer.blogspot.com/">questo</a>.</li>
<li>Poi c'è <a href="https://github.com/usb-tools/USBProxy-legacy">USBProxy-Legacy</a> nato per <a href="https://beagleboard.org/black">BBB</a> cioè BeagleBone Black, sempre una schedina BeagleBoard dal costo più contenuto. Ma sembra che questo proxy posso essere utilizzato su qualsiasi pc linux.</li>
<li>Al punto sei abbiamo un'altra scheda targata <a href="http://shop.sysmocom.de/products/openvizsla-v3-dot-2-usb-protocol-analyzer-pcba">OpenVizsla</a> che costa <strong>154 eurozzi</strong>. <a href="http://openvizsla.org/">Questo il sito</a> mentre <a href="https://github.com/openvizsla/ov_ftdi">qui trovate il software</a>. La stessa schedina la trovate <a href="https://3mdeb.com/shop/open-source-hardware/open-source-hardware-3mdeb/openvizsla/">anche qui</a> ad un prezzo inferiore <strong>119 eurozzi</strong>.</li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-80373808507814254402021-07-07T03:50:00.005+02:002021-07-07T03:50:59.758+02:00Ubuntu 20.04: come mantenere i pacchetti deb di apt sotto la cartella /var/cache/apt/archives<p>Se vi chiedete qual'è il modo per mantenere i pacchetti deb di apt sotto la cartella <b>/var/cache/apt/archives </b>dopo l'installazione il modo è il seguente.</p><p style="text-align: left;">Bisogna aggiungere l'opzione Binary::apt::APT::Keep-Downloaded-Packages in un file custom nella cartella /etc/apt/apt.conf.d/ in questo modo:</p><p style="text-align: left;"><span style="font-size: x-small;"># echo "Binary::apt::APT::Keep-Downloaded-Packages \"true\";" >> <span style="color: var(--black-800); font-family: var(--ff-mono); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> /etc/apt/apt.conf.d/01mantieni-deb</span></span></p><p style="text-align: left;">A questo punto possiamo installare tutti pacchetti che vogliamo per ritrovarli sotto <b>/var/cache/apt/archives</b>.<br />Oppure possiamo anche procedere all'installazione usando la seguente sintassi di apt:</p><p style="text-align: left;"><span style="font-size: x-small;"># apt -o APT::Keep-Downloaded-Packages="true" install il_vostro_pacchetto -y</span></p><p style="text-align: left;"><br /></p><p style="text-align: left;"><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-70028071904939617422021-06-04T07:40:00.012+02:002021-06-14T17:53:12.466+02:00Sicurezza di rete lato server (windows): decriptare il traffico per analizzarlo con snort<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Come tutti sanno, oggi giorno il 90% del traffico web è criptato questo rende
l'utilizzo di
<a href="https://it.wikipedia.org/wiki/Network_intrusion_detection_system" target="_blank">NIDS</a>come
<a href="https://www.snort.org/" target="_blank">snort</a>piuttosto problematico. Anche nel caso di intrusioni il
semplice log dei pacchetti, senza conoscerne il contenuto, può risultare assolutamente inutile. 
Ci sono diversi modi per avere il traffico in chiaro al fine di poterlo analizzare con
un software di intrusion detection: 
<ul style="text-align: left;">
<li style="text-align: justify;">il primo è semplicemente far terminare il flusso criptografico dei dati che
dovrebbero arrivare al webserver prima ponendo davanti a quest'ultimo un
<a href="https://it.wikipedia.org/wiki/Reverse_proxy" target="_blank">reverse proxy</a>.
In pratica il client si
collega al reverse proxy in modo criptato ma quest'ultimo si collega al webserver in chiaro. Fra il proxy e il
webserver è possibile inserire un sensore per il rilevamento delle intrusioni.</li>
<li style="text-align: justify;">il secondo consiste nell'effettuare tutte le operazioni di monitoraggio
direttamente dall'interno del webserver e quindi aumentandone il livello di logging applicativo.</li>
<li style="text-align: justify;">Il terzo modo consiste nell'attrezzare il nostro sensore della possibilità di
decriptare il traffico.</li>
</ul>
Ognuno dei tre approccio ha vantaggi e svantaggi, ma in questo articolo ci occuperemo
solo del terzo modo. </div>
<br>
<h2 style="text-align: center;">
<u>Decriptare SSL</u>
</h2>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Prima di procedere è necessario approfondire dal punto di vista teorico come funziona
la decriptazione dei dati, per fare questo potete leggere
<a href="https://wirewatcher.wordpress.com/2010/07/20/decrypting-ssl-traffic-with-wireshark-and-ways-to-prevent-it/"
target="_blank">questo articolo in inglese</a>.
Per dirla in due parole ci sono due condizioni che devono essere
rispettate prima di procedere:
<ol style="text-align: left;">
<li style="text-align: justify;">Il server deve usare il meccanismo per scambio delle chiavi RSA (leggi
<a href="https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc962035(v=technet.10)?redirectedfrom=MSDN"
target="_blank">questo articolo</a> e l'
<a href="http://www.faqs.org/rfcs/rfc2246.html" target="_blank">RFC2246</a>) e per fortuna questo è il sistema
più comune usato dai webserver che usano SSL.  Mentre se stai usando
<a href="http://www.rsa.com/rsalabs/node.asp?id=2239" target="_blank">DSA keypairs</a> oppure il
meccanismo di scambio chiavi
<a href="http://www.rsa.com/rsalabs/node.asp?id=2248" target="_blank">Diffie-Hellman</a> allora ti è
andata male.</li>
<li style="text-align: justify;">Devi poter accedere alla chiave privata RSA per copiarla sul server di
sguil/snort.</li>
</ol>
L'ultimo punto significa solo la decriptazione che andremo a fare riguarda solo
il traffico da e verso il server che sotto il nostro controllo. Ovviamente que
sto è quello che vogliamo da un punto di vista di analisi forense della rete e
della rilevazione delle intrusioni.
</div>
<br>
<h2 style="text-align: center;">
<u>Adesso dove sono le chiavi ?</u>
</h2>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Ottenere le chiavi private dal nostro server per copiarle sul server dello
sguil/snort può comportare un po' di lavoro. La chiave potrebbe essere conservata in un file
<b>.pem </b> da qualche parte nel webserver e copiarla sul server dello sguil/snort dovrebbe essere piuttosto
semplice.  Tuttavia, alcuni sistemi operativi come per esempio Windows conservano la chiavi in un "certificate
store" piuttosto che in
<b>.pem</b> file.  
Quindi per ottenere la chiave private abbiamo bisogno prima di tutto di esportare il
certificate e la chiave insieme in un file
<a href="http://www.rsa.com/rsalabs/node.asp?id=2138" target="_blank">PKCS12</a> (leggi
<a href="http://windows.microsoft.com/en-US/windows-vista/Import-or-export-certificates-and-private-keys"
target="_blank">qui</a>per sapere come fare). Poi, una volta esportato il certificato, bisogna esportare la chiave
usando il comando
<a href="http://www.openssl.org/" target="_blank">openssl</a> nel seguente modo:
</div>
<br />
<div style="background-color: white; color: #212529; font-family: "Courier New"; letter-spacing: 0.18px; font-size: x-small;">
C:>openssl pkcs12 -in c:\MIOCERTIFICATO.pfx –out c:\MIO_CERTIFICATO.pem -nodes
</div>
<br>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Quando ottieni il prompt inserisci la password che hai fornito durante la proc
edura di esportazione del certificato. Il file MIO_CERTIFICATO .pem ottenuto co
nterrà un blocco di testo come il seguente:
</div>
<br>
<div style="background-color: white; color: #212529; font-family: "Courier New"; letter-spacing: 0.18px; font-size: x-small;">
—–BEGIN PRIVATE KEY—–<br>
MISLKJWLKERJNBgkAELRJWELKASDFAASCBKcwggSjAgEAAoIBAQCvHJFIpFwXZJ0x
2DzEY2B4MDBBKSLJFWELIKFSoEGTAARh3OAP+UMedNf2t8/MVJdEEAM7TQ<br>
<snip><br>
EZq3T23K3K3KSDKGSjVRorB0YGvDSLDFJSLKEJFRLWEJKSFcLCC4lGQeTg+usZmtcx4VI
wGI70e4Byd+Lba01K3KS398SK=<br>
—–END PRIVATE KEY—–<br>
</div>
<br>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
A questo punto copia il blocco di testo ottenuto e incollalo all'interno del file
myExportedCertificate.pem poi salva il file sul server sensore di sguil/snort.
C'è da aggiungere che windows non puo' esportare le chiavi private neppu
re col software di gestione dei certificati. Ma sembra che <a href="https://www
.isecpartners.com/application-security-tools/jailbreak.html" target="_blank"> jailbreak</a> 
possa farlo.
</div>
<br>
<h2 style="text-align: center;">
<u>Avviso</u>
</h2>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Come spiegato in
<a href="https://wirewatcher.wordpress.com/2010/07/20/decrypting-ssl-traffic-with-wireshark-and-ways-to-prevent-it/" target="_blank">
questo articolo in Inglese</a>,
la chiave privata del tuo server è davvero un'informazione molto sensibile. C
on essa, un utente malintenzionato potrebbe decrittografare il traffico SSL del
server o utilizzarla insieme al certificato del server per mascherarsi come un
sito legittimo. È necessario prestare estrema attenzione alla gestione della
chiave privata:
</div>
<br>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
<ul style="text-align: left;">
<li style="text-align: justify;">
non lasciarne copie in giro in directory temporanee,
</li>
<li style="text-align: justify;">
assicurati che non finisca accidentalmente su Internet
</li>
<li style="text-align: justify;">
assicurati che il
server sgui/snort sul quale andrai a copiare la chiave sia molto ben configurato e hardenizzato.
Pensa a questa chiave privata come alla combinazione per proteggere
i tuoi oggetti di valore: assicurati di condividerla solo con fonti
attendibili.
</li>
</ul>
La perdita di una chiave privata puo' essere di gran lunga peggio rispetto al
controllare il tuo traffico alla ricerca di un'intrusione potenzialmente non ancora avvenuta. Quindi fai
attenzione!
</div>
<br>
<h2 style="text-align: center;">
<u>Usare la chiave privata</u>
</h2>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Una volta che abbiamo la nostra chiave privata, potremmo puntare
<a href="https://www.wireshark.org/" style="background-color: #f8f9fa; white-space: pre-wrap;"
target="_blank">Wireshark</a>
alle directory di acquisizione del contenuto di sguil/snort. Ma questo approcci
o non si presta a un monitoraggio efficiente, mentre sarebbe molto meglio se potessimo
convogliare le nostre decrittazioni direttamente in
sguil/<a href="http://www.snort.org/" target="_blank">Snort</a>
quasi in tempo reale, sfruttando i vantaggi di
<a href="http://www.metre.net/sancp.html" target="_blank">SANCP</a>,
<a href="http://passive.sourceforge.net/" target="_blank">PADS</a>
e qualsiasi altra cosa stia girando.
Il software <a href="https://github.com/plashchynski/viewssld" target="_blank">viewssld</a>
di Dmitry Plashchynski è lo strumento di cui
abbiamo bisogno per decriptare i dati. Di recente sono state apportate
alcune aggiunte al codice per facilitare l'integrazione con
sguil/Snort e per produrre decrittazioni più ricche. Concettualmente,
<a href="https://github.com/plashchynski/viewssld" target="_blank">viewssld</a>
ha questo aspetto:
</div>
<br>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container"
style="color: #202124; font-family: "Google Sans", arial, sans-serif; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4_vggIWwyn9i43L734rOKRqsY6L-12E81Wcty85nlZxrzXqpjMtQiSKsYu6zDpz9QcBHwaOdTAtiApJrSfWHeWcn8eUILaUIh8mkkjD7uwG6huhUYdK42A0Khc7gLCAeZijKIjabiYJdl/s438/viewssld.png"
style="margin-left: auto; margin-right: auto;">
<img alt="Software viewssld" border="0" data-original-height="207" data-original-width="438"
height="302"
src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4_vggIWwyn9i43L734rOKRqsY6L-12E81Wcty85nlZxrzXqpjMtQiSKsYu6zDpz9QcBHwaOdTAtiApJrSfWHeWcn8eUILaUIh8mkkjD7uwG6huhUYdK42A0Khc7gLCAeZijKIjabiYJdl/w640-h302/viewssld.png"
width="640" />
</a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">Software viewssld
<br /></td>
</tr>
</tbody>
</table>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">viewssld
ascolta su una data interfaccia tramite il solito
<a href="https://www.tcpdump.org/" target="_blank">libpcap</a>.
I frame catturati vengono quindi passati alla libreria
<a href="https://github.com/plashchynski/libdssl" target="_blank">libdssl</a>
di Atomic Labs che gestisce la decrittazione vera e propia (l'ultima versione
di libdssl al momento della scrittura è 2.1.1, disponibile tramite
svn qui).
<br />
L'output di libdssl è il contenuto del solo pacchetto decifrato ( quindi nessuna
intestazione o cose del genere), quindi libnet viene utilizzato per creare un
flusso di traffico "falso" contenente i pacchetti SSL decrittografati. Questo
flusso falso viene pompato attraverso l'interfaccia di output, dove Sguil/Snort è in ascolto.
<br />
Le versioni precedenti di viewssld restituivano il solo traffico client->server
(ad es. Richieste HTTP). Ma le versioni successive includono:
<ol style="text-align: justify;">
<li style="text-align: justify;">Emissione di un falso handshake TCP a 3 vie per il traffico
decrittografato</li>
<li style="text-align: justify;">Emissione delle risposte del server decifrate così come le richieste del
client, mantenendo i numeri di sequenza TCP (falsi) correttamente aggiornati. I numeri di sequenza e altri
"mobili" di intestazione TCP/IP sono ovviamente una finzione completa: poiché il traffico decrittografato
ha dimensioni diverse rispetto al traffico crittografato, non è possibile utilizzare i valori "reali". Il
flusso decifrato può anche essere frammentato/segmentato in modo diverso da quello crittografato, ma anche
in questo caso c'è poco che puoi fare al riguardo</li>
<li style="text-align: justify;">Emissione di un falso RST alla fine di ogni sessione</li>
<li style="text-align: justify;">Utilizzo di un numero di identificazione (ID) IP facilmente ricercabile
per tutti i frame falsi in modo da poter dire quali sono stati emessi da viewssld (54609 == 0xd551 ==
DSSL)</li>
<li style="text-align: justify;">Emettere i frame decifrati su una porta diversa su cui sono stati
catturati (es. 443->80, 465->25, 993->143, ecc.)</li>
</ol>
I primi tre punti aiutano a mantenere funzionante l'istanza SANCP di
Sguil/Snort, poiché l'output di viewssld è ora un flusso TCP ragionevolmente ben formato con un inizio e una
fine definiti. Il punto quattro ci ricorda che sebbene il traffico decifrato sia disponibile per Sguil/Snort, è
una fabbricazione completa: non è mai esistito un tale traffico in questa forma sulla rete. Contrassegnando i
datagrammi IP decifrati con un ident di 0xd551 è possibile ordinare i fatti registrati dai
decrittografati.
<br>
Il punto cinque aiuta a integrare viewssld e Sguil come mostrato nel diagramma seguente:
</div>
<br>
<div class="separator"
style="clear: both; color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ35U8QMR1hcVZ32001yZgU1lrfqqMIa8NkTDYjzfSbgTBdKRn0_D0Bh7N3-HfcarxRdDNq6JzNxL_5EaQFX6AZE_N4IneOK_spLZ9D2FCTIUcK_FABAF4LSYsVMo__PF5JtPxrjajLtvt/s440/sguil.png"
style="margin-left: 1em; margin-right: 1em;">
<img alt="viewssld e sguil" border="0" data-original-height="262" data-original-width="440" height="382"
src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ35U8QMR1hcVZ32001yZgU1lrfqqMIa8NkTDYjzfSbgTBdKRn0_D0Bh7N3-HfcarxRdDNq6JzNxL_5EaQFX6AZE_N4IneOK_spLZ9D2FCTIUcK_FABAF4LSYsVMo__PF5JtPxrjajLtvt/w640-h382/sguil.png"
width="640" />
</a>
</div>
<br><br>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
il flusso viaggia nel modo seguente:
<ol style="text-align: left;">
<li style="text-align: justify;">Il traffico non elaborato (frecce blu) entra nell'interfaccia di
monitoraggio di Sguil.</li>
<li style="text-align: justify;">Questo traffico viene catturato sia da Sguil che da viewssld.</li>
<li style="text-align: justify;">viewssld decifra ciò che può e lo invia all'interfaccia da cui lo ha
catturato (frecce rosse). Ciò è reso possibile solo utilizzando una porta TCP diversa per i frame
decrittografati: se utilizzasse la stessa porta, rientrerebbe in viewssld.</li>
<li style="text-align: justify;">Il flusso falso di SSL decifrato viene raccolto da Sguil.</li>
</ol>
<br />
Sguil/SANCP/Snort/PADS/ecc. quindi vedono sia il traffico crittografato che
quello decifrato, come mostrato nello screenshot qui sotto. Sullo sfondo puoi vedere una query SANCP con due
righe di risultati. La prima riga è il traffico SSL grezzo catturato da Sguil sulla porta 443; la seconda riga
mostra Sguil che cattura l'output del flusso decifrato falso corrispondente da viewssld sulla porta 80. Le due
finestre di trascrizione raccontano il resto della storia:
</div>
<br>
<div class="separator"
style="clear: both; color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg0e9vre_XfzZBTyEXGpGXXI4aIi8ghgnq8nPGPU-h0oABmA19AKawUnN5j4ELl-BkmYNOSAYsIx7MRXmVf7Fwh34JYwhiHJiFde4angp9Ar0SSs15XlkP_JNYefRxKuDRm8cUeOxzYPdf/s698/sguil_sancp_snort.png"
style="margin-left: 1em; margin-right: 1em;">
<img alt="sguil sancp e snort" border="0" data-original-height="524" data-original-width="698" height="480"
src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg0e9vre_XfzZBTyEXGpGXXI4aIi8ghgnq8nPGPU-h0oABmA19AKawUnN5j4ELl-BkmYNOSAYsIx7MRXmVf7Fwh34JYwhiHJiFde4angp9Ar0SSs15XlkP_JNYefRxKuDRm8cUeOxzYPdf/w640-h480/sguil_sancp_snort.png"
width="640" />
</a>
</div>
<br />
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Ho testato viewssld con
<b>HTTPS</b>,
<b>SMTPS</b>,
<b>POP3S</b>e
<b>IMAPS</b>: tutti funzionano come previsto. Un file
<b>viewssld.conf</b>di esempio per questi quattro protocolli potrebbe essere simile a questo:
</div>
<br>
<span style="background-color: white; color: #212529; font-family: "Courier New"; letter-spacing: 0.18px;">
<span style="font-size: x-small;">
<br /># PID-file percorso(default: /var/run/viewssl.pid)
<br />pid = /var/run/viewssl.pid
<br /># rendi demone ? on/off (default: off)
<br />daemon = on
<br /># loglevel 0-10 (default: 0)
<br />loglevel = 10
<br /># SSL protocols to decrypt
<br />[webserver]
<br />src = eth1
<br />dst = eth1
<br />ip = 10.11.12.13
<br />port = 443
<br />key = /etc/viewssld/webserver.key
<br />dsslport = 80
<br />[mailserverSMTP]
<br />src = eth1
<br />dst = eth1
<br />ip = 20.30.40.50
<br />port = 465
<br />key = /etc/viewssld/mailserver.key
<br />dsslport = 25
<br />[mailserverIMAP]
<br />src = eth1
<br />dst = eth1
<br />ip = 20.30.40.50
<br />port = 993
<br />key = /etc/viewssld/mailserver.key
<br />dsslport = 143
<br />[mailserverPOP3]
<br />src = eth1
<br />dst = eth1
<br />ip = 20.30.40.50
<br />port = 995
<br />key = /etc/viewssld/mailserver.key
<br />dsslport = 110
</span>
</span>
<br><br>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Notare come le interfacce src e dst siano le stesse in tutti i casi e che
sia specificata la porta non-SSL (dsslport=) così come la porta SSL (port=).
</div>
<br>
<h2 style="text-align: center;">
<u>Secondo avviso</u>
</h2>
<div style="color: #202124; font-family: "Google Sans", arial, sans-serif; text-align: justify;">
Ci sono un paio di cose da considerare quando si utilizza viewssld su un sensore Sguil:
<ol style="text-align: justify;">
<li style="text-align: justify;">
La decrittazione di SSL ha un costo computazionale importante. Se
la CPU del tuo Sguil/Snort è normalmente molto occupata, il carico computazionale associato alla
decrittazione potrebbe spingerla oltre ogni limite.
</li>
<li style="text-align: justify;">
Il processo di decrittazione è molto sensibile alla perdita di
pacchetti. Se viewssld perde un pacchetto, la decrittazione del flusso si fermerà a quel punto; se
manca l'handshake SSL all'inizio di una sessione crittografata, non decrittograferà assolutamente
nulla.
</li>
<li style="text-align: justify;">
Ora stai archiviando sia il traffico crittografato che
decrittografato, quindi potrebbe esserci un impatto sull'utilizzo dello spazio disco.
</li>
</ol>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-29254340360155520502021-05-30T14:09:00.002+02:002021-05-30T14:09:27.539+02:00Windows10: modificare la variabile d'ambiente PATH<p> In questo breve articolo vedremo come modificare la variabile d'ambiente <b>PATH</b> in ambiente Windows10.</p><h2 style="text-align: left;"><u>SPIEGAZIONE VELOCE</u></h2><div><ol style="text-align: left;"><li>Fare click destro sul tasto per aprire il menu delle applicazioni e click su <b>Sistema</b></li><li>Fare click su <b>Impostazioni di sistema avanzate</b> a destra dello schermo</li><li>Fare click su <b>Variabili di ambiente</b></li><li>Quindi selezionare la variabile d'ambiente <b>path</b> e fare click su <b>modifica</b></li><li>A questo punto fare click su <b>nuovo</b> e poi su <b>sfoglia</b></li><li>Infine andare a cercare il percorso della cartella voglia aggiungere al <b>path</b></li></ol><div><br /></div></div><h2 style="text-align: left;"><b><u>SPIEGAZIONE LUNGA</u></b></h2><div><ol style="text-align: left;"><li>Fare click destro sul menu delle applicazioni e selezionare la voce <b>sistema <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1yxwUV4T2TnOSbNO61fV5TO1WvaArJ799cMdX0vhW26DS6_Q5nP2svrPu9SbfIaFW3WOsnLh8-04_Y2v7STp5lPu6R7n00RSCEncvTkWw8Z4JUEXgzcS3Ud9oQNY7YQDBmmc6QbT8TKpK/s721/cattura_sistema.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Click destro sul menu delle applicazioni" border="0" data-original-height="721" data-original-width="533" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1yxwUV4T2TnOSbNO61fV5TO1WvaArJ799cMdX0vhW26DS6_Q5nP2svrPu9SbfIaFW3WOsnLh8-04_Y2v7STp5lPu6R7n00RSCEncvTkWw8Z4JUEXgzcS3Ud9oQNY7YQDBmmc6QbT8TKpK/w148-h200/cattura_sistema.PNG" width="148" /></a></div></b></li><li><div class="separator" style="clear: both; text-align: left;">Fare click su <b>Impostazioni di sistema avanzate</b> a destra dello schermo sul pannello di controllo.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr9HGQBATlxmlttxO9BtPPbNKy3H_o-ZSY47k0CoV2lg5iwTrx0UoeC11J3uvqrdOEamBpYrJCMBPlZ06ia21re6rUP8tJH4hQUTqnAKI73EtgO-6SO41eZ__0g413cbW6sNnJMoehhyGw/s1190/cattura_sistema_avanzate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Impostazioni di sistema avanzate" border="0" data-original-height="476" data-original-width="1190" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr9HGQBATlxmlttxO9BtPPbNKy3H_o-ZSY47k0CoV2lg5iwTrx0UoeC11J3uvqrdOEamBpYrJCMBPlZ06ia21re6rUP8tJH4hQUTqnAKI73EtgO-6SO41eZ__0g413cbW6sNnJMoehhyGw/w200-h80/cattura_sistema_avanzate.png" width="200" /></a></div><br /></div></li><li><div class="separator" style="clear: both; text-align: left;">A questo punto si aprirà la finestra <b>Proprietà del sistema</b> e su questa fare click su <b>variabili di ambiente</b> (vedi screenshot passo 3)</div></li><li><div class="separator" style="clear: both; text-align: left;">Selezionare la variabile d'ambiente <b>path</b> (vedi screenshot passo 4)</div></li><li><div class="separator" style="clear: both; text-align: left;">Fare click su <b>modifica </b>(vedi screenshot passo 5)</div></li><li><div class="separator" style="clear: both; text-align: left;">Fare click su <b>nuovo</b> (vedi screenshot passo 6)<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSUm4kRrM8fKe6meDMXDXHoAwtOiiKEICmrgxnBRcnCuTAZoivqO7ZJp7fVHVKQJ55VbxspDKyLJAkHhT_kDnpnOgpvubRho6qb6yQ-FaJqRx0r9mWmDTzoY1AG_GLdg3TK7EhC864Hv6m/s1268/variabile_ambiente_path_totale.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="897" data-original-width="1268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSUm4kRrM8fKe6meDMXDXHoAwtOiiKEICmrgxnBRcnCuTAZoivqO7ZJp7fVHVKQJ55VbxspDKyLJAkHhT_kDnpnOgpvubRho6qb6yQ-FaJqRx0r9mWmDTzoY1AG_GLdg3TK7EhC864Hv6m/s320/variabile_ambiente_path_totale.png" width="320" /></a></div><br /></div></li><li><div class="separator" style="clear: both; text-align: left;">A questo punto fare click su <b>Sfoglia</b> e andare a cercare la <b>cartella</b> da aggiungere al <b>path</b>.</div></li><li><div class="separator" style="clear: both; text-align: left;">Fare click su tutti gli <b>OK</b> per applicare le modifiche</div></li></ol></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-86604536688726018012021-05-13T09:13:00.003+02:002021-05-13T09:29:10.316+02:00Ubuntu: Come salvo l'output di un comando ?<p>Se digito un comando, come faccio a salverne l'output ?</p>
<p>Ci sono diversi modi.</p>
<p>Il seguente modo redirige l'output di ls nel file alla destra del carattere <b>></b>, ma se il file esiste già lo <b>sovrascrive</b>: <br />
</p>
<pre class="prettyprint"><code class="language-html">$ ls <b>></b> contenuto_cartella.txt
</code></pre>
<p>Quest'altro metodo seguente è come il precedente, l'unica differenza è che l'output viene "<b>appeso</b>" al file di testo a destra di
<b>>></b>. Quindi non viene sovrascritto.
</p>
<pre class="prettyprint"><code class="language-html">$ ls <b>>></b> contenuto_cartella.txt </code></pre>
<p>Il seguente metodo
<b>ridirige</b> non l'output (detto anche standard output) ma solo gli errori (detto anche standard error) e sovrascrivendo il file:
</p>
<pre class="prettyprint"><code class="language-html">$ ls &> errori_cartella.txt</code></pre>
<p>Mentre il seguente è come il precedente ma non sovrascrive il file sul quale vengono rediretti gli errori.</p>
<pre class="prettyprint"><code class="language-html">$ ls &>> errori_cartella.txt </code></pre>
<p>Se poi vuoi <b>redirigere</b> sia lo <b>standard output</b> che lo <b>standard error</b> nello stesso file il comando è il seguente: </p>
<pre class="prettyprint"><code class="language-html">$ ls 2>&1 errori_e_output.txt </code></pre>
<p>
<code></code>
<br />
</p>Unknownnoreply@blogger.com0Italia41.87194 12.5673813.561706163821157 -22.58887 70.182173836178848 47.72363tag:blogger.com,1999:blog-6143719327094386801.post-21199292208663239752021-05-10T05:27:00.002+02:002021-05-10T05:27:44.155+02:00Ubuntu: come installare, rimuovere e riconfigurare un file .deb<p style="text-align: justify;">In questo articolo vedremo come gestire in modo un po' sommario un pacchetto deb. Per prima cosa vedremo come installare un pacchetto, poi come rimuoverlo ed infine come configurarlo.</p>
<h2 style="text-align: left;">Installare un pacchetto</h2>
<p style="text-align: justify;">
Adesso vedremo come installare un pacchetto da terminale o da linea di comando. Il comando per fare questo genere di operazione è <a href="http://manpages.ubuntu.com/manpages/trusty/it/man1/dpkg.1.html" target="_blank"><b>dpkg</b></a>.
Facciamo un esempio installando il deb di <a href="https://www.virtualbox.org/" target="_blank">VirtualBox</a> in modo da installare questo software. Quindi scarichiamo il
<a href="https://download.virtualbox.org/virtualbox/6.1.22/virtualbox-6.1_6.1.22-144080~Ubuntu~eoan_amd64.deb" target="_blank">deb da questo link</a> che è per
<a href="https://www.ubuntu-it.org/download" target="_blank">Ubuntu 20.04</a>. Quindi una volta scaricato il file procediamo all'installazione in questo modo:
</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ cd Scaricati/ <br />
$ sudo <b>dpkg</b> -i virtualbox-6.1_6.1.22-144080~Ubuntu~eoan_amd64.deb <br />
</div>
<p style="text-align: justify;">
quando batterete il tasto invio per eseguire il comando vi verrò chiesta la password dell'utente per avviare il comando come root. Il comando in questo modo procederà all'installazione di VirtualBox. Naturalmente più il file deb è di
grandi dimensioni più ci vorrà tempo per installare il pacchetto.
</p>
<p style="text-align: justify;"><br /></p>
<h2 style="text-align: left;">Rimuovere un pacchetto (ma non i file di configurazione)<br /></h2>
<p style="text-align: justify;">Adesso procediamo a rimuovere il pacchetto. Il nome del pacchetto non è identico a quello del file quindi prima di tutto dobbiamo trovare il nome del pacchetto in questo modo:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ dpkg <b>-l</b> | grep -i virtualbox<br />
ii <b>virtualbox-6.1</b> 6.1.22-144080~Ubuntu~eoan amd64 Oracle VM VirtualBox<br />
ii virtualbox-ext-pack 6.1.16-1~ubuntu1.20.04.1 all extra capabilities.<br />
</div>
<p style="text-align: justify;">
Il comando <b>dpkg -l </b>mostra la lista dei pacchetti installati e <b>grep</b> filtra solo le stringhe che contengono virtualbox. Ok quindi il nome del pacchetto è il primo campo, quindi <b>virtualbox-6.1</b>. Ora procediamo alla
<b>rimozione</b> del pacchetto sempre col comando <a href="http://manpages.ubuntu.com/manpages/trusty/it/man1/dpkg.1.html" target="_blank"><b>dpkg</b></a><b> </b>nel seguente modo:
</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ sudo dpkg <b>-r</b> <b>virtualbox-6.1</b>
</div>
<p style="text-align: justify;">Ok, vi chiederà la vostra password ed una volta immessa <b>dpkg</b> rimuoverà il pacchetto.</p><p style="text-align: justify;"> </p>
<h2 style="text-align: left;">Rimuovere un pacchetto e i file di configurazione</h2><p style="text-align: left;">In questa sezione rimuoviamo nuovamente il pacchetto ma questa volta anche i file di configurazione, quindi facciamo una pulizia completa (nota bene: i file di configurazione sono quelli di sistema, non quelli nella cartella dell'utente in quanto quelli devono essere rimossi a mano).</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ sudo dpkg <b>-P</b> <b>virtualbox-6.1</b></div>
<p style="text-align: left;"><b> </b></p>
<h2 style="text-align: left;"><b>Riconfigurare un pacchetto già installato</b></h2>
<p style="text-align: justify;">Abbiamo già installato un pacchetto ma vogliamo configurarlo di nuovo perché forse alla prima configurazione abbiamo commesso qualche errore. Ecco come riconfigurare un pacchetto:<br /></p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ sudo <b>dpkg-reconfigure</b> virtualbox-6.1 </div>
<p style="text-align: justify;">A questo punto una volta dato invio e inserita la password si ripresenterà il form di configurazione del pacchetto<br /></p>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-36449338910208289462021-05-09T03:35:00.002+02:002021-05-09T03:40:09.451+02:00Ubuntu: come scompattare un file zippato o compresso.<h2 style="text-align: left;">Come fare per scompattare un file zip ?</h2>
<p>Molto molto semplice, vi serve il comando
<b>unzip</b>. Quindi deve essere installato in questo modo:
</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ sudo apt install unzip <br />
</div>
<p>A questo punto possiamo scompattare il file col comando <b>unzip</b> nella directory corrente.</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ unzip file_compresso.zip <br /> </div>
<p>oppure per scompattarlo in una certa cartella specifica:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ unzip file_compresso.zip -d mia_cartella/ <br /> </div>
<br />
<h2 style="text-align: left;">Metodo alternativo</h2>
<p>Un metodo alternativo è usare il software di compressione e decompressione
<b>7z</b>, si tratta di un software che supporta diversi algoritmi di compressione fra cui <b>zip</b> ma anche l'avanzato <a href="https://it.wikipedia.org/wiki/Algoritmo_Lempel-Ziv-Markov" target="_blank"><b>lzma</b></a> e <a href="https://it.wikipedia.org/wiki/Algoritmo_Lempel-Ziv-Markov"><b>lzma2</b></a> per multiprocessore e multicore.
Prima di tutto installiamolo con apt:
</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ sudo apt install p7zip-full <br />
</div>
<p>a questo punto usiamolo per scompattare, ma prima scarichiamoci un file zip, per esempio volatility:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ wget https://github.com/volatilityfoundation/volatility/archive/refs/heads/master.zip <br />
</div>
<p>a questo punto usiamo il comando <b>7z x nome_file.zip</b> per scompattare il file, in questo modo: </p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ 7z x master.zip <br />
</div>
<p>Ecco uno screenshot </p><p><br />
</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixAwl41BA_ZBxJIxYD_e_eua5t9dyAIC7bJpRNd7pLStmz7eL4ihlmNZc2Ku0ed4F5L6Xprm6Ln2CaURCpbH6NWrAixfZpiZ-6ILL3aoLyXU5QxXDUKbIzq9esjJQbySb6yC5iB89wr6XM/s1171/scompattare_zip.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="681" data-original-width="1171" height="373" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixAwl41BA_ZBxJIxYD_e_eua5t9dyAIC7bJpRNd7pLStmz7eL4ihlmNZc2Ku0ed4F5L6Xprm6Ln2CaURCpbH6NWrAixfZpiZ-6ILL3aoLyXU5QxXDUKbIzq9esjJQbySb6yC5iB89wr6XM/w640-h373/scompattare_zip.jpg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Scompattare uno zip con 7z<br /></td></tr></tbody></table><br /><p><br /></p>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-991567222296924132021-05-09T02:06:00.006+02:002021-05-09T02:21:10.690+02:00Ubuntu: come faccio ad avere la lista dei pacchetti installati ?<p style="text-align: justify;">Se avete bisogno di avere la lista dei pacchetti installati su un sistema <a href="https://www.ubuntu-it.org/" target="_blank">Ubuntu</a> 20.04 ma dovrebbe funzionare su tutte le versioni di Ubuntu, <a href="https://www.debian.org/index.it.html" target="_blank">Debian</a> e derivate. È sufficiente aprire il terminale e digitare il comando <a href="http://manpages.ubuntu.com/manpages/trusty/it/man1/dpkg.1.html" target="_blank">dpkg</a> nel modo seguente:</p>
<div style="background-color: #dfdfdf; border-radius: 1px; border: 1px solid rgb(0, 0, 0); padding: 1px;">
$ dpkg -l<br />
</div>
<p style="text-align: justify;">e vi verrà restituita una tabella con tutti i pacchetti installati nel vostro sistema compresa la versione, l'architettura e una breve descrizione.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg48kDzLDj23G3og2J6MTIb4nOedqruHBijtMwxjokSop0_Tl3wDN-wEhDqJA9qH3oRN4j5FicnYGKLZlsm0ctXf-Co9T32SSLjXlMXtJu-BGVrQ5ArWR8owMuTfa5dg33GaYx7jsnGBR4u/s1176/lista_pacchetti_installati.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="678" data-original-width="1176" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg48kDzLDj23G3og2J6MTIb4nOedqruHBijtMwxjokSop0_Tl3wDN-wEhDqJA9qH3oRN4j5FicnYGKLZlsm0ctXf-Co9T32SSLjXlMXtJu-BGVrQ5ArWR8owMuTfa5dg33GaYx7jsnGBR4u/w640-h368/lista_pacchetti_installati.jpg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Ottenere la lista dei pacchetti deb installati<br /></td></tr></tbody></table><br /><p style="text-align: justify;">Se volete la lista dei pacchetto per poter clonare la vostra installazione su un'altra macchina vi consiglio di usare <a href="https://leucalipto.blogspot.com/2021/05/come-clonare-un-sistema-ubuntu.html">questo</a> sistema.<br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-80007601442273987232021-05-09T01:51:00.003+02:002021-05-09T02:13:30.738+02:00Come posso vedere tutte le versioni disponibili di un pacchetto deb su Ubuntu ?<p style="text-align: justify;">Qualche volte puo' tornare utile sapere le versioni disponibili nei repositori di un certo pacchetto, magari perché vogliamo fare un downgrade, cioè retrocedere di versione, di un certo pacchetto. Per esempio qualche volta ho necessità di usare una versione vecchia del kernel e per fare ciò devo sapere quali sono le versioni disponibili del kernel installabile. Per fare questo è necessario utilizzare l'opzione <b>madison</b> del comando <a href="http://manpages.ubuntu.com/manpages/focal/it/man8/apt-cache.8.html" target="_blank"><b>apt-cache</b></a>.</p>
<p>Il manuale di <a href="http://manpages.ubuntu.com/manpages/focal/it/man8/apt-cache.8.html" target="_blank"><b>apt-cache</b></a> dice:</p>
<p style="text-align: justify;"></p>
<div style="text-align: justify;"><blockquote><i>Il comando madison di apt-cache cerca di imitare il formato di uscita e un sottoinsieme delle funzionalità di madison, lo strumento di gestione dell'archivio di Debian. Mostra le versioni disponibili di un pacchetto in forma tabellare. Contrariamente al madison originale, può mostrare informazioni solamente per l'architettura per cui APT ha recuperato gli elenchi dei pacchetti (APT::Architecture).</i></blockquote></div>
A questo punto è sufficiente usare <a href="http://manpages.ubuntu.com/manpages/focal/it/man8/apt-cache.8.html" target="_blank"><b>apt-cache</b></a> in questo modo:
<p></p>
<div style="background-color: #dfdfdf; border-radius: 1px; border: 1px solid rgb(0, 0, 0); padding: 1px;">
<span style="font-size: x-small;">root@vbox:~# <b>apt-cache madison firefox</b><br />
firefox | 88.0+build2-0ubuntu0.20.04.1 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages<br />
firefox | 88.0+build2-0ubuntu0.20.04.1 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages<br />
firefox | 75.0+build3-0ubuntu1 | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages<br />
root@vbox:~# <b>apt-cache madison curl</b><br />
curl | 7.68.0-1ubuntu2.5 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages<br />
curl | 7.68.0-1ubuntu2.5 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages<br />
curl | 7.68.0-1ubuntu2 | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages<br />
root@vbox:~# <b>apt-cache madison fmpeg</b><br />N: Impossibile trovare il pacchetto fmpeg<br />root@vbox:~# apt-cache madison ffmpeg<br />
ffmpeg | 7:4.2.4-1ubuntu0.1 | http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages<br />
ffmpeg | 7:4.2.4-1ubuntu0.1 | http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages<br />
ffmpeg | 7:4.2.2-1ubuntu1 | http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages<br />
root@vbox:~# <b>apt-cache madison linux-image-generic</b><br />
linux-image-generic | 5.4.0.72.75 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages<br />
linux-image-generic | 5.4.0.72.75 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages<br />
linux-image-generic | 5.4.0.26.32 | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages</span><br /><br />
</div><p>
</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvEtXT6I48cxMqcQVACzU-VHBoFTcA9u7-GoB0Pwwf5pAYF9J_Hg2bplIR1ICdfXKX4bIBaLUQ0j-_WCcIWfOwF-hlH9EC-HCuaRy3uEeqOxXKfYMxYCX-AQEv_SjFqkdod5iTK4o6A-9o/s1175/versioni_pacchetto_deb.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="677" data-original-width="1175" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvEtXT6I48cxMqcQVACzU-VHBoFTcA9u7-GoB0Pwwf5pAYF9J_Hg2bplIR1ICdfXKX4bIBaLUQ0j-_WCcIWfOwF-hlH9EC-HCuaRy3uEeqOxXKfYMxYCX-AQEv_SjFqkdod5iTK4o6A-9o/w640-h368/versioni_pacchetto_deb.jpg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Trovare versioni pacchetto deb su Ubuntu<br /></td></tr></tbody></table><br /><p><br /></p><p><br /><br /><b></b></p>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-90776472813319403222021-05-06T18:18:00.004+02:002021-05-06T18:22:49.953+02:00Come clonare un sistema Ubuntu<p style="text-align: justify;">Vi è mai successo di voler clonare un sistema ubuntu altrove ?</p>
<p style="text-align: justify;">A me si, spesso. Per esempio qualche giorno fa, volevo clonare il mio desktop su una <a href="https://it.wikipedia.org/wiki/Macchina_virtuale" target="_blank">virtualmachine</a> che gira su <a href="https://www.virtualbox.org/" target="_blank">VirtualBox</a>. Il mio desktop è una LUbuntu 20.04 la cui iso è scaricabile da <a href="https://lubuntu.me/downloads/" target="_blank">qui</a>. Quindi ho installato lubuntu sulla macchina virtuale partendo dalla iso ed ho usato il seguente sistema per installare all'incirca gli stessi pacchetti presenti nella mia macchina fisica o host o hypervisor.</p>
<p style="text-align: justify;">Quindi come detto si procede all'installazione del sistema operativo e poi si procede ad allinearo alla macchina che si vuole clonare. Per questa si utilizza il pacchetto <a href="https://launchpad.net/ubuntu/bionic/amd64/apt-clone/0.4.1ubuntu2" target="_blank">apt-clone</a>. </p>
<p style="text-align: justify;">Prima di tutto si deve creare il file dove sono raccolti tutti i pacchetti installato in questo modo:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
$ apt-clone clone `hostname`<br />
</div>
<p style="text-align: justify;">A questo punto dobbiamo spostare o copiare il file di output o il file prodotto da questo comando sulla macchina di destinazione e quindi procediamo all'allineamento, così:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# apt-clone restore <nome_del_file_prodotto_passaggio_prec><br />
</div>
<p style="text-align: justify;">A questo punto non vi resta che aspettare che <a href="https://wiki.ubuntu-it.org/AmministrazioneSistema/InstallareProgrammi/Apt" target="_blank">apt</a> scarichi ed installi tutti i pacchetti necessari.<br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-2878126517538527962021-04-29T00:06:00.004+02:002022-07-04T02:36:04.687+02:00Dividere un file di grandi dimensioni in molti file più piccoli in Linux/Ubuntu<p style="text-align: justify;">
Se avete a che fare con un file gigantesco, parliamo di alcune decine di
giga, è possibile dividerlo in molti file di piccole dimensioni con il comando
<b>split</b>.
</p>
<p style="text-align: justify;">
Per esempio ho un driver pack di windows di 24 giga e voglio spostarlo su un
pennina usb con filesystem vfat, il quale come è noto ha una limitazione sulla
dimensione dei singoli file, la quale non puo' superare i 2 giga. Per questo
suddividerò il file da 24 giga in 24 chunk da 1 GB col seguente comando:
</p>
<div style="background-color: #dfdfdf; border-radius: 1px; border: 1px solid rgb(0, 0, 0); padding: 1px;">
$ split --verbose -b1G /home/myusername/Scaricati/DriverPack.iso
DriverPack_17.10.14-21024.iso.
creating file 'DriverPack_17.10.14-21024.iso.aa'<br />creating file
'DriverPack_17.10.14-21024.iso.ab'<br />creating file
'DriverPack_17.10.14-21024.iso.ac'<br />creating file
'DriverPack_17.10.14-21024.iso.ad'<br />creating file
'DriverPack_17.10.14-21024.iso.ae'<br />creating file
'DriverPack_17.10.14-21024.iso.af'<br />creating file
'DriverPack_17.10.14-21024.iso.ag'<br />creating file
'DriverPack_17.10.14-21024.iso.ah'<br />creating file
'DriverPack_17.10.14-21024.iso.ai'<br />creating file
'DriverPack_17.10.14-21024.iso.aj'<br />creating file
'DriverPack_17.10.14-21024.iso.ak'<br />creating file
'DriverPack_17.10.14-21024.iso.al'<br />creating file
'DriverPack_17.10.14-21024.iso.am'
</div>
<p>......<br /></p>
<p>
A questo punto per riassemblarlo sarà sufficiente usare il comando
<b>cat </b>nel seguente modo
</p>
<div style="background-color: #dfdfdf; border-radius: 1px; border: 1px solid rgb(0, 0, 0); padding: 1px;">
$ cat DriverPack_17.10.14-21024.iso.* >>
DriverPack_17.10.14-21024.iso
</div>
<p> </p>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-42055323258560514082021-04-28T02:45:00.002+02:002021-04-28T02:45:57.276+02:00Come disattivare l'attivazione di windows xp<p> Windows xp ormai è molto sepolto ma qualche volta puo' sempre tornare utile. Io per esempio ce l'ho installato su un laptop di cui ho regolare licenza. Ma non volendo o non potendo collegarlo a internet l'unica soluzione sembra quella di disattivare la richiesta di attivazione. Il procedimento è relativamente semplice.</p><h3 style="text-align: left;"> </h3><h3 style="text-align: left;">1) Partire dalla modalità provvisoria</h3><p style="text-align: left;">Per effettuare le modifiche bisogna entrare in modalità provvisoria premendo, durante la procedura di boot, il tasto <b>F8. </b>Una volta premuto il tasto al boot si presenterà un menù con divese voci. Bisogna selezionare la prima voce <b>"Safe mode". </b>Quindi premere <b>INVIO</b>. Se hai problemi guarda questo Video<br /></p><h3 style="text-align: left;"> </h3><h3 style="text-align: left;">2) Lanciare regedit</h3><p style="text-align: left;">Una volta effettuato il boot ed entrato nel sistema operativo bisogna lanciare il programma <b>regedit</b> da ESEGUI. Ossia:</p><p style="text-align: left;">Cliccare su <b>START --> </b>cliccare su<b> Esegui --> </b>digitare <b>regedit</b></p><h3 style="text-align: left;"> </h3><h3 style="text-align: left;">3) cercare la chiave OOBETimer<br /></h3><p style="text-align: left;">Una volta aperto il <a href="https://www.wikihow.it/Utilizzare-Regedit" target="_blank">regedit</a> dovete cercare la chiave <b>OOBETimer</b> seguendo il seguente percorso:</p><p style="text-align: left;"><strong>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents</strong></p><p style="text-align: left;">"in questa cartella troverete<strong> </strong>la chiave <b>OOBETimer</b>, fare click destro e quindi <b>Modifica</b>. Sostituite i valori presenti con i seguenti:</p><p style="text-align: left;"><strong>FF D5 71 D6 8B 6A 8D 6F D5 33 93 FD</strong></p><p style="text-align: left;">Quindi confermare il tutto con click su <strong>OK. <br /></strong></p><h3 style="text-align: left;"><strong>4) Cambiare i permessi</strong></h3><p style="text-align: left;"><strong> </strong>A questo punto bisogna modificare i permessi della cartella WPAEvents. In questo modo:</p><p style="text-align: left;">fare click sinistro sulla cartella <b>WPAEvents ---> </b>click su <b>PERMISSIONS ---> </b>click sinistro su <b>Advanced ---> </b>disattivare <b>"Inherit from parent the permission..."</b> <b>---> </b>dalla finestra popup, fare click su <b>"COPY" ---> </b>quindi selezionare l'utente <b>SYSTEM ---></b> click su <b>"EDIT"</b> <b>---> </b>sulla riga "<b>FULL CONTROL"</b> selezionare <b>"DENY" </b>(vedrete che tutta la colonna si attiverà). </p><p style="text-align: left;">A questo punto, <b>APPLY ---> ok ---> ok</b></p><p style="text-align: left;">Quindi lanciate sempre da ESEGUI:</p><p style="text-align: left;"><b><strong>%systemroot%\system32\oobe\msoobe.exe /a</strong></b></p><p style="text-align: left;">Se tutto è andato a buon fine si aprira la finestra che indicherà che windows xp è stato attivato.</p><p style="text-align: left;"><b><strong> </strong> </b> </p><p style="text-align: left;"><strong></strong></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-76698909371381740812021-04-27T03:33:00.012+02:002021-04-27T03:54:10.618+02:00Scrivere una iso Hiren's BootCD da Linux o Ubuntu
<p style="text-align: justify;">È stata un tantino lunga perché il mio intento era usare la iso di <a href="https://www.hirensbootcd.org/" target="_blank">Hiren's BootCD</a> su un laptop piuttosto datato sul quale è installato una derivata Ubuntu per vecchi pc veramente ben fatta, <a href="https://lxle.net/" target="_blank">LXLE</a>. La soluzione che viene proposta è quella di usare <a href="https://unetbootin.github.io/" target="_blank">unetbootin</a> per scrivere l'immagine sulla pennina usb ma anche questo sul vecchio laptop non funzionava. In pratica non faceva il boot. </p>
<p style="text-align: justify;">Proprio durante la fase di boot avevo diversi errori come per esempio:</p>
<div class="ipsType_pageTitle ipsContained_container" style="text-align: left;"><b><span class="ipsType_break ipsContained"><span>Failed to load COM32 file /HBCD/Boot/chain.c32</span></span></b></div>
<div class="ipsType_pageTitle ipsContained_container" style="text-align: left;">
<p style="text-align: left;"><span class="ipsType_break ipsContained"><span>e non sono riuscito a risolvere tutti questi errori che si susseguivano. Questo anche scaricando la vecchia versione di <a href="https://www.hirensbootcd.org/old-versions/" target="_blank">Hiren's BootCD</a></span></span><b><span class="ipsType_break ipsContained"><span>.</span></span></b></p>
<p style="text-align: left;"><span class="ipsType_break ipsContained"><span>Ma ho risolto perfettamente facendo fare tutto a <a href="https://github.com/IsaacSchemm/MultiCD" target="_blank">MultiCD</a> in modo del tutto automatico. </span></span></p>
<p style="text-align: left;"><span class="ipsType_break ipsContained"><span>In pratica:</span></span></p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">$ sudo apt install syslinux-utils -y<br />
$ git clone https://github.com/IsaacSchemm/MultiCD.git<br />
$ cd MultiCD<br />
$ wget https://www.hirensbootcd.org/files/Hirens.BootCD.15.2.zip<br />
$ unzip Hirens.BootCD.15.2.zip <br />
$ ./multicd.sh<br />
$ cd build<br />
$ sudo dd if=multicd.iso of=la_tua_pennina_usb bs=1M status=progress</div>
<p style="text-align: left;"><span class="ipsType_break ipsContained"><span>MultiCD, è uno script veramente fantastico che serve a creare delle iso per fare il boot di molte distribuzioni diverse. </span></span></p><p style="text-align: left;"><span class="ipsType_break ipsContained"><span>In pratica, si mettono tutte le iso che vogliamo (quelle supportate sono <a href="https://www.lakora.us/multicd/supported.html" target="_blank">qui</a>) nella cartella radice del software, si lancia lo script e lui crea la iso che possiamo scrivere sia su cd che su pennina usb.<br /></span></span><b><span class="ipsType_break ipsContained"><span></span></span></b></p>
<h2 style="text-align: left;"><span class="ipsType_break ipsContained"><span> </span></span></h2><h2 style="text-align: left;"><span class="ipsType_break ipsContained"><span>FINE</span></span></h2>
<h3><span class="ipsType_break ipsContained"><span></span></span></h3>
<p style="text-align: left;"><b><span class="ipsType_break ipsContained"><span></span></span></b></p>
<p style="text-align: left;"><span class="ipsType_break ipsContained"><span><br /></span></span><b><span class="ipsType_break ipsContained"><span></span></span></b></p>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-75335621749981661872021-04-22T17:24:00.001+02:002021-04-27T03:43:59.159+02:00Appunti VIM<h2 style="text-align: left;"> Cancellare tutto quello che si trova fra <></h2><div style="text-align: left;">ca><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-65340014419063025122021-04-21T21:39:00.013+02:002021-05-22T03:22:18.887+02:00Appunti Linux/Ubuntu vari
<h2 style="text-align: left;">Montare un disco VHD con Windows e ntfs</h2>
<p style="text-align: left;">Il formato di disco virtuale VHD puo' essere utilizzato in ambiente virtualbox e puo' essere montato come segue. </p>
<p style="text-align: left;">1) Per prima cosa bisogna montare il disco con l'utility vhdimount, questa utility fa parte del pacchetto libvhdi-utils il quale se non presente va installato con <b>apt install libvhdi-utils</b>. Per il mount procedere come segue:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# vhdimount -X allow_root WinToUSB.VHD /mnt/</div>
<p style="text-align: left;">2) A questo punto bisogna visualizzare la tabella delle partizioni del disco e quindi prendersi nota dell'offset del disco in questo modo:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# fdisk -l /mnt/vhdi1<br />Disk /mnt/vhdi1: 29 GiB, 31138512896 bytes, 60817408 sectors<br />Units: sectors of 1 * 512 = 512 bytes<br />Sector size (logical/physical): 512 bytes / 512 bytes<br />I/O size (minimum/optimal): 512 bytes / 512 bytes<br />Disklabel type: gpt<br />Disk identifier: DE9694B9-A147-453C-9153-79ED2885BB51<br /><br />Device <b>Start</b> End Sectors Size Type<br />/mnt/vhdi1p1 <b>2048</b> 60803071 60801024 29G Microsoft basic data<br /></div>
<p style="text-align: left;">L'offset è <b>2048</b><br /></p>
<p style="text-align: left;">3) Ora bisogna montare la partizione in un secondo punto di mount che in questo caso è <b>/mnt2</b> ma prima bisogna calcolare l'offset:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# echo $[512*2048]<br />1048576<br />
# mount -vt ntfs-3g -o ro,noload,<b>offset=1048576</b> /mnt/vhdi1 /mnt2/<br /></div>
<p style="text-align: left;">Ovviamente il risultato del calcolo va inserito a destra dell'argomento offset del comando mount.<br /></p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWrNdIc7j0DNbRIccBx2-n2AcAPGiL_4LjVU5ips8sApBCFLeBYmFru_epywnJtgann0mcsaG-P1-sWTUTdVxsejs8iZUoIQgdQ2owCbOnuCtI9Fr6WYd12B2mZPGlKD6YCkB4Qg44R9JL/s1261/Screenshot-2021-04-21-21-55-30.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="661" data-original-width="1261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWrNdIc7j0DNbRIccBx2-n2AcAPGiL_4LjVU5ips8sApBCFLeBYmFru_epywnJtgann0mcsaG-P1-sWTUTdVxsejs8iZUoIQgdQ2owCbOnuCtI9Fr6WYd12B2mZPGlKD6YCkB4Qg44R9JL/s320/Screenshot-2021-04-21-21-55-30.jpg" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">mount disco vhd windows</td><td class="tr-caption" style="text-align: center;"><br /></td></tr></tbody></table><br />
<h2 style="text-align: left;">Come sapere la versione di Ubuntu</h2>
<p style="text-align: left;">Per sapere la versione di ubuntu è sufficiente usare il comando:</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# lsb_release -a<br />
No LSB modules are available.<br />
Distributor ID: Ubuntu<br />
Description: Ubuntu 20.04.2 LTS<br />
Release: 20.04<br />
Codename: focal<br /><br /></div>
<br />
<h2 style="text-align: left;">Come trovare un driver o modulo relativo a una certa interfaccia di rete</h2>
<p style="text-align: left;">Per sapere quale driver è legato a una certa interaccia di rete serve il comando <b>ethtool -i interfaccia</b>. </p>
<p style="text-align: left;">Per esempio dicitiamo il comando ifconfig per avere l'elenco delle interfaccia di rete e poi il comando ethtool per sapere quale driver regge una certa interfaccia.</p>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
8:~# ifconfig <br />
docker0: flags=4099<up> mtu 1500 <br />
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 <br />
ether 02:42:b0:09:0a:24 txqueuelen 0 (Ethernet) <br />
RX packets 0 bytes 0 (0.0 B) <br />
RX errors 0 dropped 0 overruns 0 frame 0 <br />
TX packets 0 bytes 0 (0.0 B) <br />
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 <br />
<br />
enx7a4f4343d6ad: flags=4163<up> mtu 1500 <br />
inet 172.20.10.3 netmask 255.255.255.240 broadcast 172.20.10.15 <br />
inet6 fe80::45db:b004:1ea7:f36e prefixlen 64 scopeid 0x20<link></link> <br />
ether 7a:4f:43:43:d6:ad txqueuelen 1000 (Ethernet) <br />
RX packets 1018280 bytes 1177850595 (1.1 GB) <br />
RX errors 0 dropped 0 overruns 0 frame 0 <br />
TX packets 626149 bytes 80030479 (80.0 MB) <br />
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 <br />
<br />
lo: flags=73<up> mtu 65536 <br />
inet 127.0.0.1 netmask 255.0.0.0 <br />
inet6 ::1 prefixlen 128 scopeid 0x10 <br />
loop txqueuelen 1000 (Local Loopback) <br />
RX packets 44114 bytes 4001251 (4.0 MB) <br />
RX errors 0 dropped 0 overruns 0 frame 0 <br />
TX packets 44114 bytes 4001251 (4.0 MB) <br />
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 <br />
<br />
8:~# ethtool -i enx7a4f4343d6ad <br />
<b>driver: ipheth</b> <br />
version: <br />
firmware-version: <br />
expansion-rom-version: <br />
bus-info: 2-3:4.2 <br />
supports-statistics: no <br />
supports-test: no <br />
supports-eeprom-access: no <br />
upports-register-dump: no <br />
supports-priv-flags: no <br />
</up></up></up></div>
<p style="text-align: left;">Come potete vedere il driver è <b>ipheth</b></p><p style="text-align: left;"><b> </b></p><h2 style="text-align: left;"><b>MySQL: cambiare la password di root ed elencare gli utenti.</b></h2><p style="text-align: left;">Per cambiare la password di root su MySQL innanzitutto bisogna lanciare da root (<b>sudo -i</b>) mysql in questo modo:</p><div style="text-align: left;"># mysql -u root mysql</div><p style="text-align: left;">poi dalla shell di mysql langiare il seguente comand SQL dove <b>pippo</b> è la nuova passowrd:</p><div style="text-align: left;">mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'pippo';</div><div style="text-align: left;">Query OK, 0 rows affected (0,00 sec)</div><p style="text-align: left;">Poi è possibile elencare gli utenti col comando:</p><div style="text-align: left;">mysql> SELECT User, Host, authentication_string FROM mysql.user;</div><div style="text-align: left;"> </div><p style="text-align: left;"><br /><b></b></p>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-6240085235598316342021-04-15T14:08:00.027+02:002022-01-27T03:44:41.679+01:00Appunti FreeBSD<h3 style="text-align: left;">Come montare una partizione <a href="https://www.freebsd.org/" target="_blank">FreeBSD</a> da Linux ?</h3>
Bisogna trovare l'offset con<br />
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# partx -l /dev/sdc<br />
</div>
e poi procedre al mount<br />
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# mount -t ufs -o loop,ufstype=ufs2,ro,offset=$((risultato_di_partx*512)) /dev/sdc freebsd_mnt_point<br />
</div>
<br />
<h3 style="text-align: left;">Avviare un servzio</h3>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
# service start usbmuxd<br />
</div>
<br />
<h3 style="text-align: left;">Configurare la rete</h3>
Con <b>ifconfig</b> trovare la scheda di rete e poi aggiungete la direttiva <b>ifconfig_ue0="DHCP"</b> al file <b>/etc/rc.conf </b>dove ue0 è la tua scheda di rete mentre l'argomento è per attivare il dhcp su detta scheda. Se hai problemi di tempi a far partire il dhcp al boot utilizza l'argomento <b>"SYNCDHCP"</b>. <br />
Quindi:<br />
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
ifconfig_ue0="DHCP"<br />
</div>
oppure<br />
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
ifconfig_ue0="SYNCDHCP"<br />
</div>
Per applicare le modifiche avviare /etc/netstart<br />
Per fare una configurazione statica:<br />
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">
ifconfig_ue1="inet 192.168.1.1 netmask 255.255.255.0"</div>
<br />
<h3 style="text-align: left;">Configurare il thetering USB su iPhone7/iOS.</h3>
<div style="text-align: left;">Per configurare il thetering USB su iOS in modo che una volta collegato il telefono il sistema faccio tutto in modo automatico. Quindi già avendo caricando il driver e avviato il servizio. In alternativa si puo' fare uno script che faccia il lavoro e da lanciare prima di collegare il telefono.</div>
<div style="text-align: left;">Io preferisco lanciare il tutto al boot così non c'è bisogno di fare nulla.</div>
<div style="text-align: left;">biosogna caricare il module del kernel <b>ip_ipheth</b> come indicato sul <a href="https://people.freebsd.org/~rodrigc/doc/handbook/network-usb-tethering.html" target="_blank">manuale</a>. O in alternativa abilitare il caricamente del driver al boot editando il file <b>/boot/loader.conf</b> ed aggiungendo la direttiva:</div>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">if_ipheth_load="YES"</div>
<div style="text-align: left;">Successivamente bisogna installare il pacchetto usbmuxd:</div>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;"># pkg install usbmuxd</div>
<div style="text-align: left;">quindi aggiungere uno script di avvio al boot col nome <b>/etc/rc.d/usbmuxd</b> Lo script puo' essere come segue:</div>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;">#!/bin/sh<br />#<br /># $FreeBSD$<br />#<br /><br /># PROVIDE: usbmuxd<br /># REQUIRE: FILESYSTEMS<br /># BEFORE: netif<br /><br />. /etc/rc.subr<br /><br />name="usbmuxd"<br />desc="USB Multiplexer Daemon"<br />rcvar="usbmuxd_enable"<br />start_cmd="${name}_start"<br />stop_cmd=":"<br /># command="/usr/local/sbin/${name}"<br />pidfile="/var/run/${name}.pid"<br /><br />load_rc_config $name<br /><br /># required_files="/etc/${name}.conf"<br /># extra_commands="reload"<br /><br />usbmuxd_start()<br />
{<br />
if [ ! -d /var/lib/lockdown ]<br />
then<br />
mkdir -p /var/lib/lockdown<br />
fi<br />
echo "Starting USB Multiplexer Daemon"<br />
/usr/local/sbin/usbmuxd<br />
}<br />
<br />
usbmuxd_stop()<br />
{<br />
echo "Stopping USB Multiplexer Daemon"<br />
/usr/local/sbin/usbmuxd -X<br />
}<br />
<br />load_rc_config $name<br />run_rc_command "$1"<br />
<br /></div>
<div style="text-align: left;">Quindi avviare il servizio con:</div>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;"># service usbmuxd start</div>
<div style="text-align: left;"> In caso di problemi controllare i log. A questo punto aggiungere l'avvio dello script al file <b>/etc/rc.conf</b> con:</div>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;"># service usbmuxd enable</div>
<div style="text-align: left;"><br /></div>
<div style="text-align: left;"><br /></div>
<div style="text-align: left;"><br /></div>
<h3 style="text-align: left;">Installare vari pacchetti essenziali</h3>
<div style="text-align: left;">Qui di seguito alcuni pacchetti che ritengo essenziali per l'uso di un Desktop FreeBSD.</div>
<div style="background-color: #dfdfdf; border-radius: 5px; border: 1px solid rgb(0, 0, 0); padding: 10px;"># pkg install -y py38-powerline-status powerline-fonts</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6143719327094386801.post-51172617863197963522021-04-14T20:21:00.007+02:002021-11-20T16:35:32.470+01:00Processo di acquisizione della ram (memoria volatile) da usare con volatility<h2 style="text-align: left;">Acquisizione software: LiMe e AVML. </h2><p style="text-align: justify;">Per l'acquisizione della ram (o <a href="https://it.teknikmark.com/76-how-to-configure-memory-dump-in-windows-and-how-to-read-it" target="_blank">dump</a>) da usare con <a href="https://www.volatilityfoundation.org/" target="_blank">volatitility</a> ci sono diversi modi. È possibile effettuare l'acquisizione sia via hardware che via software. Per quanto riguarda questo seguente metodo si usa di solito <a href="https://github.com/504ensicsLabs/LiME" target="_blank">LiMe</a> ma esiste anche <a href="https://github.com/microsoft/avml" target="_blank">AVML</a> prodotto da <a href="https://www.microsoft.com/it-it" target="_blank">Microsoft</a>. In entrambi i casi è necessario avere un accesso root alla macchina. Non è necessario avere accesso fisico in quanto con LiMe è possibile effettuare il dump anche da remoto. La principale differenza fra LiMe e avml è che il primo è composto da un modulo del kernel <a href="https://www.codingcreativo.it/indice-argomenti-linguaggio-c/" target="_blank">scritto in C</a> da caricare e quindi lavora in Kernel mode mentre il secondo è un eseguibile che necessita comunque dell'account di root ma non è un driver ed è scritto in <a href="https://prev.rust-lang.org/it-IT/documentation.html" target="_blank">Rust</a>. </p><p> </p><h2 style="text-align: left;">Acquisizione hardware <br /></h2><p style="text-align: justify;">Per quanto riguarda <a href="https://www.sciencedirect.com/science/article/abs/pii/S1742287603000021?via%3Dihub" target="_blank">l'acquisizione hardware</a> esistono strumenti apposta ma piuttosto costosi o in alternativa esistono anche sistemi molto economici come per esempio <a href="https://github.com/carmaa/inception" target="_blank">inception</a>. </p><p style="text-align: justify;">Inception permette di exploitare un sistema operativo passando da una porta come per esempio firewire o thunderbold e quindi avere accesso diretto alla ram via DMA (Direct Access Memory). Un altro sistema è <a href="https://github.com/ufrisk/pcileech" target="_blank">PCILeech</a>.</p><h2 style="text-align: left;">Rischio di inconsistenza o dump corrotto. <br /></h2><p style="text-align: justify;">Il processo di acquisizione della ram, via software o via hardware, da locale o da remoto espone a due rischi, il primo è ritrovarsi una macchina instabile, il secondo ad avere un dump corrotto. Ovviamente il rischio di ritrovarsi una macchina instabile in un ambiente di produzione deve essere attentamente valutato. Entrambi i rischi possono essere dovuti a diversi fattori. Uno di questi è derivato dal fatto che il processo di dump non è istantaneo e contiguo ma è un insieme processi intervallati fra loro da gli altri processi che stanno girando in quel momento sulla macchina. Lo stesso processo di dump va alterare lo stato della macchina che vorrebbe fotografare, in certi casi queste alterazioni rendono la memoria della macchina inconsistente, quindi la macchina instabile. Un altro fattore impattante è che nella ram sono presente regioni di memoria cosiddette riservate ad uso esclusivo del bios o dei <a href="http://unina.stidue.net/Universita%27%20di%20Trieste/Ingegneria%20Industriale%20e%20dell%27Informazione/Tuzzi/Calcolatori_Elettronici/TESINE/BUSPCI.PDF" target="_blank">bus pci</a> o isa. La mappa di queste regioni viene passata al kernel dal bios, in certi casi specifici questa mappa puo' essere lievemente differente, per questa ragione il dumping potrebbe andare a leggere queste zone di memoria alterandole. Il che ovviamente puo' produrre o un sistema instabile o un dumping corrotto o entrambi. Tuttavia queste aree riservate possono essere rilevanti nel caso in cui un firmware rootkit abbia preso possesso della macchina o vi siano delle alterazioni (hijacking) della IVT (<a href="https://it.wikipedia.org/wiki/Interrupt_vector" target="_blank">interrupt vector table</a>).<br /></p><p><br /></p>Unknownnoreply@blogger.com0