渗透测试基础- - -windows入侵排查
目录
一,文件排查
二,进程排查
三,系统信息排查
四,登录日志排查
(1)开机启动有无异常文件
打开任务管理器----选择“启动”
(2)各个盘下的temp(tmp)相关目录下查看有无异常文件 :windwos产生的临时文件
(3)浏览器浏览痕迹、浏览器下载文件、浏览器cookie信息,根据不同浏览器进行排查,或者快捷键【ctrl+H】
(4)Recent是系统文件夹,里面存放着你最近使用的文档的快捷方式,查看 用户recent相关文件,通过分析最近打开分析可疑文件: 【开始】➜【运行】➜【%UserProfile%\Recent】
(5)根据文件夹内文件列表时间进行排序,查找可疑文件。当然也可以搜索指定日期范围的文件及文件
(6)查看文件时间,创建时间、修改时间、访问时间,黑客通过菜刀类工具改变的是修改时间。 所以如果修改时间在创建时间之前明显是可疑文件.
(7)搜索webshell相关内容 例如:PHP webshell findstr /m/i/s “eval” *.php(注意字符串编码格式)
索引表
Webshell文件内容中常见的恶意函数:
PHP:eval、assert、System ......
JSP:getRunTime、FileOutputStream ......
ASP:eval、excute、ExcuteGlobal ......
(1)netstat -ano 查看目前的网络连接,定位可疑的 ESTABLISHED netstat 显示网络连接、路由表和网络接口信息;
常见的状态:
LISTENING 侦听状态
ESTABLISHED 建立连接
CLOSE_WAIT 对方主动关闭连接或网络异常导致连接中断
(2)根据netstat定位出的pid,再通过tasklist命令进行进程定位 tasklist:显示运行在本地或远程计算机上的所有进程;
例如:tasklist |findstr 1228
(3)根据wmic process 获取进程的全路径 [任务管理器也可以定位到进程路径]。
右击程序----选择“打开文件夹所在的位置”
下面提供一些常用的病毒使用的端口信息,可以作为参考:
(1)查看环境变量的设置
【我的电脑】➜【属性】➜【高级系统设置】➜【高级】➜【环境变量】
排查的内容:
1)temp变量的所在位置的内容;
2)后缀映射 PATHEXT 是否包含有非windows的后缀;
3)有没有增加其他的路径到 PATH 变量中(对用户变量和系统变量都要进行排查);
(2)windows计划任务
【程序】➜【附件】➜【系统工具】➜【任务计划程序】
(3)windows帐号信息
如隐藏帐号等 【开始】➜【运行】➜【compmgmt.msc】➜【本地用户和组】➜【用户】
(用户名以$结尾的为隐藏用户,如:admin$)
命令行方式:net user,可直接收集用户信息(此方法看不到隐藏用户),若需查看某个用户的详细信息,可使用命令➜net user username;
(4)查看当前系统用户的会话
使用➜ query user 查看当前系统的会话,比如查看是否有人使用远程终端登录服务器
或者whoami
logoff 踢该用户.
(5)查看 systeminfo 信息,系统版本以及补丁信息
例如系统的远程命令执行漏洞 MS17-010(永恒之蓝)、MS08-067、MS09-001 …若进行漏洞比对,建议自建使用Windows-Privilege-Escalation -Exploit;
1.打开事件管理器
【开始】→【管理工具】→【事件查看】
2.主要分析安全日志,可以借助自带的筛选功能
可以把日志导出为文本格式,然后使用notepad++ 打开,使用正则模式去匹配远程登录过的 IP 地址,在界定事件日期范围的基础。或者通过事件id,类型,时间等痕迹联动判断是否为攻击行为,以及攻击特点等。