2022-10-15(Linux应急响应、配置漏洞之DNS域传送、内网渗透之内网主机发现技巧)

http://noahblog.360.cn/advanced-windows-taskscheduler-playbook/@[toc]

【重要】拜读的文章链接都在标题上。

一、linux应急响应

快速。系统的处理linux环境下的病毒。
有四个环节:
识别现象->清理病毒->闭环兜底->系统加固
在这里插入图片描述

识别现象

需要通过系统运行状态、安全设备告警去发现主机的异常现象,以及确认病毒的可疑行为。

排查alias异常别名

在linux系统中,执行某些命令时,需要输入很长很长的一串命令和参数,而linux系统提供的alias别名方式解决了这个问题,把很长的一串命令和参数,使用很短的,容易记忆的词代替,执行该词就相当远执行那一段命令和参数。

别名作用:

  • 把复杂的字符串或者命令变成一个简单的字符串或者命令。
  • 通过给危险命令加一些保护参数,防止人为误操作

Alias命令的语法:

alias [name[=value] ... ]

别名删除

unalias 删除别名
删除所有的
unalias -a

永久生效的方式写入文件:

/home/用户名/.bashrc
Root用户:/root/.bashrc
所有用户:/etc/.bashrc或者/etc/profiles

然后执行:source /etc/profile使之生效。

记得查看别名是否被修改,然后查看永久生效文件

系统、进程是否异常

  1. 使用命令top枚举进程,CPU降序排序(查看服务器cpu使用率发现 cpu使用率没有特别高的,接近或者超过100%的进程)

  2. 如果看到了可疑进程,可以使用lsof -p pid 查看进程打开的文件,或查看/proc/pid/exe 指向的文件。

  3. 使用pa -aux枚举进程命令行(病毒一般都携带可疑的命令行,当你发现命令行中带有url等奇怪的字符串时,就要注意了,它很可能是个病毒)

  4. 使用nvidia -smi查看服务器gpu使用率,查看gpu使用率有没有特别高的。(该命令只能在真实服务器使用,虚拟机中不可使用)

  5. 安全网关有无告警,从安全网关报警识别出威胁是最直接的!!

病毒清理

恶意病毒定位

查看一下服务器上的定时任务:sudo crontab -l
发现可疑域名,可以用微步查看情报

使用命令stat 文件名查看文件的创建时间,进行时间范围定位

清理病毒和定时任务

删除病毒文件
rm -rf 文件名

sudo rm -rf 用户名

闭环兜底

检查定时任务是否清理干净

使用命令reboot重启服务检查病毒是否清理干净,因为有的病毒会更改启动项,进行后门自启。重启服务器之后,检查 /var/spool/cron/crontab 目录正常,没有病毒的痕迹

是否存在SSH后门

使用命令:netstat -anpt排查是否存在ssh软链接后门,探测有无可疑端口和用户

是否有后门账号

  1. 使用命令:awk -F: '$3==0 {print$1}' /etc/passwd(有无超级账号)
  2. 使用命令:awk '/\$1|\$6/{print $1}' /etc/shadow(有无可远程登录的账号)
  3. 删除后门账号
    sudo userdel -rf 用户名 #强制删除该账户以及/home/用户名
    加上-r可以删除/home/路径下的用户文件夹,否则不能

查看是否有SSH公钥后门

首先查看 /home/目录下的账户,发现只有一个zyr,查看ssh的公钥文件的最近更改时间,确实存在ssh公钥后门!!!

删除公钥后门

rm -f authorized_keys

后门检测工具

Chkrootkit是一种Linux后门入侵检测工具,可以用来检测rootkit后门的工具,可以很好的检测到rootkit程序。


wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit-0.52
make sense

./chkrootkit

rkhunter是Linux系统平台下的一款开源入侵检测工具,具有非常全面的扫描范围,除了能够检测各种已知的rootkit特征码以外,还支持端口扫描、常用程序文件的变动情况检查。


Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz
tar -zxvf rkhunter-1.4.4.tar.gz
cd rkhunter-1.4.4
./installer.sh --install
rkhunter -c

系统加固

溯源分析

根据文件创建时间推测入侵事件,然后去/var/log排查安全日志,通过以下一些命令再结合用户的登录情况和文件创建事件,总结分析:服务器是被ssh爆破出wxiaoge、zyr账户之后入侵并植入挖矿病毒与ssh公钥后门。


统计登录失败的记录命令
grep -o "Failed password" /var/log/auth* |uniq -c

查询被爆破的用户名都有哪些以及被爆破的次数
grep "Failed password" /var/log/auth*|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

查询用户最近登录情况
grep "Accepted " /var/log/auth* | awk '{print $1,$2,$3,$9,$11}'

查看 xxx账户的爆破时间段
grep  "Failed password" /var/log/auth*|grep xxx账号

防护检查

Linux平台下90%的病毒是通过网络传播感染的,大部分原因也是因为Web安全防护不够。Linux平台下的恶意软件威胁以僵尸网络蠕虫和挖矿病毒为主,由于Linux大多作为服务器暴露在公网,且Web应用的漏洞层出不穷,所以很容易被大范围入侵。

  1. 修改ssh弱口令
  2. 添加命令审计(为历史的命令增加登录的IP地址、执行命令时间等信息)
  3. 及时打补丁

二、配置漏洞之DNS域传送

  • windows利用方式:
nslookup
server=ns.vul.com
ls vul.com
  • Linux利用方式:
axfr:完全区域传送
ixfr:增量区域传送
dig axfr @ns.vul.com vul.com
  • 漏洞出现的原因:
    DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库,目的是为了做冗余备份,防止主服务器出现故障时dns解析不可用。然而主服务器对来请求的备用服务器未作访问控制,验证身份就做出相应故而出现这个漏洞。

  • 漏洞造成的影响
    DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省很少的扫描时间。

  • 如何修复
    修改dns服务器的配置,设置允许域传送服务器的白名单。EXP:针对bind的服务器,可以编辑/etc/named.conf文件,设置allow-transfer项的参数。
    在这里插入图片描述

  • TSIG key生成与配置:
    工具:dnssec-keygen
    在这里插入图片描述

三、内网渗透之内网主机发现技巧

发现内网的IP段和主机IP

查看本机的IP地址

Windows下使用:

ipconfig /all

Linux下使用:

ifconfig -a

查看路由表

Windows下使用:

route print

linux下使用:

route -n

查看本地连接信息

Windows下执行:

netstat -ano

linux下执行:

netstat -anp

如果这台主机是台服务器,那么内网用户访问服务器时必定会有连接出现,这也是我们收集内网IP段信息的一种方式。

利用net命令

在Windows内网环境下

net view

命令用于显示一个计算机上共享资源的列表。我们从这个资源列表可以获取到一些主机名,然后解析出IP地址,这样不光收集到了一些存活主机,而且还收集了一些IP段。

我们还可以使用(如果管理员登录在线的情况下)

net session

命令来查看管理员的登录IP,linux下可以使用

who

还可以用工具netsess.exe

netsess.exe -h dc01 或 netsess.exe \dc01

利用dns信息

当我们进入内网的时候,第一时间,我们应该先探测一下内网的dns服务是否存在dns域传送漏洞

如果不存在,在我们收集了一定的主机名之后,我们可以根据主机名的命名规则生成一份主机名字典,然后使用dns解析这些名字,获得IP之后,再根据IP确定IP段。

利用域信息

如果我们已经获取到一台域内的主机权限,那么我们就可以访问域内的所有信息,这时就可以通过域控制器查询加入域中的所有主机信息,可以使用如下命令获取:

dsquery computer 以及 dsquery server

获得主机以及服务器列表后,解析其IP获取IP段信息。

如何扫描IP段发现存活主机

ping扫描

Windows下可以使用:

ping -n 1 127.0.0.1

linux下使用:

ping -c 1 127.0.0.1

知道核心命令之后,我们可以编写一个批量扫描的脚本来完成这个操作。

使用arp命令

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。在解析过IP之后会保存在本地的arp表中,所以使用以下命令可以查看本地的arp缓存表,从中获取到一些IP信息。

arp -a

使用nbtstat

NBTSTAT命令可以用来查询涉及到NetBIOS信息的网络机器。
可以使用如下命令查看缓存信息:

nbtstat -c

查看本地的hosts文件

Windows:

type c:\Windows\system32\drivers\etc\hosts

Linux:

cat /etc/hosts

查看本地dns缓存

dns缓存中存在我们解析过的域名信息,当然,也会存在内网中的域名信息,所以查看这些信息也有助于我们发现内网的IP段。
Windows:

ipconfig /displaydns

Linux下需要安装nscd并且配置它才能缓存dns信息

扫描工具

  • nbtscan
    nbtscan是一个扫描WINDOWS网络NetBIOS信息的小工具,下载地址:
http://unixwiz.net/tools/nbtscan.html

可以使用以下命令来发现主机:

nbtscan-1.0.35.exe 192.168.188.0/24
  • netdiscover
    netdiscover是基于ARP的网络扫描工具,kali下自带这个工具,可以使用如下命令扫描:
netdiscover -r 192.168.88.0/24
  • nmap
    nmap大家众所周知,非常强大的端口扫描工具,可以使用以下命令扫描存活主机:
nmap -n -Pn -T5 -sS 192.168.88.0/24
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值