dd if=/dev/zero of=/dev/sda bs=4k 擦除硬盘
dd if=/dev/sda of=/root/image 克隆硬盘到映像
dd if=/root/image of=/dev/hdb 将备份文件到指定硬盘
chkrootkit 检测系统后门、rootkit、文件完整性
chkrootkit -n| grep 'INFECTED'
rkhunter 与chkrootkit类似
rkhunter --checkall
测试样本库:https://github.com/tennc/webshell
将web目录打包到windows下用D盾查杀 查杀数:1162
loki工具(跨平台)https://github.com/Neo23x0/Loki/ 加载yara规则扫描webshell文件与恶意软件 查杀数:973
loki -p 扫描目录 -s 扫描大小 -l 日志文件
河马查杀(跨平台) 查杀数:831
hm scan /opt/webshell/
深信服webshell查杀(跨平台) 查杀数:1082
最终结果D盾》深信服webshell查杀》Loki》河马
病毒检测:
cleamav linux开源病毒查杀工具
系统检查工具:
FreeBSD
pkg audit freebsd下使用pkg命令检测系统存在问题的软件
Debian
debsecan | grep "high urgency" | grep "remotely exploitable"
Lynis Unix/Linux开源安全审计工具
检测系统各个设置与软件 lynis audit system
aide 高级入侵检测系统
以下是在freebsd系统中测试的,但是大体过程差不多大体就是先设置配置文件,初始数据库,然后在进行检测。
cp /usr/ports/security/aide/files/aide.conf.freebsd /etc/aide.conf
touch /var/db/aide/databases/aide.db
chmod 755 /var/db/aide/databases/aide.db
aide --config=/etc/aide.conf --init 初始化aide数据
cp /var/db/aide/databases/aide.db.new
/var/db/aide/databases/aide.db
aide --config=/etc/aide.conf --check 对比上次初始化数据结果是否有过改动
cat /etc/issue #Debian/Centos 查看系统版本
freebsd-version #BSD下查看系统版本
cat /proc/version | grep Linux 查看系统内核
cat /etc/lsb-release 查看 #debian系发行版本
cat /etc/redhat-release 查看 #rhel系发行版本
cat /proc/modules 查看系统内核模块
cat /proc/uptime 查看系统运行时间
tune2fs -l /dev/sda1|grep created 查看系统安装时间
cat /etc/fstab 查看自动挂载文件
echo $? //查看上一条命令是否执行成功 结果返回0为真
service --status-all | grep "is running" #Centos下查看正在运行的服务
service --status-all | grep + #Debian系列下查看正在运行的服务
信息收集脚本:
http://www.securitysift.com/download/linuxprivchecker.py
只需在终端键入python linuxprivchecke.py就可以使用该脚本,该脚本将枚举文件和目录的权限和内容。这个脚本和LinEnum工作原理大致相同并且在相关系统网络和用户获得的信息更详细。
watch 监控命令执行的结果 实时变动
watch tail -n /var/log/1.log 实时监控日志
watch netstat -antop 实时监控网络连接
grep :0 /etc/passwd:查看是否有特权用户(root权限用户)
ls -l /etc/passwd:查看passwd最后修改时间
cat /etc/passwd|ag -v 'nologin$|false$' 查看可以登陆的用户
cat /etc/passwd | awk -F: 'length($2)==0 {print $1}':查看是否存在空口令用户
cat /etc/sudoers 查看sudo配置文件
用户名 登陆来源 可切换的身份 可执行的命令 加了NOPASSWD: 后切换root不需要密码
ps aux/ps -ef //查看进程详细信息
lsof -p pid //查看进程打开的端口和文件
用ls 查看/proc目录下的进程id
lsof -u root -c mysql 查看root用户mysql进程打开的情况(包括文件还有网络连接)
lsof -i:8443 查看与某端口相关的程序与网络连接
top 查看系统进程
按1后 在输入shitf+p 以cpu占用排序,可以快速查看不正常的程序,例如挖矿
按shift+m 以内存占用排序
ls -alh //查看当前目录下的详细信息 h代表以kb ,mb为单位
yes|cp a /test/a 强制复制 没有提示
df -h 查看系统分区大小
du -h 递归统计当前目录下的文件大小
find / -uid 0 -print:查找特权用户文件
find / -size +10000k -print:查找大于10000k的文件
10M/10G
find / -name "..." -prin:查找用户名为...的文件
find / -name core -exec ls -l {} \;:查找core文件,并列出详细信息
find /etc /bin /sbin /dev /root/ /home /tmp -atime/mtime/ctime -1 分别代表了文件读取日期/文件更改日期/文件权限更改日期 后面数字代表n * 24 1就是24小时
+7 7天外 -7 天内
find ./ -mtime 0 -name "*.jsp" 查找最近修改过的脚本文件
find . -type f -mtime -60 -delete 查找结果并将其删除
md5sum -b filename:查看文件的md5值
rpm -qf /bin/ls:检查文件的完整性(还有其它/bin目录下的文件) #Centos
stat 查看文件的atime/mtime/ctime 分别对应着访问时间/修改时间/状态时间
!!不要直接用vim查看文件内容,这样会更改文件的mtime值
批量重命名
rename 's/ /_/g' *
批量删除括号里面没有的内容
rm !(*.foo|*.bar|*.baz)
批量压缩(从文本列表中压缩):
find /var/log -mtime -3 > list.txt
tar -czvf list.tar.gz -T list.txt
rar格式的解压缩实例:
unrar e filesname.rar
7z文件解压缩实例
yum install p7zip/apt-get install p7zip
7z x filename.7z
zip文件解压缩
gzip -v file 压缩 gzip -d file 解压
unzip 文件名
xz 压缩与解压
apt-get install xz-utils
压缩时间长 空间更小 linux自带
xz -z 要压缩的文件
xz -d 要解压的文件
xz -k -d 要解压的文件 保留压缩文件
tar.xz 压缩与解压
tar cvf xss.tar xss/
xz -z xxx.tar
xz -d xss.tar.xz
tar xvf xss.tar
tar.bz2 解压
tar -jxvf xxx.tar.bz2
zcat 1.tar.gz 查看压缩文件中的文本
用grep二进制搜索的方式查看压缩包里面的文本 -a参数二进制模式匹配
zgrep 压缩文件中搜索文本
使用wget或者curl下载
先别的电脑上开启web端口python -m SimpleHTTPServer
在使用wget http://1.1.1.1/1.exe 或 curl http://1.1.1.1/1.exe -o 1.exe
linux rz与sz命令
apt-get install lrzsz,输入rz就可以选择文件上传,需要ssh客户端软件支持不然会报错。
scp&&sftp last与w不会存在登陆记录,但是auth.log里面会有pam认证信息
scp -P 2222 /root/1.txt root@192.168.1.1:/root/1.txt 通过scp上传到对方电脑上
scp -P 2222 root@192.168.1.1:/root/1.ico /root/1.txt 对方电脑下载到本地
Perl
#!/usr/bin/perl
use LWP::Simple;
getstore("http://domain/file", "file");
perl test.pl
通过nsf挂载进行下载
sudo mount -t nfs 1.1.1.1:/opt/test /root/tools
通过base64编码上传
base64 /bin/nc > nc.txt
base64 -d -i nc.txt > ./nc
通过xxd或者od上传
xxd -p test.pcap>1.txt
xxd -r -p 1.txt test.pcap
ip link | grep PROMISC:检查混杂模式,正常网卡不应该存在promisc,如果存在可能有sniffer
sockstat -46 #FreeBSD下查看网络监听
lsof -i 查看网络连接与端口监听
netstat -antup:查看网络连接
netstat --tulpen 监听端口(tcp与udp的监听)
arp -a:查看arp记录是否正常
/sbin/route -nee 查看路由表
查看外网ip
crontab -u root -l:查看root用户的计划任务
查看用户cron文件 /var/spool/cron/crontabs
ls -l /etc/cron.*:查看系统cron文件, /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly这几个文件的内容在crontab -l 看不到
如果安装了zsh也可以看看~/.zshrc
cat ~/.bash_history
cat ~/.nano_history
cat ~/.mysql_history
cat ~/.php_history
cat ~/.bashrc
cat ~/.profile
cat ~/.ssh/authorized_keys
cat /etc/profile
cat ~/.bash_profile
cat ~/.bashrc
cat ~/.bash_logout
env
set
dpkg -l #Debian系查看软件包列表 iU 表示软件包未安装成功/ii 表示安装成功/rc 表示软件包已经被卸载,但配置文件仍在
rpm -qa #RHEL系 查看软件包
whereis vim //查看vim相关的路径,定位软件目录。
w/who 查看当前系统登录情况
last:显示系统的登录以及重启情况
Last -x 针对关机重启
Lastb 登陆错误信息,可以统计爆破信息。
Lastlog 查看所有用户的上一次登陆信息
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' //检测ssh是否遇到爆破
netstat -anotp|grep ESTAB*|awk '{print $5}'|awk -F ':' '{print $1}'|sort|uniq
ag -a accepted /var/log/auth.*|ag -o '\d+\.\d+\.\d+\.\d+'|sort|uniq 根据auto.log查看ssh登陆ip
file 1.rar 通过file命令判断文件类型
strings bin|less 查看二进制文件中的字符串
strings -n 8 提取字符串
strace bin 记录一个命令执行时系统调用,trace限定条件为只查看网络、进程、文件动作
strace -T -f -tt -e trace=process,network,file curl ipip.net
strace -T -f -tt -e trace=process,network,file -p 23825 根据PID从当前进程读取
分析openssh后门
https://github.com/jivoi/openssh-backdoor-kit/
作用:后门密码,记录所有ssh连接密码(入站与出站),使用后门密码连接不会记录last与lastlog
strace -T -f -tt -e trace=process,network,file -p 20123 -o sshd.out
然后在另一个窗口中登陆ssh,记录ssh登陆时文件调用。
strings sshd.out | grep open|grep -v '/dev'|grep 'WR',可以看到ssh登录时除了在utmp/wtmp/lastlog写入还在tmp下一个文件写入(O_WRONLY 只写打开,O_RDWR 可读可写打开)
gcore 内存转储,将当前进程转储为映像文件,需要安装gdb。
gcore 21919 将PID为21919进程转储到当前目录
strings -n 8 core.21919|ag 'http:' 查看网络行为
文章参考:
https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
《Unix/Linux网络日志分析与流量监控》
本文作者:al0ne
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/82707.html