1、系统区分
debian系列:debian、ubuntu
redhat系列:redhat、centos

是否为docker、或者为虚拟机

分为通用模块、单独模块的信息获取


2、系统信息收集

内核(是否为x64还是x86):uname -a

版本:cat /etc/issue
cat /etc/*-release 网络地址\mac地址\ipv6地址:ifconfig 主机名:hostname hosts:
cat /etc/hosts
cat /etc/resolv.conf

3、用户信息

who
last 系统用户:
获取用户名、gid、uid、home路径:awk -F ':' '{print $1,$3,$4,$6;}' /etc/passwd
获取用户组:cat /etc/group
**获取hash**:cat /etc/shadow 列出超级用户:grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}' 查看用户操作:cat ~/.bash_history 获取在线用户:w

4、服务程序
需要实现:得到系统安装程序以及服务,版本信息和运行权限,用文档封装一下

端口:netstat
进程:ps -aux
ps -A -o user,pid,tty,start,time,command | grep -E "[^]]$"
程序:
dpkg -l
rpm -qa

5、敏感文件

/etc/目录下
计划任务
日志文件
bash_history
find / -type f -iname "*.bash_history" -o -iname "*config*" -o -iname "web.xml" -o -iname "*database*" -o -iname "*pass*" 2>/dev/null
config
web.xml

6、常见可使用程序

nmap
nc
netcat
wget
tcpdump
wireshark
rpm
yum
apt-get
ftp
ssh
telnet
scp
nslookup
ruby

6、交互通信的ip

hosts
netstat -antpu
arp -a
tracert

7、提权帮助
根据内核去确认漏洞

8、信息展示
整体流程:信息获取 -> 信息处理 -> 信息输出

系统信息:

内核、x86|x64、主机类型、主机名
ip地址、mac地址
是否存在exp获取root

用户信息:

存在的用户、在线用户
用户组
last信息
用户操作信息 .bash_history
用户hash

服务信息:

端口,可能的服务名
进程,可能的进程名,进程权限,进程开启时间

文件信息:

敏感文件(password/config/database)
打包文件+运行文件(.zip/.tar.gz/.pl/.sh/.py)
服务配置文件(httpd.conf)
log文件(做处理,只显示log所在目录)
常见的信息文件扫描

//需要通过上面获取的信息整理出来
程序信息:

程序名、程序端口、运行的进程、版本、配置文件

命令信息:

可执行的一些程序

通信信息:

hosts
arp缓存
端口

结构信息:

内网主机存活


9、参考

基础内核信息:
uname -a 2>/dev/null
cat /proc/version 2>/dev/null
cat /etc/*-release 2>/dev/null 主机名:
hostname 2>/dev/null

最后用户登录的信息:
lastlog |grep -v "Never" 2>/dev/null strips out username uid and gid values from /etc/passwd
cat /etc/passwd | cut -d ":" -f 1,2,3,4 2>/dev/null 列出所有用户的组
for i in $(cat /etc/passwd 2>/dev/null| cut -d":" -f1 2>/dev/null);do id $i;done 2>/dev/null 查询是否有hash存储在/etc/passwd(*nix中)
grep -v '^[^:]*:[x]' /etc/passwd 2>/dev/null 根据uid列出本地用户:
grep -v "^#" /etc/passwd | awk -F: '$3 == 0 || $3 == 500 || $3 == 501 || $3 == 502 || $3 == 1000 || $3 == 1001 || $3 == 1002 || $3 == 2000 || $3 == 2001 || $3 == 2002 { print }' 读取shadow文件
cat /etc/shadow 2>/dev/null bsd的shadow文件
cat /etc/master.passwd 2>/dev/null

能够sudo不需要提供密码
echo '' | sudo -S -l 2>/dev/null 检查root目录是否存在
ls -ahl /root/ 2>/dev/null 显示home目录情况
ls -ahl /home/ 2>/dev/null 寻找文件我们能写但是不属于我们的文件
find / -writable -not -user \`whoami\` -type f -not -path "/proc/*" -exec ls -al {} \; 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 root是否能登录ssh
grep "PermitRootLogin " /etc/ssh/sshd_config 2>/dev/null | grep -v "#" | awk '{print $2}'
如果返回yes则可以登录 环境变量
echo $PATH 2>/dev/null 列出能用的shells
cat /etc/shells 2>/dev/null hash的密码加密政策
cat /etc/login.defs 2>/dev/null | grep "PASS_MAX_DAYS\|PASS_MIN_DAYS\|PASS_WARN_AGE\|ENCRYPT_METHOD" 2>/dev/null | grep -v "#" 2>/dev/null

所有的计划任务配置文件
ls -la /etc/cron* 2>/dev/null 获取计划任务内容
cat /etc/crontab 2>/dev/null ubuntu获取计划任务
ls -la /var/spool/cron/crontabs 2>/dev/null ls -la /etc/anacrontab 2>/dev/null; cat /etc/anacrontab 2>/dev/null
ls -la /var/spool/anacron 2>/dev/null 获取每个用户的计划任务
cat /etc/passwd | cut -d ":" -f 1 | xargs -n1 crontab -l -u 2>/dev/null

获取ifconfig

/sbin/ifconfig -a 2>/dev/null

dns设置
cat /etc/resolv.conf 2>/dev/null | grep "nameserver" 路由配置
route 2>/dev/null | grep default 正在监听的tcp端口
netstat -antp 2>/dev/null udp端口
netstat -anup 2>/dev/null

正在运行的程序
ps aux 2>/dev/null 查看进程路径和权限
ps aux | awk '{print $11}'|xargs -r ls -la 2>/dev/null |awk '!x[$0]++' 获取inetd.conf文件(监视网络的守护进程)
cat /etc/inetd.conf 2>/dev/null
cat /etc/inetd.conf 2>/dev/null | awk '{print $7}' |xargs -r ls -la 2>/dev/null
cat /etc/xinetd.conf 2>/dev/null
cat /etc/xinetd.conf 2>/dev/null | awk '{print $7}' |xargs -r ls -la 2>/dev/null 列举各种服务的管理脚本
ls -la /etc/init.d 2>/dev/null
寻找不是root的:
find /etc/init.d/ \! -uid 0 -type f 2>/dev/null |xargs -r ls -la 2>/dev/null ls -la /etc/rc.d/init.d 2>/dev/null
find /etc/rc.d/init.d \! -uid 0 -type f 2>/dev/null |xargs -r ls -la 2>/dev/null
ls -la /usr/local/etc/rc.d 2>/dev/null find /usr/local/etc/rc.d \! -uid 0 -type f 2>/dev/null |xargs -r ls -la 2>/dev/null

获取mysql版本
mysql --version 2>/dev/null
mysqladmin -uroot version 2>/dev/null 获取sudo版本
sudo -V 2>/dev/null| grep "Sudo version" 2>/dev/null 测试root/root能否登录
mysqladmin -uroot -proot version 2>/dev/null postgres版本
psql -V 2>/dev/null
登录成功
psql -U postgres template0 -c 'select version()' 2>/dev/null | grep version apache详情
apache2 -v 2>/dev/null; httpd -v 2>/dev/null apache的运行用户
cat /etc/apache2/envvars 2>/dev/null |grep -i 'user\|group' |awk '{sub(/.*\export /,"")}1'

plan(could contain useful information)
find /home /usr/home -iname *.plan -exec ls -la {} \; -exec cat {} 2>/dev/null \;
rhosts(these may allow us to login as another user etc.)
find /home -iname *.rhosts -exec ls -la {} 2>/dev/null \; -exec cat {} 2>/dev/null \; .plan
.rhosts
hosts.equiv
/etc/exports
.conf
.log
.ini
.*_history
/root/.*_history
ls -la /var/mail 2>/dev/null
head /var/mail/root 2>/dev/null

软件安装判断流程

dpkg -l
rpm -qa

etc目录配置文件

linux信息收集的更多相关文章

  1. Kali Linux信息收集工具

    http://www.freebuf.com/column/150118.html 可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生! 看过007系列电影的朋友,应该都还记得 ...

  2. Kali Linux信息收集工具全集

    001:0trace.tcptraceroute.traceroute 描述:进行路径枚举时,传统基于ICMP协议的探测工具经常会受到屏蔽,造成探测结果不够全面的问题.与此相对基于TCP协议的探测,则 ...

  3. Kali Linux信息收集工具全

    可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生! 看过007系列电影的朋友,应该都还记得那个戏份不多但一直都在的Q先生(由于年级太长目前已经退休).他为007发明了众多神奇 ...

  4. 内网渗透----Linux信息收集整理

    一.基础信息收集 1.查看系统类型 cat /etc/issue cat /etc/*-release cat /etc/lsb-release cat /etc/redhat-release 2.内 ...

  5. linux信息收集篇之sosreport

    sosreport是一个类型于supportconfig 的工具,sosreport是python编写的一个工具,适用于centos(和redhat一样,包名为sos).ubuntu(其下包名为sos ...

  6. kali linux 信息收集(Kismet)

    1.kismet工具,是一个无线扫描工具,该工具通过测量周围的无线信号,可以扫描到周围附近所用可用的Ap,以及信道等信息.同时还可以捕获网络中的数据包到一个文件中.这样可以方便分析数据包.下面我将详细 ...

  7. linux 信息收集脚本。转自insight-labs

    找出所有.sh .pl .py .conf .cnf .ini .*history .*pass* (/usr/share目录里面的除外) 并且在当前目录zip打包.有些时候很多配置文件的权限配置不严 ...

  8. Linux - 信息收集

    1. #!,代表加载器(解释器)的路径,如: #!/bin/bash echo "Hello Boy!" 上面的意思是说,把下面的字符(#!/bin/bash以下的所有字符)统统传 ...

  9. 信息收集->DNS分析->dnsdict6

    如何获取域名的IPV4/IPV6地址之dnsdict6的使用 dnsdict6是一个用于获取网站信息的工具.dnsdict6可以扫描网站并显示有多少域或者子域,也可以扫描ipv6/ipv4地址.dns ...

随机推荐

  1. 第四节,目标检测---YOLO系列

    1.R-CNN回顾 适应全卷积化CNN结构,提出全卷积化设计 共享ResNet的所有卷积层 引入变换敏感性(Translation variance) 位置敏感分值图(Position-sensiti ...

  2. C++设计模式——中介者模式

    前言 我们都知道,这个国际政治是一门很深的学问,不玩政治的人是搞不懂的.那么多的国家,国家之间的关系又及其复杂:就好比现在,美国和中国有经济利益关系,美国又和日本有盟友关系,朝鲜又和中国有说不清道不明 ...

  3. jenkins中slave节点连接的两种常用方式

    我们在使用jenkins的时候,一般来说肯定是有slave节点的,本来网上也有好多关于jenkins节点配置的教程,我也就不写了.简单说明一下:任务一般是在slave上面运行的.当然不是讲master ...

  4. fs.inotify.max_user_watches默认值太小,导致too many open files

    运行环境:centos7.5 linux 打开文件数 too many open files 解决方法fs.inotify.max_user_watches默认值太小,导致too many open ...

  5. lnoi2019游记

    好诡异的省选...... day0: 莫名其妙的订了下午从sy到dl的火车,得五点多才能到,所以.......是不需要试机的吗...... 好吧... 看着停课的jflr们,感觉他们好强啊,像我这种酱 ...

  6. c++ ignore用法

    转自  http://blog.sina.com.cn/s/blog_4b3336c50102v45n.html std::cin.ignore() can be called three diffe ...

  7. 斐波那契求第n项

    摘自  https://blog.csdn.net/lpjishu/article/details/51323116 斐波那契求第n项是常见的算法题 方法1  递归法 //斐波那契 0,1,1,2,3 ...

  8. iOS之UIApplicatio、AppDelegate

    UIApplication,代表的是整个应用做的事,因此每个程序只能有一个,系统使用的是单例模式,就是[UIApplication sharedApplication]来得到一个实例. 这个单例实例是 ...

  9. 大数据集群ssh登录其他机器失败 RSA host key for zb03 has changed and you have requested strict checking. Host key verification failed.

    [hadoop@zb02 .ssh]$ scp authorized_keys hadoop@zb03:/home/hadoop/.ssh @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  10. css 块元素、内联元素、内联块元素

    块元素.内联元素.内联块元素: 元素就是标签,布局中常用的有三种标签,块元素.内联元素.内联块元素,了解这三种元素的特性,才能熟练的进行页面布局. 块元素: 块元素,也可以称为行元素,布局中常用的标签 ...