linux命令部分总结
群里ID '啊这_赵相霖' 师傅翻译的文案,特意和我说一定要分享给到大家,所以我就借花献佛了。感谢师傅分享!
L
linux命令
红/蓝
文件系统
列出当前目录下的项目
ls用长格式列出当前文件夹下的所有项目
ls -l列出当前目录中的所有项目,并显示带有斜杠的目录和带星号的可执行文件
ls -F列出党建文件夹下的所有文件,包括隐藏文件
ls -a列出目录路径下的所有项目
ls dir改变目录到dir
cd dir返回上一级
cd ..去往根目录
cd /去家目录
cd ~返回你去过的上一个目录
cd -当前路径
pwd创建目录
mkdir dir删除文件
rm file删除目录
rm -r dir将文件file1拷贝为file2
cp file1 file2以递归方式将目录 dir1 复制到 dir2
cp -r dir1 dir2(rename)将文件1重命名为文件2
mv file1 file2创建文件符号链接
ln -s file link创建或者更新文件
touch file输出文件全文到终端上
cat file使用页面导航查看文件
less file输出文件最开头的10行
head file输出文件最后10行
tail file随着文件的增长输出文件的内容,从最后 10 行开始
tail -f file编辑文件
vim file为命令创建别名
alias name '命令'
系统
系统版本
cat /etc/*release*系统版本
cat /etc/issuekernel信息
cat /proc/version显示当前日期和时间
date显示磁盘使用情况
df显示目录空间使用
du显示用户信息
finger user显示内存和交换使用情况
free最后登录的yonghu
last -a显示命令手册
man 命令显示任何已挂载的文件系统
mount查询ip或者cidr主机名(cidr无类别域间路由)
nbtstat -A <IP>/<CIDR>重启机器
reboot关机
shutdowncpu(arch)架构和kernel版本
uname -a显示app可能存在的所有路径
whereis app显示默认情况下将运行哪个应用
which app组合用户信息
who -a你登陆的是哪个用户
whoami
管理员进程
显示你当前活跃的进程
ps -aef显示所有运行的进程
top杀死进程id pid
kill pid强制杀死进程 id pid
kill -9 pid
网络
开启ip转发
echo "1">/proc/sys/net/ipv4/ip_forward插入一条新的dns服务进去
echo "nameserver <IP>" > /etc/resolv.conf配置 eth 网卡ip
ifconfig <eth#网卡> <IP>/<CIDR>wifi广播扫描
iwlist <wlan#网卡> scan列出打开的文件连接状态
lsof -i列出所有运行在80端口的进程
lsof -i tcp:80顶部 tcp 网络连接状态
netstat -ant顶部udp网络连接状态
netstat -anu配置网关ip
route add default gw <IP>挂载Windows的C盘分享
share <USER> <IP> C$smb连接Windows的IPC共享
smb://<IP>/IPC$smbclient连接到共享smbclient -U <USER>\\\\<IP>\\<SHARE>连续网络连接状态
watch netstat -an
权限
列出当前目录下所有项目的创建日期以及权限
ls -lart使用标记
ugo改变文件的权限u是改变用户权限g是改变用户组权限o每个用户都有的权限 用数字表示为:7- 完全权限6- 读+写5- 读+执行4- 只读3- 只写+执行2- 只写1- 只执行0- 屁都没的你可以读写文件,适用于文件
chmod 600 file你可以读写执行,适用于脚本
chmod 700 file你可以读和写,任何人都可以读取,适用于网页
chmod 644 file你可以读写执行,任何人都可以读和执行,适用于你想共享的项目
chmod 755 file
UTILITIES
下载文件
curl <url> -O反向查找主机
dig -x host查找域名的dns信息
dig domain.com转换为unix格式
dos2unix file.txt列出所有运行在80端口的进程
lsof -i tcp:80ping一下主机或者ip并获取结果(注:一般用于检查网络)
ping host将远程服务器上边的文件夹拷贝到本地,文件不加
r,文件夹不加r报错scp -r user@host:dir dir将文件传送到远程服务器上
scp file user@host:dir记录终端到文件
script -a file.txtssh连接到主机到指定端口
ssh -p port user@hostssh连接到user
ssh user@host添加你的密钥到主机方便以后免密钥登陆
ssh-copy-id user@host下载文件
wget <url> -O file.txt获取域名的信息
whois domain.com
查找
文件中搜索
grep xxx file在目录下搜索
grep -r xxx dir在 dir 中以递归方式搜索模式,并且只在扩展名为 .ext 的文件中搜索
grep -r pattern dir --include='*.ext在命令输出从中寻找xxx
命令 | grep xxx在真实系统中查找文件的所有实例
find file使用从 updatedb 命令构建的索引数据库查找文件的所有实例。比查找速度快得多
locate file查找文件中所有出现的日,并将它们替换为 night - s 表示替代性,g 表示全局 - sed 还支持正则表达式
sed -i 's/day/night/g' file
压缩
创建一个包含file的file.tar文件
tar cf file.tar file从file.tar中提取file
tar xf file.tar创建一个tar的gzip压缩
tar czf file.tar.gz files解压缩一个使用了压缩的tar宝
tar xzf file.tar.gz/file.tgz file压缩一个文件并将其重命名为file.gz
gzip file还原file.gz到文件file
gzip -d file.gzzip一个路径或者文件
zip -r <文件.zip> /path/*
快捷方式
将光标移动到行首
ctrl+a将光标移动到行尾
ctrl+f将光标向前移动 1 个单词
alt+f将光标向后移动 1 个单词
alt+b
蓝队
波动性证据收集顺序 (RFC3227)
寄存器、缓存
路由表、arp 缓存、进程表、内核统计信息、内存
临时文件系统
磁盘
远程记录和监视与相关系统相关的数据
物理配置、网络拓扑
Archival media
linux工件搜集
系统信息
shell date uname -a hostname cat /proc/version lsmod server --status-all
磁盘分区信息
fdisk -l
openfile和磁盘空间使用
shell lsof -i du df
网络配置/链接/套接字统计信息
shell ifconfig -a netstat -apetul netstat -plan netstat -plant ss -l ss -ta ss -tp
用户/账号信息
shell whoami who last lastb cat /var/log/auth.log cat /etc/passwd cat /etc/shadow cat /etc/sudoers cat /etc/sudoers.d/* cut -d: -f1 /etc/passwd getent passwd | cut -d: -f1 compgen -u xclip -o
进程/系统 调用/网络 流量
shell ps -s ps -l ps -o ps -t ps -m ps -a ps -aef ps -auxwf top strace -f -e trace=network -s 10000 <PROCESS WITH ARGUMENTS>; strace -f -e trace=network -s 10000 -p <PID>;
环境/启动/任务信息
shell cat /etc/profile ls /etc/profile.d/* cat /etc/profile.d/ ls /etc/cron.* ls /etc/cron.*/* cat /etc/cron.*/* cat /etc/crontab ls /etc/*.d cat /etc/*.d/* cat /etc/bash.bashrc cat ~/.bash_profile cat ~/.bashrc
Kernel/Browser/PAM插件和模块
shell ls -la /lib/modules/*/kernel/* ls -la ~/.mozilla/plugins ls -la /usr/lib/mozilla/plugins ls -la /usr/lib64/mozilla/plugins ls -la ~/.config/google-chrome/Default/Extensions/ cat /etc/pam.d/sudo cat /etc/pam.conf ls /etc/pam.d/
隐藏的目录和文件
find / -type d -name ".*"
不可变文件和目录
lsattr / -R 2> /dev/null | grep "\----i"
SUID/SGID/Sticky Bit特殊权限
find / -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \;
没有用户/组名的文件和目录
find / \( -nouser -o -nogroup \) -exec ls -lg {} \;
当前目录下的文件类型
file * -p
文件系统上的可执行文件
find / -type f -exec file -p '{}' \; | grep ELF
文件系统上隐藏的可执行文件
find / -name ".*" -exec file -p '{}' \; | grep ELF
过去一天内修改的文件
find / -mtime -1
通过 SSH 远程分析流量
ssh root@<IP/HOST> tcpdump -i any -U -s 0 -w - 'not port 22'
Persistence Areas of Interest
shell /etc/rc.local /etc/initd /etc/rc*.d /etc/modules /etc/cron* /var/spool/cron/*
Audit Logs
shell ls -al /var/log/* ls -al /var/log/*tmp utmpdump /var/log/btmp utmpdump /var/run/utmp utmpdump /var/log/wtmp
过程取证
详细的过程信息
shell ls -al /proc/[pid] 提示: cwd = 恶意软件的当前工作目录 exe = 二进制位置以及它是否已被删除
恢复当前正在运行的已删除二进制文件
cp /proc/[PID]/exe /[destination]/[binaryname]
捕获并查看二进制文件
cp /proc/[PID]/ /[destination]/[PID]/
二进制哈希信息
shell sha1sum /[destination]/[binaryname] md5sum /[destination]/[binaryname]
进程命令行信息
shell cat /proc/[PID]/cmdline cat /proc/[PID]/comm 上述 2 个输出和 /proc/[PID]/exe 下指定的二进制名称存在显著差异,可能表示恶意软件试图保持未被检测到状态
进程环境变量
提示:包括运行二进制文件的用户 shell strings /proc/[pid]/environ cat /proc/[pid]/environ
处理文件描述符/映射
显示进程正在"访问"或使用的内容 shell ls -al /proc/[PID]/fd cat /proc/[PID]/maps
进程 堆/状态 信息
shell cat /proc/[PID]/stack cat /proc/[PID]/status
显示当前正在运行的已删除二进制文件
shell ls -alr /proc/*/exe 2> /dev/null | grep deleted
进程工作目录
包括恶意活动的常见目标目录shell ls -alr /proc/*/cwd ls -alr /proc/*/cwd 2> /dev/null | grep tmp ls -alr /proc/*/cwd 2> /dev/null | grep dev ls -alr /proc/*/cwd 2> /dev/null | grep var ls -alr /proc/*/cwd 2> /dev/null | grep home
记忆取证
转出记忆
shell dd if=/dev/kmem of=/root/kmem dd if=/dev/mem of=/root/mem
LiME
sudo insmod ./lime.ko "path=./Linmen.mem format=raw"
捕捉磁盘镜像
shell fdisk -l dd if=/dev/sda1 of=/[outputlocation]
