Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- auth requisite pam_python.so /lib64/security/pwreveal.py
- import crypt, spwd, syslog
- def auth_log(msg):
- """Send errors to default auth log"""
- syslog.openlog(facility=syslog.LOG_AUTH)
- syslog.syslog("SSH Attack Logged: " + msg)
- syslog.closelog()
- def check_pw(user, password):
- auth_log("User: " + user + " Password: " + password)
- """Check the password matches local unix password on file"""
- # try:
- hashed_pw = spwd.getspnam(user)[1]
- # except KeyError,e:
- # return False
- return crypt.crypt(password, hashed_pw) == hashed_pw
- def pam_sm_authenticate(pamh, flags, argv):
- try:
- user = pamh.get_user()
- except pamh.exception, e:
- return e.pam_result
- if not user:
- return pamh.PAM_USER_UNKNOWN
- try:
- resp = pamh.conversation(pamh.Message(pamh.PAM_PROMPT_ECHO_OFF, 'Password:'))
- except pamh.exception, e:
- return e.pam_result
- if not check_pw(user, resp.resp):
- auth_log("Remote Host: %s (%s:%s)" % (pamh.rhost, user, resp.resp))
- return pamh.PAM_AUTH_ERR
- return pamh.PAM_SUCCESS
- def pam_sm_setcred(pamh, flags, argv):
- return pamh.PAM_SUCCESS
- def pam_sm_acct_mgmt(pamh, flags, argv):
- return pamh.PAM_SUCCESS
- def pam_sm_open_session(pamh, flags, argv):
- return pamh.PAM_SUCCESS
- def pam_sm_close_session(pamh, flags, argv):
- return pamh.PAM_SUCCESS
- def pam_sm_chauthtok(pamh, flags, argv):
- return pamh.PAM_SUCCESS
- Mar 3 14:35:59 localhost sshd: SSH Attack Logged: Remote Host: 192.168.1.7 (root:root123)
- Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: Traceback (most recent call last):
- Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: File "/lib64/security/pwreveal.py", line 32, in pam_sm_authenticate
- Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: if not check_pw(user, resp.resp):
- Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: File "/lib64/security/pwreveal.py", line 13, in check_pw
- Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: hashed_pw = spwd.getspnam(user)[1]
- Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: KeyError: getspnam(): name not found
- import spwd
- test = spwd.getspnam("myusername")[1]
- print test
- KeyError: 'getspnam(): name not found'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement