window:
Powershell History,这也是凭据搜集阶段常常会看的东西。它的保存路径如下
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
火狐
firefox的凭据可以离线解密,详情可以参考这篇文章
https://blog.csdn.net/weixin_46081055/article/details/119413505
查看用户创建时间
awk -F ":" '{print $1, $3}' /etc/shadow | grep sendmail
sshftp 17311
date -d "1970-01-01 17311 days" "+%Y/%m/%d %H:%M:%S"
ipvsadm -ln 查看负载的真实地址
file查看文件信息
stat filename 查看文件状态 stat -f filename 查看文件系统状态
reset可以去恢复乱码
readelf查看二进制文件信息 查看文件头信息
ldd 查看一个文件包含了哪些调用
iftop
ps -aux
ps -eaf
ps -ef
netstat -anp 所有监听端口及对应的进程
netstat -tlnp 功能同上
netstat -ntp 查看网络连接状态
netstat -tunpl 网络连接及对应的进程
ss -a
查看该进程启动的完整命令行: ps eho command -p $PID
查看该进程启动时候所在的目录: readlink /proc/$PID/cwd
查看该进程启动时的完整环境变量: strings -f /proc/$PID/environ | cut -f2 -d ' '
列出该进程所打开的所有文件: lsof -p $PID
列出该进程所打开的网络连接: netstat -pan | grep $PID
隐藏进程一般可以通过查看环境变量$LD_PRELOAD是否加载动态库,来隐藏进程
echo $LD_PRELOAD 正常是没有东西的,如果有的话就直接去掉环境变量可以把隐藏进程显示出来
echo $PATH echo /etc/profile 查看环境变量
grep MemTotal /proc/meminfo 查看系统内存大小
/sbin/service --status-all可以查看服务状态
netstat -an |grep "defunct"
cat /etc/services 查看端口及相应服务
last 查看最近登录
lastlog 所有用户最后一次登录情况
cd /var/log 日志
history 查看历史命令
cat ~/.bash_history 查看历史命令
ps -aux
find / -perm -4000 -user 0 -ls 查找suid可执行程序,查提权。(suid/sgid的程序运行时将有效用户id改变为该程序所有者的id,达到提权。)
find / -perm -2000 -user 0 -ls
find /home -type f -mtime -2 可以查找 /home下最近两天修改过的文件
find . -type f -mtime -1 查找当前目录下,最近1天内修改过的常规文件。
find . -type f -mtime +1 查找当前目录下,最近1天前(2天内)修改过的常规文件。
find ./ -mtime 0:返回最近24小时内修改过的文件。
find ./ -mtime 1 : 返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。
那怎么返回10天内修改过的文件?find还可以支持表达式关系运算,所以可以把最近几天的数据一天天的加起来:
find ./ -mtime 0 -o -mtime 1 -o -mtime 2 ……虽然比较土,但也算是个方法了。9bkcu9
var/adm/sulog查看普通用户尝试su成为其它用户的记录
var/adm/utmpx
var/adm/wmtpx
cd /var/log 日志
history 查看历史命令
cat ~/.bash_history 查看历史命令
1、查看进程“打开”的文件:
1)pidof programe-name(获得想了解的进程(programe-name)的PID)
或ps -aux|grep programe-name(获得想了解的进程(programe-name)的PID)
找出进程的PID
2)cd /proc/$PID/fd(会看见文件描述符)
3)ls -l
得到文件描述符指向的实际文件,即当前进程打开的文件
2、查看进程“打开”的文件2:
1)获得想了解的进程的PID方法同上
2)lsof -c programe-name
或lsof -p $PID
3、查看文件对应的进程:
lsof file-name
4、lsof命令用法:
lsof -c abc 显示abc进程现在打开的文件
lsof abc 显示开启文件abc的进程
lsof -i :22 显示22端口现在运行什么程序
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -s 列出打开文件的大小,如果没有大小,则留下空白
lsof -u username 以UID,列出打开的文件
命令
lsnrctl status 查看listener进程的状态
日志记录var/adm/message文件
var/adm/sulog查看普通用户尝试su成为其它用户的记录
var/adm/utmpx
var/adm/wmtpx
w/who
last
top
netstat -ntlp
ps -ef ps -aux ps -eaf服务
(lsof -i:80)
cat ~/.bash_history
cat /etc/passwd shadow default
cat /etc/hosts.allow hosts.deny
svcs -a 查看服务
cat /etc/services
cat /ftpd/ftpusers
/usr/proc/bin/pfiles /proc/*|awk '/^[1-9]/{P=$1$2}/sockname.*port: 32910/{print P;print}'|grep -v awk
查看所有无属主文件脚本
#for PART in `grep -v ^# /etc/fstab | awk '($6 != "0") {print $2 }'`; do
find $PART -nouser -o -nogroup -print
done
、7、查看系统是否存在隐藏文件
ls -AF |grep '^\.' //显示所有隐藏文件
ls -aF的输出:
如果文件的末尾什么都没有表示这是一个普通的文件;
如果文件以"/"结尾,则表示这是一个目录;
如果文件以"@"结尾,则表示这是一个链接文件;
如果文件以“*”结尾,则表示该文件具有可执行的属性;
一个具有可执行属性的软链接目录的结尾是@,@的优先级大于“/”、“*”。
ls -aF /path | grep '^\.'
find / -name ". *"
、9、查看批处理文件是否异常
/etc/init.d
crontab
at
、10、查看tmp文件夹
、11、sql查询记录
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
、11、查看无属主文件
stat -c %U filename
、12、查看僵尸进程
ps -ef |grep "defunct"
1、查看进程“打开”的文件:
1)pidof programe-name(获得想了解的进程(programe-name)的PID)
或ps -aux|grep programe-name(获得想了解的进程(programe-name)的PID)
找出进程的PID
2)cd /proc/$PID/fd(会看见文件描述符)
3)ls -l
得到文件描述符指向的实际文件,即当前进程打开的文件
2、查看进程“打开”的文件2:
1)获得想了解的进程的PID方法同上
2)lsof -c programe-name
或lsof -p $PID
3、查看文件对应的进程:
lsof file-name
4、lsof命令用法:
lsof -c abc 显示abc进程现在打开的文件
lsof abc 显示开启文件abc的进程
lsof -i :22 显示22端口现在运行什么程序
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -s 列出打开文件的大小,如果没有大小,则留下空白
lsof -u username 以UID,列出打开的文件
ps -eo pid,lstart|grep 1267 查看进程开启时间
5、查看网络状态:
lsof -Pnl +M -i4 显示ipv4服务及监听端情况
netstat -anp 所有监听端口及对应的进程
netstat -tlnp 功能同上
find /home -type f -mtime -2 可以查找 /home下最近两天修改过的文件
find . -type f -mtime -1 查找当前目录下,最近1天内修改过的常规文件。
find . -type f -mtime +1 查找当前目录下,最近1天前(2天内)修改过的常规文件。
find ./ -mtime 0:返回最近24小时内修改过的文件。
find ./ -mtime 1 : 返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。
那怎么返回10天内修改过的文件?find还可以支持表达式关系运算,所以可以把最近几天的数据一天天的加起来:
find ./ -mtime 0 -o -mtime 1 -o -mtime 2 ……虽然比较土,但也算是个方法了。
批量杀进程
ps -ef|grep mcfcm_st|grep -v grep|cut -c 9-15|xargs kill -9
管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的
几个命令:
“ps - ef”是linux 里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep mcfcm_st”的输入。
“grep mcfcm_st”的输出结果是,所有含有关键字“mcfcm_st”的进程,这是Oracle数据库中远程连接进程的共同特点。
“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该令。
“kill -9”会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改“grep mcfcm”中的关键字部分就可以了。
132
安全痕迹检查项:
netstat -an 查看开放端口
cat /etc/passwd
ps -ef 查看uid、pid、ppid、对应cmd(该进程所使用的命令)----与ps -eaf 差不多
netstat -anp 查看所有进出及对应进程-----类似netstat -tlnp
netstat -an |grep "defunct" 僵尸进程
ls -al /tmp 查看临时文件夹
netstat -rn 查看路由
svcs -a 查看服务----类似cat /etc/services ------到/sbin目录,使用service --status-all可以查看服务状态
ls -AF |grep '^\.' 到相应目录下使用该命令,查看该目录的隐藏文件
crontab -l 查看计划任务----类似at命令
cat ~/.bash_history 查看历史命令----类似history
last 查看登录情况
日志目录/var/adm/message /var/adm/sulog /var/adm/utmpx 及wmtpx /var/log
lsnrctl status 查看listener进程的状态 不一定有该命令
ifconfig
grep "PASS_MIN_LEN" /etc/login.defs
grep "PASS_MAX_DAYS" /etc/login.defs
cat /etc/pam.d/system-auth
cat /etc/passwd
grep "TMOUT" /etc/profile
grep "TIMEOUT" /etc/environment
cat /etc/security/.profile
cat /etc/passwd | awk -F: '{print $1}'
grep umask /etc/profile
cd /
ls -l
chkconfig --list | grep "启用"
ll /etc/ftpusers /etc/ftpd/ftpusers
cat /etc/securetty
cat /etc/issue
cat /proc/sys/net/ipv4/ip_forward
netstat -ntlup
cat ~/.cshrc ~/.bashrc
ll /etc/shadow /etc/passwd /etc/group /etc/gshadow /etc/inittab /etc/profile /var/log/messages /var/log/messages.*
rpm -qa | more
cat /proc/sys/net/ipv4/icmp_echo_ignore_all /proc/sys/net/ipv4/tcp_syncookies /proc/sys/net/ipv4/icmp_echo_ignore_all /proc/sys/net/ipv4/conf/all/accept_source_route
uname -an
cat /etc/syslog.conf
ll /var/log/* /var/log/messages.*
grep "public" /etc/snmp/snmpd.conf
cat /etc/snmp/snmpd.conf
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
1、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。