护网蓝队基础技术总结


Windows

开机启动文件检测

有些病毒木马喜欢藏在一些系统文件里,然后开机后随着系统文件的启动而运行木马程序。

1、查看启动菜单:

C:\Users\leo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

image-20210311160934518

2、运行执行msconfig命令

image-20210311162819561

image-20210311162827799

3、查看注册表自启动配置

Win10自启动注册表如下:

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

image-20210311164447411

win7自启动注册表如下:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

image-20210311164655318

Temp临时文件异常

有些PE(exe,dll,sys)文件会隐藏在Temp文件目录里,还有一些比较大的TMP文件,这些都是比较可疑的,然后将可疑的文件发到检测病毒的网站

Temp文件目录如下:

C:\Users\leo\AppData\Local\Temp

可以在运行里搜索%temp%直接跳转到temp目录

浏览器信息分析

可以通过分析浏览器的一些信息来判断服务器是否被黑客入侵了

1、分析浏览器的浏览记录,可以使用browserhistoryview工具进行查看image-20210311195329809

2、分析浏览器的下载记录,可以使用browserdownloadview工具进行查看

image-20210311195616468

3、分析浏览器的cookie信息,可以使用IEcookieview工具进行查看

image-20210311195928720

文件时间属性分析

文件的创建时间永远是早于或等于修改时间,如果修改时间早于创建时间,就说明该文件十分可疑,因为一些webshell管理工具是可以修改文件的修改时间的

文件打开时间分析

可以通过最近打开过的文件来分析是否含有病毒或者木马程序,Recent目录里含有最近打开过的文件,目录地址如下

C:\Users\leo\Recent

image-20210311204617707

在cmd使用find命令可以快速查询到含有指定内容的文件

image-20210311205843118

分析可疑进程

如果计算机被种植了木马,那么木马肯定会与外部进行通信,每一次通信都会有不同的端口,所以可以通过网络连接状态来查找到木马的程序,以下是对进程操作的cmd命令。

netstat -ano | find "ESTABLISHED" 查看已建立的网络连接,可以通过非寻常的端口来确认可疑程序,443,80端口大部分都为正常

image-20210312103628660

tasklist /SVC | find "12760" 列出指定pid的任务进程,/svc是列出所有的进程任务

image-20210312103835403

taskkill /pid 12760 /F /T 强制终止指定pid进程

image-20210312104301459

分析Windows计划任务

黑客会经常给受害机设置计划任务来维持木马持久化

创建任务计划的命令如下:

schtasks /create  /tn test /sc DAILY /st 23:18 /tr C:\\beacon.exe /F    

image-20210312121541965

image-20210312124712070

任务计划可以通过at命令进行查询,也可以通过任务计划程序(可视化界面)查看

image-20210312125521288

image-20210312125525576

分析隐藏账户

在计算机建立隐藏账户来维持对其的控制权限,使用net user命令也查询不到隐藏账户,以下是建立隐藏账户的cmd命令,你可以在用户管理界面将隐藏账户进行删除或者修改其权限

net user test$ qQ123456 /add 添加用户

net user localgroup administrators test$ /add 添加管理员

image-20210313104740713

黑客还可以利用注册表新建账户,这种更难被察觉到,以下利用hideadmin工具针对注册表创建隐藏用户。

image-20210313125522876

进入注册表的用户目录(需要给sam目录给予权限),对生成的隐藏账户进行删除

HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users注册表用户所在目录

image-20210313130403349

image-20210313130646856

分析恶意进程

使用process exploer可以对任务管理器进程进行分析,可以将可疑进程发送到病毒检测网站进行检测,随后进行删除操作。

image-20210313225456817

image-20210313225503320

系统更新与补丁

执行cmd命令systeminfo查看系统已安装补丁,也可以查看控制面板程序的已安装更新面板来查看补丁。win10直接在设置里的更新与安全进行查看更新。

image-20210313232915265

image-20210313233126946

Windows审核策略

本地审核策略

若系统出现问题,即可查询到日志信息或追踪入侵者。

image-20210314094706750

Windows日志筛选

通过筛选功能可以更方便查询到指定的事件内容,不同的事件ID对应不同的事件操作

4624 4625 4634 4647 4672
登录成功 登录失败 注销成功 用户启动的注销 超级用户(管理员)登录

image-20210314101710690

image-20210314101805567

使用管理员账户远程登录主机时,主机会出现以下的事件ID

4776 4648 4624 4672
凭据验证 凭据登录 登录成功 超级用户登录

image-20210314103832804

在入侵提权过程中,黑客一般都会利用net user或者net localgroup语句创建用户,日志记录的事件ID为:4732,4722,4724

4732 4724 4722
添加用户 重置用户密码 启用用户账号

image-20210314105015010

image-20210314105028667

LINUX

分析铭感文件或目录

TMP临时目录

tmp目录是一个放置临时文件的目录,普通用户对其目录内的文件都具有读写的操作,因此tmp目录经常被利用至提权

image-20210314114603377

开机自启动文件分析

查看自启动文件:ls -alh /etc/init.d/ (-h显示文件大小)

image-20210314143353499

image-20210314143734932

image-20210314143836024

寻找敏感文件(例如webshell)

以下是常用到的find命令:

find ./ mtime 0 name "*.php"   //查找24小时内修改过的指定文件 mtime:修改时间 0:24小时
find ./ ctime -2 name "*.php"  //查找72小时内生成的指定文件  ctime:创建时间 
find ./ iname "*.php*" -perm 777   //查找权限为777的指定文件  iname:不区分大小写 perm:指定权限

image-20210314151226666

进程分析

分析网络连接

常用命令:netstat -pantl ,列出tcp相关的服务连接。

netstat -pantl | grep "ESTABLISHED",查看已建立的tcp服务连接。

以下是netstat的使用参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

若要关闭某个进程,使用命令:kill -9 pid

对进程文件分析

以下是常用到的linux命令:

ps -aux :列出所有的进程

ps -aux | grep pid:列出指定pid的进程

lsof -i:端口号:列出指定端口的进程

下图为使用列子:

image-20210314162329239

image-20210314162521580

登录分析

在linux的操作都会被记录在系统日志中,可以通过日志信息查询是否有异常登录

last -i | grep -v 0.0.0.0 : 查询非本地登录的日志信息,-i显示IP

image-20210314212758996

w命令,实时查看登录日志

image-20210314212907724

分析异常用户

常用提权root用户的操作

新建用户,随后修改用户uid为0来变成root权限用户

useradd test

passwd test 输入密码

vim /etc/passwd  修改用户uid为0

image-20210314214906589

image-20210314215029548

排查异常用户

grep "0:0" /etc/passwd

image-20210314215319016

ls -l /etc/passwd 查看文件最近修改时间

image-20210314215439983

awk -F: '$3==0 {print $1}' /etc/passwd

image-20210314220245795

image-20210314220649652

awk -F: '$2=="!" {print $1}' /etc/shadow

image-20210314232657919

历史命令history分析

linux系统之前执行的命令会保存在/root/.bash_history文件中,以下是查看history的命令。

cat /root/.bash_history

image-20210315094833306

history

image-20210315095027717

特别注意到的历史命令:wegt(远程下载)、ssh(连接内网)、tar zip(压缩打包)

有些黑客还会修改你的系统命令,例如把netstat命令给改了,之后这命令就无法正常使用了

分析计划任务

使用crontab命令进行排查计划任务

crontab -l    //列出计划任务

crontab -r	  //删除计划任务

crontab -e    //编辑计划任务

image-20210315104331424

image-20210315104954846

image-20210315105125154

开机自启动项

设置开机自启动

ls /etc/init.d/ 查看开机自启动文件

/etc/init.d/ apache2 status 查看apache2服务状态

/etc/init.d/ apache2 start 设置apache2服务开机自启动

update-rc.d apache2 enable 设置apache2服务开机自启动

关闭开机自启动

update-rc.d apache2 disable 取消apache2服务开机自启动

$PATH变量异常

$PATH就是环境变量,需要去查看$PATH有没有异常的变量

echo $PATH 输出变量

image-20210315111917868

export PATH=$PATH:/usr/lol/theshy 修改变量,临时有效,重启无效

image-20210315112547680

vim /etc/profile,随后添加export PATH=$PATH:/usr/lol/faker,再source /etc/profile。这个方法是永久修改$PATH变量。

image-20210315141737842

image-20210315141909806

后门排查之rkhunter工具使用

安装工具:apt-get install rkhunter

常用命令:rkhunter --check --sk (--sk表示自动补全)

image-20210315143624226

image-20210315143820424

系统加固

阻止非root用户登录

touch /etc/nologin

给密码文件设置权限

chmod 644 /etc/passwd

chmod 600 /etc/shadow

chmod 644 /etc/group

修改文件默认权限

umask=027

给日志或其他重要文件加固

chattr +a /var/log/messages    //设置此文件只能追加数据

chattr +i /var/log/messages.*  //设置文件不能被修改且删除

chattr +i /etc/shadow          

chattr +i /etc/passwd 

chattr +i /etc/group 

屏蔽banner信息

vi /etc/ssh/sshd_config   将banner设置成NONE

image-20210315165228330

增强秘钥

authconfig --passalgo=sha512 --update  //启用 SHA512 替代 MD5加密

限制登录次数

auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=120  
//登录三次后锁定账户,普通用户5秒后解锁,root用户120秒后解锁

设置历史命令最大保存条数

vim /etc/profile,修改HISTSIZE为20(默认是1000)

image-20210315173231937


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM