Esta página documenta todos los puntos finales o rutas (endpoints en inglés) disponibles de la API de Tráfico No Deseado. Cada punto final requiere el encabezado X-API-Key
y el encabezado Accept: application/json
. Se aplican límites de tasa: 100 solicitudes/minuto para la mayoría de los puntos finales, 50 solicitudes/minuto para /sessions
, /attempts
y /malware
.
Esta es la lista completa de puntos finales:
La definición de los tipos de tráfico no deseado utilizados en toda la API es la siguiente:
GET /attempt-credentials
Obtiene una lista de credenciales únicas utilizadas en intentos de inicio de sesión, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
credentials
: Filtrar por credenciales específicas (formato: usuario||contraseña
, codificado en URL).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-credentials
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"attempt_credentials": "!!Huawei||@HuaweiHgw",
"numberAttacks": "5",
"numberScans": "0"
},
{
"attempt_credentials": "1234||1234",
"numberAttacks": "3",
"numberScans": "0"
}
]
}
GET /attempt-credentials/{credentials}
Obtiene detalles para credenciales específicas (formato: usuario||contraseña
, codificado en URL).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-credentials/root%7C%7Cxc3511
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"attempt_credentials": "root||xc3511",
"numberAttacks": "4526",
"numberScans": "0"
}
}
GET /attempt-logins
Obtiene conteos de intentos de inicio de sesión exitosos y fallidos. Sin paginación.
Parámetros de Consulta:
login
: Filtrar por éxito de inicio de sesión (true
o false
).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-logins
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"attempt_login": "false",
"numberAttacks": "3572",
"numberScans": "0"
},
{
"attempt_login": "true",
"numberAttacks": "4526",
"numberScans": "0"
}
]
}
GET /attempt-logins/{login}
Obtiene detalles para un valor específico de éxito de inicio de sesión (true
o false
).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-logins/true
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"attempt_login": "true",
"numberAttacks": "4526",
"numberScans": "0"
}
}
GET /attempt-passwords
Obtiene una lista de contraseñas utilizadas en intentos de inicio de sesión, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
password
: Filtrar por contraseña específica (codificada en URL).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-passwords
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"attempt_password": "xc3511",
"numberAttacks": "4526",
"numberScans": "0"
},
{
"attempt_password": "admin",
"numberAttacks": "187",
"numberScans": "0"
}
]
}
GET /attempt-passwords/{password}
Obtiene detalles para una contraseña específica (codificada en URL).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-passwords/xc3511
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"attempt_password": "xc3511",
"numberAttacks": "4526",
"numberScans": "0"
}
}
GET /attempt-usernames
Obtiene una lista de nombres de usuario utilizados en intentos de inicio de sesión, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
username
: Filtrar por nombre de usuario específico (codificado en URL).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-usernames
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"attempt_username": "root",
"numberAttacks": "3923",
"numberScans": "0"
},
{
"attempt_username": "admin",
"numberAttacks": "204",
"numberScans": "0"
}
]
}
GET /attempt-usernames/{username}
Obtiene detalles para un nombre de usuario específico (codificado en URL).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempt-usernames/root
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"attempt_username": "root",
"numberAttacks": "3923",
"numberScans": "0"
}
}
GET /attempts
Obtiene una lista paginada de intentos de inicio de sesión con detalles de sesión asociados. Admite filtros simples y complejos y paginación.
Parámetros de Consulta:
filter
: Filtro complejo codificado en JSON (opcional).start
, end
: Filtros de marca de tiempo (vía sesión).attempt-id
, attempt-session
, attempt-login
, attempt-credentials
, attempt-username
, attempt-password
: Campos de filtro simples.limit
, offset
: Parámetros de paginación.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" "https://defrancisco.us/unwanted-traffic/attempts?dst-ip=192.168.0.96&limit=2"
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"attempt_credentials": "root||xc3511",
"attempt_id": 1,
"attempt_login": "true",
"attempt_password": "xc3511",
"attempt_session": "2a58f17a436b",
"attempt_username": "root",
"sessions": {
"commands": "sh; shell; enable; system; ping ;sh; >/usr/.a && cd /usr/; rm -rf .a; >/mnt/.a && cd /mnt/; rm -rf .a; >/var/run/.a && cd /var/run/; rm -rf .a; >/dev/shm/.a && cd /dev/shm/; rm -rf .a; >/etc/.a && cd /etc/; rm -rf .a; >/var/.a && cd /var/; rm -rf .a; >/tmp/.a && cd /tmp/; rm -rf .a; >/dev/.a && cd /dev/; rm -rf .a; >/var/home/user/fw/.a && cd /var/home/user/fw/; rm -rf .a; for i in `cat /proc/mounts|grep tmpfs|grep -v noexec|cut -d ' ' -f 2`; do >$i/.a && cd $i;done; cat /proc/mounts | grep tmpfs | grep -v noexec | cut -d -f 2; /bin/busybox wget --help; /bin/busybox ftpget --help; /bin/busybox echo -e '\\\\x67\\\\x61\\\\x79\\\\x66\\\\x67\\\\x74';",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2723,
"duration": 1.23172,
"protocol": "telnet",
"sensor": "raspberrypi",
"session": "2a58f17a436b",
"session_id": 1,
"src_asn": 4766,
"src_country": "South Korea",
"src_ip": "192.168.1.100",
"src_port": 61248,
"timestamp": "Sun, 23 Feb 2025 00:00:01 GMT",
"traffic_type": "attack"
}
},
{
"attempt_credentials": "root||xc3511",
"attempt_id": 2,
"attempt_login": "true",
"attempt_password": "xc3511",
"attempt_session": "818fa72b39c1",
"attempt_username": "root",
"sessions": {
"commands": "sh; shell; enable; system; ping ;sh; >/usr/.a && cd /usr/; rm -rf .a; >/mnt/.a && cd /mnt/; rm -rf .a; >/var/run/.a && cd /var/run/; rm -rf .a; >/dev/shm/.a && cd /dev/shm/; rm -rf .a; >/etc/.a && cd /etc/; rm -rf .a; >/var/.a && cd /var/; rm -rf .a; >/tmp/.a && cd /tmp/; rm -rf .a; >/dev/.a && cd /dev/; rm -rf .a; >/var/home/user/fw/.a && cd /var/home/user/fw/; rm -rf .a; for i in `cat /proc/mounts|grep tmpfs|grep -v noexec|cut -d ' ' -f 2`; do >$i/.a && cd $i;done; cat /proc/mounts | grep tmpfs | grep -v noexec | cut -d -f 2; /bin/busybox wget --help; /bin/busybox ftpget --help; /bin/busybox echo -e '\\\\x67\\\\x61\\\\x79\\\\x66\\\\x67\\\\x74';",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2723,
"duration": 1.20777,
"protocol": "telnet",
"sensor": "raspberrypi",
"session": "818fa72b39c1",
"session_id": 2,
"src_asn": 4766,
"src_country": "South Korea",
"src_ip": "192.168.1.100",
"src_port": 61254,
"timestamp": "Sun, 23 Feb 2025 00:00:02 GMT",
"traffic_type": "attack"
}
}
],
"pagination": {
"limit": 2,
"offset": 0,
"totalRecords": 8098
}
}
GET /attempts/{id}
Obtiene detalles de un intento de inicio de sesión específico por su ID, incluyendo detalles de sesión asociados.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/attempts/1
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"attempt_credentials": "root||xc3511",
"attempt_id": 1,
"attempt_login": "true",
"attempt_password": "xc3511",
"attempt_session": "2a58f17a436b",
"attempt_username": "root",
"sessions": {
"commands": "sh; shell; enable; system; ping ;sh; >/usr/.a && cd /usr/; rm -rf .a; >/mnt/.a && cd /mnt/; rm -rf .a; >/var/run/.a && cd /var/run/; rm -rf .a; >/dev/shm/.a && cd /dev/shm/; rm -rf .a; >/etc/.a && cd /etc/; rm -rf .a; >/var/.a && cd /var/; rm -rf .a; >/tmp/.a && cd /tmp/; rm -rf .a; >/dev/.a && cd /dev/; rm -rf .a; >/var/home/user/fw/.a && cd /var/home/user/fw/; rm -rf .a; for i in `cat /proc/mounts|grep tmpfs|grep -v noexec|cut -d ' ' -f 2`; do >$i/.a && cd $i;done; cat /proc/mounts | grep tmpfs | grep -v noexec | cut -d -f 2; /bin/busybox wget --help; /bin/busybox ftpget --help; /bin/busybox echo -e '\\\\x67\\\\x61\\\\x79\\\\x66\\\\x67\\\\x74';",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2723,
"duration": 1.23172,
"protocol": "telnet",
"sensor": "raspberrypi",
"session": "2a58f17a436b",
"session_id": 1,
"src_asn": 4766,
"src_country": "South Korea",
"src_ip": "192.168.1.100",
"src_port": 61248,
"timestamp": "Sun, 23 Feb 2025 00:00:01 GMT",
"traffic_type": "attack"
}
}
}
GET /commands
Obtiene una lista de comandos ejecutados durante las sesiones, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
command
: Filtrar por subcadena de comando (codificado en URL).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/commands
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"commands": "whoami",
"numberAttacks": "13",
"numberScans": "0"
},
{
"commands": "sh; shell; enable; system;",
"numberAttacks": "6850",
"numberScans": "0"
}
]
}
GET /commands/{command}
Obtiene detalles para sesiones que contienen una subcadena de comando específica (codificada en URL).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/commands/whoami
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"commands": "whoami",
"numberAttacks": "13",
"numberScans": "0"
}
}
GET /malware
Obtiene una lista paginada de registros de malware con detalles de sesión asociados. Admite filtros simples y complejos y paginación.
Parámetros de Consulta:
filter
: Filtro complejo codificado en JSON (opcional).start
, end
: Filtros de marca de tiempo (vía sesión).malware-id
, malware-session
, malware-hash
, malware-site
, malware-type
: Campos de filtro simples.limit
, offset
: Parámetros de paginación.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" "https://defrancisco.us/unwanted-traffic/malware?dst-ip=192.168.0.96&limit=2"
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"malware_hash": "a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2",
"malware_id": 1,
"malware_session": "82e4335b3bb3",
"malware_site": "",
"malware_type": "redir",
"sessions": {
"commands": "cd ~; chattr -ia .ssh; lockr -ia .ssh; cd ~ && rm -rf .ssh && mkdir .ssh && echo \\\"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr\\\">>.ssh/authorized_keys && chmod -R go= ~/.ssh && cd ~",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2722,
"duration": 7.96019,
"protocol": "ssh",
"sensor": "raspberrypi",
"session": "82e4335b3bb3",
"session_id": 666,
"src_asn": 142002,
"src_country": "India",
"src_ip": "192.168.1.100",
"src_port": 51194,
"timestamp": "Sun, 23 Feb 2025 03:03:36 GMT",
"traffic_type": "attack"
}
},
{
"malware_hash": "a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2",
"malware_id": 2,
"malware_session": "c5ebe32322a1",
"malware_site": "",
"malware_type": "redir",
"sessions": {
"commands": "cd ~; chattr -ia .ssh; lockr -ia .ssh; cd ~ && rm -rf .ssh && mkdir .ssh && echo \\\"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr\\\">>.ssh/authorized_keys && chmod -R go= ~/.ssh && cd ~",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2722,
"duration": 5.16221,
"protocol": "ssh",
"sensor": "raspberrypi",
"session": "c5ebe32322a1",
"session_id": 744,
"src_asn": 396982,
"src_country": "Taiwan",
"src_ip": "192.168.1.100",
"src_port": 57204,
"timestamp": "Sun, 23 Feb 2025 03:11:28 GMT",
"traffic_type": "attack"
}
}
],
"pagination": {
"limit": 2,
"offset": 0,
"totalRecords": 777
}
}
GET /malware/{id}
Obtiene detalles de un registro de malware específico por su ID, incluyendo detalles de sesión asociados.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/malware/1
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"malware_hash": "a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2",
"malware_id": 1,
"malware_session": "82e4335b3bb3",
"malware_site": "",
"malware_type": "redir",
"sessions": {
"commands": "cd ~; chattr -ia .ssh; lockr -ia .ssh; cd ~ && rm -rf .ssh && mkdir .ssh && echo \\\"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr\\\">>.ssh/authorized_keys && chmod -R go= ~/.ssh && cd ~",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2722,
"duration": 7.96019,
"protocol": "ssh",
"sensor": "raspberrypi",
"session": "82e4335b3bb3",
"session_id": 666,
"src_asn": 142002,
"src_country": "India",
"src_ip": "192.168.1.100",
"src_port": 51194,
"timestamp": "Sun, 23 Feb 2025 03:03:36 GMT",
"traffic_type": "attack"
}
}
}
GET /malware-hashes
Obtiene una lista de hashes de malware, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
hash
: Filtrar por hash de malware específico.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/malware-hashes
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"malware_hash": "a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2",
"numberAttacks": "678",
"numberScans": "0"
}
]
}
GET /malware-hashes/{hash}
Obtiene detalles para un hash de malware específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/malware-hashes/a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"malware_hash": "a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2",
"numberAttacks": "678",
"numberScans": "0"
}
}
GET /malware-sites
Obtiene una lista de sitios de malware, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
site
: Filtrar por sitio de malware específico (doble codificación en URL).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/malware-sites
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"malware_site": "http://37.44.238.88",
"numberAttacks": "34",
"numberScans": "0"
}
]
}
GET /malware-sites/{site}
Obtiene detalles para un sitio de malware específico (doble codificación en URL).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" "https://defrancisco.us/unwanted-traffic/malware-sites/http:%252f%252f37.44.238.88"
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"malware_site": "http://37.44.238.88",
"numberAttacks": "34",
"numberScans": "0"
}
}
Observa la doble codificación en URL de la barra diagonal (%252f
): el primer paso de decodificación decodifica %25
como %
, resultando en %2f
; el segundo paso decodifica %2f
como /
. Esto es necesario para evitar una restricción de seguridad en el manejo de barras por parte del servidor Apache subyacente que aloja la API.
GET /malware-types
Obtiene una lista de tipos de malware, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
type
: Filtrar por tipo de malware específico.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/malware-types
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"malware_type": "redir",
"numberAttacks": "678",
"numberScans": "0"
},
{
"malware_type": "download",
"numberAttacks": "39",
"numberScans": "0"
}
]
}
GET /malware-types/{type}
Obtiene detalles para un tipo de malware específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/malware-types/redir
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"malware_type": "redir",
"numberAttacks": "678",
"numberScans": "0"
}
}
GET /origin-asns
Obtiene una lista de ASNs de origen, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
asn
: Filtrar por ASN específico (entero).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-asns
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"src_asn": 4766,
"numberAttacks": "6850",
"numberScans": "0"
}
]
}
GET /origin-asns/{asn}
Obtiene detalles para un ASN de origen específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-asns/4766
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"src_asn": 4766,
"numberAttacks": "6850",
"numberScans": "0"
}
}
GET /origin-countries
Obtiene una lista de países de origen, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
country
: Filtrar por país específico (codificado en URL).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-countries
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"src_country": "South Korea",
"numberAttacks": "6850",
"numberScans": "0"
}
]
}
GET /origin-countries/{country}
Obtiene detalles para un país de origen específico (codificado en URL).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-countries/South%20Korea
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"src_country": "South Korea",
"numberAttacks": "6850",
"numberScans": "0"
}
}
GET /origin-ips
Obtiene una lista de direcciones IP de origen, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
ip
: Filtrar por dirección IP específica.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-ips
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"src_ip": "192.168.1.100",
"numberAttacks": "7604",
"numberScans": "0"
}
]
}
GET /origin-ips/{ip}
Obtiene detalles para una dirección IP de origen específica.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-ips/192.168.1.100
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"src_ip": "192.168.1.100",
"numberAttacks": "7604",
"numberScans": "0"
}
}
GET /origin-ports
Obtiene una lista de puertos de origen, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
port
: Filtrar por puerto específico (entero).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-ports
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"src_port": 61248,
"numberAttacks": "1",
"numberScans": "0"
}
]
}
GET /origin-ports/{port}
Obtiene detalles para un puerto de origen específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/origin-ports/61248
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"src_port": 61248,
"numberAttacks": "1",
"numberScans": "0"
}
}
GET /protocols
Obtiene una lista de protocolos utilizados para el acceso remoto al honeypot, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
protocol
: Filtrar por protocolo específico.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/protocols
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"numberAttacks": "2322655",
"numberScans": "269982",
"protocol": "ssh"
},
{
"numberAttacks": "126208",
"numberScans": "343900",
"protocol": "telnet"
}
]
}
GET /protocols/{protocol}
Obtiene detalles para un protocolo de acceso remoto específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/protocols/ssh
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"numberAttacks": "2322655",
"numberScans": "269982",
"protocol": "ssh"
}
}
GET /sensors
Obtiene una lista de nombres de sensores de honeypot, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
sensor
: Filtrar por sensor específico.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/sensors
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"numberAttacks": "2448863",
"numberScans": "613882",
"sensor": "raspberrypi"
}
]
}
GET /sensors/{sensor}
Obtiene detalles para un nombre de sensor de honeypot específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/sensors/raspberrypi
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"numberAttacks": "2448863",
"numberScans": "613882",
"sensor": "raspberrypi"
}
}
GET /sessions
Obtiene una lista paginada de sesiones con intentos y malware asociados. Admite filtros simples y complejos (ver Filtros) y paginación (ver Paginación).
Parámetros de Consulta:
filter
: Filtro complejo codificado en JSON (opcional).start
: Marca de tiempo inicial (por ejemplo, "2025-02-23T00:00:00Z").end
: Marca de tiempo final (por ejemplo, "2025-02-23T23:59:59Z").session-id
, session
, commands
, dst-ip
, dst-port
, dst-asn
, dst-country
, duration
, protocol
, sensor
, src-ip
, src-port
, src-asn
, src-country
, timestamp
, traffic-type
: Campos de filtro simples.limit
: Número de registros a devolver (por defecto: 50).offset
: Número de registros a omitir (por defecto: 0).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" "https://defrancisco.us/unwanted-traffic/sessions?dst-ip=192.168.0.96&limit=2"
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"attempts": [
{
"attempt_credentials": "root||xc3511",
"attempt_id": 1,
"attempt_login": "true",
"attempt_password": "xc3511",
"attempt_session": "2a58f17a436b",
"attempt_username": "root"
}
],
"commands": "sh; shell; enable; system; ping ;sh; >/usr/.a && cd /usr/; rm -rf .a; >/mnt/.a && cd /mnt/; rm -rf .a; >/var/run/.a && cd /var/run/; rm -rf .a; >/dev/shm/.a && cd /dev/shm/; rm -rf .a; >/etc/.a && cd /etc/; rm -rf .a; >/var/.a && cd /var/; rm -rf .a; >/tmp/.a && cd /tmp/; rm -rf .a; >/dev/.a && cd /dev/; rm -rf .a; >/var/home/user/fw/.a && cd /var/home/user/fw/; rm -rf .a; for i in `cat /proc/mounts|grep tmpfs|grep -v noexec|cut -d ' ' -f 2`; do >$i/.a && cd $i;done; cat /proc/mounts | grep tmpfs | grep -v noexec | cut -d -f 2; /bin/busybox wget --help; /bin/busybox ftpget --help; /bin/busybox echo -e '\\\\x67\\\\x61\\\\x79\\\\x66\\\\x67\\\\x74';",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2723,
"duration": 1.23172,
"malware": [],
"protocol": "telnet",
"sensor": "raspberrypi",
"session": "2a58f17a436b",
"session_id": 1,
"src_asn": 4766,
"src_country": "South Korea",
"src_ip": "192.168.1.100",
"src_port": 61248,
"timestamp": "Sun, 23 Feb 2025 00:00:01 GMT",
"traffic_type": "attack"
},
{
"attempts": [
{
"attempt_credentials": "root||xc3511",
"attempt_id": 2,
"attempt_login": "true",
"attempt_password": "xc3511",
"attempt_session": "818fa72b39c1",
"attempt_username": "root"
}
],
"commands": "sh; shell; enable; system; ping ;sh; >/usr/.a && cd /usr/; rm -rf .a; >/mnt/.a && cd /mnt/; rm -rf .a; >/var/run/.a && cd /var/run/; rm -rf .a; >/dev/shm/.a && cd /dev/shm/; rm -rf .a; >/etc/.a && cd /etc/; rm -rf .a; >/var/.a && cd /var/; rm -rf .a; >/tmp/.a && cd /tmp/; rm -rf .a; >/dev/.a && cd /dev/; rm -rf .a; >/var/home/user/fw/.a && cd /var/home/user/fw/; rm -rf .a; for i in `cat /proc/mounts|grep tmpfs|grep -v noexec|cut -d ' ' -f 2`; do >$i/.a && cd $i;done; cat /proc/mounts | grep tmpfs | grep -v noexec | cut -d -f 2; /bin/busybox wget --help; /bin/busybox ftpget --help; /bin/busybox echo -e '\\\\x67\\\\x61\\\\x79\\\\x66\\\\x67\\\\x74';",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2723,
"duration": 1.20777,
"malware": [],
"protocol": "telnet",
"sensor": "raspberrypi",
"session": "818fa72b39c1",
"session_id": 2,
"src_asn": 4766,
"src_country": "South Korea",
"src_ip": "192.168.1.100",
"src_port": 61254,
"timestamp": "Sun, 23 Feb 2025 00:00:02 GMT",
"traffic_type": "attack"
}
],
"pagination": {
"limit": 2,
"offset": 0,
"totalRecords": 8098
}
}
GET /sessions/{id}
Obtiene detalles de una sesión específica por su ID, incluyendo intentos y malware asociados.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/sessions/1
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"attempts": [
{
"attempt_credentials": "root||xc3511",
"attempt_id": 1,
"attempt_login": "true",
"attempt_password": "xc3511",
"attempt_session": "2a58f17a436b",
"attempt_username": "root"
}
],
"commands": "sh; shell; enable; system; ping ;sh; >/usr/.a && cd /usr/; rm -rf .a; >/mnt/.a && cd /mnt/; rm -rf .a; >/var/run/.a && cd /var/run/; rm -rf .a; >/dev/shm/.a && cd /dev/shm/; rm -rf .a; >/etc/.a && cd /etc/; rm -rf .a; >/var/.a && cd /var/; rm -rf .a; >/tmp/.a && cd /tmp/; rm -rf .a; >/dev/.a && cd /dev/; rm -rf .a; >/var/home/user/fw/.a && cd /var/home/user/fw/; rm -rf .a; for i in `cat /proc/mounts|grep tmpfs|grep -v noexec|cut -d ' ' -f 2`; do >$i/.a && cd $i;done; cat /proc/mounts | grep tmpfs | grep -v noexec | cut -d -f 2; /bin/busybox wget --help; /bin/busybox ftpget --help; /bin/busybox echo -e '\\\\x67\\\\x61\\\\x79\\\\x66\\\\x67\\\\x74';",
"dst_asn": 7922,
"dst_country": "United States",
"dst_ip": "192.168.0.96",
"dst_port": 2723,
"duration": 1.23172,
"malware": [],
"protocol": "telnet",
"sensor": "raspberrypi",
"session": "2a58f17a436b",
"session_id": 1,
"src_asn": 4766,
"src_country": "South Korea",
"src_ip": "192.168.1.100",
"src_port": 61248,
"timestamp": "Sun, 23 Feb 2025 00:00:01 GMT",
"traffic_type": "attack"
}
}
GET /target-asns
Obtiene una lista de ASNs de destino, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
asn
: Filtrar por ASN específico (entero).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-asns
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"dst_asn": 7922,
"numberAttacks": "2448863",
"numberScans": "613882"
}
]
}
GET /target-asns/{asn}
Obtiene detalles para un ASN de destino específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-asns/7922
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"dst_asn": 7922,
"numberAttacks": "2448863",
"numberScans": "613882"
}
}
GET /target-countries
Obtiene una lista de países de destino, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
country
: Filtrar por país específico (codificado en URL).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-countries
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"dst_country": "United States",
"numberAttacks": "2448863",
"numberScans": "613882"
}
]
}
GET /target-countries/{country}
Obtiene detalles para un país de destino específico (codificado en URL).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-countries/United%20States
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"dst_country": "United States",
"numberAttacks": "2448863",
"numberScans": "613882"
}
}
GET /target-ips
Obtiene una lista de direcciones IP de destino, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
ip
: Filtrar por dirección IP específica.Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-ips
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"dst_ip": "192.168.0.96",
"numberAttacks": "8098",
"numberScans": "0"
}
]
}
GET /target-ips/{ip}
Obtiene detalles para una dirección IP de destino específica.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-ips/192.168.0.96
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"dst_ip": "192.168.0.96",
"numberAttacks": "8098",
"numberScans": "0"
}
}
GET /target-ports
Obtiene una lista de puertos de destino, con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
port
: Filtrar por puerto específico (entero).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-ports
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"dst_port": 2723,
"numberAttacks": "8098",
"numberScans": "0"
}
]
}
GET /target-ports/{port}
Obtiene detalles para un puerto de destino específico.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/target-ports/2723
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"dst_port": 2723,
"numberAttacks": "8098",
"numberScans": "0"
}
}
GET /test
Punto final de prueba que verifica la autenticación de la API y devuelve un mensaje de éxito. Sin paginación.
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/test
Ejemplo de Respuesta:
{
"status": "success",
"message": "Unwanted Traffic API is running"
}
GET /traffic-types
Obtiene una lista de tipos de tráfico (attack, scan), con conteos de escaneos y ataques. Sin paginación.
Parámetros de Consulta:
type
: Filtrar por tipo de tráfico específico (attack
o scan
).Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/traffic-types
Ejemplo de Respuesta:
{
"status": "success",
"data": [
{
"numberAttacks": "2448863",
"numberScans": "0",
"traffic_type": "attack"
},
{
"numberAttacks": "0",
"numberScans": "613882",
"traffic_type": "scan"
}
]
}
GET /traffic-types/{type}
Obtiene detalles para un tipo de tráfico específico (attack
o scan
).
Ejemplo de Solicitud:
curl -H "X-API-Key: YOUR_API_KEY" -H "Accept: application/json" https://defrancisco.us/unwanted-traffic/traffic-types/attack
Ejemplo de Respuesta:
{
"status": "success",
"data": {
"numberAttacks": "2448863",
"numberScans": "0",
"traffic_type": "attack"
}
}