内网渗透----Linux信息收集整理
一、基础信息收集
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信息收集整理的更多相关文章
- 内网渗透----windows信息收集整理
一.基础信息收集 1.信息收集类型 操作系统版本.内核.架构 是否在虚拟化环境中,已安装的程序.补丁 网络配置及连接 防火墙设置 用户信息.历史纪录(浏览器.登陆密码) 共享信息.敏感文件.缓存信息. ...
- 内网渗透之信息收集-linux
linux 系统信息 grep MemTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 ...
- 内网渗透之信息收集-windows系统篇
windows 用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) ...
- 内网渗透 day7-linux信息收集
linux信息搜集 目录 1. linux信息搜集 2. nmap漏洞复现 3. msf linux模块反弹shell 1. linux信息搜集 id 查看当前用户的权限和所在的管理组 python ...
- 内网渗透之信息收集-Linux系统篇
linux 系统信息 grep MenTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 cat /etc/lsb-release #查看系统名称 ...
- 内网渗透之信息收集-windows
用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) net user ...
- 内网渗透----Linux下信息收集
基础信息 1.系统类型 cat /etc/issue查看系统名称 Lsb-release查看系统名称.版本号 2. 内核版本 uname –a 查看所有信息 ls /root |grep vmlinu ...
- Linux内网渗透
Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...
- 记录一次坎坷的linux内网渗透过程瞎折腾的坑
版权声明:本文为博主的原创文章,未经博主同意不得转载. 写在前面 每个人都有自己的思路和技巧,以前遇到一些linux的环境.这次找来一个站点来进行内网,写下自己的想法 目标环境 1.linux 2. ...
随机推荐
- Solution -「LOCAL」大括号树
\(\mathcal{Description}\) OurTeam & OurOJ. 给定一棵 \(n\) 个顶点的树,每个顶点标有字符 ( 或 ).将从 \(u\) 到 \(v\) ...
- 我是如何破解你的WINDOWS密码的 ?(1)
我是如何破解你的WINDOWS密码的 ?(1) 密码可以看作我们主要,甚至某些情况下唯一可用于防范入侵的防线.就算入侵者无法在物理上接触到计算机,对于对外的Web应用,他们依然可以通过远程桌面协议或身 ...
- 多端开发之uniapp开发app
最近在给f做一些工具app,学习了不少关于uniapp编写android应用的知识. 首先,App应用的创建的时候要选择项目类型为uniapp类型.最开始我选择的是h5+项目,这种项目就比较容易写成纯 ...
- MXNet源码分析 | Gluon接口分布式训练流程
本文主要基于MXNet1.6.0版本,对Gluon接口的分布式训练过程进行简要分析. 众所周知,KVStore负责MXNet分布式训练过程中参数的同步,那么它究竟是如何应用在训练中的呢?下面我们将从G ...
- JDK中线程中实现同步等待闭环的一种方式
实际Thread类自带的join方法就实现了线程同步等待,具体可以通过案例实践,如下: 本文的重点不是join,而是另一种设计的同步等待实现,涉及的关键类有:Thread.Runable.Callab ...
- C# 给Word每一页设置不同图片水印
Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C#代码为例,对W ...
- Spring MVC 是什么? 核心总结
SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰 ...
- archery关闭导出功能
https://github.com/hhyo/Archery/issues/1367 进入docker容器,找到sqlquery.html.修改showExport相关配置为以下内容. {% if ...
- 017 Linux 之啥是 ssh ?
1 什么是 ssh?有什么用? (1)ssh 是一种协议 SSH(Secure Shell) 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信 ...
- String类型转int类型方法
System.out.println( "Integer.parseInt(\"5\") =" + Integer.parseInt("5" ...