Esta web utiliza cookies, puedes ver nuestra política de cookies, aquí Si continuas navegando estás aceptándola

Check authorized keys SSH


La froma mas sencilla de permanecer en un sistema owneado es mediante las herramientas de acceso remoto del propio sistema operativo, sí estoy hablando de SSH.

Para detectar este tipo de intrusiones vamos a programar un script que genere un hash MD5 del fichero de authorized keys y lo compare con un valor calculado anteriormente, si estos valores no coinciden nos avisará vía telegram.

vi /root/sshKeys.py

import requests
import hashlib
import os.path

def sendMessage(msg):
    apiKey = "XXXXXXXXXXXXXXXXXX"
    userId = "YYYYY"
    data = {"chat_id":userId,"text":msg}
    url = "https://api.telegram.org/bot{}/sendMessage".format(apiKey)
    r = requests.post(url,json=data)

if os.path.exists('/home/kr0m/.ssh/authorized_keys'):
    kr0mHash = hashlib.md5(open('/home/kr0m/.ssh/authorized_keys','rb').read()).hexdigest()
    #print 'kr0mHash: ' + str(kr0mHash)
    if kr0mHash != 'ZZZZZZZZZZZZZZZZZZZZZZZZZZ':
        sendMessage('Warning: Kr0m authorizedkeys modified!!')
else:
    sendMessage('Warning: Kr0m authorizedkeys deleted!!')

if os.path.exists('/root/.ssh/authorized_keys'):
    rootHash = hashlib.md5(open('/root/.ssh/authorized_keys','rb').read()).hexdigest()
    #print 'rootHash: ' + str(rootHash)
    sendMessage('Warning: Root authorizedkeys created!!')

Crontabeamos el script para que se haga la comprobación cada 5m:

*/5 * * * * python /root/sshKeys.py >/dev/null 2>&1

Autor: Kr0m -- 11/11/2018 17:57:39