Mòdul Professional 5: A02 - Preparació d'un entorn per al Hacking Ètic

Índex

1 Objectius

L'objectiu d'aquesta activitat és muntar un entorn comú per tot el grup que contingui ja les principals eines que utilitzarem durant el curs instal·lades i configurades.

2 Enunciat

Prepararem un entorn base que utilitzarem durant tot el curs, de fet ens servirà per a totes les assignatures, per tant podeu optar per fer una instal·lació "normal" al vostre portàtil, un arranc dual o simplement una VM (tot i que aquesta tercera opció, com ja sabeu, serà la menys eficient de totes).

2.1 Distribució base

Tot i que el hacking es pot realitzar amb qualsevol S.O., i de fet i han eines que tenen versions millors en un que altres, utilitzarem una Kali Linux com a S.O. base. Aquesta distribució té les següents avantatges:

  • Basada en Debian Testing.
  • Paqueteria pre-instal·lada (Metasploit, Burps Suite, Maltego, Wifite2, etc).
  • Configuracions i eines "extres" (com per exemple diccionaris).

Hi han altres sistemes enfocats a la ciberseguretat com per exemple Parrot OS. També hi ha l'opció de triar una distribució base i construïr a partir d'aquí, però així ens estalviarem feina.

2.2 Entorn per a eines

Durant el curs instal·larem moltes eines creades per la comunitat i que habitualment estaràn escrites en els llenguatges més de moda per ciberseguretat: Actualment Python (2/3) i Go. Per tant verificarem que ho tenim tot preparat i en cas que ens quedi quelcom per instal·lar ho farem ara ja, per poder anar més ràpids més endavant.

Verifiqueu i instal·leu el que manqui de la llista següent:

  • Python2 i Python3
  • Pip i Pip3.
  • Go
  • Git

2.3 Terminal

També veureu que la major part d'eines que utilitzarem són eines de terminal, per tant aquest curs hi passarem moltes hores en aquest entorn. Tant per tant busquem ja des de l'inici que l'entorn sigui per un costat còmode i per l'altre eficient.

L'eficiencia ve amb una corba d'aprenentatge important, i tot i que no és requisit en aquest curs, fora bó que tots (inclòs jo) intentem millorar-la. És per això que us convido a fer servir alguns programes i coses "difícils" i a començar a fer-vos xuletaris per a poder anar utilitzant-los cada cop amb més perícia.

Després poc a poc veureu que la màgia de l'automatització recau especialment en el programari que utilitzeu, però també en aquestes habilitats que aneu adquirint.

2.3.1 ZSH

Aquest és un intèrpret de comandes per a substituïr el nostre estimat Bash. Pq? Doncs us podria dir que aquest és més bonic, però la veritable raó és que permet afegir plugins molt interessants que ens facilitaràn el dia a dia sense pràcticament donar-nos compte.

Cal que feu:

  • Instal·lar ZSH.
  • Establir ZSH com a terminal per defecte
  • Instal·lar i configurar el gestor de temes Oh my ZSH!
  • Ja posats, instal·lar el tema Powerlevel9k que mola molt (o un altre que us agradi).
  • Activar els següents plugins: zsh-syntax-highlighting python docker battery colored-man-pages colorize git bgnotify zsh-autosuggestions

2.3.2 Vi / Vim

Com a editor de text us emplaçaria a utilitzar Doom, que és un emacs amb evil-mode, però no serè tant friki, si aconseguiu utilitzar vi ja serà tot un èxit.

Veureu que vi o vim si el voleu una mica més modern i bonic, fa el mateix que el nano majoritàriament… aleshores quin sentit té? Doncs per un costat ens permet fer edicions de text molt més ràpides, permetent canviar paraules, frases o línies al vol, o eliminar línies llargues molt fàcilment etc. Però potser la potència es veu més amb la seva habilitat i flexibilitat alhora de cercar i reemplaçar text.

Sé que és complicat, i de nou no és pas obligatòri, però si us hi acostumeu i alhora intenteu no quedar-vos en "la edició bàsica" a final de curs hi notareu una diferència important.

Per tant, per començar, feu una xuleta de comandes bàsiques de vi, que poc a poc durant el curs podeu ampliar:

  • Xuleta de ús bàsic de vi

2.3.3 TMux

Tot i que inicialment no utilitzarem el seu potencial, durant el mòdul de hacking i especialment en la part de hacking web, haurem d'utilitzar eines que trigaràn molt en donar resultats. Per això normalment es treballa des de servidors remots, on podrem deixar les comandes executant-se mentre nostres tornem a casa amb tota la calma.

Per poder deixar, ja no tan sols una comanda en background sinó sessions de treball complertes, s'utilitza moltíssim TMux que no és més que un multiplexador de la terminal de Linux. Amb ell podrem crear entorns de treball constituïts per diferents finestres (cadascuna dedicada a un pas del hacking per exemple) i dins de cada finestre varis panells per llançar eines de forma simultànea. Tot això ho podrem desplegar de forma automatitzada també si aprofundim una mica, però la part interessant és que ho podrem deixar corrent tot en background en el servidor on estiguem treballant i, quan vulguem, reconectar-nos a tot aquest entorn i veure quins resultats ens aporten les eines utilitzades.

És per això que fora bó que poc a poc ens anem habituant a utilitzar TMux en el nostre dia a dia, per tant caldrà:

  • Instal·lar TMux.
  • Instal·lar tmuxinator

I a més per anar agafant pràctica, ens farem una xuleta d'ús bàsic de TMux que contingui com a mínim:

  • Crear / detach / attach eliminar sessions.
  • Crear / renombrar / moure'ns / tancar finestres.
  • Crear / redimensionar / moure'ns / tancar panells.
  • Ús bàsic de tmuxinator.

3 Exemples de coses a repassar i millorar

Per finalitzar, i per si no en tinguéssiu prou, ens aniría molt bé a tots tenir certa traça amb determinades eines (totes elles de la terminal) que ens facilitaràn la vida alhora d'automatitzar tasques, de fer les coses més ràpides i efectives i per damunt de tot tenir més nivell (que al cap i a la fi repercuteix en el que som capaços de fer). Per tot plegat, i de nou encara que no ho tinguem en compte de forma explícita al cicle, fora bó anar repassant i augmentar la nostra perícia en:

  • Ús del terminal ZSH/Bash (connectors, redirectors, etc).
  • Scripts Bash/ZSH.
  • Expressions regulars.

Data: 2021-10-08 dv. 00:00

Autor: Raul Gimenez Herrada

Created: 2021-09-23 dj. 10:26