网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

无线安全团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 无线安全 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

入侵痕迹分析:.bash_history分析,日志分析,流量进程分析,隐藏后门排查,后门处理

文章来源:重庆网络安全 发布时间:2020-02-16 14:27:29 围观次数:
分享到:

摘要:有线索时,可以通过反向推理快速确定事件发生的时间,影响的范围,事件的原因等; 如果没有明确的线索,可以通过积极思考来推断出入侵者的观点和推理,从而发现入侵。

  入侵痕迹分析有线索时,可以通过反向推理快速确定事件发生的时间,影响的范围,事件的原因等; 如果没有明确的线索,可以通过积极思考来推断出入侵者的观点和推理,从而发现入侵。


一,.bash_history分析


  在日志的常规安全分析期间,文件.bash_history的分析至关重要。 此文件记录命令执行历史记录。 通过此文件,您可以分析入侵者执行了哪些恶意操作(反弹的shell,特权提升和信息收集和修改文件以隐藏后门,添加后门帐户,添加计划的任务(例如挖掘木马),将当前shell用作进行横向渗透,并删除日志文件)。

  当入侵者获得的命令shell是哑壳时,为了提高交互性,可以执行以下python语句来反弹交互式shell

   python -c'import pty;  pty.spawn(“ / bin / bash”)',

  入侵者获得反弹shell后,他可以执行相关的特权升级命令。 例如,当尝试引导特权升级时,他可以使用find命令查找设置了SUID位的可执行文件。 或者尝试sudo提权时,先检查当前账号是否具有sudo权限

  find / -perm -u=s -type f 2>/dev/null

  sudo -i 或者 sudo -l

  入侵者提权后,他可以通过诸如cat等命令查看配置文件,收集各种敏感信息,并通过useradd或adduser命令添加后门帐户。 但是,这些命令也是操作和维护人员常用的命令,因此需要与这些命令配合使用进一步分析执行时间,并以unix时间戳的形式记录.bash_history文件中记录的时间,该时间可以是 直接转换; 或直接修改passwd来添加帐户,因此在修改passwd和shadow这两个文件时,需要注意。

  采矿木马喜欢添加计划任务。 每次遇到采矿木马时,您都可以检查计划并检查准确性。 添加计划任务的命令如下:

  crontab -e

  为了干扰调查,入侵者可能会修改后门文件的时间,例如,使用以下命令:

  touch -d 或者 touch -t

  对于横向渗透,可以使用诸如关闭iptables,执行端口扫描以及设置各种隧道之类的命令,例如使用nc或nmap: 

  nc -z -v ip port          使用系统自带的nc进行端口扫描

  ssh -CfNg                 搭建ssh隧道

  ew -s                     使用ew搭建隧道

  service iptables stop     关闭iptables

  当然,许多入侵者只是简单地按命令清除命令历史记录,或者直接删除整个.bash_history文件,但是保留了清除历史记录或删除文件的最后一条命令。

  history -c

  rm .bash_history

  上面的.bash_history文件的安全性分析列出了一些个人认为较为敏感的特征。简而言之,对.bash_history进行安全审核时,您必须敏锐地意识到敏感的命令和工具。

  在某些人的日常工作中,由于执行了太多的终端命令,通过上下箭头键查找历史命令很不方便。因此,使用history -c用于清除它们。对溯源工作带来了很大的阻力,不建议使用history -c清除它。


二,日志分析


  1.系统日志

  分析入侵痕迹势必需要分析各种日志。 secure记录包括与登录相关的安全日志和cron记录的计划任务日志。 安全日志和计划任务日志文件名后可以跟一个日期(日志归档原因),因此,为了避免遗漏,可以使用以下命令进行搜索

  ls / var / log / cron *

  ls / var / log / secure *

  尝试使用ssh暴力跟踪源时,可以使用以下命令指定用户并快速检查IP;lastb命令可以列出登录失败的记录。 整个命令的功能是查找强行使用root用户的ip,并使用Output从大到小输出

  lastb root | awk'{print $3}' | sort |uniq -c |sort -rn |more

  筛选出可疑IP之后,您可以使用安全日志来验证它们是否已被成功清除。如果找到了IP,则可以相应地确定事件发生的时间。 接下来,您可以根据IP和时间跟踪相关日志。

  cat /var/log/secure* | grep Accepted | grep ip

 2.数据库日志

  有时您不知道日志文件的存储位置,可以检查配置文件(例如mysql的配置文件my.inf,tomcat-user.xml的配置文件)。当分析mysql数据库日志时,该帐户是 暴力破解。您可以参考ssh爆破的想法进行故障排除。当mysql版本高于5.6时,您可以尝试查看是否已执行以下sql命令。

set global general_log = on  开启日志记录(当outfile、dumpfile无法导出shell时,可配合日志文件getshell)

set global general_log_file = ''  设置日志文件保存路径(通常保存到web目录)

  有时可以通过sql语句直接查看通过mysql的udf提升,添加了哪些功能

  select * from mysql.func

  顺便说一句:可以通过关键字xp_cmdshell检查mssql的日志。 因为当获得的数据许可为sa时,可以使用xp_cmdshell进行特权提升;  oracle日志,由于oracle数据库的特性,您可以自定义功能,这为入侵者的权力提升带来了便利。 因此,在跟踪oracle数据库的源时,可以执行以下SQL语句进行故障排除:

  select * from USER_OBJECTS where OBJECT_TYPE = 'FUNCTION'     #排查自定义的函数

  select * from USER_PROCEDURES              #排查用户自定义的资源,包括函数和对象

  select * from USER_SOURCE where NAME = 'GETSHELL'   #获取前面排查出来的可疑对象的源代码

  3.Web应用程序日志

  关于Web应用程序日志,例如acc,中间件日志。发生安全紧急情况时,例如在后台进行蛮力破解,您也可以参考ssh帐户蛮力破解的故障排除思路,以进行快速故障排除。当入侵者使用其他方法时,他们还可以首先分析acc日志,过滤出可疑IP,然后过滤出IP,然后与响应状态码(例如200状态码)配合使用,以分析入侵者成功访问了哪些地址 访问。也许您可以找到webshell,当然,许多系统都有自定义错误页面,此时的状态码也为200; 与302配合,找到跳转到后台的日志;与500合作,查找java反序列化攻击记录。 简而言之,有必要根据应用系统的实际情况来分析实际情况。

  或使用select关键字使用各种攻击功能快速检查日志,例如常见的SQL注入攻击;使用script关键字进行xss攻击;任何读取,包含,下载和使用目录跳转功能“ ../”的文件;您还可以基于当前系统中使用的中间件(例如weblogic,fastjson和当前或过去的高风险漏洞)执行快速故障排除;例如,weblogic可以使用wls-wsat / CoordinatorPortType,而fastjson可以使用JdbcRowSetImpl和其他关键字。

  其他特征包括:常用的webshell文件名,例如菜刀、蚁剑、冰蝎等;一些工具用户代理具有明显的特征,例如awvs。对这些功能保持敏锐的嗅觉。

  Web应用程序日志分析,当今热门的业务风险控制安全保护措施少之又少。此行为发生在特定的URL地址,因此您可以快速过滤出特定URL地址的IP。必须过滤掉很多IP。首先执行相同的排序,但是Wool Party也非常聪明并且愿意投资。IP地址频繁切换,建议对网段进行过滤。


三,流量进程分析


  当日志分析无法找到有价值的线索时,从流量进程方向进行分析也是另一个突破; 首先使用netstat命令查看端口信息,使用ps查看进程信息,使用lsof查看进程和端口关联。

lsof -i :port            可用于检查那个进程使用了特定的端口

lsof -p pid              检查pid进程调用情况

strace -f -p pid         跟踪分析pid进程,可发现库文件劫持

  查找隐藏的进程

ps -ef | awk'{print $2}'|sort -n| uniq > tasklist1.txt

ls /proc | sort -n | uniq > tasklist2.txt

diff tasklist1.txt tasklist2.txt

  对于流量分析,您肯定会遇到两种工具:wireshark和tcpdump。  Internet上有详细的教程,此处不再描述。


四,隐藏后门故障排除


  隐藏的后门调查,可能会遇到库文件劫持。 关于库文件劫持的来源,一些学生做了非常详细的摘要(了解到,谢谢)。 该地址是紧急响应系列中Linux库文件劫持的技术分析。

  此外,您可以使用diff命令将整个Web目录与备份目录进行比较,并找出修改后的文件。

  diff -urNA webdir webdir_bak

  您还可以将find命令与mtime和ctime参数一起使用,以搜索事件时间段并以指定的格式修改文件。

  find / var / www / html -mtime 0“ * .jsp”在24小时内搜索在Web目录中修改的jsp文件

  / var / spool / cron和/etc/cron.d目录中可能存在一些计划的任务,某些日志不是由root添加的,而是由具有root权限的其他用户添加的。 您可以使用以下命令查看指定的用户计划任务

  crontab -l -u username

  对启动项进行故障排除

  cat /etc/rc.local            排查rc.local文件中添加的启动项命令

  ls /etc/init.d               排查init.d目录下添加的自启动脚本

  ls /etc/profile.d            排查profile.d目录下添加的自启动脚本

  chkconfig --list             centos系统列出自启动项

  隐藏的后门调查,必须有相关的工具,例如D shield,rkhunter,chkrootkit等。


五,后门加工


  后门处理,有一点需要注意的是,您需要进行备份,不能直接删除它,因为如果将恶意的后门代码插入系统或应用程序文件中并直接将其删除,则可能导致系统崩溃。 建议从备份或官方网站下载以进行更换。 即使停止了相关进程,某些后门文件也无法删除。 您可以使用chattr命令删除相关的标识符,然后将其删除。

  chattr -ia shell


本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:入侵痕迹分析 bash_history分析 日志分析 流量进程分析 隐藏后门排查 后门处理 重庆网络安全

上一篇:fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
下一篇:AndroidOS_BadBooster.HRX:Google Play已删除恶意软件,访问远程恶意广告配置服务器,执行广告欺诈

热门资讯

鼠标向下滚动