La maggior parte di cattivo cattivo hack

Mentre sto sedendo a guardare uno dei miei ultimi sporchi sporchi sporchi correre, ho iniziato a chiedermi che tipo di sporchi hack che hai creato che sono così male che sono impressionanti.

Tutti noi abbiamo alcuni di loro nel nostro passato – e probabilmente stanno ancora correndo in produzione da qualche parte, battendosi in qualche modo ancora lavorando.

  • Ricerca non ricorsiva su Linux
  • Esegui il software antivirus nei server DNS di linux. Ha senso?
  • Quale NIC ha l'indirizzo IP?
  • Dov'è il posto migliore per LUKS per sedersi in una pila RAID / LVM / LUKS?
  • Monitoraggio di un HP ProLiant DL380 G7 senza il block
  • TCP SYN Metodo di rilevazione di inondazioni nel kernel di Linux
  • Quello mi ricorda l'hack che abbiamo dovuto mettere in atto quando stavamo spostando data center. I nostri IVR wherettero continuare a correre, dato che il centro dati da cui stiamo trasferendo era la DC primaria e il nuovo Primario non era ancora pronto a prendere traffico. Quindi cosa facciamo. Beh rispondiamo alle chiamate in DC1, poi spedire il stream di sorso su internet a DC2 a 1900 miglia di distanza … che sembrava proprio così sbagliato.

    Quindi la domanda è, che cosa è uno (o più) dei tuoi attacchi incredibilmente cattivi?

    15 Solutions collect form web for “La maggior parte di cattivo cattivo hack”

    Una società che ho lavorato a parecchi anni fa aveva limitato l'accesso di networking a tutti i nostri computer. Potresti accedere a un server terminal e ad each pagina del dominio 1 (intranet). Quello era. Questo è stato molto prima di iniziare il mio lavoro in IT e sono stato considerato inferiore a quello basso dal dipartimento IT.

    Questo, infatti, ci ha reso imansible fare i nostri lavori e dopo mesi di lamentarsi alla gestione (amo la beaurocracy) ci hanno dato finalmente un computer con accesso illimitato, che tutti e 12 abbiamo dovuto condividere sulla "occasione rara" che abbiamo necessari per andare fuori dominio (che era quasi tutto il tempo).

    Così, ho portto un interruttore a 24 porte, collegato il cavo di networking da quella macchina all'interruttore e poi acquistato dozzine di NIC a due porte, e in silenzio collegato a tutti i computer al secondo interruttore e impostato routes personalizzati su ciascuna macchina in modo che la gente potrebbe ancora accedere alla networking segregata. Ho poi nascosto tutti i cavi e gli interruttori in modo che nessuno avrebbe scoperto.

    Sono stato eroe per ognuno di 6 mesi, avrebbero finalmente accesso a internet finché il capo non stava guardando.

    Naturalmente, poiché questo è l'errore del server, tutti guarderanno questo post, ORARIO che potrei fare una cosa del genere. Beh, se ti fa sentire meglio quando scoprirono che sono stato prontamente licenziato, ma penso che sia allora che ho deciso di andare a Uni e di get un'educazione migliore per poter essere in grado di garantire che altre persone non lo deve passare attraverso questo.

    (E se ho scoperto che qualcuno avesse fatto questo in una delle mie reti, vorrei forzare fortemente un rimprovero ufficiale. Ehi, ero giovane).

    Probabilmente non il tipo di cosa che stai cercando, ma indietro un po 'ho avuto un paio di macchine Commodore serie 264. In particolare il Plus / 4 e C16. Avere bisogno di un assemblatore, ma non essere in grado di trovare uno per quelle macchine ho impostato per creare uno. Come compilare un assemblatore quando non ne hai già uno? Scrivere prima una cosa semplice in BASIC, quindi tradurlo line-by-line in assembly una volta che funziona e compila con se stesso.

    Ho venduto decine di server HP ProLiant ML370 G3 tra il 2003 e il 2005. La modalità di guasto di questo hardware è stata molto interessante, in quanto i sensori di ventola sulla scheda di sistema avrebbero infine fallito dopo 5 anni. Il sistema non avrebbe rilevato la presenza del ventilatore o lo stato di spin / speed in POST, per cui uno avrebbe bisogno di un negozio-vuoto (vuoto) per forzare gli appassionati di sistema a ruotare ad una velocità abbastanza elevata durante l'avvio per mantenere il server sul passato POST . Dopo di che, il raffreddamento è stato raggiunto con un ventilatore esterno … Disponibilità di tabs di sostituzione da HP era scarsa e c'era una carenza tra i rivenditori di parti, anche.

    La configuration whereva essere mantenuta per 5 giorni mentre ho cercato di organizzare le operazioni per volare al sito del cliente a 2000 miglia di distanza con nuovi hardware durante la stagione di festa di dicembre. Lo abbiamo fatto, però!

    alt text

    Ricordo di mettere insieme un hack per get una printingnte che lavora attraverso un'implementazione AS400 \ JDE su una connessione VPN di connessione remota. La mia memory è un po 'fuzzy ma è andata qualcosa di simile:

    Per printingre da JDEdwards, una printingnte Windows deve essere mappata su un object della printingnte AS400, che deve quindi essere mappata in un object della printingnte JDEdwards. Normalmente ciò funziona abbastanza bene quando si dispone di un server di printing centrale e di collegamenti point-to-point dedicati per i siti remoti che devono printingre da JDE.

    In questo caso uno dei nostri link WAN è andato in discesa, il che naturalmente ha significato che i lavori di printing dal server di printing centrale non potrebbero essere inviati alle printingnti di networking remota presso il magazzino remoto interessato. Il magazzino remoto ha dovuto printingre le scatole di imballaggio da JDE per get le spedizioni fuori dalla port, così ho creato una connessione VPN in un computer di magazzino con una printingnte localmente collegata, quindi ho condiviso la printingnte localmente collegata, quindi ho configurato il client VPN per utilizzare un indirizzo IP specifico invece di utilizzare l'indirizzo IP assegnato VPN, ho mappato la printingnte localmente collegata al server di printing tramite l'indirizzo IP VPN statico, quindi ho mappato questa printingnte all'object della printingnte AS400, quindi ho mappato l'object della printingnte AS400 l'object della printingnte JDE e il voila, i pacchetti di imballaggio vengono printingti nel magazzino remoto.

    Direi che uno dei più ridicoli in cui sono stato coinvolto era un hack fisico.

    Il server di un cliente aveva soffiato la sua alimentazione elettrica, in realtà la seconda perché c'erano alimentatori ridondanti e la prima era già andata.

    Si trattava di un vecchio canvasio da una delle marche "build un proprio server" e l'alimentatore di ricambio avrebbe dovuto essere centinaia di dollari da sostituire.

    Non erano disposti a pagare per l'alimentazione elettrica, né a considerare la sostituzione della macchina.

    E, ovviamente, hanno ottenuto "informazioni" da qualcun altro che è ansible acquistare alimentatori come $ 50 presso il negozio, nessun grosso problema.

    Quindi … abbiamo finito con un alimentatore standard con lunghi fili per essere all'esterno del canvasio, raggiungendo dentro per inserire nella scheda e dispositivi. Poi il tappo e la zip hanno collegato l'alimentazione alla schiena.

    E la cosa peggiore è che, anche se abbiamo detto loro di non lasciarlo in questo modo, è giunto il momento di iniziare a bilanciare per sostituire la macchina, credo che sia ancora in function in questo modo un buon anno dopo.

    Motore di database a file piatto proprietario scritto in Perl per un gruppo di applicazioni CGI che avevo indietro nel corso della giornata. Santo sciocco ……

    I parser scritti in Awk, lo hanno fatto molte volte, un amico ha anche scritto un compilatore C (semplice) in Awk.

    Ho un altro amico che ha scritto un client Freenet (compresi i bit di networking) in Bash.

    Si tratta di un hack hardware, e fortunatamente non è una soluzione permanente.

    Una calda giornata estiva il mio cercapersone si spegne con temperature crescenti rapidamente nel nostro data center, "non ancora!". Qualcosa è funky con i nostri raffreddatori montati sul tetto, ed è ancora il momento di convocare le persone che in realtà conoscono questa roba. Purtroppo, è nel mezzo dell'estate con persone in vacanza o in discesa da qualche parte, quindi in realtà get qualcuno a venire a guardare avrebbe bisogno di un paio d'ore. Quale con l'attuale tendenza alle crescenti temperature nel datacenter questo è il momento che non ho. Né ho particolarmente appassionato trascorrere il resto della calda serata estiva portndo giù e tornando a un paio di migliaia di server e scusandomi ai nostri ragazzi di produzione che i loro lavori di calcolo sono stati fermati.

    Non è tutto male, perché è ancora funzionante, ma sembra che alcune delle logiche stiano prendendo alcune decisioni sbagliate, in quanto funziona contemporaneamente solo 2-4 su 8 compressori. Così, alcune chiamate telefoniche e alcuni scrounging in seguito: nastro elettrico e piccole rocce per il salvataggio.

    Lì ho risolto!

    Molto tempo fa stavo lavorando per una società di telecomunicazioni che stava utilizzando le carte GSM prepagate per colbind chiamate provenienti da VOIP ai numbers colombiani locali. (semplice model di business, vendendo US-> Colombia per 10 centesimi al minuto mentre abbiamo dovuto pagare solo 1 centesimo per la stessa chiamata Colombia GSM-> Colombia GSM).

    Call-flow:
    Stati Uniti inizia la chiamata-> VOIP (gratis) -> Colombia GSW Gateway riempito di carte prepagate colombiane -> Numero di colombiani effettivo selezionato dagli Stati Uniti.

    Al fine di get che 1c per minuto tasso abbiamo dovuto triggersre la carta con un IVR. Inizialmente avevamo alcune dozzine di donne nuda splendide che andavano per each carta e lo triggersvano in un telefono, uno per uno. Presto è apparso chiaro che questo non sarebbe in scala considerando il numero totale di carte che wherevano essere triggerste a settimana, per cui la direzione ha pensato che, dal momento che il reparto IT avesse molto tempo libero, dovremmo aiutare le ragazze.

    Quindi questo è ciò che abbiamo fatto:
    – posizionare le carte in un gateway VOIP-GSM, comporre il IVR automaticamente utilizzando Asterisk e passare attraverso il menu inviando il corrispondente codice DTMF per triggersre quella promozione 1c / min specifica. Questo ha funzionato abbastanza bene per un po '.

    La nostra più grande preoccupazione è stata, e qui viene l'hack, abbiamo triggersto le tabs sulle stesse celle GSM (sito antenna) each volta e l'operatore locale di telecomunicazioni, riluttante a sostenere la nostra causa e condividere alcune delle sue entrate con noi, aveva notato la picchi nel numero di triggerszioni della scheda su quelle celle specifiche e ha iniziato a bandire le tabs dalla loro networking prima che abbiamo effettivamente avuto la possibilità di usarli.

    La nostra soluzione era quella di creare un veicolo di triggerszione telecom-SIM, installare un gateway VOIP-GSM con le sue 32 carte SIM in una macchina insieme a un modem wireless, ironicamente utilizzando la networking EVDO dello stesso telecom gigante che era nell'accordo di ripartizione dei profitti con noi, e utilizzando lo stesso server Asterisk call l'IVR per each scheda che lo triggers.
    Il vantaggio evidente era che la vettura in movimento ci aiuterà a diffondere il carico tra le celle di torre, assicurando che non facciamo la nostra networking di partner di telecom, che era la nostra principale preoccupazione 🙂

    A questo punto le splendide donne wherevano essere lasciate andare, indipendentemente dai nostri desideri. Oh, come ho pianto ma comunque ho amato il mio lavoro :)! I vantaggi di lavorare in un paese del terzo mondo! (Ho ragazzo Colombia …)

    Quando stavo programmando in Oracle PL / SQL, avevamo un programma "listener" per generare l'output del report sul server, basato su una query del client.

    Era un franchising di script di sql assortiti, uno script shell di 1000 righe, oggetti di pipe unix e un lavoro cron. Il lavoro cron eseguirebbe lo script c each 5 secondi o giù di lì, che eseguirebbe uno script SQL, per eseguire una ricerca su una tabella per le voci che passerebbero il valore a stdout. Lo script eseguirebbe quindi il programma in base ai dettagli e ai parametri inseriti nella tabella.

    Tutta la cosa era insanamente complessa e fu inizialmente scritta nei primi anni '80.

    Alla fine abbiamo ottenuto un cliente che voleva gestire la nostra applicazione su NT invece di unix, quindi siamo riusciti a farlo funzionare in una variante commerciale di cygwin (piuttosto che reingineer l'intera confusione).

    La scorsa settimana, o forse è stato il mese scorso … ho scritto un paio di applicazioni (conosciuto con nome f5 e f11) che usano le librerie X per emulare le tastiere della tastiera … per aggiornare e visualizzare a schermo integer una window del browser su un computer nel nostro ufficio che stava eseguendo una pagina della scheda di stato.

    Ho anche scritto un'applicazione di python per continuare a muovere il puntatore del mouse in posizione 1441×901 (appena fuori vista), ma solo per eseguire durante le ore d'ufficio, in modo che il resto del tempo, può eseguire lo screensaver.

    Penso che siano dei hack abbastanza sporchi. Non il mio peggiore, ma piuttosto brutto: P

    Ho scritto uno script bash che ha visualizzato un menu numerato e ha chiesto all'utente di digitare il numero di menu. Ha usato $ (leggere -n 1) per tirare singole battiture, e li trattano singolarmente – compreso backspace, che ho tirato da $ (stty -a).

    C'erano casi speciali per gestire risposte multi-cifre, ad esempio se avessero 9 opzioni, interpnetworkingrebbero 1-9 come each opzione di menu, ma se avessero 11 opzioni, dopo aver ricevuto un 1, avrebbe atteso per vedere se diventasse 10 o 11, o [return] per 1.

    Ho fatto tutto questo senza chiamate maledizioni (solo un sacco di maledizioni parlato).

    2 giorni dopo ho imparato a $ (select)

    Il mio peggiore era probabilmente un hack di networking. Questo è tornato intorno al 2000 o 2001. Sono stato a un ISP che ha fornito l'accesso fisso a Internet wireless. L'attrezzo senza fili utilizzato è stato abbastanza primitivo in termini di capacità di routing. La radio client era fondamentalmente solo un ponte wireless-Ethernet, quindi i clienti avevano bisogno di un proprio router. I clienti che hanno voluto un block pubblico hanno bisogno di un router dual-Ethernet che non ha forzato NAT (che la maggior parte dei router a larga banda ha fatto allora). Questo significa solitamente qualcosa come un Cisco 2514 o un 2611/2621, nessuno dei quali era particolarmente economico allora.

    Comunque, il router di un cliente è morto. Non erano in grado di andare a comprare un nuovo (o persino usato) Cisco, e non ne avevamo una mano. Ciò che abbiamo fatto era alcuni vecchi router Ascend Pipeline 130 T1. Quindi, quello che finì con il cliente era …

     wireless --/-- radio --- eth eth ----- LAN router1 router2 T1 --- x-over --- T1 

    Fortunatamente, il collegamento senza fili ha funzionato a less di 1 Mbps, quindi il collegamento "T1" tra i router non era un collo di bottiglia.

    Ho lavorato come sysadmin in un ufficio pieno di workstation Windows NT 4.0 SP6. Letteralmente tutti stavano cercando di vedere quale fosse la password dell'amministratore quando stavo scrivendo sui loro computer. Infine mi sono ammalato e ho iniziato ad usare un disco floppy contenente un exploit che ha lanciato un'istanza cmd.exe che esegue i privilegi di amministratore senza che sia necessario digitare la password dell'amministratore.

    Non è una mia, ma sono arrivata una volta in una società per vedere un orrendo database di Microsoft Access con decine di query solo per get un singolo valore dal database MsSQL a cui è collegato. Ho passato poche ore per ottimizzarlo e ridurlo ad una singola domanda, quindi ho scoperto perché avevano un gruppo di query così orribile – la domanda finale che ho finito di build era troppo lunga per Microsoft Access per gestire e non sapevano alcun altro modo di correre tranne per spaccarla come questo.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.