收到很多小伙伴的反响,hw面试题很多但是带答案的面试题比较少,在这里红队蓝军整理了一份带部分答案的hw面试题分享给大家。
(1)查看服务器是否有弱口令,远程管理端口是否对公网开放。
检查方法:据实际情况咨询相关服务器管理员。
(2)查看服务器是否存在可疑账号、新增账号。
检查方法:打开 cmd 窗口,输入lusrmgr.msc
命令,查看是否有新增/可疑的账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉。
(3)查看服务器是否存在隐藏账号、克隆账号。
检查方法:
a、打开注册表,查看管理员对应键值。
b、使用D盾_web查杀工具,集成了对克隆账号检测的功能。
(1)检查端口连接情况,是否有远程连接、可疑连接。
检查方法:
a、netstat -ano
查看目前的网络连接,定位可疑的ESTABLISHED
b、根据netstat
定位出的pid,再通过tasklist
命令进行进程定位 tasklist | findstr “PID”
(2)进程
检查方法:
a、开始--运行--输入msinfo32
,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间等。
b、打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
c、通过微软官方提供的 Process Explorer
等工具进行排查 。
(1)检查服务器是否有异常的启动项。
检查方法:
a、登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。
b、单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
c、单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:
HKEY_CURRENT_USERsoftwaremicorsoftwindowscurrentversionrun
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunonce
检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。
d、利用安全软件查看启动项、开机时间管理等。
e、组策略,运行gpedit.msc
。
(2)检查计划任务
检查方法:
a、单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径。
b、单击【开始】>【运行】;输入 cmd,然后输入at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。
(3)服务自启动
检查方法:
单击【开始】>【运行】,输入services.msc
,注意服务状态和启动类型,检查是否有异常服务。
(4)检查系统相关信息
1、查看系统版本以及补丁信息
检查方法:
单击【开始】>【运行】,输入systeminfo
,查看系统信息
2、查找可疑目录及文件
检查方法:
a、 查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。
Window 2003 `C:Documents and Settings`
Window 2008R2 `C:Users`
b、单击【开始】>【运行】,输入%UserProfile%Recent
,分析最近打开分析可疑文件。
c、在服务器各个目录,可根据文件夹内文件列表时间进行排序,查找可疑文件。
d、回收站、浏览器下载目录、浏览器历史记录
e、修改时间在创建时间之前的为可疑文件
3、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?
a、利用 Registry Workshop
注册表编辑器的搜索功能,可以找到最后写入时间区间的文件。
b、利用计算机自带文件搜索功能,指定修改时间进行搜索。
分析方法:
a、前提:开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。
b、Win+R打开运行,输入“eventvwr.msc”
,回车运行,打开“事件查看器”。
c、导出应用程序日志、安全日志、系统日志,利用Log Parser
进行分析。
分析方法:
a、找到中间件的web日志,打包到本地方便进行分析。
b、推荐工具:Window下,推荐用 EmEditor 进行日志分析,支持大文本,搜索效率还不错。Linux下,使用Shell命令组合查询分析
1、查询特权用户特权用户(uid 为0)
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
2、查询可以远程登录的帐号信息
[root@localhost ~]# awk '/$1|$6/{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲' /etc/shadow 3… " | grep "ALL=(ALL)"
3、禁用或删除多余及可疑的帐号usermod -L user
禁用帐号,帐号无法登录,/etc/shadow
第二栏为!开头userdel user
删除user用户userdel -r user
将删除user用户,并且将/home目录下的user目录一并删除
通过.bash_history
查看帐号执行过的系统命令
1、root的历史命令histroy
2、打开/home各帐号目录下的.bash_history
,查看普通帐号的历史命令
3、历史操作命令的清除:history -c
但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile
文件中的记录。
使用netstat
网络连接命令,分析可疑端口、IP、PID netstat -antlp|more
检查异常进程 ps aux | grep pid
1、利用crontab
创建计划任务
基本命令
crontab -l
列出某个用户cron服务的详细内容
Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)
crontab -e
使用编辑器编辑当前的crontab文件
如:*/1* * echo "hello world" >> /tmp/test.txt 每分钟写入文件
2、利用anacron
实现异步定时任务调度
使用案例
每天运行 /home/backup.sh
脚本:
vi /etc/anacrontab
@daily 10 example.daily /bin/bash /home/backup.sh
当机器在 backup.sh
期望被运行时是关机的,anacron
会在机器开机十分钟之后运行它,而不用再等待 7 天。
1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性
2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?
可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type f
找出 /opt
下一天前访问过的文件
3、针对可疑文件可以使用stat
进行创建修改时间。
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
系统日志:记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。
默认位置:%SystemRoot%System32WinevtLogsSystem.evtx
应用程序日志:包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。
默认位置:%SystemRoot%System32WinevtLogsApplication.evtx
安全日志:包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。
默认位置:%SystemRoot%System32WinevtLogsApplication.evtx
4624 登录成功
4625 登录失败
4634 注销成功
4647 用户启动的注销
4672 使用超级用户(如管理员)进行登录
4720 创建用户
2 交互式登录(Interactive) 用户在本地进行登录。
3 网络(Network) 最常见的情况就是连接到共享文件夹或共享打印机时。
4 批处理(Batch) 通常表明某计划任务启动。
5 服务(Service) 每种服务都被配置在某个特定的用户账号下运行。
7 解锁(Unlock) 屏保解锁。
8 网络明文(NetworkCleartext) 登录的密码在网络上是通过明文传输的,如FTP。
9 新凭证(NewCredentials) 使用带/Netonly参数的RUNAS命令运行一个程序。
10 远程交互,(RemoteInteractive) 通过终端服务、远程桌面或远程协助访问计算机。
11 缓存交互(CachedInteractive) 以一个域用户登录而又没有域控制器可用
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
/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命令来查看1、定位有多少IP在爆破主机的root帐号
grep "Failed password for root" /var/log/secure | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 3: 11}̲' | sort | uniq… _=<>){ /for(.*?) from/; print "$1n";}'|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}'
3、增加一个用户kali日志
Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, 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
4、删除用户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
1、过滤进、出网络的数据
2、防止不安全的协议和服务
3、管理进、出网络的访问行为
4、记录通过防火墙的信息内容
5、对网络攻击进行检测与警告
6、防止外部对内部网络信息的获取
7、提供与外部连接的集中管理
攻击源捕获——溯源处置——攻击者画像
1.审查邮件钓鱼
2.获取安全设备数据进行分析,特别是流量数据;
3.网络资产所在的服务器运行状态;
4.中间件日志信息查看;
5.合理运用蜜罐系统进行溯源追踪。
· 虚拟身份:ID、昵称、网名
· 真实身份:姓名、家庭/办公物理位置
· 联系方式:手机号、QQ/微信、邮箱
· 组织情况:单位名称、职位信息