I’ve created a Zabbix template for Datek UPS but I think is compatible with most stardard UPS.
There are some trigger to check battery status and temperature.
Download:
zbx_Datek_Ups_templates.zip
I’ve created a Zabbix template for Datek UPS but I think is compatible with most stardard UPS.
There are some trigger to check battery status and temperature.
Download:
zbx_Datek_Ups_templates.zip
I’ve created a Zabbix Template for Ruckus Unleashed access point, monitor if all your access point in the network are online.
You must “enable snmp” on master.
You must create a host with the ip of the master and add the macros {$SNMP_COMMUNITY} with the name of your community (example: public).
Modify in Template the trigger “Rukus Access Point Offline” with the number of your access point.
Add in your zabbix server the mib of Ruckus in your snmp
Download:
Ruckus Mib Files.zip
zabbix Templates Ruckus Unleashed.zip
Molti malware e virus non vengono intercettati da amavis/clamav, per aggiungere ulteriori definizioni ci viene in aiuto uno script molto utile e ben fatto su github https://github.com/extremeshok/clamav-unofficial-sigs che ci consente di aggiungere diverse definizioni aggiuntive presenti gratuitamente su internet.
Scaricate il master.zip dal github:
cd /opt wget https://github.com/extremeshok/clamav-unofficial-sigs/archive/master.zip unzip master.zip cd clamav-unofficial-sigs-master/ cp clamav-unofficial-sigs.sh /usr/local/bin/ chmod 755 /usr/local/bin/clamav-unofficial-sigs.sh mkdir /etc/clamav-unofficial-sigs/ cd config/ cp * /etc/clamav-unofficial-sigs/ mkdir /var/log/clamav-unofficial-sigs/ cd /etc/clamav-unofficial-sigs/ mv os.debian8.conf os.conf
Ora editate il file os.conf e commentate clamd_pid=”/var/run/clamd.pid” e de-commentate clamd_socket=”/var/run/clamav/clamd.ctl”, salvate e chiudete.
Editate user.conf e de-commentate la riga user_configuration_complete=”yes”, salvate e chiudete.
Ok adesso siete pronti per lanciarlo la prima  /usr/local/bin/clamav-unofficial-sigs.sh
vedrete che scaricherà diversi db di definizioni e nella /var/lib/clamav trovetere tutte le definizioni aggiuntive con i permessi corretti:
-rw-r--r-- 1 clamav clamav 47260 mag 13 10:18 antidebug_antivm.yar -rw-r--r-- 1 clamav clamav 288262 mag 13 09:55 blurl.ndb -rw-r--r-- 1 clamav clamav 1740 mag 13 09:48 bofhland_cracked_URL.ndb -rw-r--r-- 1 clamav clamav 99837 mag 13 09:48 bofhland_malware_attach.hdb -rw-r--r-- 1 clamav clamav 4832 mag 13 09:48 bofhland_malware_URL.ndb -rw-r--r-- 1 clamav clamav 6216 mag 13 09:48 bofhland_phishing_URL.ndb -rw-r--r-- 1 clamav clamav 378368 apr 15 21:35 bytecode.cld -rw-r--r-- 1 clamav clamav 417603 mag 13 09:48 crdfam.clamav.hdb -rw-r--r-- 1 clamav clamav 10137088 mag 13 08:18 daily.cld -rw-r--r-- 1 clamav clamav 25780 mag 12 10:53 foxhole_filename.cdb -rw-r--r-- 1 clamav clamav 44147 mar 25 19:53 foxhole_generic.cdb -rw-r--r-- 1 clamav clamav 48176 ago 5 2015 hackingteam.hsb -rw-r--r-- 1 clamav clamav 6595967 mag 11 09:54 junk.ndb -rw-r--r-- 1 clamav clamav 1687824 mag 13 09:55 jurlbl.ndb -rw-r--r-- 1 clamav clamav 109143933 mar 29 17:19 main.cvd -rw-r--r-- 1 clamav clamav 8376 mag 13 10:18 malicious_document.yar -rw-r--r-- 1 clamav clamav 9460 feb 19 2015 malwarehash.hsb -rw-r--r-- 1 clamav clamav 1040 mag 13 10:18 mirrors.dat -rw-r--r-- 1 clamav clamav 3859098 mag 11 21:14 phish.ndb -rw-r--r-- 1 clamav clamav 5055292 mag 13 09:46 phishtank.ndb -rw-r--r-- 1 clamav clamav 56820 mag 13 09:46 porcupine.hsb -rw-r--r-- 1 clamav clamav 298884 mag 13 09:46 porcupine.ndb -rw-r--r-- 1 clamav clamav 598699 apr 6 03:48 rfxn.hdb -rw-r--r-- 1 clamav clamav 437666 apr 6 03:48 rfxn.ndb -rw-r--r-- 1 clamav clamav 3203193 mag 12 16:56 rogue.hdb -rw-r--r-- 1 clamav clamav 11102 mar 9 09:56 sanesecurity.ftm -rw-r--r-- 1 clamav clamav 1462 lug 1 2015 Sanesecurity_sigtest.yara -rw-r--r-- 1 clamav clamav 1233 feb 22 13:21 Sanesecurity_spam.yara -rw-r--r-- 1 clamav clamav 1881431 apr 21 09:58 scam.ndb -rw-r--r-- 1 clamav clamav 6679 apr 6 13:55 sigwhitelist.ign2 -rw-r--r-- 1 clamav clamav 199 apr 6 16:55 spamattach.hdb -rw-r--r-- 1 clamav clamav 671 apr 18 17:57 spamimg.hdb -rw-r--r-- 1 clamav clamav 526635 mag 12 09:14 winnow.attachments.hdb -rw-r--r-- 1 clamav clamav 66 mag 12 09:14 winnow_bad_cw.hdb -rw-r--r-- 1 clamav clamav 107753 mag 12 09:14 winnow_extended_malware.hdb -rw-r--r-- 1 clamav clamav 165256 mag 12 09:14 winnow_malware.hdb -rw-r--r-- 1 clamav clamav 632292 mag 12 09:14 winnow_malware_links.ndb -rw-r--r-- 1 clamav clamav 1584 mag 12 09:14 winnow_malware.yara
Ora lanciate questo comando per vedere se clamav li ha presi in carico:
clamscan --debug 2>&1 /dev/null | grep "loaded"
Dovrebbe dare un output del genere:
LibClamAV debug: /var/lib/clamav/sigwhitelist.ign2 loaded LibClamAV debug: daily.info loaded LibClamAV debug: daily.cfg loaded LibClamAV debug: daily.idb loaded LibClamAV debug: daily.pdb loaded LibClamAV debug: daily.ndb loaded LibClamAV debug: daily.ign loaded LibClamAV debug: daily.crb loaded LibClamAV debug: daily.cdb loaded LibClamAV debug: daily.ldb loaded LibClamAV debug: daily.hdb loaded LibClamAV debug: daily.fp loaded LibClamAV debug: daily.mdb loaded LibClamAV debug: daily.wdb loaded LibClamAV debug: daily.msb loaded LibClamAV debug: daily.sfp loaded LibClamAV debug: cli_loadftm: File type signature for HWP embedded OLE2 not loaded (required f-level: 82) LibClamAV debug: cli_loadftm: File type signature for HWPML Document not loaded (required f-level: 82) LibClamAV debug: cli_loadftm: File type signature for HWP3 Document not loaded (required f-level: 82) LibClamAV debug: daily.ftm loaded LibClamAV debug: daily.ign2 loaded LibClamAV debug: daily.hsb loaded LibClamAV debug: /var/lib/clamav/daily.cld loaded LibClamAV debug: /var/lib/clamav/scam.ndb loaded LibClamAV debug: bytecode.info loaded LibClamAV debug: 3986218.cbc loaded LibClamAV debug: 4306157.cbc loaded LibClamAV debug: 3986289.cbc loaded LibClamAV debug: 3986233.cbc loaded LibClamAV debug: 3986223.cbc loaded LibClamAV debug: 3986337.cbc loaded LibClamAV debug: 3986310.cbc loaded LibClamAV debug: 3986234.cbc loaded LibClamAV debug: 3986212.cbc loaded LibClamAV debug: 3986306.cbc loaded LibClamAV debug: 3986230.cbc loaded LibClamAV debug: 3986236.cbc loaded LibClamAV debug: 3986185.cbc loaded LibClamAV debug: 3986303.cbc loaded LibClamAV debug: 3986222.cbc loaded LibClamAV debug: 3986215.cbc loaded LibClamAV debug: 3986187.cbc loaded LibClamAV debug: 3986216.cbc loaded LibClamAV debug: 3986305.cbc loaded LibClamAV debug: 3986214.cbc loaded LibClamAV debug: 4306126.cbc loaded LibClamAV debug: 3986334.cbc loaded LibClamAV debug: 3986220.cbc loaded LibClamAV debug: 3986219.cbc loaded LibClamAV debug: 3986259.cbc loaded LibClamAV debug: 3986327.cbc loaded LibClamAV debug: 3986322.cbc loaded LibClamAV debug: 3986328.cbc loaded LibClamAV debug: 3986206.cbc loaded LibClamAV debug: 3986244.cbc loaded LibClamAV debug: 3986221.cbc loaded LibClamAV debug: 3986318.cbc loaded LibClamAV debug: 3986283.cbc loaded LibClamAV debug: 3986188.cbc loaded LibClamAV debug: 3986301.cbc loaded LibClamAV debug: 3986321.cbc loaded LibClamAV debug: 3986232.cbc loaded LibClamAV debug: 3986282.cbc loaded LibClamAV debug: 3986229.cbc loaded LibClamAV debug: 3986292.cbc loaded LibClamAV debug: 3986242.cbc loaded LibClamAV debug: 3986231.cbc loaded LibClamAV debug: 3986326.cbc loaded LibClamAV debug: 3986217.cbc loaded LibClamAV debug: 3986235.cbc loaded LibClamAV debug: 3986224.cbc loaded LibClamAV debug: 3986249.cbc loaded LibClamAV debug: /var/lib/clamav/bytecode.cld loaded LibClamAV debug: /var/lib/clamav/bofhland_malware_URL.ndb loaded LibClamAV debug: /var/lib/clamav/foxhole_filename.cdb loaded LibClamAV debug: /var/lib/clamav/phishtank.ndb loaded LibClamAV debug: /var/lib/clamav/winnow.attachments.hdb loaded LibClamAV debug: load_oneyara: successfully loaded YARA.CryptoWall_Resume_phish LibClamAV debug: load_oneyara: successfully loaded YARA.docx_macro LibClamAV debug: load_oneyara: successfully loaded YARA.java_JSocket_20151217 LibClamAV debug: cli_loadyara: loaded 3 of 3 yara signatures from /var/lib/clamav/winnow_malware.yara LibClamAV debug: /var/lib/clamav/winnow_malware.yara loaded LibClamAV debug: /var/lib/clamav/junk.ndb loaded LibClamAV debug: /var/lib/clamav/winnow_extended_malware.hdb loaded LibClamAV debug: /var/lib/clamav/rogue.hdb loaded LibClamAV debug: /var/lib/clamav/malicious_document.yar loaded LibClamAV debug: /var/lib/clamav/rfxn.hdb loaded LibClamAV debug: /var/lib/clamav/bofhland_cracked_URL.ndb loaded LibClamAV debug: /var/lib/clamav/foxhole_generic.cdb loaded LibClamAV debug: /var/lib/clamav/rfxn.ndb loaded LibClamAV debug: /var/lib/clamav/winnow_bad_cw.hdb loaded LibClamAV debug: /var/lib/clamav/hackingteam.hsb loaded LibClamAV debug: /var/lib/clamav/spamattach.hdb loaded LibClamAV debug: /var/lib/clamav/winnow_malware.hdb loaded LibClamAV debug: /var/lib/clamav/jurlbl.ndb loaded LibClamAV debug: load_oneyara: successfully loaded YARA.Sanesecurity_TestSig_Type4_Hdr_2 LibClamAV debug: load_oneyara: successfully loaded YARA.Sanesecurity_TestSig_Type3_Bdy_4 LibClamAV debug: load_oneyara: successfully loaded YARA.Sanesecurity_TestSig_Type4_Bdy_3 LibClamAV debug: load_oneyara: successfully loaded YARA.Sanesecurity_PhishingTestSig_1 LibClamAV debug: cli_loadyara: loaded 4 of 4 yara signatures from /var/lib/clamav/Sanesecurity_sigtest.yara LibClamAV debug: /var/lib/clamav/Sanesecurity_sigtest.yara loaded LibClamAV debug: /var/lib/clamav/malwarehash.hsb loaded LibClamAV debug: main.info loaded LibClamAV debug: main.hdb loaded LibClamAV debug: main.hsb loaded LibClamAV debug: main.mdb loaded LibClamAV debug: main.msb loaded LibClamAV debug: main.ndb loaded LibClamAV debug: main.fp loaded LibClamAV debug: main.sfp loaded LibClamAV debug: main.crb loaded LibClamAV debug: /var/lib/clamav/main.cvd loaded LibClamAV debug: /var/lib/clamav/antidebug_antivm.yar loaded LibClamAV debug: /var/lib/clamav/crdfam.clamav.hdb loaded LibClamAV debug: cli_loadftm: File type signature for HWP embedded OLE2 not loaded (required f-level: 82) LibClamAV debug: cli_loadftm: File type signature for HWPML Document not loaded (required f-level: 82) LibClamAV debug: cli_loadftm: File type signature for HWP3 Document not loaded (required f-level: 82) LibClamAV debug: /var/lib/clamav/sanesecurity.ftm loaded LibClamAV debug: /var/lib/clamav/bofhland_phishing_URL.ndb loaded LibClamAV debug: load_oneyara: successfully loaded YARA.Sanesecurity_Spam_test LibClamAV debug: load_oneyara: successfully loaded YARA.Sanesecurity_Spam_pornspam LibClamAV debug: cli_loadyara: loaded 2 of 2 yara signatures from /var/lib/clamav/Sanesecurity_spam.yara LibClamAV debug: /var/lib/clamav/Sanesecurity_spam.yara loaded LibClamAV debug: /var/lib/clamav/spamimg.hdb loaded LibClamAV debug: /var/lib/clamav/winnow_malware_links.ndb loaded LibClamAV debug: /var/lib/clamav/porcupine.hsb loaded LibClamAV debug: /var/lib/clamav/blurl.ndb loaded LibClamAV debug: /var/lib/clamav/porcupine.ndb loaded LibClamAV debug: /var/lib/clamav/phish.ndb loaded LibClamAV debug: /var/lib/clamav/bofhland_malware_attach.hdb loaded
Se è tutto ok possiamo finalizzare l’installazione aggiungendo lo script per aggiornarlo automaticamente e lo script per la rotazione dei log:
/usr/local/bin/clamav-unofficial-sigs.sh --install-cron chmod 755 /etc/cron.d/clamav-unofficial-sigs /usr/local/bin/clamav-unofficial-sigs.sh --install-logrotate
Perfetto, ora Clamav avrà più possibilità di intercettare malware nelle email.
Il file .DEB è un archivio che contiene 3 files:
Di solito quello che serve è il data.tar.gz che contiene il programma.
Per prima cosa dobbiamo estrarre i 3 pacchetti sopraindicati dal file .DEB:
ar vx mypackage.deb
Poi estrarre il contenuto di data.tar.gz utilizzando tar:
tar -xzvf data.tar.gz
Per più informazioni sui comandi tar e ar consultate le pagine man : tar(1)
 e ar(1)
.
Proseguendo col mio progetto di domotica/antifurto, aggiungo un secondo arduino con ethernet per prendere i vari sensori dall’altra parte della casa e inviarli al server via UDP.
Questo è il link dell’articolo precedente
I messaggi che manda sono nel formato “NUMERO SCHEDA†+ “NUMERO SENSORE†+ “STATOâ€
ad esempio la scheda 4 arduino con il sensore 6 e lo stato 00001 = 040600001
Come porte UDP ho utilizzato la solita 5055 per la trasmissione utilizzando il protocollo sopra indicato.
Al contrario della scheda illustrata prima questa non riceve comandi ma invia soltanto i dati dei vari sensori collegati
Nel mio caso ho utilizzato:
/* * pin 10 -11 -12 -13 occupati da ethernet * pin 2 -3 -4 -5 -6 -7 -8 -9 digitali * da A0 ad A7 analogici */ #include <UIPEthernet.h> EthernetUDP udpserver; EthernetUDP udp; int success; char IRF; int counter; //lo utilizzo per il conteggio del client per mandare i messaggi al server void setup() { pinMode(2, INPUT); // pinMode(3, INPUT); // pinMode(4, INPUT); // pinMode(5, INPUT); // pinMode(6, INPUT); // pinMode(7, INPUT); // pinMode(8, INPUT); // pinMode(9, INPUT); // Serial.begin(9600); //imposto la porta seriale per debug uint8_t mac[6] = {0x02,0x03,0x04,0x05,0x06,0x07}; //imposto mac address Ethernet.begin(mac,IPAddress(10,0,0,254)); //imposto ip success = udpserver.begin(5056); // apro la porta udp } void loop() { // qui parto con le letture dei sensori delay(200); for (int i=2; i < 10; i++){ success = udp.beginPacket(IPAddress(10,0,0,1),5055); String Messaggio = "060" + String(i-1) + "0000" + String(!digitalRead(i)); success = udp.print(Messaggio); success = udp.endPacket(); delay(100); } for (int i=0; i < 8; i++){ success = udp.beginPacket(IPAddress(10,0,0,1),5055); String Scheda; if ((i+9)>9) { Scheda="06"; } else { Scheda="060"; } String Messaggio = Scheda + String(i+9) + String(analogRead(i)); success = udp.print(Messaggio); success = udp.endPacket(); delay(100); } }
The version shipped with raspbian not work with owncloud server 8 so I recompiled to arm the client version 2.
Since raspberry pi take long to compile and there are many dependencies to be installed for compile correctly I’ve decided to post here the version already compiled.
First you have to install the version provided by the repository and then overwrite the client with the downloadable version I’ve done
To install from repository you have to do the following:
sudo apt-get update sudo apt-get install owncloud-client
Then download the client compiled and ready to install :Â Client 2.0.2 builded
copy this in /opt
sudo cp owncloud-client-build.tar.bz2 /opt tar xvzf owncloud-client-build.tar.bz2 cd ./client-build make install
In some case you must relink a library to the new one:
rm /usr/lib/arm-linux-gnueabihf/libowncloudsync.so.0 ln -s /usr/local/lib/libowncloudsync.so.2.0.2 /usr/lib/arm-linux-gnueabihf/libowncloudsync.so.0
This is the archive with compiled owncloud ready to install with instrucion wrote above:Â Client 2.0.2 builded
This is the only Owncloud 2.0.1 executable :Â owncloud
Also this the only cmd version:Â owncloudcmd
Con questo articolo parto a spiegarvi come utilizzare arduino e altri strumenti per autocostruirsi un impianto di domotica e relativo antifurto.
Con questo parte di progetto utilizzo arduino per inviare via UDP lo stato degli I/O e anche di ricevere pacchetti UDP per controllare 4 relay.
Tutto il progetto completo è formato da diversi blocchi come questo che comunicano con un server (raspberry pi) che in python controlla il tutto e agisce di conseguenza. Sul Rasberry è installato anche Asterisk che interfacciato con il mio programma python è in grado di ricevere telefonate per attivare l’antifurto o disattivarlo e decidere chi chiamare, tutto tramite voce i segnali DTMF.
Comunque senza perderci troppo con il primo pezzo, cioe’ arduino che invia e riceve pacchetti.
I messaggi che manda sono nel formato “NUMERO SCHEDA” + “NUMERO SENSORE” + “STATO”
ad esempio la scheda 5 arduino con il sensore 6 e lo stato 00001 = 050600001
In questo modo posso utilizzare quanti arduino voglio, di sensori in teoria fino a 99, teniamo conto che arduino si può facilmente espandere con I/O su i2c.
Per il valore utilizzo 5 cifre perchè oltre al segnale on/off posso trasmettere temperature, livello di Co2 e tutto quello può servirvi.
Come porte UDP ho utilizzato 5055 per la trasmissione e 5056 per la ricezione, poi potete comunque modificarle con altre se vi torna comodo.
Nel mio caso ho utilizzato:
serve la libreria per gestire lo shield Ethernet, quindi scaricate la libreria qui:Â https://github.com/ntruchsess/arduino_uip
Installate la libreria in Arduino IDE e qui sotto c’e’ il programma ad hoc che utilizzo su una scheda, più’ sotto vi spiego i vari blocchi:
/* * pin 10 -11 -12 -13 occupati da ethernet * pin 2 -3 -4 -5 -6 -7 -8 -9 digitali * da A0 ad A7 analogici */ #include <UIPEthernet.h> EthernetUDP udpserver; EthernetUDP udp; int success; char IRF; int counter; //lo utilizzo per il conteggio del client per mandare i messaggi al server void setup() { pinMode(2, OUTPUT); //rele pinMode(3, OUTPUT); //rele pinMode(4, OUTPUT); //rele pinMode(5, OUTPUT); //rele pinMode(6, INPUT); // finestra cortile filo rosso pinMode(7, INPUT); // finestra vicino lavandino filo nero pinMode(8, INPUT); // porta cucina filo bianco pinMode(9, INPUT); // sensore lampada 500w portico Serial.begin(9600); //imposto la porta seriale per debug uint8_t mac[6] = {0x00,0x01,0x02,0x03,0x04,0x05}; //imposto mac address Ethernet.begin(mac,IPAddress(10,0,0,253)); //imposto ip success = udpserver.begin(5056); // apro la porta udp } void loop() { //controllo nuovi udp-packet: int size = udpserver.parsePacket(); if (size > 0) { do { char* msg = (char*)malloc(size+1); int len = udpserver.read(msg,size+1); msg[len]=0; Serial.print("received: "); Serial.println(msg); if (String(msg[0])=="1") { digitalWrite(2, HIGH); } else { digitalWrite(2, LOW); } if (String(msg[1])=="1") { digitalWrite(3, HIGH); } else { digitalWrite(3, LOW); } if (String(msg[2])=="1") { digitalWrite(4, HIGH); } else { digitalWrite(4, LOW); } if (String(msg[3])=="1") { digitalWrite(5, HIGH); } else { digitalWrite(5, LOW); } free(msg); } while ((size = udpserver.available())>0); //finish reading this packet: udpserver.flush(); // restituisco la lettura delle uscite for (int i=20; i < 24; i++){ success = udpserver.beginPacket(IPAddress(10,0,0,10),5056); String Messaggio = "050" + String(i) + "0000" + String(digitalRead(i-18)); success = udpserver.print(Messaggio); success = udpserver.endPacket(); delay(100); } udpserver.stop(); //restart with new connection to receive packets from other clients Serial.print("restart connection: "); Serial.println (udpserver.begin(5056) ? "success" : "failed"); } // qui parto con le letture dei sensori if (counter > 1200) { for (int i=6; i < 10; i++){ success = udp.beginPacket(IPAddress(10,0,0,1),5055); String Messaggio = "050" + String(i-5) + "0000" + String(!digitalRead(i)); success = udp.print(Messaggio); success = udp.endPacket(); delay(100); } for (int i=0; i < 2; i++){ if (analogRead(i) > 300) { //leggo lo stato degli irf IRF='1'; } else { IRF='0'; } success = udp.beginPacket(IPAddress(10,0,0,1),5055); String Messaggio = "050" + String(i+5) + "0000" + IRF; success = udp.print(Messaggio); success = udp.endPacket(); delay(100); } counter=0; } else { counter = counter + 1; } }
Lo shield per la scheda di rete utilizza i pin di Arduino 10 -11 -12 -13
Quindi questi non li possiamo utilizzare per la nostra domotica.
uint8_t mac[6] = {0x00,0x01,0x02,0x03,0x04,0x05}; //imposto mac address Ethernet.begin(mac,IPAddress(10,0,0,253)); //imposto ip success = udpserver.begin(5056); // apro la porta udp
Dobbiamo impostare il mac address per la scheda di rete (utilizzare dei numeri esadecimali a caso), poi impostiamo un IP statico nel range della vostra rete; nella mia rete utilizzo 10.0.0.0/24 quindi ho preso un IP libero a caso  10.0.0.253.. Alla fine imposto la porta di ascolto 5056 per ricevere dati da server (utilizzare certe porte come uscite).
Nel ciclo di loop è tutto abbastanza semplice, leggo i valori degli input e li invio uno a uno via UDP al mio server.
Per la parte della gestione uscite in Arduino rimane in ascolto sulla porta 5056 e riceve una stringa di 4 caratteri che attivano o disattivano i relay (1 attiva 0 disattiva).
Quindi 0001 attiva il primo relay.
Questa è la prima parte del progetto, spero vi possa essere di spunto per i vostri progetti.
Nel prossimo articolo posterò un progetto quasi uguale per Arduino dove invece lo utilizzo solo per leggere ingressi e non ho uscite, quindi manca la parte server.
Avendo un vecchio pc e installando windows xp o un windows embedded ci sono diversi problemi per metterlo a punto:
Per l’autologin vi rimando a un’articolo precendente
Per lo script di startup io ho utilizzato 2 files:
Startup.vbs
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\temp\STARTUP.bat" & Chr(34), 0
Set WshShell = Nothing
Startup.bat
C:\temp\miaconnessinone.rdp
shutdown /p
il primo va messo nello startup di windows e impedisce la visualizzazione noisa della schermata del prompt e permette di eseguire un comando alla volta.
Il secondo lancia la connessione utilizzando un rdp già preconfigurato con i nostri valori.
Per configurare correttamente il file rdp utilizzate il solito Connessione a Desktop Remoto e poi salvate il file come miaconnessione.rdp mettendo l’indirizzo del server e le varie opzioni che vi interessano. (vi consiglio di smarcare “visualizza barra delle connessioni in modalità schermo intero in modo che l’utente non possa minimizzare la schermata remota)
Ora editate con notepad  il file miaconnesione.rdp e aggiungete la riga:
enablecredsspsupport:i:0
salvate e chiudete. Questa opzione permetterà di collegarsi senza chiedere prima username e password ma mi mostrerà la schermata di login sul server. In questa foto vedete la schermata che di solito sempre compare e così l’abbiamo annullata:
Mettere in startup (esecuzione automatica) il file Startup.vbs
quando il pc o thinclient partirà si colllegherà direttamente al terminal server mostrando la login, quando l’utente farà disconnetti si spegnerà anche il thinclient rendendo trasparente l’utilizzo del terminal.
Spero vi possa essere utile!
Per controllare il valore attuale dell’indice di autoincrement univoco di una tabella:
DBCC CHECKIDENT (nometabella, NORESEED)
Per reimpostare il valore ad esempio a 149 :
DBCC CHECKIDENT (nometabella, RESEED,149)
Semplicemente con il DVD di installazione e qualche operazione si può cambiare la password di administrator o di qualsiasi altro utente in modo molto veloce e semplice, un hack ridicolo che funziona alla grande. Guardate il video che in 3 min cambia la password a un server.
Video di hack della password di administrator
[youtube Ar-VoO9ogHc]