ubuntu linux系统被黑记录

一种植物,这孙子还把爷爷在跑的项目删了。
本博客始于某日,很突然啊,服务器就登不上了,在跑的程序也被kill了,每个用户密码都不对,还多了一个叫代号孙子的账号。因此做了一些尝试。

更改密码

参考链接https://blog.csdn.net/weixin_42293131/article/details/119042260
因为情况与本博客一致,均存在dis_ucode_ldr,有的博客建议删掉,本博客是挪在了前面。
要记得把用户密码和管理员密码都改了。

查看登录日志

试图通过查看日志判断作案时间与方法。另外存在一个问题,/var/log/secure在ubuntu16中似乎没有,有些教程不能使用

  • 查看当前用户
    who
    who命令查看当前在登录的用户,如果孙子还在登录的话,那就真的很嚣张了。
  • 查看登录历史
    last -f /var/log/wtmp
    效果如下:
    在这里插入图片描述
    蓝框遮住的是ip地址,右面是登录起止时间和登录时常,这些是非服务器用户ip登录的记录,可以看到,该孙子首先获得了用户xxxxx的密码【这位仁兄密码设置的123456】,借由此账号登录。等到夜半无人了,reboot机器改了密码。pts/0更是在我们发现机器登不上物理关机了才crash掉。
  • 查看登录失败历史
    那么xxxxxx君的账号名是怎么发现的呢,非常简单,我们观察登录失败历史
    last -f /var/log/btmp
    在这里插入图片描述
    该记录还能往下看,能明显的看出攻击者使用了一个常用名字典来挨个儿试用户是否存在。另外如果想看最新的可以在命令后加上|more或者|less

查看恶意账号信息

  • 查看该恶意ip所在系统
    直接ping 就可以了,观察返回的TTL值,linux=64,windows=128/32,返回值接近哪个大概率就是什么系统。本次返回值为32,推测是linux或者win7.
  • 查看最后一次登录时间
    lastlog
    恶意用户残留账号孙子的登录历史如下:
    在这里插入图片描述
    从未登录过,大概是假装正常用户。由于想试试看操作日志,故而先前没有删除此账号。
    好家伙我查了一下好像还真有这么个组织叫gamerloly,不过看起来不是中国组织,网页上第一句话谷歌翻译检测出来的是罗马尼亚语。
  • 查看用户密码
    cat / etc / shadow
    找到目标用户孙子,其后续字符串为:$6$s4/Scw1h$0B4ChVYFt7CQxk.2N8fUljhIhMW9qCHtD6GI46vUZygeT0fQ2qCd3ar82.2CHv4XCelRAddGbqss1bggMc7AG1:18855:0:99999:7:::
    第一个冒号前的一堆乱码就是加密后的密码,比较麻烦的是没有找到加密方式,之后接着再试,这种组织留下的这种账号大概率都是这一个密码。
  • 删除用户
    十分有趣的是啊,这个用户居然之后还就在眼皮子底下登录了,由于无法判断其目的,kill其进程并将其删除。这个直接查就好了。
  • 确定无其它用户
    grep bash /etc/passwd
    会显示已有用户。
  • 密码解密尝试
    该密码有用的为盐值与密文两部分,盐值为$6$s4/Scw1h,密文为0B4ChVYFt7CQxk.2N8fUljhIhMW9qCHtD6GI46vUZygeT0fQ2qCd3ar82.2CHv4XCelRAddGbqss1bggMc7AG1。下载了一个常用密码文档。由于盐值编号为6,加密方法为sha512,通过以下代码尝试暴力破解密码,代码参考自链接【2】:
#!/usr/bin/env python         #指定这是一个python文件,使用这个解释器执行
#-*- coding:utf-8 -*-         #设定编码格式,防止报错
import crypt                  #调用crypt这个库
from tqdm import tqdm
user_passfile = "/etc/shadow"   #获取系统密码路径
zidian = "./Top304Thousand-probable-v2.txt" #获取字典路径

def readd(user_passfile,zidian):
    salt="$6$s4/Scw1h"
    passwd="0B4ChVYFt7CQxk.2N8fUljhIhMW9qCHtD6GI46vUZygeT0fQ2qCd3ar82.2CHv4XCelRAddGbqss1bggMc7AG1"
    salt="$6$1MQGzkcs"
    passwd="M0f0jMpsNgcpgkpXS0.AGw1dy3Dpu9ikbduwutkF0Ub52rE6VKote98oJdg.dK6C2W28pbtVOYBoFqLdad6nd."
    mingwen = look_d(zidian)
    for passwdmw in tqdm(mingwen):  # 遍历系统中的每个完整密文
        zz=crypt.crypt(passwdmw.rstrip(),salt)
        if (salt+'$'+passwd) == zz:    #如果我们猜想的密文与系统中的密文相同,输入它的用户名和密码
            print(" passWord:%s" %(passwdmw.rstrip()))
        else:
            ...
            #print(" result:%s" % (zz))

#提取我们密码字典里的内容
def look_d(zidian):
    f = open(zidian,'r')   #读取字典文件内容
    mwlist = f.readlines() #将读取的内容转换为列表
    f.close()              #关闭文件
    return mwlist          #返回这个列表

if __name__ == "__main__":
    readd(user_passfile,zidian)

没成功.jpg

查看操作历史

  • 本账号操作历史
    history
    可以看到本账号什么也没干,但是文件夹就是没了,查了一轮之后,怀疑是root干的。
    另外命令cat /home/xxx/.bash_history |less也可以看历史,xxx指用户名,不过root下面没有这个文件。

目前除了3个攻击的ip地址什么也查出来,后续学会了再更。

防范

  • 安装fail2ban【3】,ban掉多次登录失败的 ip
    1>安装
    sudo apt update
    sudo apt install fail2ban
    
    更新并安装,成功检测可输入
    sudo systemctl status fail2ban
    
    会输出几行,并显示active
    2>配置
    须在文件/etc/fail2ban/jail.local中配置,而刚安装完后此文件夹中是没有这个文件的,故而先行创建
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
    打开.local文件,可对以下几点进行
    (1)白名单地址 default
    ignoreip = 127.0.0.1/8
    
    (2)一些封禁参数 default
    bantime = 3600  # 屏蔽时长,可自行调整,单位为秒,-1则为永久屏蔽
    findtime = 600  #监测时长,在findtime时间内出现maxretry次尝试即执行屏蔽动作,单位为秒
    maxretry = 5  # 最大尝试次数
    
    (3)封禁ip邮件提醒 action
    destemail = xxxx@163.com  # 邮件通知的目的邮箱
    mta = sendmail  # 使用哪个发送邮件命令,可以选mail或sendmail
    action = %(action_mw)s  # 默认只发送屏蔽IP信息,_mw后缀发送IP信息+whois信息
    
    (4)ssh
    [ssh]
    
    enabled  = true  # 激活SSH监测
    port     = ssh  # 端口
    filter   = sshd
    logpath  = /var/log/auth.log  # SSH日志路径
    maxretry = 3  # 最大尝试次数
    
    3>重启
    service fail2ban restart
    
    4>检查
    可以通过以下命令查看监狱数目,与监狱中的ip
    sudo fail2ban-client status
    在这里插入图片描述
    sudo fail2ban-client status sshd
    在这里插入图片描述
    过了两天再检查,果然被抓进去了嚯嚯嚯
    在这里插入图片描述

参考

【1】https://blog.csdn.net/xuchen16/article/details/82860752?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.control&spm=1001.2101.3001.4242
【2】https://blog.csdn.net/Key_book/article/details/80439243
【3】https://www.myfreax.com/install-configure-fail2ban-on-ubuntu-20-04/
【4】https://www.polarxiong.com/archives/ubuntu-fail2ban.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值