一、基础信息收集

1.查看系统类型

  • cat /etc/issue
  • cat /etc/*-release
  • cat /etc/lsb-release
  • cat /etc/redhat-release

2.内核版本

  • cat /proc version
  • uname -a
  • uname -mrs
  • rpm -q kernel
  • dmesg |grep Linux
  • ls /root |grep vmlinuz

3.进程与服务

  • ps aux
  • ps -ef
  • top
  • cat /etc/service

4.安装的应用程序

  • dpkg -l
  • rpm -qa

5.服务配置

  • cat /etc/syslog.conf
  • cat /etc/chttp.conf
  • cat /etc/lighttpd.cnf
  • cat /etc/cups/cupsd.conf
  • cat /etc/inetd.conf
  • cat /etc/apache2/apache2.conf
  • cat /etc/my.conf
  • cat /etc/httpd/conf/httpd.conf
  • cat /opt/lampp/etc/httpd.conf

6.计划任务

  • crontab -l
  • ls -alh /var/spool/cron
  • ls -al /etc/ | grep cron
  • ls -al /etc/cron*
  • cat /etc/cron*
  • cat /etc/at.allow
  • cat /etc/at.deny
  • cat /etc/cron.allow
  • cat /etc/cron.deny
  • cat /etc/crontab
  • cat /etc/anacrontab
  • cat /var/spool/cron/crontabs/root

7.网络配置

  • cat /etc/network/interfaces
  • cat /etc/sysconfig/network
  • cat /etc/resolv.conf
  • cat /etc/sysconfig/network
  • cat /etc/networks
  • iptables -L
  • hostname
  • dnsdomainname

8.网络通信

  • netstat -antup
  • netstat -antpx
  • netstat -tulpn
  • arp -e
  • route

9.用户信息

  • id
  • who
  • w
  • last
  • cat /etc/sudoers
  • cat /etc/passwd
  • cat /etc/group
  • cat /etc/shadow
  • history
  • cat ~/.bash_history
  • cat ~/.nano_history
  • cat ~/.atftp_history
  • cat ~/.mysql_history
  • cat ~/.php_history
  • 设置不良记录 unset HISFILE (键盘记录)

10.日志收集

  • /etc/httpd/logs/*
  • /var/log/*
  • /var/run/utmp

11.可能用于提权的程序

  • 查找有suid位或sgid位的程序

    • find / -perm -g =s -o -perm -u=s -type f 2>/dev/null
  • 查找能写或进入的目录
    • 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

二、扩散信息收集

1.网络拓扑分析

分析内网拓扑可以从多个角度入手,一般来说我们可以:

  • 主动扫描

    使用nmap、netdiscover、ping等工具扫描内网存活主机

    被动嗅探数据包

    分析流经本机的流量(arp、smb、netbios)等等

    本机留下的信息

    可能有管理员留下的内网拓扑图等信息

2.主动扫描

使用ping一条命令扫描存活主机

Windows:

for/l %i in(1,1,255) do @ping 192.168.1.%i -w 1 -n 1 | find /i "ttl"

Linux:

for i in {3..254}; do ping -c 1 192.168.1.$i &>/dev/null && echo 192.168.1.$i is alive;done

优点:系统自带,非常方便,一般也不会引起一些流量监测设备的报警

缺点:扫描速度慢,目标打开防火墙会导致结果不准确

使用nmap扫描存活主机(icmp扫描)

nmap -sn -PE -n -min-parallelism 1024 -oX result.xml 192.168.1.1/24 -v

-sn不进行端口扫描

-PE icmp echo扫描

-n不进行反向解析

-min-parallelism设置最小的探针数量,可以提高效率

-oX以xml格式输出

192.168.1.1/24目标网段

-v输出调试信息

使用nmap扫描存活主机(arp扫描)

nmap命令:

nmap -sn -n -PR 192.168.0.1/24 -v

这里的参数-PR代表使用arp扫描。在内网当中,arp扫描速度最快而且准确率也不错

使用netdiscover扫描

netdiscover是一个arp扫描工具,既可以主动扫描也可以被动嗅探。

netdiscover -i eth0 -r 192.168.17.1/24

参数解释:

-i指定一个接口

-r指定扫描的范围

3.端口及服务探测

使用nmap探测目标操作系统

最简单的命令:

nmap -Pn -n -O 192.168.1.1 -v

这里的-0参数可以探测操作系统版本。除此之外,我们还可以通过一些NSE脚本来探测目标操作系统。NSE是nmap提供的强大脚本引擎。Nmap发行版自带了数百个nse脚本,功能丰富,例如有探测服务、暴力破解,目录扫描、Fuzz等等功能。

下面我们介绍一个脚本:smb-os-discovery.nse这个脚本通过smb来探测操作系统版本、计算机名、工作组名、域名等等信息。使用方法如下:

nmap  --script smb-os-discovery.nse -p445 192.168.17.153 -v

4.Nmap NSE Script

前面简单地介绍了一下nse脚本,下面我们来进一步地学习使用nse脚本进行信息收集。

Nmap提供了一些脚本的操作参数:

-script=default	使用默认脚本
-script <script name> 使用指定的脚本
-script-args arg1=value1 向脚本传递参数
-script-args-file 使用文件为脚本提供参数
-script-trace 可以看到脚本发送和接收的数据
-script-updatedb 更新脚本数据库script-help显示脚本帮助

Auth 处理认证的脚本

Broadcast 扫描各种服务,例如snmp,dns等等Brute 暴力破解

Default 默认脚本,提供基础的扫描Discovery网络探测,可以对某些服务做进一步扫描,例如枚举smb用户Dos拒绝服务 攻击

Exploit 漏洞利用

External 利用其它的一些资源

Fuzzer 模糊测试

Intrusive 入侵脚本

Malware 检查后门、病毒等

Safe 检测安全性的脚本

Version 增强版本检测功能

Vuln 检测是否有常见的漏洞等

Nse脚本搜索工具:https://github.com/JKO/nsearch

NSE Script应用举例:

枚举smb共享

NSE脚本:smb-enum-shares.nse

命令:

nmap --script smb-enum-shares.nse -p 445  192.168.17.153

检测域传送漏洞

NSE脚本:dns-zone-transfer

命令:

nmap --script dns-zone-transfer--script-args dns-zone-transfer.domain=360sec.com -p 53 -Pn ns1.360sec.com

5.被动嗅探数据包

Netdiscover

前面介绍了使用这款工具进行主动扫描。这里我们介绍一下使用它来被动嗅探。进入被动嗅探模式只需要加上-p参数即可:

netdiscover -i eth0 -r 192.168.17.1/24 -p

工具推荐:Responder

项目地址:https://github.com/SpiderLabs/Responder

这款工具能够伪装成一些常见的服务,比如smb,web,dhcp等等。我们可以用它来嗅探密码,进行中间人攻击等等。

举例:

python Responder.py -I eth0 -A -f

内网渗透----Linux信息收集整理的更多相关文章

  1. 内网渗透----windows信息收集整理

    一.基础信息收集 1.信息收集类型 操作系统版本.内核.架构 是否在虚拟化环境中,已安装的程序.补丁 网络配置及连接 防火墙设置 用户信息.历史纪录(浏览器.登陆密码) 共享信息.敏感文件.缓存信息. ...

  2. 内网渗透之信息收集-linux

    linux     系统信息         grep MemTotal /proc/meminfo #查看系统内存总量         cat /etc/issue #查看系统名称         ...

  3. 内网渗透之信息收集-windows系统篇

    windows 用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) ...

  4. 内网渗透 day7-linux信息收集

    linux信息搜集 目录 1. linux信息搜集 2. nmap漏洞复现 3. msf linux模块反弹shell 1. linux信息搜集 id 查看当前用户的权限和所在的管理组 python ...

  5. 内网渗透之信息收集-Linux系统篇

    linux 系统信息 grep MenTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 cat /etc/lsb-release #查看系统名称 ...

  6. 内网渗透之信息收集-windows

    用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) net user ...

  7. 内网渗透----Linux下信息收集

    基础信息 1.系统类型 cat /etc/issue查看系统名称 Lsb-release查看系统名称.版本号 2. 内核版本 uname –a 查看所有信息 ls /root |grep vmlinu ...

  8. Linux内网渗透

    Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...

  9. 记录一次坎坷的linux内网渗透过程瞎折腾的坑

    版权声明:本文为博主的原创文章,未经博主同意不得转载. 写在前面 每个人都有自己的思路和技巧,以前遇到一些linux的环境.这次找来一个站点来进行内网,写下自己的想法 目标环境 1.linux  2. ...

随机推荐

  1. Solution -「NOI 模拟赛」出题人

    \(\mathcal{Description}\)   给定 \(\{a_n\}\),求一个 \(\{b_{n-1}\}\),使得 \(\forall x\in\{a_n\},\exists i,j\ ...

  2. JAVA 1.对象和封装

    1. 2. 3.Java类里面属性可以付初使值 4.属性的名字一小写开头 5 6.构造方法 1.语法:       7.staitc的应用  1.statia可以用来修饰:方法,属性,代码块 , st ...

  3. tip2:Linux系统相关命令使用

    好记忆不如烂笔头,很多东西不常用突然要用就是记得相关的命令但是具体就不确定了,本文记录个人不常用同时偶尔用到但不确定或者记不住的内容. 一.用户管理 这组个人使用频率不高,知道同时记不住具体涉及的系统 ...

  4. mysql视图,索引

    一.视图 View 视图是一个虚拟表,是sql语句的查询结果,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成.视图的数据变化会影响到基表,基表的数据变化也会 ...

  5. maven项目 mvn clean install 或 build,报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test

    解决办法 在pom文件中添加

  6. k8s家族Pod辅助小能手Init容器认知答疑?

    k8s家族Pod辅助小能手Init容器认知答疑? k8s集群Init 容器是一种特殊容器,职责是在Pod的生命周期中作为应用容器的前置启动容器. 在很多应用场景中,在 Pod 内的应用容器正式启动之前 ...

  7. 手把手教你vmware导入centos7虚拟机

    安装vmware 安装vmware15:https://www.cnblogs.com/uncleyong/p/10740005.html 可能遇到的问题:VMware提示此主机支持Intel VT- ...

  8. Java并发杂谈(一):volatile的底层原理,从字节码到CPU

    volatile的特性 volatile是Java中用于修饰变量的关键字,其主要是保证了该变量的可见性以及顺序性,但是没有保证原子性:其是Java中最为轻量级的同步关键字: 接下来我将会一步步来分析v ...

  9. 配置IPv6地址跳变——网络测试仪实操

    第一部分:什么是IPv6地址跳变? IPv6地址跳变是指IPv6地址进行一系列有规则的变化,Renix支持对IPv6地址进行递增.递减.列表和随机变化. 如当用户想要仿真大量的源IPv6地址变化的数据 ...

  10. C++ string 常用函数总结

    头文件:#include<string> [注]:文中关于个数的参数文档中为 size_type 型,更本质是 size_t 型,因为typedef size_t size_type,而 ...