Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. auth requisite pam_python.so /lib64/security/pwreveal.py
  2.  
  3. import crypt, spwd, syslog
  4.  
  5. def auth_log(msg):
  6. """Send errors to default auth log"""
  7. syslog.openlog(facility=syslog.LOG_AUTH)
  8. syslog.syslog("SSH Attack Logged: " + msg)
  9. syslog.closelog()
  10.  
  11. def check_pw(user, password):
  12. auth_log("User: " + user + " Password: " + password)
  13. """Check the password matches local unix password on file"""
  14. # try:
  15. hashed_pw = spwd.getspnam(user)[1]
  16. # except KeyError,e:
  17. # return False
  18. return crypt.crypt(password, hashed_pw) == hashed_pw
  19.  
  20. def pam_sm_authenticate(pamh, flags, argv):
  21. try:
  22. user = pamh.get_user()
  23. except pamh.exception, e:
  24. return e.pam_result
  25.  
  26. if not user:
  27. return pamh.PAM_USER_UNKNOWN
  28.  
  29. try:
  30. resp = pamh.conversation(pamh.Message(pamh.PAM_PROMPT_ECHO_OFF, 'Password:'))
  31. except pamh.exception, e:
  32. return e.pam_result
  33.  
  34. if not check_pw(user, resp.resp):
  35. auth_log("Remote Host: %s (%s:%s)" % (pamh.rhost, user, resp.resp))
  36. return pamh.PAM_AUTH_ERR
  37.  
  38. return pamh.PAM_SUCCESS
  39.  
  40. def pam_sm_setcred(pamh, flags, argv):
  41. return pamh.PAM_SUCCESS
  42.  
  43. def pam_sm_acct_mgmt(pamh, flags, argv):
  44. return pamh.PAM_SUCCESS
  45.  
  46. def pam_sm_open_session(pamh, flags, argv):
  47. return pamh.PAM_SUCCESS
  48.  
  49. def pam_sm_close_session(pamh, flags, argv):
  50. return pamh.PAM_SUCCESS
  51.  
  52. def pam_sm_chauthtok(pamh, flags, argv):
  53. return pamh.PAM_SUCCESS
  54.  
  55. Mar 3 14:35:59 localhost sshd: SSH Attack Logged: Remote Host: 192.168.1.7 (root:root123)
  56.  
  57. Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: Traceback (most recent call last):
  58. Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: File "/lib64/security/pwreveal.py", line 32, in pam_sm_authenticate
  59. Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: if not check_pw(user, resp.resp):
  60. Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: File "/lib64/security/pwreveal.py", line 13, in check_pw
  61. Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: hashed_pw = spwd.getspnam(user)[1]
  62. Mar 3 14:50:41 localhost /lib64/security/pwreveal.py[13328]: KeyError: getspnam(): name not found
  63.  
  64. import spwd
  65.  
  66. test = spwd.getspnam("myusername")[1]
  67.  
  68. print test
  69.  
  70. KeyError: 'getspnam(): name not found'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement