Linux内网渗透基础

Linux信息收集

本机基本信息

#管理员 $普通用户 @之前表示登录的用户名称,之后表示主机名,再之后表示当前所在目录 / 表示根目录   ~表示当前用户家目录

1、内核,操作系统和设备信息

uname -a  打印所有可用的系统信息 uname -r  内核版本 uname -n  系统主机名。 uname -m  查看系统内核架构(64位/32位) hostname  系统主机名 lsb_release -a   发行版信息 cat /proc/version  内核信息 cat /etc/*-release  发行版信息 cat /etc/issue    发行版信息 cat /proc/cpuinfo  CPU信息

 

 

2、用户和群组

cat /etc/passwd     列出系统上的所有用户 cat /etc/shadow     查看用户Hash cat /etc/group      列出系统上的所有组 groups              当前用户所在的组 groups test         test用户所在的组 getent group xxx      xxx组里的用户 grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}'      列出所有的超级用户账户 awk -F: 'length($2)==0 {print $1}' /etc/shadow  #查看是否存在空口令用户 awk '/\$1|\$6/{print $1}' /etc/shadow #查看远程登录的账号  whoami              查看当前用户 w                   谁目前已登录,他们正在做什么 who                 命令用于显示系统中有哪些使用者正在上面 last                最后登录用户的列表 lastlog             所有用户上次登录的信息 lastlog –u %username%  有关指定用户上次登录的信息

 

 [^可以看到yokan用户在sudo组里]:

 

 

 

 3、用户和权限信息

whoami        当前用户名 id            当前用户信息 cat /etc/sudoers  可以使用sudo提升到root的用户 sudo -l       当前用户可以以root身份执行操作

 

 

yokan用户可以以root身份执行任意操作

4、环境信息

env        显示所有的环境变量 set        显示本地环境变量 echo $PATH 环境变量中的路径信息 export [-fnp][变量名称]=[变量设置值]     显示和设置环境变量    pwd        输出工作目录 cat /etc/profile   显示默认系统变量 cat /etc/shells    显示可用的shell ls -la /etc/*.conf  查看etc下所有配置文件

 

5、历史命令

显示当前用户的历史命令记录

history     cat ~/.bash_history   # 查看其他用户的历史命令文件 cat /home/user/.bash_history

history显示内存和~/.bash_history中的所有内容;内存中的内容并没有立刻写入~/.bash_history,只有当当前shell关闭时才会将内存内容写入shell

6、进程信息

ps aux   以用户的格式显示所有进程,包括非终端的进程 ps -ef   显示所有进程,显示UID,PPIP(父进程),C与STIME栏位 ps -ef | grep java   查询某个应用的所有进程信息 top      实时显示占用最多的进程

 

 

如果想查看进程的CPU占用率和内存占用率,可以使用aux

如果想查看进程的父进程ID和完整的COMMAND命令,可以使用-ef

lsof -c $PID           查看进程关联文件 /proc/$PID/cmdline     完整命令行信息  /proc/$PID/comm        进程的命令名  /proc/$PID/cwd         进程当前工作目录的符号链接  /proc/$PID/exe         运行程序的符号链接  /proc/$PID/environ     进程的环境变量  /proc/$PID/fd          进程打开文件的情况 

7、服务信息

cat /etc/services      查询存在的服务 cat /etc/services | grep Java     查询对应的服务 systemctl list-units --type=service --state=running   查询已经开启的服务

 

 8、计划任务

在Linux系统中,计划任务一般是由cron承担。cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用工作任务。

/var/spool/cron/crontabs :这个目录以账号来区分每个用户自己的执行计划 /etc/crontab :系统执行计划,需要在后边加上用户格式
所有计划任务项: /var/spool/cron/* /var/spool/anacron/* /etc/crontab /etc/anacrontab /etc/cron.* /etc/anacrontab
crontab -l    查询当前用户所有的计划任务 crontab -l -u user   查询指定用户的计划任务 cat /var/spool/cron/crontabs/root   查询root用户的计划任务

9、网络、路由和通信

查询ip

ifconfig ip addr

打印路由信息

route         查询路由表 route -n      查询路由表,以ip地址显示 netstat -r    查询路由表 ip ro

查看系统arp表

arp -a

端口开放情况

netstat -antup     所有端口 netstat -antp      tcp端口 netstat -anup      udp端口

查看端口服务映射

cat /etc/services

列出iptables的配置规则

iptables -L

显示网卡信息

netstat -i

dns信息

cat /etc/resolv.conf      查看dns配置信息 dnsdomainname -V          打印DNS系统中FQDN名称中的域名 cat /etc/hosts            查看hosts域名解析文件

10、已安装应用

rpm -qa --last     #Redhat、CentOS rpm -qa polkit     #查看指定应用的安装版本 dpkg -l            #ubuntu、debian dpkg -l policykit-1   #查看指定应用的安装版本 dpkg -L xxx        #查询某个软件所关联的文件

11、查找能写或执行的目录

find / -writable -type d 2>/dev/null find / -perm -o+w -type d 2>/dev/null find / -perm -o+x -type d 2>/dev/null

12、防火墙

iptables -L   查看防火墙配置 查看防火墙状态: systemctl status firewalld service iptables status 暂时关闭防火墙: systemctl stop firewalld service iptables stop 永久关闭防火墙: systemctl disable firewalld chkconfig iptables off 重启防火墙: systemctl enable firewalld service iptables restart

13、敏感文件

find命令 -o参数 表示 或者 的意思

find / -type f -iname "*.bash_history" -o -iname "*config*" -o -iname "web.xml" -o -iname "*database*" -o -iname "*pass*" 2>/dev/null

查找SSH密钥:

find / -name "id_dsa*" -o -name "id_rsa*" -o -name "known_hosts" -o -name "authorized_hosts" -o -name "authorized_keys" 2>/dev/null |xargs -r ls

Web应用服务

常见配置文件路径:

/apache/apache/conf/httpd.conf /apache/apache2/conf/httpd.conf /apache/php/php.ini /bin/php.ini /etc/apache/apache.conf /etc/apache/httpd.conf /etc/apache2/apache.conf /etc/apache2/httpd.conf /etc/apache2/sites-available/default /etc/apache2/vhosts.d/00_default_vhost.conf /etc/httpd/conf.d/httpd.conf /etc/httpd/conf.d/php.conf /etc/httpd/conf/httpd.conf /etc/httpd/php.ini /etc/init.d/httpd /etc/php.ini /etc/php/apache/php.ini /etc/php/apache2/php.ini /etc/php/cgi/php.ini /etc/php/php.ini /etc/php/php4/php.ini /etc/php4.4/fcgi/php.ini /etc/php4/apache/php.ini /etc/php4/apache2/php.ini /etc/php4/cgi/php.ini /etc/php5/apache/php.ini /etc/php5/apache2/php.ini /etc/php5/cgi/php.ini /etc/phpmyadmin/config.inc.php /home/apache/conf/httpd.conf /home/apache2/conf/httpd.conf /home/bin/stable/apache/php.ini /home2/bin/stable/apache/php.ini /NetServer/bin/stable/apache/php.ini /opt/www/conf/httpd.conf /opt/xampp/etc/php.ini /PHP/php.ini /php/php.ini /php4/php.ini /php5/php.ini /usr/lib/php.ini /etc/nginx/nginx.conf /usr/lib/php/php.ini /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/php.ini /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/php.ini /usr/local/etc/php.ini /usr/local/httpd/conf/httpd.conf /usr/local/lib/php.ini /usr/local/php/lib/php.ini /usr/local/php4/lib/php.ini /usr/local/php4/lib/php.ini /usr/local/php4/php.ini /usr/local/php5/etc/php.ini /usr/local/php5/lib/php.ini /usr/local/php5/php5.ini /usr/local/share/examples/php/php.ini /usr/local/share/examples/php4/php.ini /usr/local/Zend/etc/php.ini /var/apache2/config.inc /var/httpd/conf/httpd.conf /var/httpd/conf/php.ini /var/httpd/conf/php.ini /var/local/www/conf/httpd.conf /var/local/www/conf/php.ini /var/www/conf/httpd.conf /web/conf/php.ini /www/conf/httpd.conf /www/php/php.ini /www/php4/php.ini /www/php5/php.ini /xampp/apache/bin/php.ini /xampp/apache/conf/httpd.conf

数据库

/etc/init.d/mysql /etc/my.cnf /etc/mysql/my.cnf /etc/mysql/my.cnf /var/lib/mysql/my.cnf /var/lib/mysql/mysql/user.MYD /usr/local/mysql/bin/mysql /usr/local/mysql/my.cnf /usr/share/mysql/my.cnf

自动化脚本

linux_info.sh

#!/bin/bash #输出文件 filename=$(date +%s)'.log' echo "信息收集" echo -e "\n" | tee -a $filename echo "账户信息收集" | tee -a $filename cat /etc/passwd | tee -a $filename echo -e "\n" | tee -a $filename echo "shadow" | tee -a $filename cat /etc/shadow | tee -a $filename echo -e "\n" | tee -a $filename echo "进程信息收集" | tee -a $filename ps aux | tee -a $filename echo -e "\n" | tee -a $filename echo "网络连接" | tee -a $filename netstat -antlp | tee -a $filename echo -e "\n" | tee -a $filename echo "当前用户:" $(whoami) 2>/dev/null | tee -a $filename echo -e "\n" | tee -a $filename echo "端口监听" | tee -a $filename netstat -lnpt | tee -a $filename echo -e "\n" | tee -a $filename echo "可登陆用户" | tee -a $filename cat /etc/passwd | grep -E -v 'nologin$|false' | tee -a $filename echo -e "\n" | tee -a $filename echo "增加用户的日志" | tee -a $filename grep "useradd" /var/log/secure  | tee -a $filename echo -e "\n" | tee -a $filename echo "History操作提取" | tee -a $filename cat ~/.*history | tee -a $filename echo -e "\n" | tee -a $filename echo "登录成功的IP" | tee -a $filename grep "Accepted " /var/log/secure* | awk '{print $11}' | sort | uniq -c | sort -nr | more | tee -a $filename    echo -e "\n" | tee -a $filename echo "查看路由表" | tee -a $filename route -n | tee -a $filename echo -e "\n" | tee -a $filename echo "查看 SSH key" | tee -a $filename sshkey=${HOME}/.ssh/authorized_keys if [ -e "${sshkey}" ]; then     cat ${sshkey} | tee -a $filename else     echo -e "SSH key文件不存在\n" | tee -a $filename fi echo -e "\n" | tee -a $filename echo "查看 known_hosts" | tee -a $filename cat ~/.ssh/known_hosts | tee -a $filename echo -e "\n" | tee -a $filename echo "查找WEB-INF" | tee -a $filename find / -name *.properties 2>/dev/null | grep WEB-INF | tee -a $filename echo -e "\n" | tee -a $filename echo "user|pass|pwd|uname|login|db_" | tee -a $filename find / -name "*.properties" | xargs egrep -i "user|pass|pwd|uname|login|db_" | tee -a $filename echo -e "\n" | tee -a $filename echo "jdbc:|pass=|passwd=" | tee -a $filename find / -regex ".*\.properties\|.*\.conf\|.*\.config\|.*\.sh" | xargs grep -E "=jdbc:|pass=|passwd=" | tee -a $filename echo -e "\n" | tee -a $filename # Author cances echo "ip和网卡信息" | tee -a $filename ip a | awk '{print $2,$4}' | tee -a $filename echo -e "\n" | tee -a $filename echo "可登陆用户" | tee -a $filename cat /etc/passwd | grep -E -v 'sync$|halt$|nologin$|false|shutdown' | tee -a $filename echo -e "\n" | tee -a $filename echo "用户登陆日志" | tee -a $filename lastlog | tee -a $filename echo -e "\n" | tee -a $filename echo "查看 hosts" | tee -a $filename cat /etc/hosts | tee -a $filename echo -e "\n" | tee -a $filename echo "查看 系统版本" | tee -a $filename cat /etc/*-release | tee -a $filename echo -e "\n" | tee -a $filename echo "查看 内核版本" | tee -a $filename uname -mrs | tee -a $filename

转自白帽子社区公众号文章:Linux内网渗透基础

 
 

__EOF__

本文作者LFD_dnbh
本文链接https://www.cnblogs.com/lfd-dnbh/p/17037643.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LFD_dnbh  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示