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/issue
kernel信息
cat /proc/version
显示当前日期和时间
date
显示磁盘使用情况
df
显示目录空间使用
du
显示用户信息
finger user
显示内存和交换使用情况
free
最后登录的yonghu
last -a
显示命令手册
man 命令
显示任何已挂载的文件系统
mount
查询ip或者cidr主机名(cidr无类别域间路由)
nbtstat -A <IP>/<CIDR>
重启机器
reboot
关机
shutdown
cpu(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:80
ping一下主机或者ip并获取结果(注:一般用于检查网络)
ping host
将远程服务器上边的文件夹拷贝到本地,文件不加
r
,文件夹不加r
报错scp -r user@host:dir dir
将文件传送到远程服务器上
scp file user@host:dir
记录终端到文件
script -a file.txt
ssh连接到主机到指定端口
ssh -p port user@host
ssh连接到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.gz
zip一个路径或者文件
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]